Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/webapp/webmrbc/mrbc.js

    r321 r439  
     1
     2
     3// The Module object: Our interface to the outside world. We import
     4// and export values on it. There are various ways Module can be used:
     5// 1. Not defined. We create it here
     6// 2. A function parameter, function(Module) { ..generated code.. }
     7// 3. pre-run appended it, var Module = {}; ..generated code..
     8// 4. External script tag defines var Module.
     9// We need to check if Module already exists (e.g. case 3 above).
     10// Substitution will be replaced with actual code on later stage of the build,
     11// this way Closure Compiler will not mangle it (e.g. case 4. above).
     12// Note that if you want to run closure, and also to use Module
     13// after the generated code, you will need to define   var Module = {};
     14// before the code. Then that object will be used in the code, and you
     15// can continue to use Module afterwards as well.
     16var Module = typeof Module !== 'undefined' ? Module : {};
     17
     18
     19
     20// --pre-jses are emitted after the Module integration code, so that they can
     21// refer to Module (if they choose; they can also define Module)
    122var mrbc = function(Module) {
    223  Module['preRun'].push(function () {
     
    425  });
    526
    6 // The Module object: Our interface to the outside world. We import
    7 // and export values on it, and do the work to get that through
    8 // closure compiler if necessary. There are various ways Module can be used:
    9 // 1. Not defined. We create it here
    10 // 2. A function parameter, function(Module) { ..generated code.. }
    11 // 3. pre-run appended it, var Module = {}; ..generated code..
    12 // 4. External script tag defines var Module.
    13 // We need to do an eval in order to handle the closure compiler
    14 // case, where this code here is minified but Module was defined
    15 // elsewhere (e.g. case 4 above). We also need to check if Module
    16 // already exists (e.g. case 3 above).
    17 // Note that if you want to run closure, and also to use Module
    18 // after the generated code, you will need to define   var Module = {};
    19 // before the code. Then that object will be used in the code, and you
    20 // can continue to use Module afterwards as well.
    21 var Module;
    22 if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {};
     27
    2328
    2429// Sometimes an existing Module object exists with properties
     
    2833// defensive during initialization.
    2934var moduleOverrides = {};
    30 for (var key in Module) {
     35var key;
     36for (key in Module) {
    3137  if (Module.hasOwnProperty(key)) {
    3238    moduleOverrides[key] = Module[key];
     
    3440}
    3541
    36 // The environment setup code below is customized to use Module.
    37 // *** Environment setup code ***
     42var arguments_ = [];
     43var thisProgram = './this.program';
     44var quit_ = function(status, toThrow) {
     45  throw toThrow;
     46};
     47
     48// Determine the runtime environment we are in. You can customize this by
     49// setting the ENVIRONMENT setting at compile time (see settings.js).
     50
    3851var ENVIRONMENT_IS_WEB = false;
    3952var ENVIRONMENT_IS_WORKER = false;
    4053var ENVIRONMENT_IS_NODE = false;
    4154var ENVIRONMENT_IS_SHELL = false;
    42 
    43 // Three configurations we can be running in:
    44 // 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
    45 // 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
    46 // 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
     55ENVIRONMENT_IS_WEB = typeof window === 'object';
     56ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
     57// N.b. Electron.js environment is simultaneously a NODE-environment, but
     58// also a web environment.
     59ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string';
     60ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
    4761
    4862if (Module['ENVIRONMENT']) {
    49   if (Module['ENVIRONMENT'] === 'WEB') {
    50     ENVIRONMENT_IS_WEB = true;
    51   } else if (Module['ENVIRONMENT'] === 'WORKER') {
    52     ENVIRONMENT_IS_WORKER = true;
    53   } else if (Module['ENVIRONMENT'] === 'NODE') {
    54     ENVIRONMENT_IS_NODE = true;
    55   } else if (Module['ENVIRONMENT'] === 'SHELL') {
    56     ENVIRONMENT_IS_SHELL = true;
     63  throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)');
     64}
     65
     66
     67
     68// `/` should be present at the end if `scriptDirectory` is not empty
     69var scriptDirectory = '';
     70function locateFile(path) {
     71  if (Module['locateFile']) {
     72    return Module['locateFile'](path, scriptDirectory);
     73  }
     74  return scriptDirectory + path;
     75}
     76
     77// Hooks that are implemented differently in different runtime environments.
     78var read_,
     79    readAsync,
     80    readBinary,
     81    setWindowTitle;
     82
     83var nodeFS;
     84var nodePath;
     85
     86if (ENVIRONMENT_IS_NODE) {
     87  if (ENVIRONMENT_IS_WORKER) {
     88    scriptDirectory = require('path').dirname(scriptDirectory) + '/';
    5789  } else {
    58     throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.');
    59   }
    60 } else {
    61   ENVIRONMENT_IS_WEB = typeof window === 'object';
    62   ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
    63   ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
    64   ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
    65 }
    66 
    67 
    68 if (ENVIRONMENT_IS_NODE) {
    69   // Expose functionality in the same simple way that the shells work
    70   // Note that we pollute the global namespace here, otherwise we break in node
    71   if (!Module['print']) Module['print'] = console.log;
    72   if (!Module['printErr']) Module['printErr'] = console.warn;
    73 
    74   var nodeFS;
    75   var nodePath;
    76 
    77   Module['read'] = function read(filename, binary) {
     90    scriptDirectory = __dirname + '/';
     91  }
     92
     93
     94
     95
     96  read_ = function shell_read(filename, binary) {
    7897    if (!nodeFS) nodeFS = require('fs');
    7998    if (!nodePath) nodePath = require('path');
    8099    filename = nodePath['normalize'](filename);
    81     var ret = nodeFS['readFileSync'](filename);
    82     return binary ? ret : ret.toString();
     100    return nodeFS['readFileSync'](filename, binary ? null : 'utf8');
    83101  };
    84102
    85   Module['readBinary'] = function readBinary(filename) {
    86     var ret = Module['read'](filename, true);
     103  readBinary = function readBinary(filename) {
     104    var ret = read_(filename, true);
    87105    if (!ret.buffer) {
    88106      ret = new Uint8Array(ret);
     
    92110  };
    93111
    94   Module['load'] = function load(f) {
    95     globalEval(read(f));
    96   };
    97 
    98   if (!Module['thisProgram']) {
    99     if (process['argv'].length > 1) {
    100       Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
    101     } else {
    102       Module['thisProgram'] = 'unknown-program';
    103     }
    104   }
    105 
    106   Module['arguments'] = process['argv'].slice(2);
     112
     113
     114
     115  if (process['argv'].length > 1) {
     116    thisProgram = process['argv'][1].replace(/\\/g, '/');
     117  }
     118
     119  arguments_ = process['argv'].slice(2);
    107120
    108121  if (typeof module !== 'undefined') {
     
    117130  });
    118131
     132  process['on']('unhandledRejection', abort);
     133
     134  quit_ = function(status) {
     135    process['exit'](status);
     136  };
     137
    119138  Module['inspect'] = function () { return '[Emscripten Module object]'; };
    120 }
    121 else if (ENVIRONMENT_IS_SHELL) {
    122   if (!Module['print']) Module['print'] = print;
    123   if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
     139
     140
     141
     142} else
     143if (ENVIRONMENT_IS_SHELL) {
     144
    124145
    125146  if (typeof read != 'undefined') {
    126     Module['read'] = read;
    127   } else {
    128     Module['read'] = function read() { throw 'no read() available' };
    129   }
    130 
    131   Module['readBinary'] = function readBinary(f) {
     147    read_ = function shell_read(f) {
     148      return read(f);
     149    };
     150  }
     151
     152  readBinary = function readBinary(f) {
     153    var data;
    132154    if (typeof readbuffer === 'function') {
    133155      return new Uint8Array(readbuffer(f));
    134156    }
    135     var data = read(f, 'binary');
     157    data = read(f, 'binary');
    136158    assert(typeof data === 'object');
    137159    return data;
     
    139161
    140162  if (typeof scriptArgs != 'undefined') {
    141     Module['arguments'] = scriptArgs;
     163    arguments_ = scriptArgs;
    142164  } else if (typeof arguments != 'undefined') {
    143     Module['arguments'] = arguments;
     165    arguments_ = arguments;
    144166  }
    145167
    146168  if (typeof quit === 'function') {
    147     Module['quit'] = function(status, toThrow) {
     169    quit_ = function(status) {
    148170      quit(status);
    149     }
    150   }
    151 
    152 }
    153 else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
    154   Module['read'] = function read(url) {
    155     var xhr = new XMLHttpRequest();
    156     xhr.open('GET', url, false);
    157     xhr.send(null);
    158     return xhr.responseText;
    159   };
    160 
    161   if (ENVIRONMENT_IS_WORKER) {
    162     Module['readBinary'] = function read(url) {
     171    };
     172  }
     173
     174  if (typeof print !== 'undefined') {
     175    // Prefer to use print/printErr where they exist, as they usually work better.
     176    if (typeof console === 'undefined') console = /** @type{!Console} */({});
     177    console.log = /** @type{!function(this:Console, ...*): undefined} */ (print);
     178    console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print);
     179  }
     180
     181
     182} else
     183
     184// Note that this includes Node.js workers when relevant (pthreads is enabled).
     185// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
     186// ENVIRONMENT_IS_NODE.
     187if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
     188  if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled
     189    scriptDirectory = self.location.href;
     190  } else if (document.currentScript) { // web
     191    scriptDirectory = document.currentScript.src;
     192  }
     193  // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
     194  // otherwise, slice off the final part of the url to find the script directory.
     195  // if scriptDirectory does not contain a slash, lastIndexOf will return -1,
     196  // and scriptDirectory will correctly be replaced with an empty string.
     197  if (scriptDirectory.indexOf('blob:') !== 0) {
     198    scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1);
     199  } else {
     200    scriptDirectory = '';
     201  }
     202
     203
     204  // Differentiate the Web Worker from the Node Worker case, as reading must
     205  // be done differently.
     206  {
     207
     208
     209
     210
     211  read_ = function shell_read(url) {
    163212      var xhr = new XMLHttpRequest();
    164213      xhr.open('GET', url, false);
    165       xhr.responseType = 'arraybuffer';
    166214      xhr.send(null);
    167       return xhr.response;
     215      return xhr.responseText;
     216  };
     217
     218  if (ENVIRONMENT_IS_WORKER) {
     219    readBinary = function readBinary(url) {
     220        var xhr = new XMLHttpRequest();
     221        xhr.open('GET', url, false);
     222        xhr.responseType = 'arraybuffer';
     223        xhr.send(null);
     224        return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response));
    168225    };
    169226  }
    170227
    171   Module['readAsync'] = function readAsync(url, onload, onerror) {
     228  readAsync = function readAsync(url, onload, onerror) {
    172229    var xhr = new XMLHttpRequest();
    173230    xhr.open('GET', url, true);
     
    176233      if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
    177234        onload(xhr.response);
    178       } else {
    179         onerror();
     235        return;
    180236      }
     237      onerror();
    181238    };
    182239    xhr.onerror = onerror;
     
    184241  };
    185242
    186   if (typeof arguments != 'undefined') {
    187     Module['arguments'] = arguments;
    188   }
    189 
    190   if (typeof console !== 'undefined') {
    191     if (!Module['print']) Module['print'] = function print(x) {
    192       console.log(x);
    193     };
    194     if (!Module['printErr']) Module['printErr'] = function printErr(x) {
    195       console.warn(x);
    196     };
    197   } else {
    198     // Probably a worker, and without console.log. We can do very little here...
    199     var TRY_USE_DUMP = false;
    200     if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
    201       dump(x);
    202     }) : (function(x) {
    203       // self.postMessage(x); // enable this if you want stdout to be sent as messages
    204     }));
    205   }
    206 
    207   if (ENVIRONMENT_IS_WORKER) {
    208     Module['load'] = importScripts;
    209   }
    210 
    211   if (typeof Module['setWindowTitle'] === 'undefined') {
    212     Module['setWindowTitle'] = function(title) { document.title = title };
    213   }
    214 }
    215 else {
    216   // Unreachable because SHELL is dependant on the others
    217   throw 'Unknown runtime environment. Where are we?';
    218 }
    219 
    220 function globalEval(x) {
    221   eval.call(null, x);
    222 }
    223 if (!Module['load'] && Module['read']) {
    224   Module['load'] = function load(f) {
    225     globalEval(Module['read'](f));
    226   };
    227 }
    228 if (!Module['print']) {
    229   Module['print'] = function(){};
    230 }
    231 if (!Module['printErr']) {
    232   Module['printErr'] = Module['print'];
    233 }
    234 if (!Module['arguments']) {
    235   Module['arguments'] = [];
    236 }
    237 if (!Module['thisProgram']) {
    238   Module['thisProgram'] = './this.program';
    239 }
    240 if (!Module['quit']) {
    241   Module['quit'] = function(status, toThrow) {
    242     throw toThrow;
    243   }
    244 }
    245 
    246 // *** Environment setup code ***
    247 
    248 // Closure helpers
    249 Module.print = Module['print'];
    250 Module.printErr = Module['printErr'];
    251 
    252 // Callbacks
    253 Module['preRun'] = [];
    254 Module['postRun'] = [];
     243
     244
     245
     246  }
     247
     248  setWindowTitle = function(title) { document.title = title };
     249} else
     250{
     251  throw new Error('environment detection error');
     252}
     253
     254
     255// Set up the out() and err() hooks, which are how we can print to stdout or
     256// stderr, respectively.
     257var out = Module['print'] || console.log.bind(console);
     258var err = Module['printErr'] || console.warn.bind(console);
    255259
    256260// Merge back in the overrides
    257 for (var key in moduleOverrides) {
     261for (key in moduleOverrides) {
    258262  if (moduleOverrides.hasOwnProperty(key)) {
    259263    Module[key] = moduleOverrides[key];
     
    262266// Free the object hierarchy contained in the overrides, this lets the GC
    263267// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
    264 moduleOverrides = undefined;
     268moduleOverrides = null;
     269
     270// Emit code to handle expected values on the Module object. This applies Module.x
     271// to the proper local x. This has two benefits: first, we only emit it if it is
     272// expected to arrive, and second, by using a local everywhere else that can be
     273// minified.
     274if (Module['arguments']) arguments_ = Module['arguments'];if (!Object.getOwnPropertyDescriptor(Module, 'arguments')) Object.defineProperty(Module, 'arguments', { configurable: true, get: function() { abort('Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     275if (Module['thisProgram']) thisProgram = Module['thisProgram'];if (!Object.getOwnPropertyDescriptor(Module, 'thisProgram')) Object.defineProperty(Module, 'thisProgram', { configurable: true, get: function() { abort('Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     276if (Module['quit']) quit_ = Module['quit'];if (!Object.getOwnPropertyDescriptor(Module, 'quit')) Object.defineProperty(Module, 'quit', { configurable: true, get: function() { abort('Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     277
     278// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
     279// Assertions on removed incoming Module JS APIs.
     280assert(typeof Module['memoryInitializerPrefixURL'] === 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead');
     281assert(typeof Module['pthreadMainPrefixURL'] === 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead');
     282assert(typeof Module['cdInitializerPrefixURL'] === 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead');
     283assert(typeof Module['filePackagePrefixURL'] === 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead');
     284assert(typeof Module['read'] === 'undefined', 'Module.read option was removed (modify read_ in JS)');
     285assert(typeof Module['readAsync'] === 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)');
     286assert(typeof Module['readBinary'] === 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)');
     287assert(typeof Module['setWindowTitle'] === 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)');
     288assert(typeof Module['TOTAL_MEMORY'] === 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY');
     289if (!Object.getOwnPropertyDescriptor(Module, 'read')) Object.defineProperty(Module, 'read', { configurable: true, get: function() { abort('Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     290if (!Object.getOwnPropertyDescriptor(Module, 'readAsync')) Object.defineProperty(Module, 'readAsync', { configurable: true, get: function() { abort('Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     291if (!Object.getOwnPropertyDescriptor(Module, 'readBinary')) Object.defineProperty(Module, 'readBinary', { configurable: true, get: function() { abort('Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     292if (!Object.getOwnPropertyDescriptor(Module, 'setWindowTitle')) Object.defineProperty(Module, 'setWindowTitle', { configurable: true, get: function() { abort('Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     293var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js';
     294var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js';
     295var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js';
     296var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js';
     297
     298
     299
    265300
    266301
    267302
    268303// {{PREAMBLE_ADDITIONS}}
     304
     305var STACK_ALIGN = 16;
     306
     307function dynamicAlloc(size) {
     308  assert(DYNAMICTOP_PTR);
     309  var ret = HEAP32[DYNAMICTOP_PTR>>2];
     310  var end = (ret + size + 15) & -16;
     311  assert(end <= HEAP8.length, 'failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly');
     312  HEAP32[DYNAMICTOP_PTR>>2] = end;
     313  return ret;
     314}
     315
     316function alignMemory(size, factor) {
     317  if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default
     318  return Math.ceil(size / factor) * factor;
     319}
     320
     321function getNativeTypeSize(type) {
     322  switch (type) {
     323    case 'i1': case 'i8': return 1;
     324    case 'i16': return 2;
     325    case 'i32': return 4;
     326    case 'i64': return 8;
     327    case 'float': return 4;
     328    case 'double': return 8;
     329    default: {
     330      if (type[type.length-1] === '*') {
     331        return 4; // A pointer
     332      } else if (type[0] === 'i') {
     333        var bits = Number(type.substr(1));
     334        assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type);
     335        return bits / 8;
     336      } else {
     337        return 0;
     338      }
     339    }
     340  }
     341}
     342
     343function warnOnce(text) {
     344  if (!warnOnce.shown) warnOnce.shown = {};
     345  if (!warnOnce.shown[text]) {
     346    warnOnce.shown[text] = 1;
     347    err(text);
     348  }
     349}
     350
     351
     352
     353
     354
     355
     356
     357
     358// Wraps a JS function as a wasm function with a given signature.
     359function convertJsFunctionToWasm(func, sig) {
     360
     361  // If the type reflection proposal is available, use the new
     362  // "WebAssembly.Function" constructor.
     363  // Otherwise, construct a minimal wasm module importing the JS function and
     364  // re-exporting it.
     365  if (typeof WebAssembly.Function === "function") {
     366    var typeNames = {
     367      'i': 'i32',
     368      'j': 'i64',
     369      'f': 'f32',
     370      'd': 'f64'
     371    };
     372    var type = {
     373      parameters: [],
     374      results: sig[0] == 'v' ? [] : [typeNames[sig[0]]]
     375    };
     376    for (var i = 1; i < sig.length; ++i) {
     377      type.parameters.push(typeNames[sig[i]]);
     378    }
     379    return new WebAssembly.Function(type, func);
     380  }
     381
     382  // The module is static, with the exception of the type section, which is
     383  // generated based on the signature passed in.
     384  var typeSection = [
     385    0x01, // id: section,
     386    0x00, // length: 0 (placeholder)
     387    0x01, // count: 1
     388    0x60, // form: func
     389  ];
     390  var sigRet = sig.slice(0, 1);
     391  var sigParam = sig.slice(1);
     392  var typeCodes = {
     393    'i': 0x7f, // i32
     394    'j': 0x7e, // i64
     395    'f': 0x7d, // f32
     396    'd': 0x7c, // f64
     397  };
     398
     399  // Parameters, length + signatures
     400  typeSection.push(sigParam.length);
     401  for (var i = 0; i < sigParam.length; ++i) {
     402    typeSection.push(typeCodes[sigParam[i]]);
     403  }
     404
     405  // Return values, length + signatures
     406  // With no multi-return in MVP, either 0 (void) or 1 (anything else)
     407  if (sigRet == 'v') {
     408    typeSection.push(0x00);
     409  } else {
     410    typeSection = typeSection.concat([0x01, typeCodes[sigRet]]);
     411  }
     412
     413  // Write the overall length of the type section back into the section header
     414  // (excepting the 2 bytes for the section id and length)
     415  typeSection[1] = typeSection.length - 2;
     416
     417  // Rest of the module is static
     418  var bytes = new Uint8Array([
     419    0x00, 0x61, 0x73, 0x6d, // magic ("\0asm")
     420    0x01, 0x00, 0x00, 0x00, // version: 1
     421  ].concat(typeSection, [
     422    0x02, 0x07, // import section
     423      // (import "e" "f" (func 0 (type 0)))
     424      0x01, 0x01, 0x65, 0x01, 0x66, 0x00, 0x00,
     425    0x07, 0x05, // export section
     426      // (export "f" (func 0 (type 0)))
     427      0x01, 0x01, 0x66, 0x00, 0x00,
     428  ]));
     429
     430   // We can compile this wasm module synchronously because it is very small.
     431  // This accepts an import (at "e.f"), that it reroutes to an export (at "f")
     432  var module = new WebAssembly.Module(bytes);
     433  var instance = new WebAssembly.Instance(module, {
     434    'e': {
     435      'f': func
     436    }
     437  });
     438  var wrappedFunc = instance.exports['f'];
     439  return wrappedFunc;
     440}
     441
     442var freeTableIndexes = [];
     443
     444// Weak map of functions in the table to their indexes, created on first use.
     445var functionsInTableMap;
     446
     447// Add a wasm function to the table.
     448function addFunctionWasm(func, sig) {
     449  var table = wasmTable;
     450
     451  // Check if the function is already in the table, to ensure each function
     452  // gets a unique index. First, create the map if this is the first use.
     453  if (!functionsInTableMap) {
     454    functionsInTableMap = new WeakMap();
     455    for (var i = 0; i < table.length; i++) {
     456      var item = table.get(i);
     457      // Ignore null values.
     458      if (item) {
     459        functionsInTableMap.set(item, i);
     460      }
     461    }
     462  }
     463  if (functionsInTableMap.has(func)) {
     464    return functionsInTableMap.get(func);
     465  }
     466
     467  // It's not in the table, add it now.
     468
     469
     470  var ret;
     471  // Reuse a free index if there is one, otherwise grow.
     472  if (freeTableIndexes.length) {
     473    ret = freeTableIndexes.pop();
     474  } else {
     475    ret = table.length;
     476    // Grow the table
     477    try {
     478      table.grow(1);
     479    } catch (err) {
     480      if (!(err instanceof RangeError)) {
     481        throw err;
     482      }
     483      throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.';
     484    }
     485  }
     486
     487  // Set the new value.
     488  try {
     489    // Attempting to call this with JS function will cause of table.set() to fail
     490    table.set(ret, func);
     491  } catch (err) {
     492    if (!(err instanceof TypeError)) {
     493      throw err;
     494    }
     495    assert(typeof sig !== 'undefined', 'Missing signature argument to addFunction');
     496    var wrapped = convertJsFunctionToWasm(func, sig);
     497    table.set(ret, wrapped);
     498  }
     499
     500  functionsInTableMap.set(func, ret);
     501
     502  return ret;
     503}
     504
     505function removeFunctionWasm(index) {
     506  functionsInTableMap.delete(wasmTable.get(index));
     507  freeTableIndexes.push(index);
     508}
     509
     510// 'sig' parameter is required for the llvm backend but only when func is not
     511// already a WebAssembly function.
     512function addFunction(func, sig) {
     513  assert(typeof func !== 'undefined');
     514
     515  return addFunctionWasm(func, sig);
     516}
     517
     518function removeFunction(index) {
     519  removeFunctionWasm(index);
     520}
     521
     522
     523
     524var funcWrappers = {};
     525
     526function getFuncWrapper(func, sig) {
     527  if (!func) return; // on null pointer, return undefined
     528  assert(sig);
     529  if (!funcWrappers[sig]) {
     530    funcWrappers[sig] = {};
     531  }
     532  var sigCache = funcWrappers[sig];
     533  if (!sigCache[func]) {
     534    // optimize away arguments usage in common cases
     535    if (sig.length === 1) {
     536      sigCache[func] = function dynCall_wrapper() {
     537        return dynCall(sig, func);
     538      };
     539    } else if (sig.length === 2) {
     540      sigCache[func] = function dynCall_wrapper(arg) {
     541        return dynCall(sig, func, [arg]);
     542      };
     543    } else {
     544      // general case
     545      sigCache[func] = function dynCall_wrapper() {
     546        return dynCall(sig, func, Array.prototype.slice.call(arguments));
     547      };
     548    }
     549  }
     550  return sigCache[func];
     551}
     552
     553
     554
     555
     556
     557
     558
     559function makeBigInt(low, high, unsigned) {
     560  return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0));
     561}
     562
     563/** @param {Array=} args */
     564function dynCall(sig, ptr, args) {
     565  if (args && args.length) {
     566    // j (64-bit integer) must be passed in as two numbers [low 32, high 32].
     567    assert(args.length === sig.substring(1).replace(/j/g, '--').length);
     568    assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
     569    return Module['dynCall_' + sig].apply(null, [ptr].concat(args));
     570  } else {
     571    assert(sig.length == 1);
     572    assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
     573    return Module['dynCall_' + sig].call(null, ptr);
     574  }
     575}
     576
     577var tempRet0 = 0;
     578
     579var setTempRet0 = function(value) {
     580  tempRet0 = value;
     581};
     582
     583var getTempRet0 = function() {
     584  return tempRet0;
     585};
     586
     587function getCompilerSetting(name) {
     588  throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work';
     589}
     590
     591// The address globals begin at. Very low in memory, for code size and optimization opportunities.
     592// Above 0 is static memory, starting with globals.
     593// Then the stack.
     594// Then 'dynamic' memory for sbrk.
     595var GLOBAL_BASE = 1024;
     596
     597
     598
     599
    269600
    270601// === Preamble library stuff ===
     
    278609//    is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
    279610
    280 //========================================
    281 // Runtime code shared with compiler
    282 //========================================
    283 
    284 var Runtime = {
    285   setTempRet0: function (value) {
    286     tempRet0 = value;
    287     return value;
    288   },
    289   getTempRet0: function () {
    290     return tempRet0;
    291   },
    292   stackSave: function () {
    293     return STACKTOP;
    294   },
    295   stackRestore: function (stackTop) {
    296     STACKTOP = stackTop;
    297   },
    298   getNativeTypeSize: function (type) {
    299     switch (type) {
    300       case 'i1': case 'i8': return 1;
    301       case 'i16': return 2;
    302       case 'i32': return 4;
    303       case 'i64': return 8;
    304       case 'float': return 4;
    305       case 'double': return 8;
    306       default: {
    307         if (type[type.length-1] === '*') {
    308           return Runtime.QUANTUM_SIZE; // A pointer
    309         } else if (type[0] === 'i') {
    310           var bits = parseInt(type.substr(1));
    311           assert(bits % 8 === 0);
    312           return bits/8;
    313         } else {
    314           return 0;
    315         }
    316       }
    317     }
    318   },
    319   getNativeFieldSize: function (type) {
    320     return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
    321   },
    322   STACK_ALIGN: 16,
    323   prepVararg: function (ptr, type) {
    324     if (type === 'double' || type === 'i64') {
    325       // move so the load is aligned
    326       if (ptr & 7) {
    327         assert((ptr & 7) === 4);
    328         ptr += 4;
    329       }
    330     } else {
    331       assert((ptr & 3) === 0);
    332     }
    333     return ptr;
    334   },
    335   getAlignSize: function (type, size, vararg) {
    336     // we align i64s and doubles on 64-bit boundaries, unlike x86
    337     if (!vararg && (type == 'i64' || type == 'double')) return 8;
    338     if (!type) return Math.min(size, 8); // align structures internally to 64 bits
    339     return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE);
    340   },
    341   dynCall: function (sig, ptr, args) {
    342     if (args && args.length) {
    343       assert(args.length == sig.length-1);
    344       assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
    345       return Module['dynCall_' + sig].apply(null, [ptr].concat(args));
    346     } else {
    347       assert(sig.length == 1);
    348       assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
    349       return Module['dynCall_' + sig].call(null, ptr);
    350     }
    351   },
    352   functionPointers: [],
    353   addFunction: function (func) {
    354     for (var i = 0; i < Runtime.functionPointers.length; i++) {
    355       if (!Runtime.functionPointers[i]) {
    356         Runtime.functionPointers[i] = func;
    357         return 2*(1 + i);
    358       }
    359     }
    360     throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
    361   },
    362   removeFunction: function (index) {
    363     Runtime.functionPointers[(index-2)/2] = null;
    364   },
    365   warnOnce: function (text) {
    366     if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
    367     if (!Runtime.warnOnce.shown[text]) {
    368       Runtime.warnOnce.shown[text] = 1;
    369       Module.printErr(text);
    370     }
    371   },
    372   funcWrappers: {},
    373   getFuncWrapper: function (func, sig) {
    374     assert(sig);
    375     if (!Runtime.funcWrappers[sig]) {
    376       Runtime.funcWrappers[sig] = {};
    377     }
    378     var sigCache = Runtime.funcWrappers[sig];
    379     if (!sigCache[func]) {
    380       // optimize away arguments usage in common cases
    381       if (sig.length === 1) {
    382         sigCache[func] = function dynCall_wrapper() {
    383           return Runtime.dynCall(sig, func);
    384         };
    385       } else if (sig.length === 2) {
    386         sigCache[func] = function dynCall_wrapper(arg) {
    387           return Runtime.dynCall(sig, func, [arg]);
    388         };
    389       } else {
    390         // general case
    391         sigCache[func] = function dynCall_wrapper() {
    392           return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments));
    393         };
    394       }
    395     }
    396     return sigCache[func];
    397   },
    398   getCompilerSetting: function (name) {
    399     throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work';
    400   },
    401   stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; },
    402   staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; },
    403   dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;},
    404   alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; },
    405   makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; },
    406   GLOBAL_BASE: 8,
    407   QUANTUM_SIZE: 4,
    408   __dummy__: 0
    409 }
    410 
    411 
    412 
    413 Module["Runtime"] = Runtime;
    414 
    415 
    416 
    417 //========================================
    418 // Runtime essentials
    419 //========================================
    420 
    421 var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort()
    422 var EXITSTATUS = 0;
    423 
    424 function assert(condition, text) {
    425   if (!condition) {
    426     abort('Assertion failed: ' + text);
    427   }
    428 }
    429 
    430 var globalScope = this;
    431 
    432 // Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
    433 function getCFunc(ident) {
    434   var func = Module['_' + ident]; // closure exported function
    435   if (!func) {
    436     try { func = eval('_' + ident); } catch(e) {}
    437   }
    438   assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
    439   return func;
    440 }
    441 
    442 var cwrap, ccall;
    443 (function(){
    444   var JSfuncs = {
    445     // Helpers for cwrap -- it can't refer to Runtime directly because it might
    446     // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
    447     // out what the minified function name is.
    448     'stackSave': function() {
    449       Runtime.stackSave()
    450     },
    451     'stackRestore': function() {
    452       Runtime.stackRestore()
    453     },
    454     // type conversion from js to c
    455     'arrayToC' : function(arr) {
    456       var ret = Runtime.stackAlloc(arr.length);
    457       writeArrayToMemory(arr, ret);
    458       return ret;
    459     },
    460     'stringToC' : function(str) {
    461       var ret = 0;
    462       if (str !== null && str !== undefined && str !== 0) { // null string
    463         // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
    464         var len = (str.length << 2) + 1;
    465         ret = Runtime.stackAlloc(len);
    466         stringToUTF8(str, ret, len);
    467       }
    468       return ret;
    469     }
    470   };
    471   // For fast lookup of conversion functions
    472   var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']};
    473 
    474   // C calling interface.
    475   ccall = function ccallFunc(ident, returnType, argTypes, args, opts) {
    476     var func = getCFunc(ident);
    477     var cArgs = [];
    478     var stack = 0;
    479     assert(returnType !== 'array', 'Return type should not be "array".');
    480     if (args) {
    481       for (var i = 0; i < args.length; i++) {
    482         var converter = toC[argTypes[i]];
    483         if (converter) {
    484           if (stack === 0) stack = Runtime.stackSave();
    485           cArgs[i] = converter(args[i]);
    486         } else {
    487           cArgs[i] = args[i];
    488         }
    489       }
    490     }
    491     var ret = func.apply(null, cArgs);
    492     if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') {
    493       assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall');
    494     }
    495     if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values');
    496     if (returnType === 'string') ret = Pointer_stringify(ret);
    497     if (stack !== 0) {
    498       if (opts && opts.async) {
    499         EmterpreterAsync.asyncFinalizers.push(function() {
    500           Runtime.stackRestore(stack);
    501         });
    502         return;
    503       }
    504       Runtime.stackRestore(stack);
    505     }
    506     return ret;
    507   }
    508 
    509   var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;
    510   function parseJSFunc(jsfunc) {
    511     // Match the body and the return value of a javascript function source
    512     var parsed = jsfunc.toString().match(sourceRegex).slice(1);
    513     return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]}
    514   }
    515 
    516   // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file
    517   var JSsource = null;
    518   function ensureJSsource() {
    519     if (!JSsource) {
    520       JSsource = {};
    521       for (var fun in JSfuncs) {
    522         if (JSfuncs.hasOwnProperty(fun)) {
    523           // Elements of toCsource are arrays of three items:
    524           // the code, and the return value
    525           JSsource[fun] = parseJSFunc(JSfuncs[fun]);
    526         }
    527       }
    528     }
    529   }
    530 
    531   cwrap = function cwrap(ident, returnType, argTypes) {
    532     argTypes = argTypes || [];
    533     var cfunc = getCFunc(ident);
    534     // When the function takes numbers and returns a number, we can just return
    535     // the original function
    536     var numericArgs = argTypes.every(function(type){ return type === 'number'});
    537     var numericRet = (returnType !== 'string');
    538     if ( numericRet && numericArgs) {
    539       return cfunc;
    540     }
    541     // Creation of the arguments list (["$1","$2",...,"$nargs"])
    542     var argNames = argTypes.map(function(x,i){return '$'+i});
    543     var funcstr = "(function(" + argNames.join(',') + ") {";
    544     var nargs = argTypes.length;
    545     if (!numericArgs) {
    546       // Generate the code needed to convert the arguments from javascript
    547       // values to pointers
    548       ensureJSsource();
    549       funcstr += 'var stack = ' + JSsource['stackSave'].body + ';';
    550       for (var i = 0; i < nargs; i++) {
    551         var arg = argNames[i], type = argTypes[i];
    552         if (type === 'number') continue;
    553         var convertCode = JSsource[type + 'ToC']; // [code, return]
    554         funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';';
    555         funcstr += convertCode.body + ';';
    556         funcstr += arg + '=(' + convertCode.returnValue + ');';
    557       }
    558     }
    559 
    560     // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore
    561     var cfuncname = parseJSFunc(function(){return cfunc}).returnValue;
    562     // Call the function
    563     funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');';
    564     if (!numericRet) { // Return type can only by 'string' or 'number'
    565       // Convert the result to a string
    566       var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue;
    567       funcstr += 'ret = ' + strgfy + '(ret);';
    568     }
    569     funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }";
    570     if (!numericArgs) {
    571       // If we had a stack, restore it
    572       ensureJSsource();
    573       funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';';
    574     }
    575     funcstr += 'return ret})';
    576     return eval(funcstr);
    577   };
    578 })();
    579 Module["ccall"] = ccall;
    580 Module["cwrap"] = cwrap;
    581 
     611
     612var wasmBinary;if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];if (!Object.getOwnPropertyDescriptor(Module, 'wasmBinary')) Object.defineProperty(Module, 'wasmBinary', { configurable: true, get: function() { abort('Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     613var noExitRuntime;if (Module['noExitRuntime']) noExitRuntime = Module['noExitRuntime'];if (!Object.getOwnPropertyDescriptor(Module, 'noExitRuntime')) Object.defineProperty(Module, 'noExitRuntime', { configurable: true, get: function() { abort('Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     614
     615
     616if (typeof WebAssembly !== 'object') {
     617  abort('no native wasm support detected');
     618}
     619
     620
     621
     622
     623// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking.
     624// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties)
     625
     626/** @param {number} ptr
     627    @param {number} value
     628    @param {string} type
     629    @param {number|boolean=} noSafe */
    582630function setValue(ptr, value, type, noSafe) {
    583631  type = type || 'i8';
     
    594642    }
    595643}
    596 Module["setValue"] = setValue;
    597 
    598 
     644
     645/** @param {number} ptr
     646    @param {string} type
     647    @param {number|boolean=} noSafe */
    599648function getValue(ptr, type, noSafe) {
    600649  type = type || 'i8';
     
    608657      case 'float': return HEAPF32[((ptr)>>2)];
    609658      case 'double': return HEAPF64[((ptr)>>3)];
    610       default: abort('invalid type for setValue: ' + type);
     659      default: abort('invalid type for getValue: ' + type);
    611660    }
    612661  return null;
    613662}
    614 Module["getValue"] = getValue;
     663
     664
     665
     666
     667
     668
     669// Wasm globals
     670
     671var wasmMemory;
     672
     673// In fastcomp asm.js, we don't need a wasm Table at all.
     674// In the wasm backend, we polyfill the WebAssembly object,
     675// so this creates a (non-native-wasm) table for us.
     676var wasmTable = new WebAssembly.Table({
     677  'initial': 336,
     678  'maximum': 336 + 0,
     679  'element': 'anyfunc'
     680});
     681
     682
     683//========================================
     684// Runtime essentials
     685//========================================
     686
     687// whether we are quitting the application. no code should run after this.
     688// set in exit() and abort()
     689var ABORT = false;
     690
     691// set by exit() and abort().  Passed to 'onExit' handler.
     692// NOTE: This is also used as the process return code code in shell environments
     693// but only when noExitRuntime is false.
     694var EXITSTATUS = 0;
     695
     696/** @type {function(*, string=)} */
     697function assert(condition, text) {
     698  if (!condition) {
     699    abort('Assertion failed: ' + text);
     700  }
     701}
     702
     703// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
     704function getCFunc(ident) {
     705  var func = Module['_' + ident]; // closure exported function
     706  assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported');
     707  return func;
     708}
     709
     710// C calling interface.
     711/** @param {string|null=} returnType
     712    @param {Array=} argTypes
     713    @param {Arguments|Array=} args
     714    @param {Object=} opts */
     715function ccall(ident, returnType, argTypes, args, opts) {
     716  // For fast lookup of conversion functions
     717  var toC = {
     718    'string': function(str) {
     719      var ret = 0;
     720      if (str !== null && str !== undefined && str !== 0) { // null string
     721        // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
     722        var len = (str.length << 2) + 1;
     723        ret = stackAlloc(len);
     724        stringToUTF8(str, ret, len);
     725      }
     726      return ret;
     727    },
     728    'array': function(arr) {
     729      var ret = stackAlloc(arr.length);
     730      writeArrayToMemory(arr, ret);
     731      return ret;
     732    }
     733  };
     734
     735  function convertReturnValue(ret) {
     736    if (returnType === 'string') return UTF8ToString(ret);
     737    if (returnType === 'boolean') return Boolean(ret);
     738    return ret;
     739  }
     740
     741  var func = getCFunc(ident);
     742  var cArgs = [];
     743  var stack = 0;
     744  assert(returnType !== 'array', 'Return type should not be "array".');
     745  if (args) {
     746    for (var i = 0; i < args.length; i++) {
     747      var converter = toC[argTypes[i]];
     748      if (converter) {
     749        if (stack === 0) stack = stackSave();
     750        cArgs[i] = converter(args[i]);
     751      } else {
     752        cArgs[i] = args[i];
     753      }
     754    }
     755  }
     756  var ret = func.apply(null, cArgs);
     757
     758  ret = convertReturnValue(ret);
     759  if (stack !== 0) stackRestore(stack);
     760  return ret;
     761}
     762
     763/** @param {string=} returnType
     764    @param {Array=} argTypes
     765    @param {Object=} opts */
     766function cwrap(ident, returnType, argTypes, opts) {
     767  return function() {
     768    return ccall(ident, returnType, argTypes, arguments, opts);
     769  }
     770}
    615771
    616772var ALLOC_NORMAL = 0; // Tries to use _malloc()
    617773var ALLOC_STACK = 1; // Lives for the duration of the current function call
    618 var ALLOC_STATIC = 2; // Cannot be freed
    619 var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
    620 var ALLOC_NONE = 4; // Do not allocate
    621 Module["ALLOC_NORMAL"] = ALLOC_NORMAL;
    622 Module["ALLOC_STACK"] = ALLOC_STACK;
    623 Module["ALLOC_STATIC"] = ALLOC_STATIC;
    624 Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC;
    625 Module["ALLOC_NONE"] = ALLOC_NONE;
     774var ALLOC_DYNAMIC = 2; // Cannot be freed except through sbrk
     775var ALLOC_NONE = 3; // Do not allocate
    626776
    627777// allocate(): This is for internal use. You can use it yourself as well, but the interface
     
    638788//         ignored.
    639789// @allocator: How to allocate memory, see ALLOC_*
     790/** @type {function((TypedArray|Array<number>|number), string, number, number=)} */
    640791function allocate(slab, types, allocator, ptr) {
    641792  var zeroinit, size;
     
    654805    ret = ptr;
    655806  } else {
    656     ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
     807    ret = [_malloc,
     808    stackAlloc,
     809    dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length));
    657810  }
    658811
    659812  if (zeroinit) {
    660     var ptr = ret, stop;
     813    var stop;
     814    ptr = ret;
    661815    assert((ret & 3) == 0);
    662816    stop = ret + (size & ~3);
     
    673827  if (singleType === 'i8') {
    674828    if (slab.subarray || slab.slice) {
    675       HEAPU8.set(slab, ret);
     829      HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret);
    676830    } else {
    677831      HEAPU8.set(new Uint8Array(slab), ret);
     
    683837  while (i < size) {
    684838    var curr = slab[i];
    685 
    686     if (typeof curr === 'function') {
    687       curr = Runtime.getFunctionIndex(curr);
    688     }
    689839
    690840    type = singleType || types[i];
     
    701851    // no need to look up size unless type changes, so cache it
    702852    if (previousType !== type) {
    703       typeSize = Runtime.getNativeTypeSize(type);
     853      typeSize = getNativeTypeSize(type);
    704854      previousType = type;
    705855    }
     
    709859  return ret;
    710860}
    711 Module["allocate"] = allocate;
    712861
    713862// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready
    714863function getMemory(size) {
    715   if (!staticSealed) return Runtime.staticAlloc(size);
    716   if (!runtimeInitialized) return Runtime.dynamicAlloc(size);
     864  if (!runtimeInitialized) return dynamicAlloc(size);
    717865  return _malloc(size);
    718866}
    719 Module["getMemory"] = getMemory;
    720 
    721 function Pointer_stringify(ptr, /* optional */ length) {
    722   if (length === 0 || !ptr) return '';
    723   // TODO: use TextDecoder
    724   // Find the length, and check for UTF while doing so
    725   var hasUtf = 0;
    726   var t;
    727   var i = 0;
    728   while (1) {
    729     assert(ptr + i < TOTAL_MEMORY);
    730     t = HEAPU8[(((ptr)+(i))>>0)];
    731     hasUtf |= t;
    732     if (t == 0 && !length) break;
    733     i++;
    734     if (length && i == length) break;
    735   }
    736   if (!length) length = i;
    737 
    738   var ret = '';
    739 
    740   if (hasUtf < 128) {
    741     var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
    742     var curr;
    743     while (length > 0) {
    744       curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
    745       ret = ret ? ret + curr : curr;
    746       ptr += MAX_CHUNK;
    747       length -= MAX_CHUNK;
    748     }
    749     return ret;
    750   }
    751   return Module['UTF8ToString'](ptr);
    752 }
    753 Module["Pointer_stringify"] = Pointer_stringify;
    754 
    755 // Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
    756 // a copy of that string as a Javascript String object.
    757 
    758 function AsciiToString(ptr) {
    759   var str = '';
    760   while (1) {
    761     var ch = HEAP8[((ptr++)>>0)];
    762     if (!ch) return str;
    763     str += String.fromCharCode(ch);
    764   }
    765 }
    766 Module["AsciiToString"] = AsciiToString;
    767 
    768 // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
    769 // null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
    770 
    771 function stringToAscii(str, outPtr) {
    772   return writeAsciiToMemory(str, outPtr, false);
    773 }
    774 Module["stringToAscii"] = stringToAscii;
     867
     868
     869
     870
     871// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime.
    775872
    776873// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
     
    778875
    779876var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
    780 function UTF8ArrayToString(u8Array, idx) {
     877
     878/**
     879 * @param {number} idx
     880 * @param {number=} maxBytesToRead
     881 * @return {string}
     882 */
     883function UTF8ArrayToString(heap, idx, maxBytesToRead) {
     884  var endIdx = idx + maxBytesToRead;
    781885  var endPtr = idx;
    782886  // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
    783887  // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
    784   while (u8Array[endPtr]) ++endPtr;
    785 
    786   if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
    787     return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
     888  // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity)
     889  while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr;
     890
     891  if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {
     892    return UTF8Decoder.decode(heap.subarray(idx, endPtr));
    788893  } else {
    789     var u0, u1, u2, u3, u4, u5;
    790 
    791894    var str = '';
    792     while (1) {
    793       // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
    794       u0 = u8Array[idx++];
    795       if (!u0) return str;
     895    // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that
     896    while (idx < endPtr) {
     897      // For UTF8 byte structure, see:
     898      // http://en.wikipedia.org/wiki/UTF-8#Description
     899      // https://www.ietf.org/rfc/rfc2279.txt
     900      // https://tools.ietf.org/html/rfc3629
     901      var u0 = heap[idx++];
    796902      if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
    797       u1 = u8Array[idx++] & 63;
     903      var u1 = heap[idx++] & 63;
    798904      if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
    799       u2 = u8Array[idx++] & 63;
     905      var u2 = heap[idx++] & 63;
    800906      if ((u0 & 0xF0) == 0xE0) {
    801907        u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
    802908      } else {
    803         u3 = u8Array[idx++] & 63;
    804         if ((u0 & 0xF8) == 0xF0) {
    805           u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
    806         } else {
    807           u4 = u8Array[idx++] & 63;
    808           if ((u0 & 0xFC) == 0xF8) {
    809             u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;
    810           } else {
    811             u5 = u8Array[idx++] & 63;
    812             u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;
    813           }
    814         }
     909        if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte 0x' + u0.toString(16) + ' encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!');
     910        u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63);
    815911      }
     912
    816913      if (u0 < 0x10000) {
    817914        str += String.fromCharCode(u0);
     
    822919    }
    823920  }
    824 }
    825 Module["UTF8ArrayToString"] = UTF8ArrayToString;
    826 
    827 // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns
    828 // a copy of that string as a Javascript String object.
    829 
    830 function UTF8ToString(ptr) {
    831   return UTF8ArrayToString(HEAPU8,ptr);
    832 }
    833 Module["UTF8ToString"] = UTF8ToString;
     921  return str;
     922}
     923
     924// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a
     925// copy of that string as a Javascript String object.
     926// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit
     927//                 this parameter to scan the string until the first \0 byte. If maxBytesToRead is
     928//                 passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the
     929//                 middle, then the string will cut short at that byte index (i.e. maxBytesToRead will
     930//                 not produce a string of exact length [ptr, ptr+maxBytesToRead[)
     931//                 N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may
     932//                 throw JS JIT optimizations off, so it is worth to consider consistently using one
     933//                 style or the other.
     934/**
     935 * @param {number} ptr
     936 * @param {number=} maxBytesToRead
     937 * @return {string}
     938 */
     939function UTF8ToString(ptr, maxBytesToRead) {
     940  return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : '';
     941}
    834942
    835943// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
     
    838946// Parameters:
    839947//   str: the Javascript string to copy.
    840 //   outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
     948//   heap: the array to copy to. Each index in this array is assumed to be one 8-byte element.
    841949//   outIdx: The starting offset in the array to begin the copying.
    842 //   maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
    843 //                    terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
     950//   maxBytesToWrite: The maximum number of bytes this function can write to the array.
     951//                    This count should include the null terminator,
     952//                    i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
    844953//                    maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
    845954// Returns the number of bytes written, EXCLUDING the null terminator.
    846955
    847 function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
     956function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
    848957  if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
    849958    return 0;
     
    856965    // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
    857966    var u = str.charCodeAt(i); // possibly a lead surrogate
    858     if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
     967    if (u >= 0xD800 && u <= 0xDFFF) {
     968      var u1 = str.charCodeAt(++i);
     969      u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
     970    }
    859971    if (u <= 0x7F) {
    860972      if (outIdx >= endIdx) break;
    861       outU8Array[outIdx++] = u;
     973      heap[outIdx++] = u;
    862974    } else if (u <= 0x7FF) {
    863975      if (outIdx + 1 >= endIdx) break;
    864       outU8Array[outIdx++] = 0xC0 | (u >> 6);
    865       outU8Array[outIdx++] = 0x80 | (u & 63);
     976      heap[outIdx++] = 0xC0 | (u >> 6);
     977      heap[outIdx++] = 0x80 | (u & 63);
    866978    } else if (u <= 0xFFFF) {
    867979      if (outIdx + 2 >= endIdx) break;
    868       outU8Array[outIdx++] = 0xE0 | (u >> 12);
    869       outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
    870       outU8Array[outIdx++] = 0x80 | (u & 63);
    871     } else if (u <= 0x1FFFFF) {
     980      heap[outIdx++] = 0xE0 | (u >> 12);
     981      heap[outIdx++] = 0x80 | ((u >> 6) & 63);
     982      heap[outIdx++] = 0x80 | (u & 63);
     983    } else {
    872984      if (outIdx + 3 >= endIdx) break;
    873       outU8Array[outIdx++] = 0xF0 | (u >> 18);
    874       outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
    875       outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
    876       outU8Array[outIdx++] = 0x80 | (u & 63);
    877     } else if (u <= 0x3FFFFFF) {
    878       if (outIdx + 4 >= endIdx) break;
    879       outU8Array[outIdx++] = 0xF8 | (u >> 24);
    880       outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
    881       outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
    882       outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
    883       outU8Array[outIdx++] = 0x80 | (u & 63);
    884     } else {
    885       if (outIdx + 5 >= endIdx) break;
    886       outU8Array[outIdx++] = 0xFC | (u >> 30);
    887       outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);
    888       outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
    889       outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
    890       outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
    891       outU8Array[outIdx++] = 0x80 | (u & 63);
     985      if (u >= 0x200000) warnOnce('Invalid Unicode code point 0x' + u.toString(16) + ' encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).');
     986      heap[outIdx++] = 0xF0 | (u >> 18);
     987      heap[outIdx++] = 0x80 | ((u >> 12) & 63);
     988      heap[outIdx++] = 0x80 | ((u >> 6) & 63);
     989      heap[outIdx++] = 0x80 | (u & 63);
    892990    }
    893991  }
    894992  // Null-terminate the pointer to the buffer.
    895   outU8Array[outIdx] = 0;
     993  heap[outIdx] = 0;
    896994  return outIdx - startIdx;
    897995}
    898 Module["stringToUTF8Array"] = stringToUTF8Array;
    899996
    900997// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
     
    9071004  return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
    9081005}
    909 Module["stringToUTF8"] = stringToUTF8;
    9101006
    9111007// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
    912 
    9131008function lengthBytesUTF8(str) {
    9141009  var len = 0;
     
    9181013    var u = str.charCodeAt(i); // possibly a lead surrogate
    9191014    if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
    920     if (u <= 0x7F) {
    921       ++len;
    922     } else if (u <= 0x7FF) {
    923       len += 2;
    924     } else if (u <= 0xFFFF) {
    925       len += 3;
    926     } else if (u <= 0x1FFFFF) {
    927       len += 4;
    928     } else if (u <= 0x3FFFFFF) {
    929       len += 5;
    930     } else {
    931       len += 6;
    932     }
     1015    if (u <= 0x7F) ++len;
     1016    else if (u <= 0x7FF) len += 2;
     1017    else if (u <= 0xFFFF) len += 3;
     1018    else len += 4;
    9331019  }
    9341020  return len;
    9351021}
    936 Module["lengthBytesUTF8"] = lengthBytesUTF8;
     1022
     1023
     1024
     1025
     1026
     1027// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime.
     1028
     1029// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
     1030// a copy of that string as a Javascript String object.
     1031
     1032function AsciiToString(ptr) {
     1033  var str = '';
     1034  while (1) {
     1035    var ch = HEAPU8[((ptr++)>>0)];
     1036    if (!ch) return str;
     1037    str += String.fromCharCode(ch);
     1038  }
     1039}
     1040
     1041// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
     1042// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
     1043
     1044function stringToAscii(str, outPtr) {
     1045  return writeAsciiToMemory(str, outPtr, false);
     1046}
    9371047
    9381048// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
     
    9401050
    9411051var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
    942 function UTF16ToString(ptr) {
     1052
     1053function UTF16ToString(ptr, maxBytesToRead) {
    9431054  assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
    9441055  var endPtr = ptr;
     
    9461057  // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
    9471058  var idx = endPtr >> 1;
    948   while (HEAP16[idx]) ++idx;
     1059  var maxIdx = idx + maxBytesToRead / 2;
     1060  // If maxBytesToRead is not passed explicitly, it will be undefined, and this
     1061  // will always evaluate to true. This saves on code size.
     1062  while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx;
    9491063  endPtr = idx << 1;
    9501064
     
    9571071    while (1) {
    9581072      var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
    959       if (codeUnit == 0) return str;
     1073      if (codeUnit == 0 || i == maxBytesToRead / 2) return str;
    9601074      ++i;
    9611075      // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
     
    9641078  }
    9651079}
    966 
    9671080
    9681081// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
     
    9991112}
    10001113
    1001 
    10021114// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
    10031115
     
    10061118}
    10071119
    1008 
    1009 function UTF32ToString(ptr) {
     1120function UTF32ToString(ptr, maxBytesToRead) {
    10101121  assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
    10111122  var i = 0;
    10121123
    10131124  var str = '';
    1014   while (1) {
     1125  // If maxBytesToRead is not passed explicitly, it will be undefined, and this
     1126  // will always evaluate to true. This saves on code size.
     1127  while (!(i >= maxBytesToRead / 4)) {
    10151128    var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
    1016     if (utf32 == 0)
    1017       return str;
     1129    if (utf32 == 0) break;
    10181130    ++i;
    10191131    // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
     
    10261138    }
    10271139  }
    1028 }
    1029 
     1140  return str;
     1141}
    10301142
    10311143// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
     
    10671179}
    10681180
    1069 
    10701181// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
    10711182
     
    10831194}
    10841195
    1085 
    1086 function demangle(func) {
    1087   var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle'];
    1088   if (__cxa_demangle_func) {
    1089     try {
    1090       var s =
    1091         func.substr(1);
    1092       var len = lengthBytesUTF8(s)+1;
    1093       var buf = _malloc(len);
    1094       stringToUTF8(s, buf, len);
    1095       var status = _malloc(4);
    1096       var ret = __cxa_demangle_func(buf, 0, 0, status);
    1097       if (getValue(status, 'i32') === 0 && ret) {
    1098         return Pointer_stringify(ret);
    1099       }
    1100       // otherwise, libcxxabi failed
    1101     } catch(e) {
    1102       // ignore problems here
    1103     } finally {
    1104       if (buf) _free(buf);
    1105       if (status) _free(status);
    1106       if (ret) _free(ret);
    1107     }
    1108     // failure when using libcxxabi, don't demangle
    1109     return func;
    1110   }
    1111   Runtime.warnOnce('warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling');
    1112   return func;
    1113 }
    1114 
    1115 function demangleAll(text) {
    1116   var regex =
    1117     /__Z[\w\d_]+/g;
    1118   return text.replace(regex,
    1119     function(x) {
    1120       var y = demangle(x);
    1121       return x === y ? x : (x + ' [' + y + ']');
    1122     });
    1123 }
    1124 
    1125 function jsStackTrace() {
    1126   var err = new Error();
    1127   if (!err.stack) {
    1128     // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
    1129     // so try that as a special-case.
    1130     try {
    1131       throw new Error(0);
    1132     } catch(e) {
    1133       err = e;
    1134     }
    1135     if (!err.stack) {
    1136       return '(no stack trace available)';
    1137     }
    1138   }
    1139   return err.stack.toString();
    1140 }
    1141 
    1142 function stackTrace() {
    1143   var js = jsStackTrace();
    1144   if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
    1145   return demangleAll(js);
    1146 }
    1147 Module["stackTrace"] = stackTrace;
     1196// Allocate heap space for a JS string, and write it there.
     1197// It is the responsibility of the caller to free() that memory.
     1198function allocateUTF8(str) {
     1199  var size = lengthBytesUTF8(str) + 1;
     1200  var ret = _malloc(size);
     1201  if (ret) stringToUTF8Array(str, HEAP8, ret, size);
     1202  return ret;
     1203}
     1204
     1205// Allocate stack space for a JS string, and write it there.
     1206function allocateUTF8OnStack(str) {
     1207  var size = lengthBytesUTF8(str) + 1;
     1208  var ret = stackAlloc(size);
     1209  stringToUTF8Array(str, HEAP8, ret, size);
     1210  return ret;
     1211}
     1212
     1213// Deprecated: This function should not be called because it is unsafe and does not provide
     1214// a maximum length limit of how many bytes it is allowed to write. Prefer calling the
     1215// function stringToUTF8Array() instead, which takes in a maximum length that can be used
     1216// to be secure from out of bounds writes.
     1217/** @deprecated
     1218    @param {boolean=} dontAddNull */
     1219function writeStringToMemory(string, buffer, dontAddNull) {
     1220  warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
     1221
     1222  var /** @type {number} */ lastChar, /** @type {number} */ end;
     1223  if (dontAddNull) {
     1224    // stringToUTF8Array always appends null. If we don't want to do that, remember the
     1225    // character that existed at the location where the null will be placed, and restore
     1226    // that after the write (below).
     1227    end = buffer + lengthBytesUTF8(string);
     1228    lastChar = HEAP8[end];
     1229  }
     1230  stringToUTF8(string, buffer, Infinity);
     1231  if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
     1232}
     1233
     1234function writeArrayToMemory(array, buffer) {
     1235  assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)')
     1236  HEAP8.set(array, buffer);
     1237}
     1238
     1239/** @param {boolean=} dontAddNull */
     1240function writeAsciiToMemory(str, buffer, dontAddNull) {
     1241  for (var i = 0; i < str.length; ++i) {
     1242    assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
     1243    HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
     1244  }
     1245  // Null-terminate the pointer to the HEAP.
     1246  if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
     1247}
     1248
     1249
    11481250
    11491251// Memory management
     
    11521254var WASM_PAGE_SIZE = 65536;
    11531255var ASMJS_PAGE_SIZE = 16777216;
    1154 var MIN_TOTAL_MEMORY = 16777216;
    11551256
    11561257function alignUp(x, multiple) {
     
    11611262}
    11621263
    1163 var HEAP;
    1164 var buffer;
    1165 var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
    1166 
    1167 function updateGlobalBuffer(buf) {
    1168   Module['buffer'] = buffer = buf;
    1169 }
    1170 
    1171 function updateGlobalBufferViews() {
    1172   Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
    1173   Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
    1174   Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
    1175   Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
    1176   Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
    1177   Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
    1178   Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
    1179   Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
    1180 }
    1181 
    1182 var STATIC_BASE, STATICTOP, staticSealed; // static area
    1183 var STACK_BASE, STACKTOP, STACK_MAX; // stack area
    1184 var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk
    1185 
    1186   STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;
    1187   staticSealed = false;
     1264var HEAP,
     1265/** @type {ArrayBuffer} */
     1266  buffer,
     1267/** @type {Int8Array} */
     1268  HEAP8,
     1269/** @type {Uint8Array} */
     1270  HEAPU8,
     1271/** @type {Int16Array} */
     1272  HEAP16,
     1273/** @type {Uint16Array} */
     1274  HEAPU16,
     1275/** @type {Int32Array} */
     1276  HEAP32,
     1277/** @type {Uint32Array} */
     1278  HEAPU32,
     1279/** @type {Float32Array} */
     1280  HEAPF32,
     1281/** @type {Float64Array} */
     1282  HEAPF64;
     1283
     1284function updateGlobalBufferAndViews(buf) {
     1285  buffer = buf;
     1286  Module['HEAP8'] = HEAP8 = new Int8Array(buf);
     1287  Module['HEAP16'] = HEAP16 = new Int16Array(buf);
     1288  Module['HEAP32'] = HEAP32 = new Int32Array(buf);
     1289  Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf);
     1290  Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf);
     1291  Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf);
     1292  Module['HEAPF32'] = HEAPF32 = new Float32Array(buf);
     1293  Module['HEAPF64'] = HEAPF64 = new Float64Array(buf);
     1294}
     1295
     1296var STATIC_BASE = 1024,
     1297    STACK_BASE = 5322752,
     1298    STACKTOP = STACK_BASE,
     1299    STACK_MAX = 79872,
     1300    DYNAMIC_BASE = 5322752,
     1301    DYNAMICTOP_PTR = 79712;
     1302
     1303assert(STACK_BASE % 16 === 0, 'stack must start aligned');
     1304assert(DYNAMIC_BASE % 16 === 0, 'heap must start aligned');
     1305
     1306
     1307var TOTAL_STACK = 5242880;
     1308if (Module['TOTAL_STACK']) assert(TOTAL_STACK === Module['TOTAL_STACK'], 'the stack size can no longer be determined at runtime')
     1309
     1310var INITIAL_INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216;if (!Object.getOwnPropertyDescriptor(Module, 'INITIAL_MEMORY')) Object.defineProperty(Module, 'INITIAL_MEMORY', { configurable: true, get: function() { abort('Module.INITIAL_MEMORY has been replaced with plain INITIAL_INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
     1311
     1312assert(INITIAL_INITIAL_MEMORY >= TOTAL_STACK, 'INITIAL_MEMORY should be larger than TOTAL_STACK, was ' + INITIAL_INITIAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')');
     1313
     1314// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
     1315assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined,
     1316       'JS engine does not provide full typed array support');
     1317
     1318
     1319
     1320
     1321
     1322
     1323
     1324
     1325// In non-standalone/normal mode, we create the memory here.
     1326
     1327
     1328
     1329// Create the main memory. (Note: this isn't used in STANDALONE_WASM mode since the wasm
     1330// memory is created in the wasm, not in JS.)
     1331
     1332  if (Module['wasmMemory']) {
     1333    wasmMemory = Module['wasmMemory'];
     1334  } else
     1335  {
     1336    wasmMemory = new WebAssembly.Memory({
     1337      'initial': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE
     1338      ,
     1339      'maximum': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE
     1340    });
     1341  }
     1342
     1343
     1344if (wasmMemory) {
     1345  buffer = wasmMemory.buffer;
     1346}
     1347
     1348// If the user provides an incorrect length, just use that length instead rather than providing the user to
     1349// specifically provide the memory length with Module['INITIAL_MEMORY'].
     1350INITIAL_INITIAL_MEMORY = buffer.byteLength;
     1351assert(INITIAL_INITIAL_MEMORY % WASM_PAGE_SIZE === 0);
     1352updateGlobalBufferAndViews(buffer);
     1353
     1354HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
     1355
     1356
     1357
     1358
    11881359
    11891360
     
    11911362function writeStackCookie() {
    11921363  assert((STACK_MAX & 3) == 0);
    1193   HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467;
    1194   HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE;
     1364  // The stack grows downwards
     1365  HEAPU32[(STACK_MAX >> 2)+1] = 0x2135467;
     1366  HEAPU32[(STACK_MAX >> 2)+2] = 0x89BACDFE;
     1367  // Also test the global address 0 for integrity.
     1368  // We don't do this with ASan because ASan does its own checks for this.
     1369  HEAP32[0] = 0x63736d65; /* 'emsc' */
    11951370}
    11961371
    11971372function checkStackCookie() {
    1198   if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) {
    1199     abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16));
    1200   }
    1201   // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own.
    1202   if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!';
    1203 }
    1204 
    1205 function abortStackOverflow(allocSize) {
    1206   abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!');
    1207 }
    1208 
    1209 function abortOnCannotGrowMemory() {
    1210   abort('Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ');
    1211 }
    1212 
    1213 
    1214 function enlargeMemory() {
    1215   abortOnCannotGrowMemory();
    1216 }
    1217 
    1218 
    1219 var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
    1220 var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
    1221 if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')');
    1222 
    1223 // Initialize the runtime's memory
    1224 // check for full engine support (use string 'subarray' to avoid closure compiler confusion)
    1225 assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
    1226        'JS engine does not provide full typed array support');
    1227 
    1228 
    1229 
    1230 // Use a provided buffer, if there is one, or else allocate a new one
    1231 if (Module['buffer']) {
    1232   buffer = Module['buffer'];
    1233   assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
    1234 } else {
    1235   // Use a WebAssembly memory where available
    1236   {
    1237     buffer = new ArrayBuffer(TOTAL_MEMORY);
    1238   }
    1239   assert(buffer.byteLength === TOTAL_MEMORY);
    1240 }
    1241 updateGlobalBufferViews();
    1242 
    1243 
    1244 function getTotalMemory() {
    1245   return TOTAL_MEMORY;
    1246 }
     1373  var cookie1 = HEAPU32[(STACK_MAX >> 2)+1];
     1374  var cookie2 = HEAPU32[(STACK_MAX >> 2)+2];
     1375  if (cookie1 != 0x2135467 || cookie2 != 0x89BACDFE) {
     1376    abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x' + cookie2.toString(16) + ' ' + cookie1.toString(16));
     1377  }
     1378  // Also test the global address 0 for integrity.
     1379  // We don't do this with ASan because ASan does its own checks for this.
     1380  if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) abort('Runtime error: The application has corrupted its heap memory area (address zero)!');
     1381}
     1382
     1383
     1384
     1385
    12471386
    12481387// Endianness check (note: assumes compiler arch was little-endian)
    1249   HEAP32[0] = 0x63736d65; /* 'emsc' */
    1250 HEAP16[1] = 0x6373;
    1251 if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
    1252 
    1253 Module['HEAP'] = HEAP;
    1254 Module['buffer'] = buffer;
    1255 Module['HEAP8'] = HEAP8;
    1256 Module['HEAP16'] = HEAP16;
    1257 Module['HEAP32'] = HEAP32;
    1258 Module['HEAPU8'] = HEAPU8;
    1259 Module['HEAPU16'] = HEAPU16;
    1260 Module['HEAPU32'] = HEAPU32;
    1261 Module['HEAPF32'] = HEAPF32;
    1262 Module['HEAPF64'] = HEAPF64;
     1388(function() {
     1389  var h16 = new Int16Array(1);
     1390  var h8 = new Int8Array(h16.buffer);
     1391  h16[0] = 0x6373;
     1392  if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
     1393})();
     1394
     1395function abortFnPtrError(ptr, sig) {
     1396        abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). Build with ASSERTIONS=2 for more info.");
     1397}
     1398
     1399
    12631400
    12641401function callRuntimeCallbacks(callbacks) {
     
    12661403    var callback = callbacks.shift();
    12671404    if (typeof callback == 'function') {
    1268       callback();
     1405      callback(Module); // Pass the module as the first argument.
    12691406      continue;
    12701407    }
     
    12861423var __ATMAIN__    = []; // functions called when main() is to be run
    12871424var __ATEXIT__    = []; // functions called during shutdown
    1288 var __ATPOSTRUN__ = []; // functions called after the runtime has exited
     1425var __ATPOSTRUN__ = []; // functions called after the main() is called
    12891426
    12901427var runtimeInitialized = false;
     
    12931430
    12941431function preRun() {
    1295   // compatibility - merge in anything from Module['preRun'] at this time
     1432
    12961433  if (Module['preRun']) {
    12971434    if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
     
    13001437    }
    13011438  }
     1439
    13021440  callRuntimeCallbacks(__ATPRERUN__);
    13031441}
    13041442
    1305 function ensureInitRuntime() {
     1443function initRuntime() {
    13061444  checkStackCookie();
    1307   if (runtimeInitialized) return;
     1445  assert(!runtimeInitialized);
    13081446  runtimeInitialized = true;
     1447  if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
     1448TTY.init();
    13091449  callRuntimeCallbacks(__ATINIT__);
    13101450}
     
    13121452function preMain() {
    13131453  checkStackCookie();
     1454  FS.ignorePermissions = false;
    13141455  callRuntimeCallbacks(__ATMAIN__);
    13151456}
     
    13171458function exitRuntime() {
    13181459  checkStackCookie();
    1319   callRuntimeCallbacks(__ATEXIT__);
    13201460  runtimeExited = true;
    13211461}
     
    13231463function postRun() {
    13241464  checkStackCookie();
    1325   // compatibility - merge in anything from Module['postRun'] at this time
     1465
    13261466  if (Module['postRun']) {
    13271467    if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
     
    13301470    }
    13311471  }
     1472
    13321473  callRuntimeCallbacks(__ATPOSTRUN__);
    13331474}
     
    13361477  __ATPRERUN__.unshift(cb);
    13371478}
    1338 Module["addOnPreRun"] = addOnPreRun;
    13391479
    13401480function addOnInit(cb) {
    13411481  __ATINIT__.unshift(cb);
    13421482}
    1343 Module["addOnInit"] = addOnInit;
    13441483
    13451484function addOnPreMain(cb) {
    13461485  __ATMAIN__.unshift(cb);
    13471486}
    1348 Module["addOnPreMain"] = addOnPreMain;
    13491487
    13501488function addOnExit(cb) {
    1351   __ATEXIT__.unshift(cb);
    1352 }
    1353 Module["addOnExit"] = addOnExit;
     1489}
    13541490
    13551491function addOnPostRun(cb) {
    13561492  __ATPOSTRUN__.unshift(cb);
    13571493}
    1358 Module["addOnPostRun"] = addOnPostRun;
    1359 
    1360 // Tools
    1361 
    1362 
    1363 function intArrayFromString(stringy, dontAddNull, length /* optional */) {
    1364   var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
    1365   var u8array = new Array(len);
    1366   var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
    1367   if (dontAddNull) u8array.length = numBytesWritten;
    1368   return u8array;
    1369 }
    1370 Module["intArrayFromString"] = intArrayFromString;
    1371 
    1372 function intArrayToString(array) {
    1373   var ret = [];
    1374   for (var i = 0; i < array.length; i++) {
    1375     var chr = array[i];
    1376     if (chr > 0xFF) {
    1377       assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ')  at offset ' + i + ' not in 0x00-0xFF.');
    1378       chr &= 0xFF;
    1379     }
    1380     ret.push(String.fromCharCode(chr));
    1381   }
    1382   return ret.join('');
    1383 }
    1384 Module["intArrayToString"] = intArrayToString;
    1385 
    1386 // Deprecated: This function should not be called because it is unsafe and does not provide
    1387 // a maximum length limit of how many bytes it is allowed to write. Prefer calling the
    1388 // function stringToUTF8Array() instead, which takes in a maximum length that can be used
    1389 // to be secure from out of bounds writes.
    1390 function writeStringToMemory(string, buffer, dontAddNull) {
    1391   Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
    1392 
    1393   var lastChar, end;
    1394   if (dontAddNull) {
    1395     // stringToUTF8Array always appends null. If we don't want to do that, remember the
    1396     // character that existed at the location where the null will be placed, and restore
    1397     // that after the write (below).
    1398     end = buffer + lengthBytesUTF8(string);
    1399     lastChar = HEAP8[end];
    1400   }
    1401   stringToUTF8(string, buffer, Infinity);
    1402   if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
    1403 }
    1404 Module["writeStringToMemory"] = writeStringToMemory;
    1405 
    1406 function writeArrayToMemory(array, buffer) {
    1407   assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)')
    1408   HEAP8.set(array, buffer);
    1409 }
    1410 Module["writeArrayToMemory"] = writeArrayToMemory;
    1411 
    1412 function writeAsciiToMemory(str, buffer, dontAddNull) {
    1413   for (var i = 0; i < str.length; ++i) {
    1414     assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
    1415     HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
    1416   }
    1417   // Null-terminate the pointer to the HEAP.
    1418   if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
    1419 }
    1420 Module["writeAsciiToMemory"] = writeAsciiToMemory;
    1421 
     1494
     1495/** @param {number|boolean=} ignore */
    14221496function unSign(value, bits, ignore) {
    14231497  if (value >= 0) {
     
    14271501                    : Math.pow(2, bits)         + value;
    14281502}
     1503/** @param {number|boolean=} ignore */
    14291504function reSign(value, bits, ignore) {
    14301505  if (value <= 0) {
     
    14421517
    14431518
    1444 // check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 )
    1445 if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) {
    1446   var ah  = a >>> 16;
    1447   var al = a & 0xffff;
    1448   var bh  = b >>> 16;
    1449   var bl = b & 0xffff;
    1450   return (al*bl + ((ah*bl + al*bh) << 16))|0;
    1451 };
    1452 Math.imul = Math['imul'];
    1453 
    1454 
    1455 if (!Math['clz32']) Math['clz32'] = function(x) {
    1456   x = x >>> 0;
    1457   for (var i = 0; i < 32; i++) {
    1458     if (x & (1 << (31 - i))) return i;
    1459   }
    1460   return 32;
    1461 };
    1462 Math.clz32 = Math['clz32']
    1463 
    1464 if (!Math['trunc']) Math['trunc'] = function(x) {
    1465   return x < 0 ? Math.ceil(x) : Math.floor(x);
    1466 };
    1467 Math.trunc = Math['trunc'];
     1519
     1520
     1521// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
     1522
     1523// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
     1524
     1525// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
     1526
     1527// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
     1528
     1529assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
     1530assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
     1531assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
     1532assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
    14681533
    14691534var Math_abs = Math.abs;
     
    14851550var Math_round = Math.round;
    14861551var Math_min = Math.min;
     1552var Math_max = Math.max;
    14871553var Math_clz32 = Math.clz32;
    14881554var Math_trunc = Math.trunc;
     1555
     1556
    14891557
    14901558// A counter of dependencies for calling run(). If we need to
    14911559// do asynchronous work before running, increment this and
    14921560// decrement it. Incrementing must happen in a place like
    1493 // PRE_RUN_ADDITIONS (used by emcc to add file preloading).
     1561// Module.preRun (used by emcc to add file preloading).
    14941562// Note that you can add dependencies in preRun, even though
    14951563// it happens right before run - run will be postponed until
     
    15061574    id = orig + Math.random();
    15071575  }
    1508   return id;
    15091576}
    15101577
    15111578function addRunDependency(id) {
    15121579  runDependencies++;
     1580
    15131581  if (Module['monitorRunDependencies']) {
    15141582    Module['monitorRunDependencies'](runDependencies);
    15151583  }
     1584
    15161585  if (id) {
    15171586    assert(!runDependencyTracking[id]);
     
    15291598          if (!shown) {
    15301599            shown = true;
    1531             Module.printErr('still waiting on run dependencies:');
    1532           }
    1533           Module.printErr('dependency: ' + dep);
     1600            err('still waiting on run dependencies:');
     1601          }
     1602          err('dependency: ' + dep);
    15341603        }
    15351604        if (shown) {
    1536           Module.printErr('(end of list)');
     1605          err('(end of list)');
    15371606        }
    15381607      }, 10000);
    15391608    }
    15401609  } else {
    1541     Module.printErr('warning: run dependency added without ID');
    1542   }
    1543 }
    1544 Module["addRunDependency"] = addRunDependency;
     1610    err('warning: run dependency added without ID');
     1611  }
     1612}
    15451613
    15461614function removeRunDependency(id) {
    15471615  runDependencies--;
     1616
    15481617  if (Module['monitorRunDependencies']) {
    15491618    Module['monitorRunDependencies'](runDependencies);
    15501619  }
     1620
    15511621  if (id) {
    15521622    assert(runDependencyTracking[id]);
    15531623    delete runDependencyTracking[id];
    15541624  } else {
    1555     Module.printErr('warning: run dependency removed without ID');
     1625    err('warning: run dependency removed without ID');
    15561626  }
    15571627  if (runDependencies == 0) {
     
    15671637  }
    15681638}
    1569 Module["removeRunDependency"] = removeRunDependency;
    15701639
    15711640Module["preloadedImages"] = {}; // maps url to image data
    15721641Module["preloadedAudios"] = {}; // maps url to audio data
    15731642
     1643/** @param {string|number=} what */
     1644function abort(what) {
     1645  if (Module['onAbort']) {
     1646    Module['onAbort'](what);
     1647  }
     1648
     1649  what += '';
     1650  out(what);
     1651  err(what);
     1652
     1653  ABORT = true;
     1654  EXITSTATUS = 1;
     1655
     1656  var output = 'abort(' + what + ') at ' + stackTrace();
     1657  what = output;
     1658
     1659  // Throw a wasm runtime error, because a JS error might be seen as a foreign
     1660  // exception, which means we'd run destructors on it. We need the error to
     1661  // simply make the program stop.
     1662  throw new WebAssembly.RuntimeError(what);
     1663}
    15741664
    15751665
     
    15811671
    15821672
     1673
     1674
     1675
     1676
     1677
     1678
     1679function hasPrefix(str, prefix) {
     1680  return String.prototype.startsWith ?
     1681      str.startsWith(prefix) :
     1682      str.indexOf(prefix) === 0;
     1683}
     1684
     1685// Prefix of data URIs emitted by SINGLE_FILE and related options.
     1686var dataURIPrefix = 'data:application/octet-stream;base64,';
     1687
     1688// Indicates whether filename is a base64 data URI.
     1689function isDataURI(filename) {
     1690  return hasPrefix(filename, dataURIPrefix);
     1691}
     1692
     1693var fileURIPrefix = "file://";
     1694
     1695// Indicates whether filename is delivered via file protocol (as opposed to http/https)
     1696function isFileURI(filename) {
     1697  return hasPrefix(filename, fileURIPrefix);
     1698}
     1699
     1700
     1701
     1702function createExportWrapper(name, fixedasm) {
     1703  return function() {
     1704    var displayName = name;
     1705    var asm = fixedasm;
     1706    if (!fixedasm) {
     1707      asm = Module['asm'];
     1708    }
     1709    assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization');
     1710    assert(!runtimeExited, 'native function `' + displayName + '` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
     1711    if (!asm[name]) {
     1712      assert(asm[name], 'exported native function `' + displayName + '` not found');
     1713    }
     1714    return asm[name].apply(null, arguments);
     1715  };
     1716}
     1717
     1718var wasmBinaryFile = 'mrbc.wasm';
     1719if (!isDataURI(wasmBinaryFile)) {
     1720  wasmBinaryFile = locateFile(wasmBinaryFile);
     1721}
     1722
     1723function getBinary() {
     1724  try {
     1725    if (wasmBinary) {
     1726      return new Uint8Array(wasmBinary);
     1727    }
     1728
     1729    if (readBinary) {
     1730      return readBinary(wasmBinaryFile);
     1731    } else {
     1732      throw "both async and sync fetching of the wasm failed";
     1733    }
     1734  }
     1735  catch (err) {
     1736    abort(err);
     1737  }
     1738}
     1739
     1740function getBinaryPromise() {
     1741  // If we don't have the binary yet, and have the Fetch api, use that;
     1742  // in some environments, like Electron's render process, Fetch api may be present, but have a different context than expected, let's only use it on the Web
     1743  if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === 'function'
     1744      // Let's not use fetch to get objects over file:// as it's most likely Cordova which doesn't support fetch for file://
     1745      && !isFileURI(wasmBinaryFile)
     1746      ) {
     1747    return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) {
     1748      if (!response['ok']) {
     1749        throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
     1750      }
     1751      return response['arrayBuffer']();
     1752    }).catch(function () {
     1753      return getBinary();
     1754    });
     1755  }
     1756  // Otherwise, getBinary should be able to get it synchronously
     1757  return new Promise(function(resolve, reject) {
     1758    resolve(getBinary());
     1759  });
     1760}
     1761
     1762
     1763
     1764// Create the wasm instance.
     1765// Receives the wasm imports, returns the exports.
     1766function createWasm() {
     1767  // prepare imports
     1768  var info = {
     1769    'env': asmLibraryArg,
     1770    'wasi_snapshot_preview1': asmLibraryArg
     1771  };
     1772  // Load the wasm module and create an instance of using native support in the JS engine.
     1773  // handle a generated wasm instance, receiving its exports and
     1774  // performing other necessary setup
     1775  /** @param {WebAssembly.Module=} module*/
     1776  function receiveInstance(instance, module) {
     1777    var exports = instance.exports;
     1778    Module['asm'] = exports;
     1779    removeRunDependency('wasm-instantiate');
     1780  }
     1781  // we can't run yet (except in a pthread, where we have a custom sync instantiator)
     1782  addRunDependency('wasm-instantiate');
     1783
     1784
     1785  // Async compilation can be confusing when an error on the page overwrites Module
     1786  // (for example, if the order of elements is wrong, and the one defining Module is
     1787  // later), so we save Module and check it later.
     1788  var trueModule = Module;
     1789  function receiveInstantiatedSource(output) {
     1790    // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance.
     1791    // receiveInstance() will swap in the exports (to Module.asm) so they can be called
     1792    assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?');
     1793    trueModule = null;
     1794    // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
     1795    // When the regression is fixed, can restore the above USE_PTHREADS-enabled path.
     1796    receiveInstance(output['instance']);
     1797  }
     1798
     1799
     1800  function instantiateArrayBuffer(receiver) {
     1801    return getBinaryPromise().then(function(binary) {
     1802      return WebAssembly.instantiate(binary, info);
     1803    }).then(receiver, function(reason) {
     1804      err('failed to asynchronously prepare wasm: ' + reason);
     1805
     1806
     1807      abort(reason);
     1808    });
     1809  }
     1810
     1811  // Prefer streaming instantiation if available.
     1812  function instantiateAsync() {
     1813    if (!wasmBinary &&
     1814        typeof WebAssembly.instantiateStreaming === 'function' &&
     1815        !isDataURI(wasmBinaryFile) &&
     1816        // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously.
     1817        !isFileURI(wasmBinaryFile) &&
     1818        typeof fetch === 'function') {
     1819      fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) {
     1820        var result = WebAssembly.instantiateStreaming(response, info);
     1821        return result.then(receiveInstantiatedSource, function(reason) {
     1822            // We expect the most common failure cause to be a bad MIME type for the binary,
     1823            // in which case falling back to ArrayBuffer instantiation should work.
     1824            err('wasm streaming compile failed: ' + reason);
     1825            err('falling back to ArrayBuffer instantiation');
     1826            return instantiateArrayBuffer(receiveInstantiatedSource);
     1827          });
     1828      });
     1829    } else {
     1830      return instantiateArrayBuffer(receiveInstantiatedSource);
     1831    }
     1832  }
     1833  // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
     1834  // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel
     1835  // to any other async startup actions they are performing.
     1836  if (Module['instantiateWasm']) {
     1837    try {
     1838      var exports = Module['instantiateWasm'](info, receiveInstance);
     1839      return exports;
     1840    } catch(e) {
     1841      err('Module.instantiateWasm callback failed with error: ' + e);
     1842      return false;
     1843    }
     1844  }
     1845
     1846  instantiateAsync();
     1847  return {}; // no exports yet; we'll fill them in later
     1848}
     1849
     1850
     1851// Globals used by JS i64 conversions
     1852var tempDouble;
     1853var tempI64;
     1854
    15831855// === Body ===
    15841856
    1585 var ASM_CONSTS = [];
    1586 
    1587 
    1588 
    1589 
    1590 STATIC_BASE = 8;
    1591 
    1592 STATICTOP = STATIC_BASE + 77840;
    1593   /* global initializers */  __ATINIT__.push();
    1594  
    1595 
    1596 /* memory initializer */ allocate([108,210,0,0,118,210,0,0,149,210,0,0,194,210,0,0,255,210,0,0,42,211,0,0,99,211,0,0,145,211,0,0,188,211,0,0,221,211,0,0,252,211,0,0,0,0,0,0,0,0,0,0,221,248,0,0,2,0,0,0,245,248,0,0,3,0,0,0,133,216,0,0,4,0,0,0,164,220,0,0,10,0,0,0,65,0,1,0,8,0,0,0,58,0,1,0,9,0,0,0,72,0,1,0,11,0,0,0,167,216,0,0,12,0,0,0,174,216,0,0,13,0,0,0,78,0,1,0,6,0,0,0,181,216,0,0,14,0,0,0,31,255,0,0,15,0,0,0,6,255,0,0,16,0,0,0,44,255,0,0,17,0,0,0,30,14,1,0,19,0,0,0,187,216,0,0,21,0,0,0,192,216,0,0,255,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,33,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,34,0,0,0,167,234,0,0,172,234,0,0,178,234,0,0,189,234,0,0,203,234,0,0,218,234,0,0,230,234,0,0,244,234,0,0,255,234,0,0,14,235,0,0,28,235,0,0,42,235,0,0,54,235,0,0,68,235,0,0,83,235,0,0,98,235,0,0,110,235,0,0,123,235,0,0,137,235,0,0,150,235,0,0,163,235,0,0,176,235,0,0,190,235,0,0,203,235,0,0,216,235,0,0,230,235,0,0,241,235,0,0,252,235,0,0,12,236,0,0,29,236,0,0,47,236,0,0,62,236,0,0,76,236,0,0,90,236,0,0,103,236,0,0,115,236,0,0,128,236,0,0,142,236,0,0,154,236,0,0,165,236,0,0,177,236,0,0,189,236,0,0,205,236,0,0,220,236,0,0,235,236,0,0,251,236,0,0,9,237,0,0,23,237,0,0,35,237,0,0,51,237,0,0,67,237,0,0,87,237,0,0,99,237,0,0,104,237,0,0,110,237,0,0,116,237,0,0,126,237,0,0,132,237,0,0,139,237,0,0,148,237,0,0,155,237,0,0,161,237,0,0,170,237,0,0,178,237,0,0,186,237,0,0,199,237,0,0,211,237,0,0,220,237,0,0,230,237,0,0,242,237,0,0,249,237,0,0,1,238,0,0,6,238,0,0,11,238,0,0,15,238,0,0,20,238,0,0,25,238,0,0,30,238,0,0,35,238,0,0,42,238,0,0,48,238,0,0,55,238,0,0,63,238,0,0,69,238,0,0,75,238,0,0,81,238,0,0,87,238,0,0,94,238,0,0,101,238,0,0,109,238,0,0,117,238,0,0,126,238,0,0,133,238,0,0,141,238,0,0,153,238,0,0,161,238,0,0,169,238,0,0,177,238,0,0,189,238,0,0,195,238,0,0,202,238,0,0,210,238,0,0,218,238,0,0,230,238,0,0,241,238,0,0,254,238,0,0,10,239,0,0,23,239,0,0,36,239,0,0,44,239,0,0,57,239,0,0,70,239,0,0,85,239,0,0,103,239,0,0,119,239,0,0,134,239,0,0,142,239,0,0,146,239,0,0,150,239,0,0,154,239,0,0,158,239,0,0,162,239,0,0,166,239,0,0,170,239,0,0,174,239,0,0,178,239,0,0,182,239,0,0,186,239,0,0,190,239,0,0,194,239,0,0,206,239,0,0,210,239,0,0,214,239,0,0,226,239,0,0,230,239,0,0,234,239,0,0,238,239,0,0,242,239,0,0,246,239,0,0,250,239,0,0,254,239,0,0,2,240,0,0,6,240,0,0,10,240,0,0,15,240,0,0,23,240,0,0,31,240,0,0,35,240,0,0,48,240,0,0,58,240,0,0,67,240,0,0,70,240,0,0,79,240,0,0,88,240,0,0,94,240,0,0,99,240,0,0,103,240,0,0,116,240,0,0,121,240,0,0,132,240,0,0,145,240,0,0,159,240,0,0,175,240,0,0,179,240,0,0,187,240,0,0,192,240,0,0,203,240,0,0,214,240,0,0,224,240,0,0,234,240,0,0,244,240,0,0,254,240,0,0,2,241,0,0,8,241,0,0,14,241,0,0,20,241,0,0,25,241,0,0,36,241,0,0,40,241,0,0,43,241,0,0,52,241,0,0,56,241,0,0,66,241,0,0,76,241,0,0,87,241,0,0,102,241,0,0,116,241,0,0,126,241,0,0,139,241,0,0,142,241,0,0,152,241,0,0,166,241,0,0,171,241,0,0,176,241,0,0,184,241,0,0,187,241,0,0,190,241,0,0,194,241,0,0,199,241,0,0,203,241,0,0,207,241,0,0,212,241,0,0,217,241,0,0,222,241,0,0,227,241,0,0,232,241,0,0,237,241,0,0,241,241,0,0,245,241,0,0,249,241,0,0,253,241,0,0,1,242,0,0,5,242,0,0,9,242,0,0,13,242,0,0,27,242,0,0,32,242,0,0,35,242,0,0,43,242,0,0,52,242,0,0,60,242,0,0,67,242,0,0,79,242,0,0,87,242,0,0,99,242,0,0,115,242,0,0,131,242,0,0,143,242,0,0,152,242,0,0,157,242,0,0,168,242,0,0,180,242,0,0,189,242,0,0,194,242,0,0,205,242,0,0,217,242,0,0,229,242,0,0,233,242,0,0,237,242,0,0,247,242,0,0,253,242,0,0,8,243,0,0,17,243,0,0,25,243,0,0,36,243,0,0,44,243,0,0,51,243,0,0,62,243,0,0,76,243,0,0,80,243,0,0,88,243,0,0,95,243,0,0,103,243,0,0,122,243,0,0,137,243,0,0,150,243,0,0,169,243,0,0,191,243,0,0,195,243,0,0,201,243,0,0,208,243,0,0,221,243,0,0,225,243,0,0,233,243,0,0,241,243,0,0,250,243,0,0,2,244,0,0,10,244,0,0,100,0,1,0,18,244,0,0,23,244,0,0,33,244,0,0,40,244,0,0,50,244,0,0,61,244,0,0,72,244,0,0,78,244,0,0,89,244,0,0,95,244,0,0,107,244,0,0,122,244,0,0,131,244,0,0,144,244,0,0,155,244,0,0,167,244,0,0,179,244,0,0,195,244,0,0,205,244,0,0,210,244,0,0,221,244,0,0,228,244,0,0,234,244,0,0,244,244,0,0,255,244,0,0,10,245,0,0,23,245,0,0,33,245,0,0,40,245,0,0,47,245,0,0,56,245,0,0,64,245,0,0,69,245,0,0,72,245,0,0,77,245,0,0,83,245,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,195,248,0,0,20,1,0,0,20,1,0,0,6,0,0,0,201,248,0,0,17,1,0,0,17,1,0,0,0,0,0,0,206,248,0,0,33,1,0,0,33,1,0,0,1,0,0,0,210,248,0,0,13,1,0,0,13,1,0,0,0,0,0,0,100,14,1,0,14,1,0,0,14,1,0,0,1,0,0,0,27,242,0,0,15,1,0,0,15,1,0,0,0,0,0,0,217,248,0,0,38,1,0,0,38,1,0,0,4,0,0,0,221,248,0,0,35,1,0,0,35,1,0,0,1,0,0,0,227,248,0,0,32,1,0,0,32,1,0,0,1,0,0,0,232,248,0,0,16,1,0,0,16,1,0,0,10,0,0,0,238,248,0,0,12,1,0,0,43,1,0,0,6,0,0,0,245,248,0,0,34,1,0,0,34,1,0,0,1,0,0,0,250,248,0,0,9,1,0,0,42,1,0,0,10,0,0,0,0,249,0,0,7,1,0,0,40,1,0,0,10,0,0,0,7,249,0,0,29,1,0,0,29,1,0,0,6,0,0,0,14,249,0,0,4,1,0,0,4,1,0,0,7,0,0,0,18,249,0,0,36,1,0,0,36,1,0,0,10,0,0,0,32,242,0,0,25,1,0,0,25,1,0,0,0,0,0,0,22,249,0,0,30,1,0,0,30,1,0,0,4,0,0,0,28,249,0,0,10,1,0,0,10,1,0,0,10,0,0,0,32,249,0,0,11,1,0,0,11,1,0,0,7,0,0,0,38,249,0,0,37,1,0,0,37,1,0,0,10,0,0,0,41,249,0,0,24,1,0,0,24,1,0,0,10,0,0,0,44,249,0,0,19,1,0,0,19,1,0,0,10,0,0,0,49,249,0,0,23,1,0,0,23,1,0,0,1,0,0,0,55,249,0,0,6,1,0,0,39,1,0,0,10,0,0,0,58,249,0,0,18,1,0,0,18,1,0,0,10,0,0,0,63,249,0,0,22,1,0,0,22,1,0,0,1,0,0,0,68,249,0,0,21,1,0,0,21,1,0,0,6,0,0,0,73,249,0,0,31,1,0,0,31,1,0,0,4,0,0,0,79,249,0,0,3,1,0,0,3,1,0,0,10,0,0,0,94,14,1,0,5,1,0,0,5,1,0,0,0,0,0,0,86,249,0,0,47,1,0,0,47,1,0,0,1,0,0,0,95,249,0,0,48,1,0,0,48,1,0,0,1,0,0,0,104,249,0,0,49,1,0,0,49,1,0,0,1,0,0,0,117,249,0,0,46,1,0,0,46,1,0,0,1,0,0,0,121,249,0,0,44,1,0,0,44,1,0,0,7,0,0,0,127,249,0,0,45,1,0,0,45,1,0,0,1,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,11,1,0,2,1,0,0,2,1,0,0,9,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,133,249,0,0,8,1,0,0,41,1,0,0,10,0,0,0,35,0,0,0,248,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,253,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,11,0,0,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,5,40,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,11,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,13,44,1,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,253,252,126,0,160,9,253,252,84,27,100,34,171,35,250,20,253,252,17,33,17,33,253,252,253,252,209,34,249,24,25,19,250,29,250,29,253,252,253,252,250,29,13,12,132,10,253,252,253,252,253,252,253,252,181,0,249,24,253,252,230,255,253,252,253,252,131,21,7,11,253,252,253,252,12,22,253,252,253,252,253,252,253,252,253,252,253,252,253,252,130,33,130,33,90,0,194,16,215,255,107,30,77,31,9,26,253,252,233,23,115,2,98,3,105,3,115,3,193,1,253,252,235,0,243,33,130,33,253,252,246,0,253,252,185,4,253,252,123,1,253,252,253,252,101,0,37,0,253,252,36,0,62,35,253,252,117,0,117,11,7,0,87,0,13,0,66,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,14,0,92,0,253,252,49,0,51,0,253,252,253,252,253,252,253,252,253,252,31,0,53,0,141,0,133,1,144,1,17,33,75,1,52,17,115,1,253,252,175,0,253,252,213,0,253,252,253,252,51,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,45,0,74,0,83,0,100,0,253,252,253,252,253,252,253,252,253,252,253,252,129,0,187,0,253,252,204,0,253,252,214,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,13,0,162,13,26,1,123,1,109,0,20,1,139,1,25,0,48,1,50,0,109,0,17,33,17,33,86,1,253,252,253,252,167,1,121,1,54,0,95,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,113,24,253,252,253,252,19,1,253,252,253,252,253,252,246,0,151,1,253,252,253,252,43,1,130,33,130,33,130,33,130,33,253,252,117,11,110,1,253,252,253,252,68,1,70,1,253,252,253,252,253,252,167,18,253,252,250,29,250,29,253,252,253,252,139,19,17,33,253,252,253,252,79,1,166,17,253,252,26,2,146,1,106,1,54,28,194,16,83,1,246,0,185,4,72,1,103,1,253,252,17,33,72,1,89,1,94,0,106,0,253,252,110,1,100,1,106,0,253,252,186,1,24,36,99,1,39,2,133,2,137,2,246,2,253,252,253,252,253,252,253,252,169,3,253,252,253,252,253,252,253,252,253,252,253,252,125,1,44,3,253,252,253,252,179,3,253,252,187,3,253,252,201,3,253,252,78,2,174,1,178,1,253,252,253,252,253,252,253,252,253,19,17,33,17,33,17,33,17,33,54,28,17,33,17,33,253,252,253,252,190,31,253,252,194,16,118,26,113,1,190,31,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,235,8,250,29,47,37,253,252,253,252,251,40,253,252,253,252,253,252,243,33,243,33,253,252,156,1,253,252,123,1,253,252,9,3,253,252,253,252,253,252,253,252,253,252,128,37,250,29,209,37,162,13,17,33,253,252,253,252,245,1,250,1,67,0,253,252,49,14,249,1,130,33,34,38,250,29,115,38,130,33,130,33,79,15,55,0,55,0,103,0,196,38,250,29,21,39,253,252,204,1,253,252,125,1,151,1,47,32,2,2,253,252,253,252,253,252,253,252,130,33,227,26,253,252,253,252,220,30,253,252,72,1,136,1,253,252,253,252,72,1,253,252,162,1,163,1,253,252,71,0,253,252,253,252,249,24,193,15,184,1,34,38,115,38,130,33,185,4,72,1,253,252,253,252,110,20,171,1,123,1,253,252,253,252,197,27,253,252,253,252,77,31,253,252,253,252,253,252,9,3,36,0,24,36,253,252,24,36,102,39,250,29,183,39,194,1,253,252,253,252,253,252,253,252,132,4,253,252,253,252,253,252,253,252,50,4,253,252,253,252,253,252,253,252,253,252,182,1,130,33,253,252,190,1,23,2,195,1,28,2,253,252,253,252,14,2,166,17,253,252,253,252,253,252,125,1,253,252,181,1,253,252,253,252,253,252,253,252,253,252,253,252,253,252,130,33,130,33,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,33,0,130,33,253,252,199,1,202,1,253,252,72,1,24,36,203,1,253,252,253,252,253,252,226,1,111,10,253,252,253,252,146,1,240,36,240,36,240,36,240,36,40,4,40,4,15,41,249,12,240,36,240,36,248,11,248,11,85,2,85,2,119,12,40,4,40,4,224,2,224,2,158,2,52,0,52,0,146,1,146,1,146,1,144,12,239,22,19,13,96,23,253,252,53,0,253,252,72,1,208,1,253,252,44,2,253,252,253,252,138,11,253,252,253,252,160,8,33,0,33,0,253,252,236,9,253,252,117,11,253,252,253,252,246,0,17,33,162,13,176,1,229,0,253,252,53,0,72,1,53,0,77,2,71,0,148,3,129,25,253,252,160,32,104,2,253,252,150,0,253,252,242,10,125,22,1,10,72,1,244,0,13,1,104,2,253,252,253,252,253,252,253,252,139,0,152,0,72,1,107,0,123,0,17,33,249,24,253,252,125,1,122,2,69,0,253,252,253,252,130,33,110,1,253,252,167,28,70,1,253,252,253,252,253,252,253,252,227,26,220,30,253,252,253,252,4,2,253,252,117,11,18,1,185,4,72,1,106,0,113,1,253,252,176,1,229,0,72,1,66,1,71,1,253,252,253,252,132,4,231,1,253,252,8,2,72,1,253,252,72,1,61,0,50,4,253,252,253,252,253,252,50,4,253,252,253,252,142,2,253,252,253,252,253,252,13,2,166,17,253,252,253,252,253,252,146,1,146,1,253,252,68,3,53,18,253,252,253,252,21,2,24,29,253,252,253,252,24,36,243,33,130,33,49,2,243,33,243,33,253,252,156,1,32,2,50,2,243,33,243,33,253,252,253,252,156,1,253,252,66,0,101,0,53,18,166,17,130,33,33,0,253,252,246,0,149,2,253,252,253,252,253,252,50,4,162,13,246,0,253,252,199,1,253,252,93,2,253,252,80,16,155,2,253,252,17,33,161,2,253,252,130,33,130,33,21,1,130,33,130,33,179,2,53,18,53,18,130,0,55,0,253,252,253,252,137,29,192,14,253,252,130,33,253,252,253,252,62,2,253,252,253,252,253,252,200,0,72,1,182,2,65,2,146,4,253,252,63,2,66,2,53,18,166,17,253,252,253,252,67,2,68,2,253,252,81,2,253,252,82,2,81,2,253,252,86,2,72,1,103,2,102,2,133,36,253,252,110,2,112,2,253,252,200,2,130,33,117,2,253,252,117,11,130,33,253,252,117,11,253,252,117,11,253,252,253,252,243,33,253,252,117,11,253,252,117,11,253,252,253,252,253,252,237,2,121,2,117,11,166,17,162,13,253,252,253,252,72,1,243,2,253,252,148,3,242,36,109,0,253,252,253,252,53,18,253,252,253,252,109,0,253,252,130,33,253,252,248,2,249,2,253,252,253,252,138,0,253,252,220,30,253,252,129,2,182,2,46,2,253,252,253,252,236,2,4,3,145,2,50,4,253,252,142,2,253,252,142,2,253,252,142,2,253,252,253,252,253,252,167,2,253,252,50,4,253,252,238,2,22,3,50,4,253,252,142,2,253,252,253,252,159,2,117,11,253,252,117,11,253,252,253,252,164,2,32,3,253,252,253,252,162,13,250,2,253,252,40,3,133,2,137,2,162,13,253,252,49,14,253,252,253,252,53,18,253,252,253,252,253,252,182,2,129,2,182,2,171,2,253,252,237,0,253,252,253,252,253,252,253,252,81,2,175,2,81,2,81,2,253,252,177,2,178,2,253,252,8,40,81,2,253,252,181,2,81,2,253,252,253,252,33,3,9,3,89,40,250,29,170,40,250,1,150,0,49,3,129,2,182,2,236,2,253,252,253,252,142,2,253,252,253,252,253,252,50,4,253,252,142,2,253,252,183,2,185,2,253,252,142,2,253,252,253,252,253,252,82,0,229,0,72,1,119,0,121,0,253,252,253,252,253,252,129,2,253,252,81,2,81,2,188,2,81,2,81,2,128,0,253,252,253,252,142,2,253,252,253,252,253,252,81,2,253,252,2,0,170,1,27,0,16,0,17,0,62,0,83,0,20,0,132,1,248,0,15,0,7,0,36,1,28,0,14,0,5,0,6,0,80,1,76,0,150,1,36,1,16,0,17,0,13,0,4,0,20,0,208,0,48,0,28,0,82,2,108,1,159,1,65,0,202,1,22,0,24,1,52,0,31,1,110,0,28,1,107,1,90,2,109,1,80,1,97,2,112,1,16,0,17,0,50,0,51,0,20,0,100,2,130,1,159,2,107,2,50,0,51,0,210,1,54,0,2,0,65,0,4,0,52,0,15,0,131,1,155,2,144,1,65,0,244,1,248,2,167,1,67,2,68,2,170,1,250,2,153,1,143,1,26,0,145,1,25,0,50,0,174,2,27,0,174,2,219,1,16,0,76,0,154,1,74,3,142,2,29,0,93,3,26,0,16,0,17,0,88,0,13,1,20,0,16,0,140,0,22,0,88,0,143,0,48,1,90,0,9,0,10,0,133,0,37,0,38,0,98,0,15,0,79,0,65,0,107,1,90,0,109,1,105,0,15,2,112,1,25,0,188,1,10,0,71,0,48,0,16,0,0,0,15,0,25,0,28,0,116,0,119,0,25,0,88,0,212,1,16,0,129,1,16,0,131,1,90,0,90,0,116,0,135,0,136,0,16,0,55,0,213,1,70,3,25,0,136,0,143,1,137,0,145,1,116,0,121,0,25,0,18,0,90,0,20,0,152,1,77,1,154,1,88,0,165,3,25,0,116,0,116,0,17,0,18,0,108,0,139,0,88,0,158,3,137,0,11,3,88,0,98,0,25,0,126,0,127,0,128,0,136,0,90,0,116,0,133,0,155,2,137,0,111,0,88,0,159,2,139,0,137,0,139,0,113,2,187,1,188,1,179,1,142,0,143,0,133,0,224,1,121,2,125,3,123,3,174,2,109,0,137,0,203,2,224,1,77,2,136,0,142,0,143,0,158,1,143,0,128,2,210,1,88,0,211,1,136,0,213,1,139,0,135,0,136,0,142,0,143,0,26,0,77,3,233,0,31,1,226,0,137,0,137,0,116,0,157,3,233,0,136,0,143,0,15,1,252,0,137,0,254,0,255,0,137,0,137,0,247,0,248,0,81,3,13,1,143,0,202,0,142,0,143,0,255,0,89,3,89,3,208,0,252,0,93,3,254,0,137,0,142,0,143,0,142,0,143,0,136,0,15,1,137,0,147,2,148,2,142,0,143,0,65,3,15,1,75,1,88,0,137,0,15,2,139,0,80,1,139,0,233,0,252,0,189,2,254,0,182,2,127,2,128,2,88,0,137,0,196,2,139,0,88,0,58,0,59,0,120,0,2,0,31,1,4,0,5,0,6,0,88,0,88,0,9,0,10,0,209,0,210,0,13,0,89,2,15,0,16,0,17,0,77,1,129,1,20,0,116,1,117,1,88,0,78,1,15,1,139,0,209,0,210,0,136,0,143,0,12,1,86,2,23,1,24,1,252,0,165,3,254,0,28,1,133,0,90,0,135,0,136,0,55,0,2,1,7,1,136,0,65,1,48,0,211,2,78,1,13,1,52,0,25,0,135,0,136,0,136,0,108,1,25,0,17,1,2,1,3,1,62,0,21,1,233,2,90,0,116,0,75,1,108,1,77,3,135,0,136,0,80,1,90,0,139,0,248,2,76,0,250,2,20,1,130,1,137,0,89,3,183,2,109,1,65,1,93,3,143,0,178,3,51,0,70,1,130,1,116,0,55,0,144,1,142,0,143,0,116,0,137,1,116,0,116,0,90,0,122,2,153,1,55,0,144,1,131,1,149,1,150,1,25,0,109,0,137,2,111,0,208,1,153,1,210,1,77,1,67,3,137,0,137,0,145,1,174,2,26,0,37,0,38,0,66,1,67,1,68,1,69,1,154,1,71,1,72,1,184,1,26,0,20,0,167,1,58,0,59,0,43,3,178,1,179,1,66,1,67,1,68,1,69,1,116,0,185,1,184,1,142,0,210,2,116,0,182,2,115,2,160,1,70,3,71,3,65,3,210,2,165,3,90,0,149,1,150,1,212,1,188,1,91,0,26,0,137,0,199,1,137,0,140,0,137,0,137,0,143,0,212,1,140,0,133,0,15,2,143,0,143,0,140,1,71,0,208,1,116,0,210,1,88,0,116,0,140,0,148,1,213,1,67,3,88,0,230,1,133,1,141,0,233,1,88,0,235,1,134,0,110,0,137,0,199,0,113,0,114,0,108,3,55,0,185,1,137,0,123,3,71,0,125,3,209,0,210,0,71,0,137,0,194,1,172,1,97,0,61,0,88,0,176,1,64,0,65,0,242,2,15,0,181,1,8,2,13,0,88,0,16,0,133,0,63,0,135,0,136,0,39,2,191,1,139,0,15,0,135,0,136,0,140,0,133,0,157,3,135,0,136,0,15,2,51,0,139,0,53,0,54,0,55,0,56,0,57,2,49,3,252,0,110,0,254,0,255,0,113,0,114,0,2,1,3,1,90,0,137,0,137,0,7,1,135,0,136,0,111,0,112,0,12,1,13,1,137,0,133,0,116,0,135,0,136,0,82,2,20,1,139,0,240,1,63,2,134,0,137,0,66,2,67,2,68,2,55,2,116,0,31,1,75,2,137,0,97,2,151,3,51,0,63,2,137,0,63,0,66,2,51,0,137,0,83,2,107,2,137,0,137,0,152,3,116,0,89,2,90,2,137,0,92,2,87,2,15,0,81,2,14,2,83,2,111,2,51,0,100,2,53,0,54,0,55,0,56,0,65,1,66,1,67,1,68,1,69,1,70,1,71,1,72,1,111,2,137,0,75,1,88,0,77,1,78,1,142,2,80,1,89,2,122,2,198,2,18,0,75,2,182,2,51,3,183,2,88,0,153,2,186,2,187,2,57,3,127,2,55,2,90,0,192,2,193,2,15,0,134,0,61,0,90,0,63,2,64,0,65,0,66,2,137,0,108,1,134,0,141,3,174,2,56,0,57,0,58,0,59,0,116,1,117,1,71,0,150,3,137,0,152,3,116,0,135,0,136,0,115,2,15,0,85,2,116,0,118,0,130,1,14,0,132,1,133,1,76,2,141,0,135,0,136,0,15,0,62,0,140,1,64,0,65,0,137,0,144,1,137,0,91,0,137,2,148,1,137,0,76,2,111,0,112,0,153,1,182,2,51,0,15,0,53,0,54,0,55,0,56,0,137,0,205,2,203,2,137,0,140,0,137,0,137,0,110,2,212,2,142,0,124,0,125,0,126,0,127,0,128,0,216,2,15,0,136,2,219,2,137,0,137,0,134,0,88,0,110,2,185,1,121,0,88,0,111,0,112,0,233,2,71,0,31,3,151,2,194,1,51,0,92,0,53,0,54,0,55,0,56,0,137,0,242,2,99,0,11,3,167,2,86,0,87,0,208,1,137,0,210,1,137,0,212,1,175,2,15,0,205,2,137,0,134,0,2,3,3,3,15,0,5,3,212,2,7,3,8,3,15,0,15,0,123,0,137,0,13,3,135,0,136,0,16,3,17,3,135,0,136,0,92,0,15,0,200,2,201,2,240,1,134,0,14,3,233,2,124,0,125,0,126,0,127,0,128,0,51,0,121,0,53,0,54,0,55,0,56,0,55,0,218,2,71,0,137,0,51,0,134,0,53,0,54,0,55,0,56,0,15,0,15,0,55,0,230,2,231,2,137,0,15,2,86,0,87,0,137,0,237,2,137,0,137,0,50,3,221,2,137,0,65,3,15,0,2,0,139,0,4,0,139,0,137,0,185,1,247,2,9,0,10,0,254,2,255,2,6,0,221,2,15,0,16,0,17,0,66,2,92,0,20,0,233,1,13,0,235,1,159,2,98,0,99,0,162,2,123,0,124,0,125,0,126,0,127,0,128,0,88,0,154,3,51,3,147,2,199,2,174,2,128,3,158,3,57,3,62,0,153,3,64,0,65,0,88,0,48,0,246,1,123,0,76,2,77,2,126,0,7,0,42,3,51,0,155,2,53,0,54,0,55,0,56,0,62,0,46,3,89,3,88,0,139,0,54,3,133,3,134,3,135,3,136,3,49,3,138,3,139,3,151,3,198,0,142,3,255,255,144,3,145,3,135,0,136,0,255,255,255,255,110,2,151,3,255,255,153,3,154,3,178,3,255,255,111,0,112,0,135,0,136,0,255,255,92,0,63,0,64,0,65,0,152,3,255,255,98,0,99,0,63,0,64,0,65,0,255,255,109,0,255,255,111,0,135,0,136,0,255,255,63,0,64,0,65,0,255,255,255,255,255,255,186,3,187,3,188,3,189,3,190,3,255,255,114,3,123,0,116,3,255,255,126,0,119,3,198,3,255,255,255,255,51,0,255,255,53,0,54,0,55,0,56,0,167,2,255,255,255,255,255,255,111,0,112,0,143,0,255,255,175,2,255,255,255,255,111,0,112,0,255,255,255,255,182,2,183,2,255,255,255,255,186,2,187,2,111,0,112,0,255,255,255,255,192,2,193,2,63,0,64,0,65,0,255,255,255,255,255,255,200,2,201,2,92,0,255,255,63,0,64,0,65,0,255,255,98,0,99,0,255,255,211,2,63,0,64,0,65,0,255,255,16,0,17,0,218,2,255,255,20,0,221,2,255,255,77,3,199,0,79,3,63,0,64,0,65,0,83,3,230,2,231,2,255,255,123,0,209,0,210,0,126,0,237,2,255,255,93,3,255,255,95,3,111,0,112,0,255,255,45,0,46,0,255,255,255,255,139,0,50,0,51,0,111,0,112,0,254,2,255,2,41,1,255,255,255,255,255,255,111,0,112,0,62,0,63,0,49,1,255,255,255,255,52,1,255,255,54,1,14,3,56,1,255,255,58,1,111,0,112,0,255,255,252,0,255,255,254,0,255,0,255,255,255,255,2,1,3,1,255,255,255,255,31,3,7,1,255,255,255,255,255,255,255,255,12,1,13,1,255,255,255,255,255,255,42,3,43,3,255,255,20,1,255,255,255,255,255,255,255,255,50,3,161,3,255,255,255,255,54,3,165,3,255,255,167,3,255,255,255,255,255,255,255,255,172,3,51,0,255,255,53,0,54,0,55,0,56,0,255,255,255,255,2,3,3,3,71,0,5,3,255,255,7,3,8,3,255,255,255,255,255,255,255,255,13,3,255,255,194,3,16,3,17,3,255,255,86,0,87,0,65,1,66,1,67,1,68,1,69,1,70,1,71,1,72,1,255,255,255,255,75,1,255,255,77,1,255,255,92,0,80,1,255,255,255,255,108,3,255,255,98,0,99,0,255,255,255,255,114,3,255,255,116,3,255,255,255,255,119,3,255,255,255,255,255,255,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,108,1,255,255,123,0,255,255,255,255,126,0,255,255,255,255,116,1,117,1,255,255,255,255,51,0,255,255,53,0,54,0,55,0,56,0,151,3,255,255,255,255,255,255,130,1,255,255,132,1,133,1,51,0,255,255,53,0,54,0,55,0,56,0,140,1,255,255,255,255,255,255,144,1,255,255,255,255,255,255,148,1,255,255,255,255,255,255,255,255,153,1,255,255,255,255,255,255,238,0,239,0,240,0,241,0,92,0,40,0,41,0,42,0,43,0,44,0,98,0,255,255,255,255,255,255,252,0,255,255,254,0,255,0,92,0,255,255,133,3,134,3,135,3,136,3,98,0,138,3,139,3,255,255,185,1,142,3,255,255,144,3,145,3,255,255,255,255,255,255,255,255,194,1,255,255,255,255,255,255,2,0,255,255,4,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,13,0,255,255,255,255,212,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,186,3,187,3,188,3,189,3,190,3,255,255,255,255,255,255,255,255,255,255,240,1,255,255,198,3,255,255,48,0,255,255,255,255,255,255,255,255,255,255,75,1,255,255,255,255,255,255,255,255,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,255,255,108,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,1,117,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,130,1,255,255,111,0,255,255,255,255,2,0,255,255,4,0,255,255,255,255,255,255,255,255,142,1,255,255,144,1,255,255,146,1,147,1,255,255,255,255,255,255,255,255,255,255,153,1,255,255,255,255,255,255,76,2,77,2,255,255,160,1,255,255,255,255,255,255,255,255,255,255,166,1,167,1,255,255,255,255,170,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,189,1,255,255,110,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,199,1,255,255,255,255,202,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,212,1,255,255,255,255,255,255,255,255,255,255,255,255,51,0,199,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2,0,231,1,4,0,5,0,6,0,7,0,255,255,255,255,255,255,255,255,255,255,13,0,255,255,255,255,111,0,255,255,255,255,255,255,167,2,255,255,255,255,255,255,255,255,255,255,254,1,255,1,175,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,183,2,9,2,255,255,186,2,187,2,255,255,255,255,255,255,255,255,192,2,193,2,255,255,48,0,255,255,255,255,255,255,52,0,200,2,201,2,255,255,7,1,255,255,255,255,255,255,255,255,12,1,13,1,255,255,211,2,255,255,255,255,255,255,255,255,255,255,255,255,218,2,255,255,255,255,221,2,255,255,76,0,255,255,255,255,255,255,255,255,255,255,255,255,230,2,231,2,255,255,255,255,255,255,255,255,255,255,237,2,2,0,255,255,4,0,5,0,6,0,255,255,255,255,255,255,255,255,255,255,255,255,13,0,255,255,199,0,255,255,255,255,254,2,255,2,255,255,255,255,111,0,255,255,255,255,65,1,255,255,255,255,89,2,255,255,70,1,255,255,255,255,255,255,255,255,255,255,255,255,77,1,255,255,255,255,80,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,255,255,255,255,31,3,52,0,255,255,255,255,255,255,255,255,118,2,255,255,255,255,121,2,255,255,42,3,43,3,255,255,255,255,127,2,128,2,255,255,255,255,255,255,255,255,255,255,255,255,54,3,255,255,76,0,255,255,255,255,7,1,255,255,255,255,255,255,255,255,12,1,13,1,255,255,255,255,255,255,238,0,239,0,240,0,132,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,140,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,148,1,255,255,199,0,111,0,255,255,255,255,255,255,255,255,255,255,255,255,179,2,255,255,255,255,255,255,183,2,184,2,255,255,186,2,187,2,255,255,108,3,255,255,255,255,192,2,193,2,255,255,114,3,255,255,116,3,65,1,255,255,119,3,255,255,202,2,70,1,255,255,255,255,185,1,255,255,255,255,255,255,77,1,255,255,255,255,255,255,255,255,194,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,224,2,225,2,255,255,227,2,228,2,255,255,255,255,255,255,151,3,255,255,255,255,7,1,236,2,255,255,255,255,239,2,12,1,13,1,255,255,75,1,255,255,255,255,255,255,255,255,80,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,1,199,0,240,1,255,255,255,255,255,255,132,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,140,1,255,255,255,255,20,3,255,255,255,255,255,255,24,3,148,1,255,255,255,255,255,255,255,255,255,255,31,3,255,255,255,255,255,255,255,255,255,255,65,1,255,255,255,255,255,255,255,255,70,1,255,255,255,255,255,255,255,255,255,255,255,255,77,1,78,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,3,255,255,255,255,185,1,255,255,255,255,255,255,255,255,67,3,7,1,255,255,255,255,194,1,160,1,12,1,13,1,255,255,255,255,255,255,166,1,167,1,255,255,255,255,170,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,1,255,255,255,255,255,255,255,255,255,255,77,2,255,255,255,255,255,255,255,255,255,255,132,1,255,255,255,255,255,255,255,255,255,255,255,255,199,1,140,1,255,255,202,1,255,255,255,255,240,1,255,255,255,255,148,1,255,255,255,255,255,255,255,255,255,255,65,1,255,255,255,255,255,255,255,255,70,1,255,255,255,255,255,255,255,255,255,255,255,255,77,1,78,1,255,255,255,255,255,255,231,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,151,3,255,255,255,255,255,255,255,255,255,255,185,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,9,2,255,255,255,255,208,1,255,255,210,1,255,255,255,255,255,255,255,255,255,255,167,2,255,255,255,255,255,255,255,255,132,1,255,255,255,255,175,2,255,255,255,255,255,255,255,255,140,1,255,255,255,255,183,2,255,255,255,255,255,255,255,255,148,1,77,2,255,255,240,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,200,2,201,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,211,2,255,255,255,255,255,255,255,255,255,255,255,255,218,2,255,255,255,255,255,255,15,2,255,255,255,255,185,1,255,255,255,255,255,255,255,255,230,2,231,2,255,255,255,255,194,1,255,255,89,2,237,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,208,1,255,255,210,1,255,255,255,255,255,255,254,2,255,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,118,2,255,255,255,255,121,2,255,255,255,255,255,255,255,255,255,255,127,2,128,2,255,255,255,255,255,255,167,2,240,1,255,255,255,255,255,255,77,2,255,255,255,255,175,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,42,3,43,3,255,255,255,255,255,255,255,255,255,255,255,255,50,3,255,255,255,255,255,255,54,3,15,2,200,2,201,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,211,2,255,255,255,255,179,2,255,255,255,255,255,255,218,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,2,231,2,255,255,255,255,255,255,255,255,255,255,237,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,108,3,255,255,254,2,255,2,255,255,255,255,114,3,255,255,116,3,77,2,167,2,119,3,255,255,255,255,255,255,255,255,255,255,255,255,175,2,236,2,255,255,255,255,239,2,255,255,255,255,182,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,200,2,201,2,255,255,42,3,43,3,255,255,0,0,255,255,255,255,255,255,255,255,211,2,255,255,255,255,255,255,54,3,20,3,255,255,218,2,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,255,255,230,2,231,2,26,0,27,0,255,255,255,255,255,255,237,2,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,254,2,255,2,167,2,255,255,255,255,255,255,255,255,255,255,255,255,67,3,175,2,255,255,255,255,255,255,255,255,108,3,14,3,182,2,255,255,255,255,255,255,114,3,255,255,116,3,255,255,255,255,119,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,200,2,201,2,255,255,255,255,255,255,88,0,255,255,255,255,255,255,42,3,43,3,211,2,255,255,255,255,255,255,255,255,255,255,50,3,218,2,255,255,255,255,54,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,2,231,2,255,255,255,255,255,255,255,255,255,255,237,2,255,255,255,255,255,255,255,255,255,255,51,0,52,0,255,255,255,255,55,0,255,255,255,255,133,0,134,0,255,255,136,0,254,2,255,2,139,0,140,0,255,255,142,0,143,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,14,3,255,255,80,0,81,0,255,255,108,3,84,0,85,0,86,0,87,0,255,255,114,3,255,255,116,3,255,255,255,255,119,3,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,42,3,43,3,255,255,255,255,255,255,255,255,255,255,255,255,50,3,255,255,255,255,255,255,54,3,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,108,3,255,255,255,255,255,255,255,255,255,255,114,3,255,255,116,3,0,0,1,0,119,3,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,255,255,255,255,255,255,255,255,19], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
    1597 /* memory initializer */ allocate([255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,0,0,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,44,0,255,255,255,255,255,255,27,0,28,0,29,0,255,255,255,255,129,0,130,0,131,0,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,142,0,143,0,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,90,0,91,0,255,255,255,255,255,255,255,255,117,0,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,108,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,0,117,0,118,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,255,255,134,0,135,0,136,0,137,0,255,255,255,255,140,0,141,0,142,0,143,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,44,0,255,255,255,255,26,0,27,0,28,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,255,255,91,0,255,255,255,255,255,255,255,255,117,0,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,137,0,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,133,0,134,0,135,0,136,0,137,0,255,255,139,0,140,0,141,0,142,0,143,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,44,0,255,255,255,255,255,255,27,0,28,0,29,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,255,255,91,0,255,255,255,255,255,255,255,255,117,0,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,108,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,117,0,118,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,255,255,134,0,135,0,136,0,137,0,255,255,255,255,140,0,141,0,142,0,143,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,255,255,255,255,255,255,26,0,27,0,28,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,255,255,91,0,255,255,255,255,255,255,255,255,117,0,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,133,0,134,0,135,0,136,0,137,0,255,255,139,0,140,0,141,0,142,0,143,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,255,255,255,255,255,255,255,255,27,0,28,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,255,255,91,0,255,255,255,255,255,255,255,255,255,255,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,255,255,134,0,135,0,136,0,137,0,255,255,139,0,140,0,141,0,142,0,143,0,13,0,14,0,15,0,255,255,17,0,18,0,255,255,20,0,255,255,255,255,255,255,255,255,255,255,26,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,90,0,255,255,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,0,117,0,143,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,133,0,134,0,135,0,136,0,137,0,255,255,255,255,140,0,255,255,142,0,143,0,13,0,14,0,15,0,255,255,17,0,18,0,255,255,20,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,255,255,80,0,81,0,255,255,255,255,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,90,0,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,0,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,134,0,135,0,136,0,137,0,255,255,255,255,140,0,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,255,255,255,255,18,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,15,0,255,255,17,0,18,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,15,0,255,255,255,255,18,0,19,0,20,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,15,0,255,255,255,255,18,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,134,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,14,0,15,0,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,140,0,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,140,0,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,134,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,15,0,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,142,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,139,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,133,0,255,255,255,255,255,255,255,255,255,255,139,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,133,0,21,0,22,0,23,0,24,0,255,255,139,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,90,0,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,116,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,139,0,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,139,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,139,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,105,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,105,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,255,255,255,255,55,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,101,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,255,255,255,255,55,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,137,0,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,137,0,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240);
    1598 /* memory initializer */ allocate([255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,86,0,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,255,255,255,255,86,0,87,0,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,51,0,52,0,255,255,255,255,55,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,129,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,98,0,255,255,80,0,81,0,255,255,255,255,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,99,0,123,2,3,1,242,0,242,0,61,1,115,1,242,0,84,2,171,1,235,0,194,0,226,1,5,1,230,0,115,0,115,0,18,2,79,1,104,2,237,1,248,0,248,0,115,0,100,0,248,0,148,1,18,1,230,0,207,2,57,2,114,2,65,1,123,2,0,1,203,1,32,1,208,1,124,1,205,1,55,2,219,2,63,2,23,2,226,2,66,2,247,0,247,0,25,1,29,1,247,0,229,2,82,2,6,3,232,2,24,1,28,1,139,2,42,1,67,0,235,0,67,0,115,0,236,0,83,2,1,3,97,2,64,1,168,2,69,3,120,2,200,2,201,2,120,2,72,3,107,2,55,2,113,1,63,2,162,255,23,1,12,3,101,2,14,3,152,2,139,1,115,0,83,2,130,3,246,2,254,2,143,3,113,1,245,0,250,0,188,254,191,1,251,0,159,255,237,254,1,1,110,1,237,254,244,1,49,254,201,0,201,0,7,1,71,1,72,1,118,1,201,0,173,2,236,0,53,2,49,254,61,2,0,1,181,2,61,2,155,255,83,2,208,0,81,1,14,1,139,1,3,0,233,0,156,255,73,1,162,255,118,1,160,255,46,254,142,2,160,255,53,2,158,255,61,2,117,1,147,1,162,255,188,254,188,254,161,255,11,1,83,2,124,3,158,255,111,1,53,2,170,255,61,2,75,1,174,2,161,255,218,2,189,1,160,1,53,2,14,2,61,2,47,254,143,3,159,255,155,255,155,255,221,2,218,2,255,2,252,0,45,254,130,3,76,1,87,3,107,1,119,1,157,255,104,1,105,1,106,1,46,254,116,1,156,255,114,1,3,3,163,255,14,1,44,254,7,3,255,0,170,255,255,0,168,2,53,2,61,2,171,1,231,0,232,0,114,1,153,2,168,2,156,3,72,3,17,3,121,1,236,2,42,3,237,1,206,2,47,254,231,0,232,0,113,2,232,0,123,2,208,1,42,254,53,2,45,254,61,2,237,253,108,1,109,1,159,255,159,255,119,254,6,3,235,0,207,1,42,1,199,1,163,255,80,1,184,3,159,1,44,254,232,0,194,1,242,0,164,255,242,0,242,0,202,1,168,255,169,1,169,1,1,3,18,1,232,0,236,0,231,0,232,0,180,1,14,3,1,3,236,0,248,0,14,3,248,0,166,255,160,255,160,255,158,255,158,255,42,254,235,0,169,255,152,2,249,2,161,255,161,255,120,3,193,1,10,2,43,254,167,255,208,1,237,253,19,2,2,1,236,0,247,0,29,3,247,0,22,3,120,2,120,2,119,254,165,255,36,3,236,253,54,254,59,1,60,1,127,1,81,0,115,0,81,0,116,0,116,0,129,1,50,254,204,0,204,0,201,0,201,0,214,0,215,2,204,0,204,0,204,0,18,1,80,2,204,0,69,2,71,2,234,254,16,2,236,0,2,1,149,1,150,1,43,254,232,0,190,1,237,1,201,1,201,1,172,1,14,3,175,1,201,1,119,254,227,2,119,254,119,254,138,1,182,1,186,1,54,254,0,2,81,0,47,3,115,0,14,1,33,1,168,255,130,1,131,1,50,254,242,0,166,255,195,1,181,1,183,1,204,0,197,1,63,3,228,2,160,255,12,2,180,1,134,3,234,254,234,254,12,2,59,3,236,253,152,2,33,1,152,2,196,1,242,0,158,3,139,3,18,2,62,2,67,0,144,3,232,0,191,3,122,1,5,2,180,1,158,255,123,1,242,0,231,0,232,0,189,255,91,2,142,1,161,255,146,1,241,2,242,0,151,1,180,1,62,2,103,2,103,2,155,1,204,0,245,2,81,0,138,2,180,1,207,1,14,1,123,2,175,255,157,1,62,2,18,3,240,253,71,1,72,1,201,0,201,0,201,0,201,0,62,2,6,2,7,2,130,2,239,253,160,1,122,2,125,1,126,1,105,3,169,1,169,1,1,2,2,2,3,2,4,2,168,255,99,0,230,0,162,1,46,3,166,255,208,1,237,2,115,2,152,2,126,3,121,3,237,1,188,3,189,1,236,0,236,0,242,0,62,2,166,1,233,253,168,255,137,2,167,1,168,255,170,1,166,255,168,255,180,1,166,255,185,1,207,1,166,255,232,0,92,2,81,1,115,0,190,255,115,0,54,254,156,255,192,1,100,2,62,2,120,2,143,1,157,2,85,2,198,1,157,2,50,254,157,2,204,1,241,1,210,1,81,0,242,1,243,1,148,3,206,1,67,0,164,255,152,2,254,1,152,2,204,0,204,0,255,1,17,2,135,2,124,2,73,2,57,1,152,1,126,2,45,1,46,1,241,2,88,2,129,2,177,2,89,2,233,253,93,2,240,253,238,1,54,254,54,254,185,2,134,2,240,253,116,2,144,1,145,1,125,2,239,253,152,2,50,254,50,254,115,0,146,2,239,253,215,1,216,1,217,1,218,1,190,2,237,1,204,0,169,2,204,0,204,0,242,1,243,1,204,0,204,0,192,2,127,2,128,2,81,0,153,1,154,1,47,1,48,1,81,0,81,0,175,255,233,253,145,2,233,253,233,253,190,2,204,0,237,253,166,2,197,2,132,2,155,2,197,2,177,2,177,2,188,2,160,255,33,1,204,2,159,2,190,2,178,3,161,2,194,2,162,2,165,2,194,2,164,2,3,255,197,2,190,2,179,2,182,2,83,2,183,2,217,2,220,2,168,255,220,2,213,2,208,2,188,2,180,2,194,2,234,2,146,2,220,2,215,1,216,1,217,1,218,1,81,0,204,0,204,0,204,0,204,0,81,0,204,0,204,0,230,0,248,2,204,0,187,1,81,0,33,1,190,2,204,0,12,2,169,1,37,3,218,2,236,0,207,1,114,3,19,2,211,1,253,2,25,3,27,3,116,3,242,2,189,2,193,2,32,3,34,3,235,2,243,2,253,1,31,3,196,2,45,1,46,1,199,2,250,2,204,0,9,3,53,2,253,2,52,1,54,1,56,1,58,1,204,0,204,0,81,1,53,2,2,255,61,2,158,255,144,1,188,1,236,0,45,3,209,2,161,255,24,3,204,0,54,3,81,0,204,0,201,0,30,3,212,1,213,1,58,3,44,1,81,0,45,1,46,1,166,255,204,0,125,3,50,3,201,1,81,0,169,255,205,2,47,1,48,1,204,0,115,0,146,2,60,3,215,1,216,1,217,1,218,1,67,3,44,3,177,2,70,3,73,3,77,3,79,3,201,0,48,3,74,3,102,1,103,1,104,1,105,1,106,1,52,3,97,3,244,2,56,3,81,3,83,3,86,3,48,254,233,2,81,0,88,3,244,254,47,1,48,1,103,2,81,1,100,3,251,2,81,0,146,2,219,1,215,1,216,1,217,1,218,1,89,3,169,1,221,1,253,2,10,3,94,1,95,1,33,1,93,3,33,1,95,3,204,0,19,3,102,3,236,0,1,255,103,3,157,2,157,2,107,3,157,2,236,0,157,2,157,2,117,3,118,3,222,1,123,3,157,2,48,254,48,254,157,2,157,2,244,254,244,254,147,2,131,3,39,3,40,3,81,0,132,3,115,0,236,0,102,1,103,1,104,1,105,1,106,1,127,3,137,3,215,1,216,1,217,1,218,1,140,3,53,3,81,1,0,255,214,1,146,3,215,1,216,1,217,1,218,1,147,3,175,3,149,3,61,3,62,3,157,3,33,1,94,1,95,1,161,3,65,3,165,3,167,3,115,0,201,0,172,3,220,2,183,3,98,0,237,253,98,0,236,253,194,3,131,2,68,3,98,0,98,0,75,3,76,3,120,0,57,3,98,0,98,0,98,0,198,2,219,1,98,0,160,2,212,0,163,2,5,3,220,1,221,1,8,3,101,1,102,1,103,1,104,1,105,1,106,1,233,254,182,3,236,0,247,2,38,3,13,3,159,3,185,3,236,0,248,1,181,3,45,1,46,1,141,3,98,0,170,2,222,1,204,0,81,0,223,1,197,0,104,3,214,1,2,3,215,1,216,1,217,1,218,1,98,0,106,3,138,3,150,3,224,1,115,3,157,2,157,2,157,2,157,2,108,3,157,2,157,2,242,0,135,1,157,2,0,0,157,2,157,2,233,254,233,254,0,0,0,0,204,0,180,1,0,0,91,2,220,2,190,2,0,0,47,1,48,1,130,1,131,1,0,0,219,1,51,1,45,1,46,1,62,2,0,0,220,1,221,1,53,1,45,1,46,1,0,0,98,0,0,0,98,0,151,3,152,3,0,0,55,1,45,1,46,1,0,0,0,0,0,0,157,2,157,2,157,2,157,2,157,2,0,0,153,3,222,1,154,3,0,0,223,1,155,3,157,2,0,0,0,0,214,1,0,0,215,1,216,1,217,1,218,1,81,0,0,0,0,0,0,0,47,1,48,1,232,0,0,0,81,0,0,0,0,0,47,1,48,1,0,0,0,0,33,1,204,0,0,0,0,0,204,0,204,0,47,1,48,1,0,0,0,0,204,0,204,0,238,1,45,1,46,1,0,0,0,0,0,0,81,0,81,0,219,1,0,0,250,1,45,1,46,1,0,0,220,1,221,1,0,0,81,0,251,1,45,1,46,1,0,0,243,0,243,0,81,0,0,0,243,0,204,0,0,0,133,3,98,0,135,3,252,1,45,1,46,1,136,3,81,0,81,0,0,0,222,1,98,0,98,0,223,1,81,0,0,0,142,3,0,0,145,3,47,1,48,1,0,0,8,1,10,1,0,0,0,0,210,2,243,0,243,0,47,1,48,1,81,0,81,0,239,1,0,0,0,0,0,0,47,1,48,1,62,1,63,1,249,1,0,0,0,0,249,1,0,0,249,1,92,3,249,1,0,0,249,1,47,1,48,1,0,0,98,0,0,0,98,0,98,0,0,0,0,0,98,0,98,0,0,0,0,0,204,0,98,0,0,0,0,0,0,0,0,0,98,0,98,0,0,0,0,0,0,0,81,0,81,0,0,0,98,0,0,0,0,0,0,0,0,0,111,3,186,3,0,0,0,0,81,0,187,3,0,0,189,3,0,0,0,0,0,0,0,0,190,3,214,1,0,0,215,1,216,1,217,1,218,1,0,0,0,0,78,3,80,3,81,1,82,3,0,0,84,3,85,3,0,0,0,0,0,0,0,0,90,3,0,0,198,3,94,3,96,3,0,0,94,1,95,1,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,0,0,0,0,98,0,0,0,98,0,0,0,219,1,98,0,0,0,0,0,81,0,0,0,220,1,221,1,0,0,0,0,81,0,0,0,81,0,0,0,0,0,81,0,0,0,0,0,0,0,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,98,0,0,0,222,1,0,0,0,0,223,1,0,0,0,0,98,0,98,0,0,0,0,0,146,2,0,0,215,1,216,1,217,1,218,1,204,0,0,0,0,0,0,0,98,0,0,0,98,0,98,0,146,2,0,0,215,1,216,1,217,1,218,1,98,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,243,0,243,0,243,0,62,1,147,2,66,1,67,1,68,1,69,1,70,1,148,2,0,0,0,0,0,0,243,0,0,0,243,0,243,0,147,2,0,0,160,3,162,3,163,3,164,3,71,3,166,3,168,3,0,0,98,0,171,3,0,0,173,3,174,3,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,78,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,3,193,3,195,3,196,3,197,3,0,0,0,0,0,0,0,0,0,0,98,0,0,0,199,3,0,0,78,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,21,2,24,2,25,2,26,2,27,2,28,2,29,2,30,2,31,2,32,2,33,2,34,2,35,2,36,2,37,2,38,2,39,2,40,2,41,2,42,2,43,2,44,2,45,2,46,2,47,2,48,2,49,2,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,2,72,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,78,0,0,0,0,0,95,0,0,0,95,0,0,0,0,0,0,0,0,0,94,2,0,0,243,0,0,0,70,2,72,2,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,98,0,98,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,243,0,243,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,2,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,26,1,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,243,0,94,0,117,0,117,0,117,0,0,0,0,0,0,0,0,0,0,0,216,0,0,0,0,0,95,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,171,2,172,2,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,243,0,0,0,98,0,98,0,0,0,0,0,0,0,0,0,98,0,98,0,0,0,94,0,0,0,0,0,0,0,34,1,98,0,98,0,0,0,78,0,0,0,0,0,0,0,0,0,78,0,78,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,98,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,98,0,98,0,0,0,0,0,0,0,0,0,0,0,98,0,97,0,0,0,97,0,118,0,118,0,0,0,0,0,0,0,0,0,0,0,0,0,217,0,0,0,95,0,0,0,0,0,98,0,98,0,0,0,0,0,94,0,0,0,0,0,78,0,0,0,0,0,243,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,98,0,35,1,0,0,0,0,0,0,0,0,243,0,0,0,0,0,243,0,0,0,98,0,98,0,0,0,0,0,243,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,35,1,0,0,0,0,95,0,0,0,0,0,0,0,0,0,95,0,95,0,0,0,0,0,0,0,163,1,164,1,165,1,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,94,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,94,2,23,3,0,0,26,3,28,3,0,0,98,0,0,0,0,0,33,3,35,3,0,0,98,0,0,0,98,0,95,0,0,0,98,0,0,0,41,3,95,0,0,0,0,0,78,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,3,28,3,0,0,33,3,35,3,0,0,0,0,0,0,98,0,0,0,0,0,94,0,243,0,0,0,0,0,243,0,94,0,94,0,0,0,11,2,0,0,0,0,0,0,0,0,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,1,97,0,78,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,243,0,0,0,0,0,0,0,99,3,95,0,0,0,0,0,0,0,0,0,0,0,101,3,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,3,0,0,0,0,95,0,0,0,0,0,0,0,0,0,243,0,97,0,0,0,0,0,95,0,22,2,97,0,97,0,0,0,0,0,0,0,117,2,119,2,0,0,0,0,26,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,119,2,94,0,0,0,26,1,0,0,0,0,95,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,35,1,0,0,0,0,0,0,158,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,2,0,0,0,0,34,1,0,0,34,1,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,20,2,0,0,0,0,0,0,0,0,97,0,95,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,34,1,0,0,0,0,97,0,0,0,0,0,0,0,0,0,78,0,78,0,0,0,0,0,97,0,0,0,214,2,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,0,0,35,1,0,0,0,0,0,0,78,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,2,0,0,0,0,240,2,0,0,0,0,0,0,0,0,0,0,119,2,26,1,0,0,0,0,0,0,95,0,97,0,0,0,0,0,0,0,94,0,0,0,0,0,95], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480);
    1599 /* memory initializer */ allocate([78,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,110,3,0,0,0,0,0,0,78,0,35,1,95,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,21,3,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,95,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,95,0,95,0,0,0,0,0,78,0,0,0,78,0,97,0,94,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,64,3,0,0,0,0,66,3,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,94,0,0,0,95,0,95,0,0,0,213,253,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,95,0,98,3,0,0,94,0,213,253,213,253,213,253,213,253,213,253,213,253,0,0,213,253,0,0,0,0,0,0,94,0,94,0,213,253,213,253,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,0,0,213,253,213,253,213,253,213,253,213,253,0,0,0,0,0,0,94,0,94,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,26,1,97,0,0,0,0,0,0,0,0,0,95,0,117,0,35,1,0,0,0,0,0,0,95,0,0,0,95,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,97,0,0,0,0,0,0,0,213,253,0,0,0,0,0,0,94,0,94,0,97,0,0,0,0,0,0,0,0,0,0,0,112,3,97,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,97,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,50,2,51,2,0,0,0,0,52,2,0,0,0,0,213,253,213,253,0,0,213,253,97,0,97,0,255,0,213,253,0,0,213,253,213,253,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,118,0,0,0,173,0,174,0,0,0,94,0,175,0,176,0,177,0,178,0,0,0,94,0,0,0,94,0,0,0,0,0,94,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,113,3,0,0,0,0,0,0,97,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,97,0,213,253,4,0,97,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,29,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,234,254,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,234,254,234,254,234,254,234,254,234,254,234,254,0,0,234,254,0,0,0,0,202,2,0,0,0,0,0,0,234,254,234,254,234,254,0,0,0,0,61,0,62,0,63,0,0,0,0,0,234,254,234,254,0,0,234,254,234,254,234,254,234,254,234,254,213,253,213,253,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,0,0,0,0,234,254,234,254,234,254,0,0,225,2,234,254,0,0,0,0,0,0,0,0,96,1,234,254,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,234,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,255,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,0,0,0,0,120,254,0,0,0,0,234,254,234,254,234,254,234,254,0,0,0,0,234,254,234,254,234,254,234,254,120,254,120,254,120,254,120,254,120,254,120,254,0,0,120,254,0,0,0,0,184,2,0,0,0,0,120,254,120,254,120,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,254,120,254,0,0,120,254,120,254,120,254,120,254,120,254,0,0,0,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,0,0,0,0,120,254,120,254,120,254,0,0,0,0,120,254,0,0,0,0,0,0,0,0,96,1,120,254,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,255,120,254,0,0,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,0,0,0,0,243,254,0,0,120,254,120,254,120,254,120,254,120,254,0,0,255,0,120,254,120,254,120,254,120,254,243,254,243,254,243,254,243,254,243,254,243,254,0,0,243,254,0,0,0,0,184,2,0,0,0,0,0,0,243,254,243,254,243,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,254,243,254,0,0,243,254,243,254,243,254,243,254,243,254,0,0,0,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,0,0,0,0,243,254,243,254,243,254,0,0,0,0,243,254,0,0,0,0,0,0,0,0,96,1,243,254,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,243,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,0,0,0,0,213,253,0,0,0,0,243,254,243,254,243,254,243,254,0,0,0,0,243,254,243,254,243,254,243,254,213,253,213,253,213,253,213,253,213,253,213,253,0,0,213,253,0,0,0,0,0,0,0,0,0,0,213,253,213,253,213,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,0,0,213,253,213,253,213,253,213,253,213,253,0,0,0,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,0,0,0,0,213,253,213,253,213,253,0,0,0,0,213,253,0,0,0,0,0,0,0,0,96,1,213,253,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,0,0,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,0,0,0,0,227,254,0,0,213,253,213,253,213,253,213,253,213,253,0,0,255,0,213,253,213,253,213,253,213,253,227,254,227,254,227,254,227,254,227,254,227,254,0,0,227,254,0,0,0,0,0,0,0,0,0,0,0,0,227,254,227,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,254,227,254,0,0,227,254,227,254,227,254,227,254,227,254,0,0,0,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,212,253,212,253,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,0,0,0,0,227,254,227,254,227,254,0,0,0,0,227,254,0,0,0,0,0,0,0,0,0,0,227,254,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,254,0,0,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,0,0,0,0,233,253,0,0,0,0,227,254,227,254,227,254,227,254,0,0,252,0,227,254,227,254,227,254,227,254,233,253,233,253,233,253,0,0,233,253,233,253,0,0,233,253,0,0,0,0,0,0,0,0,0,0,233,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,253,233,253,0,0,233,253,233,253,233,253,233,253,233,253,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,0,0,0,0,233,253,233,253,233,253,0,0,186,2,0,0,96,1,0,0,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,255,233,253,232,0,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,0,0,0,0,234,254,0,0,233,253,233,253,233,253,233,253,167,255,0,0,0,0,233,253,0,0,233,253,233,253,234,254,234,254,234,254,0,0,234,254,234,254,0,0,234,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,254,234,254,0,0,234,254,234,254,234,254,234,254,234,254,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,0,0,90,1,91,1,0,0,0,0,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,0,0,0,0,234,254,234,254,234,254,0,0,187,2,0,0,0,0,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,255,234,254,0,0,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,0,0,0,0,0,0,0,0,0,0,234,254,234,254,234,254,165,255,0,0,0,0,234,254,0,0,234,254,234,254,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,213,253,213,253,213,253,0,0,0,0,213,253,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,213,253,0,0,213,253,213,253,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,213,253,0,0,0,0,213,253,15,0,213,253,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,213,253,0,0,0,0,213,253,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,29,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,213,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,213,253,213,253,0,0,0,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,13,1,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,213,253,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,213,253,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,213,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,213,253,0,0,0,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,0,240,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,61,0,241,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,232,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,231,0,232,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,232,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,29,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,0,0,61,0,62,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,162,1,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,1,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,148,0,149,0,150,0,151,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,158,0,159,0,160,0,161,0,162,0,35,0,36,0,163,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,193,0,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,253,0,0,240,253,240,253,240,253,240,253,0,0,240,253,0,0,0,0,0,0,240,253,240,253,240,253,240,253,240,253,240,253,240,253,0,0,0,0,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,253,240,253,0,0,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,0,0,0,0,240,253,0,0,0,0,240,253,240,253,0,0,240,253,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,253,0,0,0,0,240,253,240,253,0,0,240,253,240,253,0,0,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,0,0,0,0,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,253,240,253,240,253,0,0,240,253,0,0,0,0,0,0,0,0,0,0,240,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,253,0,0,239,253,239,253,239,253,239,253,0,0,239,253,0,0,0,0,0,0,239,253,239,253,239,253,239,253,239,253,239,253,239,253,0,0,0,0,239,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,253,239,253,0,0,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,0,0,0,0,239,253,0,0,0,0,239,253,239,253,0,0,239,253,239,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,253,0,0,0,0,239,253,239,253,0,0,239,253,239,253,0,0,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,0,0,0,0,239,253,0,0,0,0,0,0,0,0,0,0,0,0,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,0,0,0,0,0,0,0,0,239,253,239,253,239,253,237,253,239,253,237,253,237,253,237,253,237,253,0,0,239,253,0,0,0,0,0,0,237,253,237,253,237,253,237,253,237,253,237,253,237,253,0,0,0,0,237,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,253,237,253,0,0,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,0,0,0,0,237,253,0,0,0,0,237,253,237,253,0,0,237,253,237,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,253,224,2,0,0,237,253,237,253,0,0,237,253,237,253,0,0,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,0,0,0,0,237,253,0,0,0,0,0,0,0,0,0,0,0,0,159,255,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,0,0,0,0,0,0,237,253,237,253,237,253,0,0,235,253,0,0,235,253,235,253,235,253,235,253,237,253,0,0,0,0,0,0,0,0,235,253,235,253,235,253,235,253,235,253,235,253,235,253,0,0,0,0,235,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,253,235,253,0,0,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,0,0,0,0,235,253,0,0,0,0,235,253,235,253,0,0,235,253,235,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,253,0,0,0,0,235,253,235,253,0,0,235,253,235,253,0,0,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,0,0,0,0,235,253,0,0,0,0,0,0,0,0,0,0,0,0,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,0,0,0,0,0,0,0,0,235,253,235,253,235,253,234,253,0,0,234,253,234,253,234,253,234,253,0,0,235,253,0,0,0,0,0,0,234,253,234,253,234,253,234,253,234,253,234,253,234,253,0,0,0,0,234,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,234,253,0,0,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,0,0,0,0,234,253,0,0,0,0,234,253,234,253,0,0,234,253,234,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,0,0,0,0,234,253,234,253,0,0,234,253,234,253,0,0,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,0,0,0,0,234,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,234,253,234,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,218,0,219,0,220,0,221,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,222,0,223,0,160,0,224,0,162,0,37,1,38,1,225,0,39,1,0,0,0,0,0,0,0,0,0,0,0,0,40,1,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,218,0,219,0,220,0,221,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,222,0,223,0,160,0,224,0,162,0,37,1,38,1,225,0,39,1,0,0,0,0,0,0,0,0,0,0,0,0,40,1,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,156,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,218,0,219,0,220,0,221,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,222,0,223,0,160,0,224,0,162,0,0,0,0,0,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,218,0,219,0,220,0,221,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,222,0,223,0,160,0,224,0,162,0,0,0,0,0,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,31,1,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,15,2,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,118,2,240,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,29,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,118,2,0,0,53,0,54,0,55,0,56], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30738);
    1600 /* memory initializer */ allocate([57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,2,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,20,3,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,118,2,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,0,240,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,240,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,9,2,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,9,2,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,107,0,34,0,35,0,36,0,108,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,110,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,77,1,49,0,0,0,50,0,51,0,0,0,78,1,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,107,0,34,0,35,0,36,0,108,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,77,1,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,3,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,81,1,212,253,212,253,212,253,212,253,86,1,87,1,0,0,0,0,212,253,212,253,0,0,0,0,0,0,0,0,94,1,95,1,0,0,0,0,0,0,109,3,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,58,2,59,2,0,0,0,0,60,2,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,112,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,78,2,51,2,0,0,0,0,79,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,64,2,59,2,0,0,0,0,65,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,95,2,51,2,0,0,0,0,96,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,98,2,59,2,0,0,0,0,99,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,105,2,51,2,0,0,0,0,106,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,108,2,59,2,0,0,0,0,109,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,140,2,51,2,0,0,0,0,141,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,143,2,59,2,0,0,0,0,144,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,169,3,51,2,0,0,0,0,170,3,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,176,3,51,2,0,0,0,0,177,3,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,179,3,59,2,0,0,0,0,180,3,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,64,2,59,2,0,0,0,0,65,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,179,0,0,0,90,1,91,1,0,0,0,0,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,14,1,0,0,0,0,40,1,43,1,0,0,0,0,28,2,64,1,65,1,66,1,67,1,26,1,248,0,248,0,210,1,209,1,211,1,212,1,30,2,0,0,10,0,0,0,214,1,213,1,202,1,18,2,204,1,203,1,206,1,205,1,198,1,199,1,158,1,159,1,215,1,216,1,0,0,0,0,0,0,0,0,16,1,43,2,43,2,78,0,35,1,0,0,0,0,0,0,0,0,0,0,0,0,173,1,0,0,0,0,0,0,3,0,28,2,6,0,9,0,27,0,39,0,42,0,50,0,49,0,0,0,66,0,0,0,70,0,80,0,0,0,47,0,229,0,0,0,51,0,33,1,6,1,7,1,8,1,9,1,10,1,156,1,155,1,187,1,157,1,154,1,208,1,0,0,11,1,12,1,248,0,5,0,8,0,64,1,65,1,26,1,29,1,136,1,0,0,102,0,103,0,0,0,0,0,0,0,0,0,105,0,217,1,68,1,0,0,208,1,12,1,0,0,56,1,156,0,166,0,157,0,153,0,182,0,183,0,184,0,185,0,164,0,179,0,172,0,162,0,161,0,177,0,160,0,159,0,155,0,180,0,154,0,167,0,171,0,173,0,165,0,158,0,174,0,181,0,176,0,175,0,168,0,178,0,163,0,152,0,170,0,169,0,151,0,149,0,150,0,146,0,147,0,148,0,107,0,109,0,108,0,141,0,142,0,138,0,120,0,121,0,122,0,129,0,126,0,128,0,123,0,124,0,143,0,144,0,130,0,131,0,135,0,125,0,127,0,117,0,118,0,119,0,132,0,133,0,134,0,136,0,137,0,139,0,140,0,145,0,8,2,58,1,110,0,111,0,7,2,0,0,0,0,0,0,48,0,0,0,0,0,0,0,208,1,0,0,12,1,0,0,0,0,0,0,0,0,79,1,78,1,0,0,0,0,208,1,12,1,175,0,168,0,178,0,163,0,146,0,147,0,107,0,108,0,0,0,112,0,114,0,20,0,113,0,37,2,39,2,28,2,0,0,41,2,38,2,29,2,0,0,0,0,0,0,0,0,243,0,230,0,253,0,64,0,247,0,43,2,43,2,12,2,65,0,63,0,30,2,62,0,0,0,43,2,135,1,61,0,30,2,0,0,31,2,18,0,0,0,0,0,207,0,0,0,208,0,23,1,0,0,0,0,0,0,28,2,15,0,30,2,68,0,14,0,0,0,30,2,0,0,34,2,34,2,231,0,0,0,0,0,34,2,10,2,0,0,0,0,76,0,0,0,86,0,93,0,236,1,192,1,191,1,193,1,194,1,0,0,190,1,189,1,171,1,165,1,164,1,167,1,0,0,0,0,162,1,185,1,0,0,196,1,0,0,160,1,0,0,169,1,0,0,200,1,201,1,46,0,222,0,223,0,4,0,29,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,1,125,1,0,0,82,0,0,0,74,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,2,0,0,27,2,26,2,0,0,140,1,138,1,34,1,0,0,0,0,129,1,55,0,32,1,53,1,102,0,103,0,104,0,200,1,201,1,218,1,51,1,0,0,43,2,0,0,0,0,0,0,59,1,61,1,0,0,43,2,23,1,70,1,0,0,69,1,0,0,0,0,43,2,0,0,0,0,0,0,0,0,0,0,0,0,23,1,0,0,43,2,0,0,48,1,0,0,115,0,174,1,0,0,0,0,0,0,42,2,15,2,254,0,250,0,0,0,0,0,244,0,252,0,0,0,245,0,30,2,0,0,28,1,249,0,30,2,239,0,43,2,43,2,238,0,30,2,31,1,45,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,30,2,21,1,13,0,29,2,67,0,17,1,20,1,24,1,36,2,232,0,35,2,36,2,234,0,25,1,11,2,92,0,84,0,0,0,79,0,0,0,0,0,43,2,0,0,242,1,239,1,238,1,237,1,240,1,0,0,255,1,3,2,2,2,254,1,236,1,36,1,120,1,241,1,243,1,245,1,43,2,0,0,252,1,43,2,1,2,43,2,0,0,235,1,195,1,0,0,0,0,178,1,183,1,182,1,168,1,176,1,0,0,180,1,172,1,163,1,186,1,197,1,161,1,170,1,0,0,0,0,7,0,21,0,22,0,23,0,24,0,25,0,43,0,44,0,43,2,0,0,28,0,37,0,0,0,38,0,30,2,0,0,72,0,83,0,41,0,40,0,0,0,186,0,253,0,36,0,204,0,212,0,217,0,218,0,219,0,214,0,216,0,226,0,227,0,220,0,221,0,197,0,198,0,224,0,225,0,30,2,213,0,215,0,209,0,210,0,211,0,199,0,200,0,201,0,202,0,203,0,19,2,24,2,20,2,25,2,134,1,248,0,132,1,30,2,19,2,21,2,20,2,22,2,133,1,248,0,19,2,20,2,248,0,43,2,43,2,29,0,188,0,35,0,196,0,53,0,56,0,0,0,0,0,0,0,102,0,103,0,106,0,0,0,30,2,43,2,0,0,30,2,236,1,0,0,15,1,43,2,43,2,146,1,43,2,71,1,186,0,23,2,20,2,30,2,19,2,20,2,43,2,73,1,41,1,72,1,44,1,23,2,22,1,30,2,19,2,20,2,0,0,0,0,40,2,175,1,0,0,0,0,47,1,14,2,0,0,255,0,251,0,0,0,43,2,13,2,27,1,32,2,235,0,240,0,242,0,30,1,19,0,0,0,26,0,195,0,69,0,16,0,30,2,34,2,85,0,77,0,89,0,91,0,30,2,19,2,20,2,247,1,242,1,0,0,91,1,82,1,84,1,30,2,80,1,30,2,0,0,0,0,228,1,6,2,248,1,0,0,231,1,0,2,0,0,233,1,4,2,188,1,0,0,0,0,177,1,179,1,181,1,205,0,206,0,111,1,30,2,0,0,109,1,108,1,5,1,0,0,81,0,75,0,0,0,0,0,0,0,0,0,0,0,0,0,131,1,59,0,0,0,137,1,0,0,0,0,237,0,130,1,57,0,236,0,126,1,52,0,0,0,0,0,0,0,43,2,54,1,0,0,0,0,137,1,57,1,9,2,236,1,0,0,0,0,62,1,147,1,148,1,43,2,149,1,0,0,43,2,76,1,0,0,0,0,74,1,0,0,0,0,137,1,0,0,0,0,0,0,0,0,0,0,137,1,0,0,116,0,46,1,0,0,0,0,0,1,0,0,1,1,246,0,43,2,11,0,18,1,233,0,87,0,30,2,0,0,89,1,0,0,244,1,0,0,113,1,0,0,0,0,37,1,246,1,43,2,43,2,5,2,43,2,253,1,43,2,43,2,166,1,0,0,30,2,0,0,43,2,0,0,250,1,43,2,43,2,107,1,0,0,0,0,3,1,73,0,187,0,0,0,34,0,193,0,33,0,194,0,60,0,33,2,0,0,31,0,191,0,32,0,192,0,58,0,127,1,128,1,0,0,0,0,189,0,0,0,0,0,219,1,52,1,30,2,0,0,221,1,236,1,0,0,0,0,151,1,77,1,0,0,12,0,153,1,0,0,38,1,0,0,39,1,0,0,0,0,49,1,255,0,43,2,2,1,241,0,81,1,92,1,0,0,87,1,83,1,119,1,0,0,0,0,0,0,0,0,224,1,0,0,226,1,0,0,232,1,0,0,229,1,234,1,184,1,0,0,110,1,98,1,100,1,0,0,249,1,0,0,103,1,0,0,105,1,124,1,4,1,228,0,30,0,190,0,141,1,139,1,0,0,0,0,220,1,60,1,0,0,0,0,150,1,0,0,94,0,101,0,0,0,152,1,0,0,42,1,45,1,0,0,143,1,144,1,142,1,0,0,90,1,0,0,85,1,117,1,30,2,115,1,118,1,122,1,121,1,43,2,43,2,43,2,43,2,112,1,43,2,43,2,23,1,0,0,43,2,251,1,43,2,43,2,54,0,55,1,0,0,100,0,0,0,43,2,0,0,43,2,43,2,0,0,88,1,0,0,0,0,114,1,225,1,0,0,222,1,227,1,230,1,0,0,95,1,0,0,97,1,23,2,22,1,104,1,0,0,101,1,106,1,63,1,23,2,99,0,30,2,19,2,20,2,145,1,75,1,50,1,86,1,116,1,43,2,43,2,43,2,43,2,43,2,137,1,223,1,96,1,0,0,93,1,99,1,102,1,43,2,94,1,0,0,144,0,146,0,145,0,147,0,148,0,148,0,148,0,148,0,149,0,150,0,149,0,151,0,152,0,153,0,153,0,153,0,153,0,155,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,156,0,156,0,157,0,157,0,157,0,157,0,157,0,157,0,158,0,159,0,159,0,160,0,160,0,162,0,161,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,164,0,164,0,165,0,165,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,167,0,167,0,168,0,168,0,169,0,169,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,172,0,172,0,173,0,173,0,173,0,174,0,174,0,174,0,174,0,174,0,175,0,175,0,176,0,177,0,176,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,181,0,182,0,182,0,182,0,182,0,183,0,184,0,184,0,185,0,185,0,185,0,185,0,185,0,186,0,186,0,186,0,186,0,186,0,188,0,187,0,189,0,190,0,190,0,191,0,191,0,191,0,191,0,191,0,191,0,192,0,192,0,192,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,194,0,193,0,195,0,196,0,193,0,197,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,198,0,199,0,193,0,193,0,193,0,200,0,201,0,193,0,202,0,203,0,193,0,193,0,193,0,204,0,205,0,193,0,206,0,193,0,207,0,208,0,193,0,209,0,193,0,210,0,211,0,193,0,212,0,213,0,193,0,193,0,193,0,193,0,193,0,214,0,215,0,215,0,215,0,216,0,216,0,217,0,217,0,218,0,218,0,219,0,219,0,220,0,220,0,221,0,221,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,224,0,224,0,225,0,225,0,225,0,226,0,226,0,227,0,227,0,228,0,228,0,229,0,229,0,230,0,230,0,232,0,231,0,233,0,233,0,233,0,233,0,234,0,234,0,234,0,234,0,234,0,234,0,234,0,234,0,234,0,236,0,235,0,237,0,235,0,238,0,239,0,239,0,240,0,240,0,241,0,241,0,241,0,242,0,242,0,243,0,243,0,244,0,244,0,244,0,244,0,245,0,245,0,245,0,245,0,246,0,246,0,247,0,248,0,247,0,247,0,247,0,249,0,249,0,250,0,250,0,251,0,252,0,252,0,253,0,253,0,254,0,254,0,255,0,255,0,0,1,1,1,0,1,2,1,2,1,3,1,3,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,12,1,13,1,12,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,21,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,26,1,26,1,27,1,27,1,28,1,29,1,29,1,30,1,31,1,30,1,32,1,32,1,33,1,33,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,41,1,42,1,43,1,43,1,43,1,44,1,44,1,46,1,45,1,47,1,47,1,48,1,253,252,253,252,253,252,141,1,253,252,20,0,253,252,132,254,76,0,253,252,57,0,253,252,193,254,96,0,112,0,199,255,253,252,94,254,253,252,243,255,72,3,83,255,235,255,198,255,6,255,103,254,240,255,3,5,184,255,70,3,4,0,241,255,253,252,253,252,7,255,253,252,238,3,150,5,253,252,12,0,15,1,178,254,77,0,78,0,253,252,159,254,17,255,30,0,219,254,10,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,38,1,74,255,125,254,200,255,207,253,253,252,80,253,77,253,209,0,253,252,4,254,253,252,163,253,253,252,202,255,253,252,253,252,158,0,253,252,253,252,253,252,179,255,253,252,253,252,128,254,253,252,210,255,253,252,253,252,253,252,253,252,253,252,94,2,253,2,253,252,253,252,253,252,253,252,253,252,55,255,80,254,253,252,122,1,253,252,253,252,253,252,0,0,253,252,253,252,253,252,210,5,115,5,110,3,43,6,253,252,253,252,86,0,232,254,14,253,121,254,166,253,184,0,165,253,150,253,254,252,38,0,221,0,253,252,30,254,253,252,240,254,107,1,253,252,253,252,253,252,5,0,87,254,63,3,189,254,253,252,197,2,2,0,231,255,80,0,203,253,11,255,251,255,48,0,253,252,223,255,254,255,255,255,1,0,2,0,64,0,65,0,66,0,6,1,136,1], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+40978);
    1601 /* memory initializer */ allocate([137,1,15,1,16,1,184,1,68,0,69,0,202,0,70,0,71,0,74,2,203,2,72,0,73,0,17,1,74,0,75,0,76,0,209,1,77,0,203,0,113,0,114,0,227,0,228,0,229,0,111,2,195,0,196,0,79,0,244,0,22,1,54,2,195,2,176,1,177,1,253,0,254,0,246,0,168,1,178,1,13,2,80,0,199,0,20,1,136,2,21,1,36,1,154,2,209,0,230,2,210,0,231,2,110,2,119,3,77,2,75,2,43,3,132,1,134,1,86,2,87,2,49,3,9,1,140,1,102,2,222,2,223,2,215,0,149,2,150,2,151,2,11,3,175,2,176,2,252,2,128,3,129,3,225,1,0,3,74,1,8,2,82,0,83,0,120,1,68,2,67,2,161,1,122,3,90,2,216,2,51,3,55,3,84,0,85,0,49,1,50,1,240,1,86,0,87,0,88,0,112,2,121,2,245,1,246,1,247,1,167,2,89,0,90,0,91,0,43,1,92,0,93,0,205,0,206,0,96,0,207,0,128,1,76,2,211,2,212,2,227,1,228,1,229,1,230,1,231,1,232,1,15,3,16,3,233,1,234,1,235,1,236,1,4,3,156,2,198,0,133,1,27,1,179,1,249,0,119,0,81,2,56,2,112,1,234,0,173,1,174,1,191,2,200,1,141,1,4,1,158,1,237,0,19,1,0,0,145,0,146,0,0,0,1,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,19,0,21,0,22,0,23,0,24,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,39,0,45,0,46,0,47,0,48,0,49,0,51,0,52,0,53,0,54,0,55,0,56,0,58,0,59,0,60,0,63,0,66,0,67,0,69,0,70,0,89,0,92,0,93,0,95,0,96,0,98,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,109,0,129,0,130,0,131,0,147,0,148,0,149,0,154,0,156,0,157,0,159,0,160,0,163,0,164,0,166,0,167,0,168,0,170,0,171,0,180,0,193,0,214,0,233,0,234,0,244,0,245,0,249,0,250,0,251,0,2,1,3,1,4,1,6,1,7,1,8,1,9,1,10,1,11,1,35,1,48,1,149,0,21,0,22,0,30,0,31,0,32,0,39,0,51,0,55,0,86,0,89,0,92,0,129,0,172,0,173,0,193,0,214,0,8,1,11,1,35,1,173,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,55,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,80,0,81,0,84,0,85,0,86,0,87,0,98,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,130,0,131,0,138,0,139,0,174,0,178,0,179,0,10,1,30,1,194,0,89,0,157,0,158,0,171,0,214,0,8,1,9,1,11,1,158,0,200,0,202,0,89,0,164,0,171,0,214,0,219,0,8,1,11,1,33,0,34,0,35,0,36,0,48,0,49,0,51,0,55,0,101,0,174,0,175,0,176,0,4,1,142,0,143,0,158,0,39,1,44,1,45,1,47,1,57,0,98,0,99,0,130,0,163,0,180,0,181,0,186,0,189,0,191,0,33,1,34,1,186,0,186,0,139,0,187,0,188,0,139,0,183,0,187,0,139,0,40,1,45,1,175,0,150,0,133,0,180,0,214,0,180,0,55,0,1,0,92,0,152,0,153,0,154,0,165,0,166,0,48,1,195,0,197,0,182,0,191,0,33,1,48,1,181,0,32,1,33,1,48,1,89,0,137,0,170,0,214,0,8,1,11,1,198,0,53,0,54,0,56,0,63,0,105,0,174,0,5,1,62,0,64,0,65,0,111,0,112,0,246,0,247,0,63,0,246,0,63,0,246,0,63,0,246,0,61,0,246,0,58,0,59,0,159,0,180,0,180,0,39,1,47,1,40,0,41,0,42,0,43,0,44,0,37,0,38,0,28,0,231,0,116,0,137,0,92,0,98,0,167,0,116,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,86,0,87,0,117,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,88,0,135,0,136,0,88,0,136,0,38,1,26,0,133,0,235,0,90,0,90,0,183,0,187,0,235,0,157,0,51,0,55,0,172,0,58,0,59,0,120,0,12,1,88,0,135,0,136,0,209,0,31,1,210,0,38,1,151,0,152,0,55,0,16,0,215,0,44,1,116,0,88,0,135,0,136,0,90,0,90,0,215,0,158,0,158,0,55,0,88,0,135,0,136,0,25,0,105,0,137,0,46,1,39,1,20,0,238,0,142,0,181,0,181,0,181,0,91,0,137,0,190,0,48,1,137,0,190,0,186,0,40,1,41,1,186,0,185,0,186,0,191,0,33,1,48,1,157,0,41,1,157,0,155,0,133,0,152,0,88,0,136,0,90,0,154,0,165,0,140,0,39,1,47,1,41,1,157,0,41,1,141,0,137,0,43,1,45,1,137,0,43,1,134,0,43,1,55,0,167,0,168,0,169,0,137,0,88,0,135,0,136,0,51,0,53,0,54,0,55,0,56,0,92,0,98,0,99,0,123,0,126,0,139,0,229,0,15,1,16,1,17,1,18,1,19,1,20,1,21,1,24,1,25,1,26,1,27,1,28,1,63,0,247,0,248,0,110,0,113,0,114,0,253,0,254,0,255,0,0,1,62,0,247,0,63,0,63,0,63,0,61,0,71,0,71,0,149,0,158,0,158,0,158,0,158,0,154,0,157,0,157,0,232,0,98,0,159,0,181,0,191,0,192,0,165,0,137,0,170,0,137,0,156,0,159,0,171,0,180,0,181,0,192,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,51,0,52,0,55,0,178,0,183,0,36,1,37,1,185,0,51,0,52,0,55,0,178,0,183,0,36,1,51,0,55,0,36,1,237,0,236,0,159,0,180,0,159,0,180,0,97,0,161,0,207,0,13,1,206,0,51,0,55,0,172,0,36,1,185,0,36,1,151,0,157,0,211,0,212,0,15,0,13,0,240,0,48,1,152,0,16,0,180,0,51,0,55,0,185,0,51,0,55,0,152,0,27,0,216,0,44,1,216,0,51,0,55,0,185,0,51,0,55,0,204,0,177,0,252,0,253,0,238,0,191,0,15,0,181,0,98,0,181,0,189,0,253,0,33,1,34,1,41,1,140,0,41,1,137,0,137,0,41,1,175,0,147,0,134,0,180,0,41,1,154,0,196,0,33,1,167,0,169,0,51,0,55,0,185,0,51,0,55,0,116,0,51,0,92,0,98,0,220,0,221,0,222,0,17,1,15,1,199,0,137,0,29,1,48,1,181,0,137,0,29,1,51,0,137,0,29,1,51,0,63,0,152,0,1,1,254,0,110,0,0,1,180,0,180,0,79,0,121,0,224,0,225,0,48,1,181,0,137,0,41,1,169,0,137,0,116,0,44,0,40,1,90,0,90,0,183,0,187,0,40,1,42,1,90,0,90,0,183,0,184,0,187,0,48,1,184,0,187,0,224,0,224,0,44,0,162,0,44,1,158,0,151,0,42,1,15,0,41,1,139,0,14,1,15,1,174,0,181,0,192,0,241,0,48,1,18,0,218,0,48,1,17,0,217,0,218,0,90,0,90,0,42,1,90,0,90,0,218,0,201,0,203,0,42,1,158,0,175,0,15,0,137,0,215,0,181,0,98,0,181,0,190,0,33,1,134,0,41,1,43,1,42,1,222,0,137,0,17,1,137,0,41,1,226,0,40,1,29,0,108,0,230,0,18,1,24,1,26,1,28,1,19,1,21,1,26,1,19,1,134,0,152,0,223,0,226,0,19,1,20,1,22,1,23,1,26,1,28,1,152,0,98,0,181,0,169,0,180,0,118,0,159,0,180,0,159,0,180,0,161,0,141,0,90,0,159,0,180,0,159,0,180,0,161,0,235,0,231,0,152,0,152,0,180,0,224,0,208,0,44,1,15,0,15,1,151,0,44,1,213,0,91,0,242,0,48,1,152,0,14,0,243,0,48,1,158,0,15,0,90,0,15,0,152,0,152,0,216,0,181,0,152,0,181,0,137,0,41,1,221,0,137,0,98,0,220,0,140,0,142,0,152,0,152,0,137,0,29,1,137,0,29,1,137,0,29,1,137,0,29,1,29,1,134,0,226,0,121,0,137,0,29,1,89,0,214,0,137,0,29,1,137,0,29,1,15,0,181,0,180,0,159,0,180,0,15,0,134,0,152,0,151,0,41,1,15,0,14,1,89,0,171,0,214,0,8,1,11,1,215,0,152,0,215,0,15,0,15,0,205,0,218,0,238,0,239,0,137,0,221,0,137,0,17,1,51,0,227,0,228,0,16,1,15,0,134,0,19,1,26,1,19,1,19,1,121,0,23,1,26,1,55,0,88,0,19,1,22,1,26,1,19,1,134,0,15,0,151,0,55,0,88,0,135,0,136,0,152,0,152,0,152,0,221,0,137,0,137,0,40,1,29,1,137,0,29,1,29,1,29,1,137,0,29,1,137,0,29,1,51,0,55,0,29,1,137,0,29,1,29,1,15,0,51,0,55,0,185,0,51,0,55,0,240,0,217,0,15,0,221,0,228,0,19,1,19,1,26,1,19,1,19,1,42,1,29,1,29,1,137,0,29,1,29,1,29,1,19,1,29,1,73,110,118,97,108,105,100,32,109,114,98,95,115,116,97,116,101,44,32,101,120,105,116,105,110,103,32,109,114,98,99,10,0,37,115,58,32,110,111,32,112,114,111,103,114,97,109,32,102,105,108,101,32,103,105,118,101,110,10,0,46,99,0,46,109,114,98,0,37,115,58,32,111,117,116,112,117,116,32,102,105,108,101,32,115,104,111,117,108,100,32,98,101,32,115,112,101,99,105,102,105,101,100,32,116,111,32,99,111,109,112,105,108,101,32,109,117,108,116,105,112,108,101,32,102,105,108,101,115,10,0,37,115,58,37,115,58,83,121,110,116,97,120,32,79,75,10,0,119,98,0,37,115,58,32,99,97,110,110,111,116,32,111,112,101,110,32,111,117,116,112,117,116,32,102,105,108,101,58,40,37,115,41,10,0,79,117,116,112,117,116,32,102,105,108,101,32,105,115,32,114,101,113,117,105,114,101,100,10,0,37,115,58,32,97,110,32,111,117,116,112,117,116,32,102,105,108,101,32,105,115,32,97,108,114,101,97,100,121,32,115,112,101,99,105,102,105,101,100,46,32,40,37,115,41,10,0,37,115,58,32,102,117,110,99,116,105,111,110,32,110,97,109,101,32,105,115,32,110,111,116,32,115,112,101,99,105,102,105,101,100,46,10,0,118,101,114,115,105,111,110,0,118,101,114,98,111,115,101,0,99,111,112,121,114,105,103,104,116,0,37,115,58,32,103,101,110,101,114,97,116,105,110,103,32,37,115,32,101,110,100,105,97,110,32,67,32,102,105,108,101,46,32,115,112,101,99,105,102,121,32,45,101,47,45,69,32,102,111,114,32,99,114,111,115,115,32,99,111,109,112,105,108,105,110,103,46,10,0,98,105,103,0,108,105,116,116,108,101,0,115,119,105,116,99,104,101,115,58,0,45,99,32,32,32,32,32,32,32,32,32,32,32,99,104,101,99,107,32,115,121,110,116,97,120,32,111,110,108,121,0,45,111,60,111,117,116,102,105,108,101,62,32,32,112,108,97,99,101,32,116,104,101,32,111,117,116,112,117,116,32,105,110,116,111,32,60,111,117,116,102,105,108,101,62,0,45,118,32,32,32,32,32,32,32,32,32,32,32,112,114,105,110,116,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,44,32,116,104,101,110,32,116,117,114,110,32,111,110,32,118,101,114,98,111,115,101,32,109,111,100,101,0,45,103,32,32,32,32,32,32,32,32,32,32,32,112,114,111,100,117,99,101,32,100,101,98,117,103,103,105,110,103,32,105,110,102,111,114,109,97,116,105,111,110,0,45,66,60,115,121,109,98,111,108,62,32,32,32,98,105,110,97,114,121,32,60,115,121,109,98,111,108,62,32,111,117,116,112,117,116,32,105,110,32,67,32,108,97,110,103,117,97,103,101,32,102,111,114,109,97,116,0,45,101,32,32,32,32,32,32,32,32,32,32,32,103,101,110,101,114,97,116,101,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,105,115,101,113,32,100,97,116,97,0,45,69,32,32,32,32,32,32,32,32,32,32,32,103,101,110,101,114,97,116,101,32,98,105,103,32,101,110,100,105,97,110,32,105,115,101,113,32,100,97,116,97,0,45,45,118,101,114,98,111,115,101,32,32,32,32,114,117,110,32,97,116,32,118,101,114,98,111,115,101,32,109,111,100,101,0,45,45,118,101,114,115,105,111,110,32,32,32,32,112,114,105,110,116,32,116,104,101,32,118,101,114,115,105,111,110,0,45,45,99,111,112,121,114,105,103,104,116,32,32,112,114,105,110,116,32,116,104,101,32,99,111,112,121,114,105,103,104,116,0,85,115,97,103,101,58,32,37,115,32,91,115,119,105,116,99,104,101,115,93,32,112,114,111,103,114,97,109,102,105,108,101,10,0,32,32,37,115,10,0,114,0,37,115,58,32,99,97,110,110,111,116,32,111,112,101,110,32,112,114,111,103,114,97,109,32,102,105,108,101,46,32,40,37,115,41,10,0,37,115,58,32,105,110,118,97,108,105,100,32,67,32,108,97,110,103,117,97,103,101,32,115,121,109,98,111,108,32,110,97,109,101,10,0,37,115,58,32,101,114,114,111,114,32,105,110,32,109,114,98,32,100,117,109,112,32,40,37,115,41,32,37,100,10,0,82,73,84,69,0,69,84,73,82,0,48,48,48,51,0,77,65,84,90,0,48,48,48,48,0,69,78,68,0,0,76,86,65,82,0,76,73,78,69,0,68,66,71,0,0,73,82,69,80,0,37,46,56,101,0,47,42,32,100,117,109,112,101,100,32,105,110,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,111,114,100,101,114,46,10,32,32,32,117,115,101,32,96,109,114,98,99,32,45,69,96,32,111,112,116,105,111,110,32,102,111,114,32,98,105,103,32,101,110,100,105,97,110,32,67,80,85,46,32,42,47,10,0,47,42,32,100,117,109,112,101,100,32,105,110,32,98,105,103,32,101,110,100,105,97,110,32,111,114,100,101,114,46,10,32,32,32,117,115,101,32,96,109,114,98,99,32,45,101,96,32,111,112,116,105,111,110,32,102,111,114,32,98,101,116,116,101,114,32,112,101,114,102,111,114,109,97,110,99,101,32,111,110,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,67,80,85,46,32,42,47,10,0,35,105,110,99,108,117,100,101,32,60,115,116,100,105,110,116,46,104,62,10,0,99,111,110,115,116,32,117,105,110,116,56,95,116,10,35,105,102,32,100,101,102,105,110,101,100,32,95,95,71,78,85,67,95,95,10,95,95,97,116,116,114,105,98,117,116,101,95,95,40,40,97,108,105,103,110,101,100,40,37,117,41,41,41,10,35,101,108,105,102,32,100,101,102,105,110,101,100,32,95,77,83,67,95,86,69,82,10,95,95,100,101,99,108,115,112,101,99,40,97,108,105,103,110,40,37,117,41,41,10,35,101,110,100,105,102,10,37,115,91,93,32,61,32,123,0,48,120,37,48,50,120,44,0,10,125,59,10,0,105,110,118,97,108,105,100,32,102,111,114,109,97,116,32,115,116,114,105,110,103,0,97,114,101,110,97,32,111,118,101,114,102,108,111,119,32,101,114,114,111,114,0,71,67,0,115,116,97,114,116,0,101,110,97,98,108,101,0,100,105,115,97,98,108,101,0,105,110,116,101,114,118,97,108,95,114,97,116,105,111,0,105,110,116,101,114,118,97,108,95,114,97,116,105,111,61,0,115,116,101,112,95,114,97,116,105,111,0,115,116,101,112,95,114,97,116,105,111,61,0,103,101,110,101,114,97,116,105,111,110,97,108,95,109,111,100,101,61,0,103,101,110,101,114,97,116,105,111,110,97,108,95,109,111,100,101,0,2,8,32,128,1,4,16,64,3,12,48,192,105,102,110,111,110,101,0,100,101,102,97,117,108,116,0,100,101,102,97,117,108,116,61,0,100,101,102,97,117,108,116,95,112,114,111,99,0,100,101,102,97,117,108,116,95,112,114,111,99,61,0,95,95,100,101,108,101,116,101,0,104,97,115,95,107,101,121,63,0,104,97,115,95,118,97,108,117,101,63,0,107,101,121,63,0,107,101,121,115,0,115,116,111,114,101,0,118,97,108,117,101,63,0,118,97,108,117,101,115,0,38,124,111,63,0,124,111,63,0,111,111,0,110,111,110,32,102,108,111,97,116,32,118,97,108,117,101,0,70,108,111,97,116,68,111,109,97,105,110,69,114,114,111,114,0,45,73,110,102,105,110,105,116,121,0,73,110,102,105,110,105,116,121,0,78,97,78,0,105,110,118,97,108,105,100,32,114,97,100,105,120,32,37,83,0,78,117,109,101,114,105,99,0,113,117,111,0,100,105,118,109,111,100,0,99,101,105,108,0,102,105,110,105,116,101,63,0,102,108,111,111,114,0,105,110,102,105,110,105,116,101,63,0,114,111,117,110,100,0,116,114,117,110,99,97,116,101,0,110,97,110,63,0,73,78,70,73,78,73,84,89,0,37,46,55,103,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,70,108,111,97,116,32,105,110,116,111,32,73,110,116,101,103,101,114,0,102,0,78,105,108,67,108,97,115,115,0,84,114,117,101,67,108,97,115,115,0,70,97,108,115,101,67,108,97,115,115,0,98,0,73,110,116,101,103,101,114,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,37,83,32,105,110,116,111,32,37,83,0,37,83,32,99,97,110,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,32,116,111,32,37,83,32,98,121,32,35,37,83,0,70,105,120,110,117,109,0,117,110,107,110,111,119,110,32,116,121,112,101,32,37,83,32,40,37,83,32,103,105,118,101,110,41,0,105,67,108,97,115,115,0,83,67,108,97,115,115,0,70,108,111,97,116,0,70,105,108,101,0,68,97,116,97,0,35,60,0,99,108,97,115,115,32,111,114,32,109,111,100,117,108,101,32,114,101,113,117,105,114,101,100,0,116,111,95,105,110,116,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,37,83,32,116,111,32,73,110,116,101,103,101,114,32,40,37,83,35,37,83,32,103,105,118,101,115,32,37,83,41,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,110,105,108,32,105,110,116,111,32,73,110,116,101,103,101,114,0,98,97,115,101,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,110,111,110,32,115,116,114,105,110,103,32,118,97,108,117,101,0,109,97,105,110,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,0,115,116,114,105,110,103,32,99,97,112,97,99,105,116,121,32,115,105,122,101,32,116,111,111,32,98,105,103,0,115,116,114,105,110,103,32,115,105,122,101,32,116,111,111,32,98,105,103,0,115,116,114,105,110,103,32,99,111,110,116,97,105,110,115,32,110,117,108,108,32,98,121,116,101,0,99,97,110,39,116,32,109,111,100,105,102,121,32,102,114,111,122,101,110,32,115,116,114,105,110,103,0,82,101,103,101,120,112,32,99,108,97,115,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,105,108,108,101,103,97,108,32,114,97,100,105,120,32,37,83,0,115,116,114,105,110,103,32,40,37,83,41,32,116,111,111,32,98,105,103,32,102,111,114,32,105,110,116,101,103,101,114,0,105,110,118,97,108,105,100,32,115,116,114,105,110,103,32,102,111,114,32,110,117,109,98,101,114,40,37,83,41,0,105,110,118,97,108,105,100,32,115,116,114,105,110,103,32,102,111,114,32,102,108,111,97,116,40,37,83,41,0,115,116,114,105,110,103,32,102,111,114,32,70,108,111,97,116,32,99,111,110,116,97,105,110,115,32,110,117,108,108,32,98,121,116,101,0,34,0,98,121,116,101,115,105,122,101,0,99,97,112,105,116,97,108,105,122,101,0,99,97,112,105,116,97,108,105,122,101,33,0,99,104,111,109,112,0,99,104,111,109,112,33,0,99,104,111,112,0,99,104,111,112,33,0,100,111,119,110,99,97,115,101,0,100,111,119,110,99,97,115,101,33,0,115,112,108,105,116,0,116,111,95,102,0,116,111,95,105,0,117,112,99,97,115,101,0,117,112,99,97,115,101,33,0,98,121,116,101,115,0,102,114,101,101,122,101,0,124,111,105,0,116,121,112,101,32,109,105,115,109,97,116,99,104,58,32,37,83,32,103,105,118,101,110,0,83,0,124,83,0,111,124,111,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,37,83,32,102,111,114,32,49,41,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,116,111,32,70,105,120,110,117,109,0,97,114,103,117,109,101,110,116,32,116,111,111,32,98,105,103,0,2,8,32,128,1,4,16,64,3,12,48,192,115,121,109,98,111,108,32,108,101,110,103,116,104,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,0,105,100,50,110,97,109,101,0,116,111,95,115,121,109,0,99,97,110,110,111,116,32,115,101,116,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,0,39,37,83,39,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,97,115,32,97,110,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,32,110,97,109,101,0,45,60,0,117,110,105,110,105,116,105,97,108,105,122,101,100,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,37,83,32,105,110,32,37,83,0,99,111,110,115,116,97,110,116,32,108,111,111,107,45,117,112,32,102,111,114,32,110,111,110,32,99,108,97,115,115,47,109,111,100,117,108,101,0,84,111,111,32,108,111,110,103,32,97,114,103,117,109,101,110,116,115,46,32,40,108,105,109,105,116,61,56,41,0,110,101,103,97,116,105,118,101,32,97,114,103,99,32,102,111,114,32,102,117,110,99,97,108,108,32,40,37,83,41,0,115,117,112,101,114,32,99,97,108,108,101,100,32,111,117,116,115,105,100,101,32,111,102,32,109,101,116,104,111,100,0,116,111,95,112,114,111,99,0,70,105,98,101,114,69,114,114,111,114,0,100,111,117,98,108,101,32,114,101,115,117,109,101,0,110,111,32,116,97,114,103,101,116,32,99,108,97,115,115,32,111,114,32,109,111,100,117,108,101,0,79,80,95,68,69,66,85,71,32,37,100,32,37,100,32,37,100,10,0,76,111,99,97,108,74,117,109,112,69,114,114,111,114,0,114,101,116,117,114,110,0,98,114,101,97,107,0,0,121,105,101,108,100,0,0,6,5,5,117,110,101,120,112,101,99,116,101,100,32,0,39,37,83,39,58,32,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,37,83,32,102,111,114,32,37,83,41,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,37,83,32,102,111,114,32,37,83,41,0,115,116,97,99,107,32,108,101,118,101,108,32,116,111,111,32,100,101,101,112,46,32,40,108,105,109,105,116,61,40,48,120,52,48,48,48,48,32,45,32,49,50,56,41,41,0,110,42,38,0,124,83,38,0,109,111,100,117,108,101,95,101,118,97,108,47,99,108,97,115,115,95,101,118,97,108,32,119,105,116,104,32,115,116,114,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,115,116,97,110,99,101,95,101,118,97,108,32,119,105,116,104,32,115,116,114,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,101,114,114,111,114,0,37,115,58,37,100,58,37,100,58,32,37,115,10,0,108,105,110,101,32,37,100,58,37,100,58,32,37,115,10,0,78,79,68,69,95,66,69,71,73,78,58,10,0,78,79,68,69,95,82,69,83,67,85,69,58,10,0,98,111,100,121,58,10,0,114,101,115,99,117,101,58,10,0,104,97,110,100,108,101,32,99,108,97,115,115,101,115,58,10,0,101,120,99,95,118,97,114,58,10,0,114,101,115,99,117,101,32,98,111,100,121,58,10,0,101,108,115,101,58,10,0,78,79,68,69,95,69,78,83,85,82,69,58,10,0,101,110,115,117,114,101,58,10,0,78,79,68,69,95,66,76,79,67,75,58,10,0,109,97,110,100,97,116,111,114,121,32,97,114,103,115,58,10,0,111,112,116,105,111,110,97,108,32,97,114,103,115,58,10,0,37,115,61,0,114,101,115,116,61,42,37,115,10,0,112,111,115,116,32,109,97,110,100,97,116,111,114,121,32,97,114,103,115,58,10,0,98,108,107,61,38,37,115,10,0,78,79,68,69,95,73,70,58,10,0,99,111,110,100,58,10,0,116,104,101,110,58,10,0,78,79,68,69,95,65,78,68,58,10,0,78,79,68,69,95,79,82,58,10,0,78,79,68,69,95,67,65,83,69,58,10,0,99,97,115,101,58,10,0,78,79,68,69,95,87,72,73,76,69,58,10,0,78,79,68,69,95,85,78,84,73,76,58,10,0,78,79,68,69,95,70,79,82,58,10,0,118,97,114,58,10,0,112,114,101,58,10,0,114,101,115,116,58,10,0,112,111,115,116,58,10,0,105,110,58,10,0,100,111,58,10,0,78,79,68,69,95,83,67,79,80,69,58,10,0,108,111,99,97,108,32,118,97,114,105,97,98,108,101,115,58,10,0,44,32,0,37,115,0,78,79,68,69,95,67,65,76,76,58,10,0,109,101,116,104,111,100,61,39,37,115,39,32,40,37,100,41,10,0,97,114,103,115,58,10,0,98,108,111,99,107,58,10,0,78,79,68,69,95,68,79,84,50,58,10,0,78,79,68,69,95,68,79,84,51,58,10,0,78,79,68,69,95,67,79,76,79,78,50,58,10,0,58,58,37,115,10,0,78,79,68,69,95,67,79,76,79,78,51,58,32,58,58,37,115,10,0,78,79,68,69,95,65,82,82,65,89,58,10,0,78,79,68,69,95,72,65,83,72,58,10,0,107,101,121,58,10,0,118,97,108,117,101,58,10,0,78,79,68,69,95,83,80,76,65,84,58,10,0,78,79,68,69,95,65,83,71,78,58,10,0,108,104,115,58,10,0,114,104,115,58,10,0,78,79,68,69,95,77,65,83,71,78,58,10,0,109,108,104,115,58,10,0,40,101,109,112,116,121,41,10,0,78,79,68,69,95,79,80,95,65,83,71,78,58,10,0,111,112,61,39,37,115,39,32,40,37,100,41,10,0,78,79,68,69,95,83,85,80,69,82,58,10,0,78,79,68,69,95,90,83,85,80,69,82,10,0,78,79,68,69,95,82,69,84,85,82,78,58,10,0,78,79,68,69,95,89,73,69,76,68,58,10,0,78,79,68,69,95,66,82,69,65,75,58,10,0,78,79,68,69,95,78,69,88,84,58,10,0,78,79,68,69,95,82,69,68,79,10,0,78,79,68,69,95,82,69,84,82,89,10,0,78,79,68,69,95,76,86,65,82,32,37,115,10,0,78,79,68,69,95,71,86,65,82,32,37,115,10,0,78,79,68,69,95,73,86,65,82,32,37,115,10,0,78,79,68,69,95,67,86,65,82,32,37,115,10,0,78,79,68,69,95,67,79,78,83,84,32,37,115,10,0,78,79,68,69,95,77,65,84,67,72,58,10,0,78,79,68,69,95,66,65,67,75,95,82,69,70,58,32,36,37,99,10,0,78,79,68,69,95,78,84,72,95,82,69,70,58,32,36,37,100,10,0,78,79,68,69,95,65,82,71,32,37,115,10,0,78,79,68,69,95,66,76,79,67,75,95,65,82,71,58,10,0,78,79,68,69,95,73,78,84,32,37,115,32,98,97,115,101,32,37,100,10,0,78,79,68,69,95,70,76,79,65,84,32,37,115,10,0,78,79,68,69,95,78,69,71,65,84,69,10,0,78,79,68,69,95,83,84,82,32,34,37,115,34,32,108,101,110,32,37,100,10,0,78,79,68,69,95,68,83,84,82,10,0,78,79,68,69,95,88,83,84,82,32,34,37,115,34,32,108,101,110,32,37,100,10,0,78,79,68,69,95,68,88,83,84,82,10,0,78,79,68,69,95,82,69,71,88,32,47,37,115,47,37,115,10,0,78,79,68,69,95,68,82,69,71,88,10,0,116,97,105,108,58,32,37,115,10,0,111,112,116,58,32,37,115,10,0,78,79,68,69,95,83,89,77,32,58,37,115,10,0,78,79,68,69,95,83,69,76,70,10,0,78,79,68,69,95,78,73,76,10,0,78,79,68,69,95,84,82,85,69,10,0,78,79,68,69,95,70,65,76,83,69,10,0,78,79,68,69,95,65,76,73,65,83,32,37,115,32,37,115,58,10,0,78,79,68,69,95,85,78,68,69,70,0,32,37,115,0,58,10,0,78,79,68,69,95,67,76,65,83,83,58,10,0,58,37,115,10,0,115,117,112,101,114,58,10,0,78,79,68,69,95,77,79,68,85,76,69,58,10,0,78,79,68,69,95,83,67,76,65,83,83,58,10,0,78,79,68,69,95,68,69,70,58,10,0,37,115,10,0,78,79,68,69,95,83,68,69,70,58,10,0,78,79,68,69,95,80,79,83,84,69,88,69,58,10,0,78,79,68,69,95,72,69,82,69,68,79,67,58,10,0,110,111,100,101,32,116,121,112,101,58,32,37,100,32,40,48,120,37,120,41,10,0,37,48,53,100,32,0,0,2,2,2,2,2,2,2,2,2,143,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,130,2,2,2,128,123,2,139,140,126,124,137,125,136,127,2,2,2,2,2,2,2,2,2,2,118,142,120,116,119,117,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,135,2,141,122,2,138,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,133,121,134,131,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,129,132,0,2,0,2,2,1,1,3,2,1,0,5,4,2,1,1,3,2,0,4,2,3,3,3,3,3,4,1,3,3,6,5,5,5,5,3,3,3,3,1,3,3,1,3,3,3,2,1,1,1,1,1,4,0,5,2,3,4,5,4,5,2,2,2,2,2,1,3,1,3,1,2,3,5,2,4,2,4,1,3,1,3,2,3,1,2,1,4,3,3,3,3,2,1,1,4,3,3,3,3,2,1,1,1,2,1,3,1,1,1,1,1,1,1,1,0,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,5,3,5,6,5,5,5,5,4,3,3,3,3,3,3,3,3,3,4,4,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,6,1,1,1,2,4,2,3,1,1,1,1,2,4,2,1,2,2,4,1,0,2,2,2,1,1,2,3,4,4,5,3,4,2,1,1,1,1,1,1,1,1,0,4,0,0,5,0,3,3,3,2,3,3,1,4,3,1,4,3,2,1,2,0,0,5,6,6,0,0,7,0,0,7,5,4,0,0,9,0,6,0,0,8,0,5,0,0,7,0,0,9,1,1,1,1,1,1,1,2,1,1,1,5,1,2,1,1,1,3,1,3,1,4,6,3,5,2,4,1,3,6,8,4,6,4,2,6,2,4,6,2,4,2,4,1,1,1,3,1,4,1,4,1,3,1,1,4,1,3,3,0,5,2,4,5,5,2,4,4,3,3,3,2,1,4,0,5,0,5,5,1,1,6,1,1,1,1,2,1,2,1,1,1,1,1,1,1,2,3,1,2,1,0,4,1,2,2,3,2,3,1,0,1,1,2,1,2,1,2,1,0,4,2,3,1,4,2,1,1,1,1,1,2,2,3,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,4,3,2,6,8,4,6,4,6,2,4,6,2,4,2,4,1,0,1,1,1,1,1,1,1,3,1,3,2,2,2,1,3,1,3,1,1,2,1,1,1,2,2,1,1,0,4,1,2,1,3,3,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,2,2,0,1,1,1,1,0,3,1,2,0,66,69,71,73,78,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,101,108,115,101,32,119,105,116,104,111,117,116,32,114,101,115,99,117,101,32,105,115,32,117,115,101,108,101,115,115,0,69,78,68,32,110,111,116,32,115,117,112,111,114,116,101,100,0,99,111,110,115,116,97,110,116,32,114,101,45,97,115,115,105,103,110,109,101,110,116,0,100,121,110,97,109,105,99,32,99,111,110,115,116,97,110,116,32,97,115,115,105,103,110,109,101,110,116,0,99,108,97,115,115,47,109,111,100,117,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,67,79,78,83,84,65,78,84,0,61,126,0,33,126,0,62,61,0,60,61,0,62,62,0,42,42,0,43,64,0,45,64,0,47,0,37,0,124,0,94,0,60,0,126,0,99,108,97,115,115,32,100,101,102,105,110,105,116,105,111,110,32,105,110,32,109,101,116,104,111,100,32,98,111,100,121,0,109,111,100,117,108,101,32,100,101,102,105,110,105,116,105,111,110,32,105,110,32,109,101,116,104,111,100,32,98,111,100,121,0,98,108,111,99,107,32,103,105,118,101,110,32,116,111,32,121,105,101,108,100,0,37,100,0,102,111,114,109,97,108,32,97,114,103,117,109,101,110,116,32,99,97,110,110,111,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,0,102,111,114,109,97,108,32,97,114,103,117,109,101,110,116,32,99,97,110,110,111,116,32,98,101,32,97,110,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,0,102,111,114,109,97,108,32,97,114,103,117,109,101,110,116,32,99,97,110,110,111,116,32,98,101,32,97,32,103,108,111,98,97,108,32,118,97,114,105,97,98,108,101,0,102,111,114,109,97,108,32,97,114,103,117,109,101,110,116,32,99,97,110,110,111,116,32,98,101,32,97,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,0,99,97,110,39,116,32,100,101,102,105,110,101,32,115,105,110,103,108,101,116,111,110,32,109,101,116,104,111,100,32,102,111,114,32,40,41,46,0,99,97,110,39,116,32,100,101,102,105,110,101,32,115,105,110,103,108,101,116,111,110,32,109,101,116,104,111,100,32,102,111,114,32,108,105,116,101,114,97,108,115,0,115,121,110,116,97,120,32,101,114,114,111,114,0,69,114,114,111,114,58,32,100,105,115,99,97,114,100,105,110,103,0,69,114,114,111,114,58,32,112,111,112,112,105,110,103,0,109,101,109,111,114,121,32,101,120,104,97,117,115,116,101,100,0,67,108,101,97,110,117,112,58,32,100,105,115,99,97,114,100,105,110,103,32,108,111,111,107,97,104,101,97,100,0,67,108,101,97,110,117,112,58,32,112,111,112,112,105,110,103,0,68,101,108,101,116,105,110,103,0,44,32,101,120,112,101,99,116,105,110,103,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,0,32,111,114,32,37,115,0,36,101,110,100,0,101,114,114,111,114,0,36,117,110,100,101,102,105,110,101,100,0,107,101,121,119,111,114,100,95,99,108,97,115,115,0,107,101,121,119,111,114,100,95,109,111,100,117,108,101,0,107,101,121,119,111,114,100,95,100,101,102,0,107,101,121,119,111,114,100,95,98,101,103,105,110,0,107,101,121,119,111,114,100,95,105,102,0,107,101,121,119,111,114,100,95,117,110,108,101,115,115,0,107,101,121,119,111,114,100,95,119,104,105,108,101,0,107,101,121,119,111,114,100,95,117,110,116,105,108,0,107,101,121,119,111,114,100,95,102,111,114,0,107,101,121,119,111,114,100,95,117,110,100,101,102,0,107,101,121,119,111,114,100,95,114,101,115,99,117,101,0,107,101,121,119,111,114,100,95,101,110,115,117,114,101,0,107,101,121,119,111,114,100,95,101,110,100,0,107,101,121,119,111,114,100,95,116,104,101,110,0,107,101,121,119,111,114,100,95,101,108,115,105,102,0,107,101,121,119,111,114,100,95,101,108,115,101,0,107,101,121,119,111,114,100,95,99,97,115,101,0,107,101,121,119,111,114,100,95,119,104,101,110,0,107,101,121,119,111,114,100,95,98,114,101,97,107,0,107,101,121,119,111,114,100,95,110,101,120,116,0,107,101,121,119,111,114,100,95,114,101,100,111,0,107,101,121,119,111,114,100,95,114,101,116,114,121,0,107,101,121,119,111,114,100,95,105,110,0,107,101,121,119,111,114,100,95,100,111,0,107,101,121,119,111,114,100,95,100,111,95,99,111,110,100,0,107,101,121,119,111,114,100,95,100,111,95,98,108,111,99,107,0,107,101,121,119,111,114,100,95,100,111,95,76,65,77,66,68,65,0,107,101,121,119,111,114,100,95,114,101,116,117,114,110,0,107,101,121,119,111,114,100,95,121,105,101,108,100,0,107,101,121,119,111,114,100,95,115,117,112,101,114,0,107,101,121,119,111,114,100,95,115,101,108,102,0,107,101,121,119,111,114,100,95,110,105,108,0,107,101,121,119,111,114,100,95,116,114,117,101,0,107,101,121,119,111,114,100,95,102,97,108,115,101,0,107,101,121,119,111,114,100,95,97,110,100,0,107,101,121,119,111,114,100,95,111,114,0,107,101,121,119,111,114,100,95,110,111,116,0,109,111,100,105,102,105,101,114,95,105,102,0,109,111,100,105,102,105,101,114,95,117,110,108,101,115,115,0,109,111,100,105,102,105,101,114,95,119,104,105,108,101,0,109,111,100,105,102,105,101,114,95,117,110,116,105,108,0,109,111,100,105,102,105,101,114,95,114,101,115,99,117,101,0,107,101,121,119,111,114,100,95,97,108,105,97,115,0,107,101,121,119,111,114,100,95,66,69,71,73,78,0,107,101,121,119,111,114,100,95,69,78,68,0,107,101,121,119,111,114,100,95,95,76,73,78,69,95,95,0,107,101,121,119,111,114,100,95,95,70,73,76,69,95,95,0,107,101,121,119,111,114,100,95,95,69,78,67,79,68,73,78,71,95,95,0,116,73,68,69,78,84,73,70,73,69,82,0,116,70,73,68,0,116,71,86,65,82,0,116,73,86,65,82,0,116,67,79,78,83,84,65,78,84,0,116,67,86,65,82,0,116,76,65,66,69,76,0,116,73,78,84,69,71,69,82,0,116,70,76,79,65,84,0,116,67,72,65,82,0,116,88,83,84,82,73,78,71,0,116,82,69,71,69,88,80,0,116,83,84,82,73,78,71,0,116,83,84,82,73,78,71,95,80,65,82,84,0,116,83,84,82,73,78,71,95,77,73,68,0,116,78,84,72,95,82,69,70,0,116,66,65,67,75,95,82,69,70,0,116,82,69,71,69,88,80,95,69,78,68,0,116,85,80,76,85,83,0,116,85,77,73,78,85,83,0,116,80,79,87,0,116,67,77,80,0,116,69,81,0,116,69,81,81,0,116,78,69,81,0,116,71,69,81,0,116,76,69,81,0,116,65,78,68,79,80,0,116,79,82,79,80,0,116,77,65,84,67,72,0,116,78,77,65,84,67,72,0,116,68,79,84,50,0,116,68,79,84,51,0,116,65,82,69,70,0,116,65,83,69,84,0,116,76,83,72,70,84,0,116,82,83,72,70,84,0,116,67,79,76,79,78,50,0,116,67,79,76,79,78,51,0,116,79,80,95,65,83,71,78,0,116,65,83,83,79,67,0,116,76,80,65,82,69,78,0,116,76,80,65,82,69,78,95,65,82,71,0,116,82,80,65,82,69,78,0,116,76,66,82,65,67,75,0,116,76,66,82,65,67,69,0,116,76,66,82,65,67,69,95,65,82,71,0,116,83,84,65,82,0,116,65,77,80,69,82,0,116,76,65,77,66,68,65,0,116,83,89,77,66,69,71,0,116,82,69,71,69,88,80,95,66,69,71,0,116,87,79,82,68,83,95,66,69,71,0,116,83,89,77,66,79,76,83,95,66,69,71,0,116,83,84,82,73,78,71,95,66,69,71,0,116,88,83,84,82,73,78,71,95,66,69,71,0,116,83,84,82,73,78,71,95,68,86,65,82,0,116,76,65,77,66,69,71,0,116,72,69,82,69,68,79,67,95,66,69,71,0,116,72,69,82,69,68,79,67,95,69,78,68,0,116,76,73,84,69,82,65,76,95,68,69,76,73,77,0,116,72,68,95,76,73,84,69,82,65,76,95,68,69,76,73,77,0,116,72,68,95,83,84,82,73,78,71,95,80,65,82,84,0,116,72,68,95,83,84,82,73,78,71,95,77,73,68,0,116,76,79,87,69,83,84,0,39,61,39,0,39,63,39,0,39,58,39,0,39,62,39,0,39,60,39,0,39,124,39,0,39,94,39,0,39,38,39,0,39,43,39,0,39,45,39,0,39,42,39,0,39,47,39,0,39,37,39,0,116,85,77,73,78,85,83,95,78,85,77,0,39,33,39,0,39,126,39,0,116,76,65,83,84,95,84,79,75,69,78,0,39,123,39,0,39,125,39,0,39,91,39,0,39,46,39,0,39,44,39,0,39,96,39,0,39,40,39,0,39,41,39,0,39,93,39,0,39,59,39,0,39,92,110,39,0,36,97,99,99,101,112,116,0,112,114,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+51218);
    1602 /* memory initializer */ allocate([103,114,97,109,0,36,64,49,0,116,111,112,95,99,111,109,112,115,116,109,116,0,116,111,112,95,115,116,109,116,115,0,116,111,112,95,115,116,109,116,0,64,50,0,98,111,100,121,115,116,109,116,0,99,111,109,112,115,116,109,116,0,115,116,109,116,115,0,115,116,109,116,0,36,64,51,0,99,111,109,109,97,110,100,95,97,115,103,110,0,101,120,112,114,0,101,120,112,114,95,118,97,108,117,101,0,99,111,109,109,97,110,100,95,99,97,108,108,0,98,108,111,99,107,95,99,111,109,109,97,110,100,0,99,109,100,95,98,114,97,99,101,95,98,108,111,99,107,0,36,64,52,0,99,111,109,109,97,110,100,0,109,108,104,115,0,109,108,104,115,95,105,110,110,101,114,0,109,108,104,115,95,98,97,115,105,99,0,109,108,104,115,95,105,116,101,109,0,109,108,104,115,95,108,105,115,116,0,109,108,104,115,95,112,111,115,116,0,109,108,104,115,95,110,111,100,101,0,108,104,115,0,99,110,97,109,101,0,99,112,97,116,104,0,102,110,97,109,101,0,102,115,121,109,0,117,110,100,101,102,95,108,105,115,116,0,36,64,53,0,111,112,0,114,101,115,119,111,114,100,115,0,97,114,103,0,97,114,103,95,118,97,108,117,101,0,97,114,101,102,95,97,114,103,115,0,112,97,114,101,110,95,97,114,103,115,0,111,112,116,95,112,97,114,101,110,95,97,114,103,115,0,111,112,116,95,99,97,108,108,95,97,114,103,115,0,99,97,108,108,95,97,114,103,115,0,99,111,109,109,97,110,100,95,97,114,103,115,0,64,54,0,98,108,111,99,107,95,97,114,103,0,111,112,116,95,98,108,111,99,107,95,97,114,103,0,97,114,103,115,0,109,114,104,115,0,112,114,105,109,97,114,121,0,64,55,0,64,56,0,36,64,57,0,36,64,49,48,0,64,49,49,0,64,49,50,0,36,64,49,51,0,36,64,49,52,0,36,64,49,53,0,36,64,49,54,0,36,64,49,55,0,36,64,49,56,0,64,49,57,0,64,50,48,0,64,50,49,0,64,50,50,0,64,50,51,0,64,50,52,0,64,50,53,0,64,50,54,0,112,114,105,109,97,114,121,95,118,97,108,117,101,0,116,104,101,110,0,100,111,0,105,102,95,116,97,105,108,0,111,112,116,95,101,108,115,101,0,102,111,114,95,118,97,114,0,102,95,109,97,114,103,0,102,95,109,97,114,103,95,108,105,115,116,0,102,95,109,97,114,103,115,0,98,108,111,99,107,95,112,97,114,97,109,0,111,112,116,95,98,108,111,99,107,95,112,97,114,97,109,0,98,108,111,99,107,95,112,97,114,97,109,95,100,101,102,0,111,112,116,95,98,118,95,100,101,99,108,0,98,118,95,100,101,99,108,115,0,98,118,97,114,0,102,95,108,97,114,103,108,105,115,116,0,108,97,109,98,100,97,95,98,111,100,121,0,100,111,95,98,108,111,99,107,0,36,64,50,55,0,98,108,111,99,107,95,99,97,108,108,0,109,101,116,104,111,100,95,99,97,108,108,0,98,114,97,99,101,95,98,108,111,99,107,0,64,50,56,0,64,50,57,0,99,97,115,101,95,98,111,100,121,0,99,97,115,101,115,0,111,112,116,95,114,101,115,99,117,101,0,101,120,99,95,108,105,115,116,0,101,120,99,95,118,97,114,0,111,112,116,95,101,110,115,117,114,101,0,108,105,116,101,114,97,108,0,115,116,114,105,110,103,0,115,116,114,105,110,103,95,114,101,112,0,115,116,114,105,110,103,95,105,110,116,101,114,112,0,64,51,48,0,120,115,116,114,105,110,103,0,114,101,103,101,120,112,0,104,101,114,101,100,111,99,0,111,112,116,95,104,101,114,101,100,111,99,95,98,111,100,105,101,115,0,104,101,114,101,100,111,99,95,98,111,100,105,101,115,0,104,101,114,101,100,111,99,95,98,111,100,121,0,104,101,114,101,100,111,99,95,115,116,114,105,110,103,95,114,101,112,0,104,101,114,101,100,111,99,95,115,116,114,105,110,103,95,105,110,116,101,114,112,0,64,51,49,0,119,111,114,100,115,0,115,121,109,98,111,108,0,98,97,115,105,99,95,115,121,109,98,111,108,0,115,121,109,0,115,121,109,98,111,108,115,0,110,117,109,101,114,105,99,0,118,97,114,105,97,98,108,101,0,118,97,114,95,108,104,115,0,118,97,114,95,114,101,102,0,98,97,99,107,114,101,102,0,36,64,51,50,0,102,95,97,114,103,108,105,115,116,0,102,95,97,114,103,115,0,102,95,98,97,100,95,97,114,103,0,102,95,110,111,114,109,95,97,114,103,0,102,95,97,114,103,95,105,116,101,109,0,102,95,97,114,103,0,102,95,111,112,116,95,97,115,103,110,0,102,95,111,112,116,0,102,95,98,108,111,99,107,95,111,112,116,0,102,95,98,108,111,99,107,95,111,112,116,97,114,103,0,102,95,111,112,116,97,114,103,0,114,101,115,116,97,114,103,95,109,97,114,107,0,102,95,114,101,115,116,95,97,114,103,0,98,108,107,97,114,103,95,109,97,114,107,0,102,95,98,108,111,99,107,95,97,114,103,0,111,112,116,95,102,95,98,108,111,99,107,95,97,114,103,0,115,105,110,103,108,101,116,111,110,0,36,64,51,51,0,97,115,115,111,99,95,108,105,115,116,0,97,115,115,111,99,115,0,97,115,115,111,99,0,111,112,101,114,97,116,105,111,110,0,111,112,101,114,97,116,105,111,110,50,0,111,112,101,114,97,116,105,111,110,51,0,100,111,116,95,111,114,95,99,111,108,111,110,0,111,112,116,95,116,101,114,109,115,0,111,112,116,95,110,108,0,114,112,97,114,101,110,0,114,98,114,97,99,107,101,116,0,116,114,97,105,108,101,114,0,116,101,114,109,0,110,108,0,36,64,51,52,0,116,101,114,109,115,0,110,111,110,101,0,98,108,111,99,107,32,97,114,103,117,109,101,110,116,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,103,105,118,101,110,0,98,111,116,104,32,98,108,111,99,107,32,97,114,103,32,97,110,100,32,97,99,116,117,97,108,32,98,108,111,99,107,32,103,105,118,101,110,0,99,97,110,39,116,32,115,101,116,32,118,97,114,105,97,98,108,101,32,36,37,100,0,99,97,110,39,116,32,115,101,116,32,118,97,114,105,97,98,108,101,32,36,37,99,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,32,105,110,32,98,97,99,107,114,101,102,95,101,114,114,111,114,40,41,32,58,32,110,61,62,99,97,114,32,61,61,32,37,83,0,39,42,39,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,112,114,101,102,105,120,0,10,61,101,110,100,0,101,109,98,101,100,100,101,100,32,100,111,99,117,109,101,110,116,32,109,101,101,116,115,32,101,110,100,32,111,102,32,102,105,108,101,0,105,110,99,111,109,112,108,101,116,101,32,99,104,97,114,97,99,116,101,114,32,115,121,110,116,97,120,0,105,110,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,115,121,110,116,97,120,59,32,117,115,101,32,63,92,37,99,0,38,38,0,39,38,39,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,112,114,101,102,105,120,0,124,124,0,110,111,32,46,60,100,105,103,105,116,62,32,102,108,111,97,116,105,110,103,32,108,105,116,101,114,97,108,32,97,110,121,109,111,114,101,59,32,112,117,116,32,48,32,98,101,102,111,114,101,32,100,111,116,0,110,117,109,101,114,105,99,32,108,105,116,101,114,97,108,32,119,105,116,104,111,117,116,32,100,105,103,105,116,115,0,73,110,118,97,108,105,100,32,111,99,116,97,108,32,100,105,103,105,116,0,48,0,116,114,97,105,108,105,110,103,32,39,37,99,39,32,105,110,32,110,117,109,98,101,114,0,99,111,114,114,117,112,116,101,100,32,102,108,111,97,116,32,118,97,108,117,101,32,37,115,0,102,108,111,97,116,32,37,115,32,111,117,116,32,111,102,32,114,97,110,103,101,0,117,110,107,110,111,119,110,32,116,121,112,101,32,111,102,32,37,115,116,114,105,110,103,0,117,110,116,101,114,109,105,110,97,116,101,100,32,113,117,111,116,101,100,32,115,116,114,105,110,103,32,109,101,101,116,115,32,101,110,100,32,111,102,32,102,105,108,101,0,105,110,99,111,109,112,108,101,116,101,32,103,108,111,98,97,108,32,118,97,114,105,97,98,108,101,32,115,121,110,116,97,120,0,99,97,112,116,117,114,101,32,103,114,111,117,112,32,105,110,100,101,120,32,109,117,115,116,32,98,101,32,60,61,32,37,100,0,105,110,99,111,109,112,108,101,116,101,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,32,115,121,110,116,97,120,0,105,110,99,111,109,112,108,101,116,101,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,115,121,110,116,97,120,0,39,64,37,99,39,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,97,115,32,97,110,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,32,110,97,109,101,0,39,64,64,37,99,39,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,97,115,32,97,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,110,97,109,101,0,73,110,118,97,108,105,100,32,99,104,97,114,32,39,92,120,37,48,50,88,39,32,105,110,32,101,120,112,114,101,115,115,105,111,110,0,95,95,69,78,68,95,95,0,98,114,101,97,107,0,101,108,115,101,0,110,105,108,0,101,110,115,117,114,101,0,110,111,116,0,102,97,108,115,101,0,115,101,108,102,0,101,108,115,105,102,0,114,101,115,99,117,101,0,116,114,117,101,0,117,110,116,105,108,0,117,110,108,101,115,115,0,114,101,116,117,114,110,0,100,101,102,0,97,110,100,0,121,105,101,108,100,0,102,111,114,0,117,110,100,101,102,0,111,114,0,105,110,0,119,104,101,110,0,114,101,116,114,121,0,105,102,0,99,97,115,101,0,114,101,100,111,0,110,101,120,116,0,115,117,112,101,114,0,109,111,100,117,108,101,0,95,95,76,73,78,69,95,95,0,95,95,70,73,76,69,95,95,0,95,95,69,78,67,79,68,73,78,71,95,95,0,69,78,68,0,97,108,105,97,115,0,66,69,71,73,78,0,119,104,105,108,101,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,14,51,16,8,11,13,51,51,51,51,10,51,13,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,11,51,13,1,26,4,1,8,28,51,23,51,1,1,27,5,19,21,51,8,3,3,11,51,21,24,16,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,97,109,98,105,103,117,111,117,115,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,59,32,112,117,116,32,112,97,114,101,110,116,104,101,115,101,115,32,111,114,32,101,118,101,110,32,115,112,97,99,101,115,0,115,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,40,116,114,117,110,99,97,116,101,100,41,0,73,110,118,97,108,105,100,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,32,115,121,110,116,97,120,0,73,110,118,97,108,105,100,32,85,110,105,99,111,100,101,32,99,111,100,101,32,112,111,105,110,116,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,0,117,110,116,101,114,109,105,110,97,116,101,100,32,104,101,114,101,32,100,111,99,117,109,101,110,116,32,105,100,101,110,116,105,102,105,101,114,0,99,97,110,39,116,32,102,105,110,100,32,104,101,114,101,100,111,99,32,100,101,108,105,109,105,116,101,114,32,34,37,115,34,32,97,110,121,119,104,101,114,101,32,98,101,102,111,114,101,32,69,79,70,0,117,110,116,101,114,109,105,110,97,116,101,100,32,115,116,114,105,110,103,32,109,101,101,116,115,32,101,110,100,32,111,102,32,102,105,108,101,0,115,0,117,110,107,110,111,119,110,32,114,101,103,101,120,112,32,111,112,116,105,111,110,37,115,32,45,32,37,115,0,108,105,110,101,32,37,100,58,32,37,115,10,0,99,111,100,101,103,101,110,32,101,114,114,111,114,0,97,114,114,97,121,32,115,105,122,101,32,116,111,111,32,98,105,103,0,105,110,100,101,120,32,37,83,32,111,117,116,32,111,102,32,97,114,114,97,121,0,110,101,103,97,116,105,118,101,32,108,101,110,103,116,104,32,40,37,83,41,0,105,110,100,101,120,32,105,115,32,111,117,116,32,111,102,32,97,114,114,97,121,0,116,111,95,97,0,114,101,99,117,114,115,105,118,101,32,97,114,114,97,121,32,106,111,105,110,0,43,0,60,60,0,91,93,61,0,99,108,101,97,114,0,99,111,110,99,97,116,0,100,101,108,101,116,101,95,97,116,0,101,109,112,116,121,63,0,105,110,100,101,120,0,106,111,105,110,0,108,101,110,103,116,104,0,112,111,112,0,112,117,115,104,0,114,101,112,108,97,99,101,0,114,101,118,101,114,115,101,0,114,101,118,101,114,115,101,33,0,114,105,110,100,101,120,0,115,104,105,102,116,0,115,105,122,101,0,115,108,105,99,101,0,117,110,115,104,105,102,116,0,95,95,97,114,121,95,101,113,0,95,95,97,114,121,95,99,109,112,0,95,95,97,114,121,95,105,110,100,101,120,0,124,105,0,110,101,103,97,116,105,118,101,32,97,114,114,97,121,32,115,105,122,101,0,124,83,33,0,65,0,105,0,97,0,111,111,124,111,0,105,42,0,111,124,105,0,110,101,103,97,116,105,118,101,32,97,114,103,117,109,101,110,116,0,35,0,40,117,110,107,110,111,119,110,41,0,58,105,110,32,0,2,8,32,128,1,4,16,64,3,12,48,192,95,95,111,117,116,101,114,95,95,0,95,95,99,108,97,115,115,105,100,95,95,0,37,83,32,105,115,32,110,111,116,32,97,32,99,108,97,115,115,47,109,111,100,117,108,101,0,110,111,32,115,117,112,101,114,32,99,108,97,115,115,32,102,111,114,32,39,37,83,39,44,32,79,98,106,101,99,116,32,97,115,115,117,109,101,100,0,115,117,112,101,114,99,108,97,115,115,32,109,105,115,109,97,116,99,104,32,102,111,114,32,67,108,97,115,115,32,37,83,32,40,37,83,32,110,111,116,32,37,83,41,0,115,117,112,101,114,99,108,97,115,115,32,109,117,115,116,32,98,101,32,97,32,67,108,97,115,115,32,40,37,83,32,103,105,118,101,110,41,0,99,97,110,39,116,32,109,97,107,101,32,115,117,98,99,108,97,115,115,32,111,102,32,115,105,110,103,108,101,116,111,110,32,99,108,97,115,115,0,99,97,110,39,116,32,109,97,107,101,32,115,117,98,99,108,97,115,115,32,111,102,32,67,108,97,115,115,0,105,110,104,101,114,105,116,101,100,0,78,111,116,73,109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,0,37,83,32,105,115,32,110,111,116,32,99,108,97,115,115,47,109,111,100,117,108,101,0,82,97,110,103,101,69,114,114,111,114,0,102,108,111,97,116,32,116,111,111,32,98,105,103,32,102,111,114,32,105,110,116,0,110,111,32,105,109,112,108,105,99,105,116,32,99,111,110,118,101,114,115,105,111,110,32,111,102,32,83,116,114,105,110,103,32,105,110,116,111,32,73,110,116,101,103,101,114,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,32,115,112,101,99,105,102,105,101,114,32,37,83,0,72,97,115,104,0,116,111,95,104,97,115,104,0,101,120,112,101,99,116,101,100,32,37,83,0,65,114,114,97,121,0,116,111,95,97,114,121,0,83,116,114,105,110,103,0,116,111,95,115,116,114,0,99,121,99,108,105,99,32,105,110,99,108,117,100,101,32,100,101,116,101,99,116,101,100,0,99,121,99,108,105,99,32,112,114,101,112,101,110,100,32,100,101,116,101,99,116,101,100,0,99,97,110,39,116,32,100,101,102,105,110,101,32,115,105,110,103,108,101,116,111,110,0,117,110,100,101,102,105,110,101,100,32,109,101,116,104,111,100,32,39,37,83,39,32,102,111,114,32,99,108,97,115,115,32,37,83,0,42,38,0,99,97,110,39,116,32,99,114,101,97,116,101,32,105,110,115,116,97,110,99,101,32,111,102,32,115,105,110,103,108,101,116,111,110,32,99,108,97,115,115,0,117,110,100,101,102,105,110,101,100,32,109,101,116,104,111,100,32,39,37,83,39,32,102,111,114,32,37,83,0,95,95,99,108,97,115,115,112,97,116,104,95,95,0,35,60,67,108,97,115,115,58,0,62,0,58,58,0,117,110,100,101,102,105,110,101,100,32,109,101,116,104,111,100,32,39,37,83,39,32,102,111,114,32,99,108,97,115,115,32,39,37,83,39,0,66,97,115,105,99,79,98,106,101,99,116,0,79,98,106,101,99,116,0,77,111,100,117,108,101,0,67,108,97,115,115,0,80,114,111,99,0,33,0,109,101,116,104,111,100,95,109,105,115,115,105,110,103,0,115,117,112,101,114,99,108,97,115,115,0,99,108,97,115,115,95,118,97,114,105,97,98,108,101,95,100,101,102,105,110,101,100,63,0,99,108,97,115,115,95,118,97,114,105,97,98,108,101,95,103,101,116,0,99,108,97,115,115,95,118,97,114,105,97,98,108,101,95,115,101,116,0,112,114,101,112,101,110,100,0,112,114,101,112,101,110,100,101,100,0,112,114,101,112,101,110,100,95,102,101,97,116,117,114,101,115,0,105,110,99,108,117,100,101,0,97,112,112,101,110,100,95,102,101,97,116,117,114,101,115,0,99,108,97,115,115,95,101,118,97,108,0,105,110,99,108,117,100,101,100,0,105,110,99,108,117,100,101,100,95,109,111,100,117,108,101,115,0,105,110,115,116,97,110,99,101,95,109,101,116,104,111,100,115,0,109,101,116,104,111,100,95,100,101,102,105,110,101,100,63,0,109,111,100,117,108,101,95,101,118,97,108,0,109,111,100,117,108,101,95,102,117,110,99,116,105,111,110,0,112,114,105,118,97,116,101,0,112,114,111,116,101,99,116,101,100,0,112,117,98,108,105,99,0,114,101,109,111,118,101,95,99,108,97,115,115,95,118,97,114,105,97,98,108,101,0,114,101,109,111,118,101,95,109,101,116,104,111,100,0,109,101,116,104,111,100,95,114,101,109,111,118,101,100,0,97,116,116,114,95,114,101,97,100,101,114,0,97,116,116,114,95,119,114,105,116,101,114,0,97,110,99,101,115,116,111,114,115,0,99,111,110,115,116,95,100,101,102,105,110,101,100,63,0,99,111,110,115,116,95,103,101,116,0,99,111,110,115,116,95,115,101,116,0,99,111,110,115,116,97,110,116,115,0,114,101,109,111,118,101,95,99,111,110,115,116,0,99,111,110,115,116,95,109,105,115,115,105,110,103,0,100,101,102,105,110,101,95,109,101,116,104,111,100,0,99,108,97,115,115,95,118,97,114,105,97,98,108,101,115,0,77,111,100,117,108,101,46,99,111,110,115,116,97,110,116,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,117,110,105,110,105,116,105,97,108,105,122,101,100,32,99,111,110,115,116,97,110,116,32,37,83,58,58,37,83,0,117,110,105,110,105,116,105,97,108,105,122,101,100,32,99,111,110,115,116,97,110,116,32,37,83,0,99,111,110,115,116,97,110,116,32,37,83,32,110,111,116,32,100,101,102,105,110,101,100,0,119,114,111,110,103,32,99,111,110,115,116,97,110,116,32,110,97,109,101,32,37,83,0,110,124,98,0,110,110,0,35,60,77,111,100,117,108,101,58,0,35,60,63,63,63,63,63,63,58,0,64,0,61,0,109,101,116,104,111,100,32,39,37,83,39,32,110,111,116,32,100,101,102,105,110,101,100,32,105,110,32,37,83,0,99,97,110,110,111,116,32,114,101,109,111,118,101,32,37,83,32,102,111,114,32,37,83,0,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,37,83,32,110,111,116,32,100,101,102,105,110,101,100,32,102,111,114,32,37,83,0,39,37,83,39,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,97,115,32,97,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,110,97,109,101,0,124,38,0,124,67,38,0,110,42,0,105,114,101,112,32,37,112,32,110,114,101,103,115,61,37,100,32,110,108,111,99,97,108,115,61,37,100,32,112,111,111,108,115,61,37,100,32,115,121,109,115,61,37,100,32,114,101,112,115,61,37,100,10,0,102,105,108,101,58,32,37,115,10,0,32,32,32,32,32,32,0,37,53,100,32,0,37,48,51,100,32,0,79,80,95,78,79,80,10,0,79,80,95,77,79,86,69,9,82,37,100,9,82,37,100,9,0,79,80,95,76,79,65,68,76,9,82,37,100,9,76,40,37,100,41,9,59,32,37,115,0,79,80,95,76,79,65,68,73,9,82,37,100,9,37,100,9,0,79,80,95,76,79,65,68,83,89,77,9,82,37,100,9,58,37,115,0,79,80,95,76,79,65,68,78,73,76,9,82,37,100,9,9,0,79,80,95,76,79,65,68,83,69,76,70,9,82,37,100,9,9,0,79,80,95,76,79,65,68,84,9,82,37,100,9,9,0,79,80,95,76,79,65,68,70,9,82,37,100,9,9,0,79,80,95,71,69,84,71,76,79,66,65,76,9,82,37,100,9,58,37,115,0,79,80,95,83,69,84,71,76,79,66,65,76,9,58,37,115,9,82,37,100,9,0,79,80,95,71,69,84,67,79,78,83,84,9,82,37,100,9,58,37,115,0,79,80,95,83,69,84,67,79,78,83,84,9,58,37,115,9,82,37,100,9,0,79,80,95,71,69,84,77,67,78,83,84,9,82,37,100,9,82,37,100,58,58,37,115,0,79,80,95,83,69,84,77,67,78,83,84,9,82,37,100,58,58,37,115,9,82,37,100,0,79,80,95,71,69,84,73,86,9,82,37,100,9,37,115,0,79,80,95,83,69,84,73,86,9,37,115,9,82,37,100,0,79,80,95,71,69,84,85,80,86,65,82,9,82,37,100,9,37,100,9,37,100,0,79,80,95,83,69,84,85,80,86,65,82,9,82,37,100,9,37,100,9,37,100,0,79,80,95,71,69,84,67,86,9,82,37,100,9,37,115,0,79,80,95,83,69,84,67,86,9,37,115,9,82,37,100,0,79,80,95,74,77,80,9,37,48,51,100,10,0,79,80,95,74,77,80,73,70,9,82,37,100,9,37,48,51,100,10,0,79,80,95,74,77,80,78,79,84,9,82,37,100,9,37,48,51,100,10,0,79,80,95,83,69,78,68,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,69,78,68,66,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,84,65,73,76,67,65,76,76,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,85,80,69,82,9,82,37,100,9,37,100,10,0,79,80,95,65,82,71,65,82,89,9,82,37,100,9,37,100,58,37,100,58,37,100,58,37,100,0,79,80,95,69,78,84,69,82,9,37,100,58,37,100,58,37,100,58,37,100,58,37,100,58,37,100,58,37,100,10,0,79,80,95,82,69,84,85,82,78,9,82,37,100,0,9,114,101,116,117,114,110,9,0,9,98,114,101,97,107,9,0,9,98,114,111,107,101,110,9,0,79,80,95,66,76,75,80,85,83,72,9,82,37,100,9,37,100,58,37,100,58,37,100,58,37,100,0,79,80,95,76,65,77,66,68,65,9,82,37,100,9,73,40,37,43,100,41,9,37,100,0,79,80,95,82,65,78,71,69,9,82,37,100,9,82,37,100,9,37,100,0,79,80,95,77,69,84,72,79,68,9,82,37,100,9,58,37,115,0,79,80,95,65,68,68,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,65,68,68,73,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,85,66,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,85,66,73,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,77,85,76,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,68,73,86,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,76,84,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,76,69,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,71,84,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,71,69,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,69,81,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,84,79,80,10,0,79,80,95,65,82,82,65,89,9,82,37,100,9,82,37,100,9,37,100,0,79,80,95,65,82,89,67,65,84,9,82,37,100,9,82,37,100,9,0,79,80,95,65,82,89,80,85,83,72,9,82,37,100,9,82,37,100,9,0,79,80,95,65,82,69,70,9,82,37,100,9,82,37,100,9,37,100,0,79,80,95,65,80,79,83,84,9,82,37,100,9,37,100,9,37,100,0,79,80,95,83,84,82,73,78,71,9,82,37,100,9,76,40,37,100,41,9,59,32,37,115,0,79,80,95,83,84,82,67,65,84,9,82,37,100,9,82,37,100,9,0,79,80,95,72,65,83,72,9,82,37,100,9,82,37,100,9,37,100,0,79,80,95,79,67,76,65,83,83,9,82,37,100,9,9,0,79,80,95,67,76,65,83,83,9,82,37,100,9,58,37,115,0,79,80,95,77,79,68,85,76,69,9,82,37,100,9,58,37,115,0,79,80,95,69,88,69,67,9,82,37,100,9,73,40,37,43,100,41,0,79,80,95,83,67,76,65,83,83,9,82,37,100,9,82,37,100,9,0,79,80,95,84,67,76,65,83,83,9,82,37,100,9,9,0,79,80,95,69,82,82,9,37,115,10,0,79,80,95,69,80,85,83,72,9,58,73,40,37,43,100,41,10,0,79,80,95,79,78,69,82,82,9,37,48,51,100,10,0,79,80,95,82,69,83,67,85,69,9,82,37,100,9,9,0,79,80,95,82,65,73,83,69,9,82,37,100,9,9,0,79,80,95,80,79,80,69,82,82,9,37,100,9,9,0,79,80,95,69,80,79,80,9,37,100,10,0,79,80,95,117,110,107,110,111,119,110,32,37,100,9,37,100,9,37,100,9,37,100,10,0,10,0,9,59,32,0,32,0,82,37,100,58,37,115,0,99,105,105,100,120,0,102,105,108,101,0,108,105,110,101,0,78,97,109,101,69,114,114,111,114,0,119,97,114,110,105,110,103,58,32,0,98,117,103,58,32,0,101,120,99,101,112,116,105,111,110,0,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,47,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,37,83,32,102,111,114,32,48,46,46,51,41,0,101,120,99,101,112,116,105,111,110,32,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,0,115,101,116,95,98,97,99,107,116,114,97,99,101,0,78,111,77,101,116,104,111,100,69,114,114,111,114,0,110,101,119,0,69,120,99,101,112,116,105,111,110,0,109,101,115,115,97,103,101,0,98,97,99,107,116,114,97,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,83,99,114,105,112,116,69,114,114,111,114,0,83,121,110,116,97,120,69,114,114,111,114,0,83,121,115,116,101,109,83,116,97,99,107,69,114,114,111,114,0,109,101,115,103,0,58,0,58,32,0,32,40,0,41,0,124,111,0,119,114,111,110,103,32,97,114,103,117,109,101,110,116,32,116,121,112,101,32,37,83,32,40,101,120,112,101,99,116,101,100,32,37,83,41,0,117,110,105,110,105,116,105,97,108,105,122,101,100,32,37,83,32,40,101,120,112,101,99,116,101,100,32,37,83,41,0,99,97,110,39,116,32,99,108,111,110,101,32,37,83,0,99,97,110,39,116,32,99,108,111,110,101,32,115,105,110,103,108,101,116,111,110,32,99,108,97,115,115,0,99,97,110,39,116,32,100,117,112,32,37,83,0,99,97,110,39,116,32,100,117,112,32,115,105,110,103,108,101,116,111,110,32,99,108,97,115,115,0,95,95,97,116,116,97,99,104,101,100,95,95,0,2,8,32,128,1,4,16,64,3,12,48,192,124,111,111,0,82,117,110,116,105,109,101,69,114,114,111,114,0,108,97,115,116,112,99,0,98,108,111,99,107,95,103,105,118,101,110,63,0,103,108,111,98,97,108,95,118,97,114,105,97,98,108,101,115,0,105,116,101,114,97,116,111,114,63,0,108,111,99,97,108,95,118,97,114,105,97,98,108,101,115,0,114,97,105,115,101,0,115,105,110,103,108,101,116,111,110,95,99,108,97,115,115,0,33,61,0,95,95,105,100,95,95,0,95,95,115,101,110,100,95,95,0,99,108,97,115,115,0,99,108,111,110,101,0,100,117,112,0,101,113,117,97,108,63,0,101,120,116,101,110,100,0,104,97,115,104,0,105,110,115,116,97,110,99,101,95,101,118,97,108,0,105,110,115,116,97,110,99,101,95,111,102,63,0,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,95,100,101,102,105,110,101,100,63,0,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,95,103,101,116,0,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,95,115,101,116,0,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,115,0,105,115,95,97,63,0,107,105,110,100,95,111,102,63,0,109,101,116,104,111,100,115,0,110,105,108,63,0,111,98,106,101,99,116,95,105,100,0,112,114,105,118,97,116,101,95,109,101,116,104,111,100,115,0,112,114,111,116,101,99,116,101,100,95,109,101,116,104,111,100,115,0,112,117,98,108,105,99,95,109,101,116,104,111,100,115,0,114,101,109,111,118,101,95,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,0,114,101,115,112,111,110,100,95,116,111,63,0,115,101,110,100,0,115,105,110,103,108,101,116,111,110,95,109,101,116,104,111,100,115,0,100,101,102,105,110,101,95,115,105,110,103,108,101,116,111,110,95,109,101,116,104,111,100,0,110,38,0,110,111,32,98,108,111,99,107,32,103,105,118,101,110,0,124,98,0,111,124,98,0,37,83,32,105,115,32,110,111,116,32,97,32,115,121,109,98,111,108,0,114,101,115,112,111,110,100,95,116,111,95,109,105,115,115,105,110,103,63,0,110,0,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,32,37,83,32,110,111,116,32,100,101,102,105,110,101,100,0,67,0,110,111,0,105,110,105,116,105,97,108,105,122,101,95,99,111,112,121,32,115,104,111,117,108,100,32,116,97,107,101,32,115,97,109,101,32,99,108,97,115,115,32,111,98,106,101,99,116,0,42,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,97,116,32,108,101,97,115,116,32,49,41,0,101,120,116,101,110,100,95,111,98,106,101,99,116,0,101,120,116,101,110,100,101,100,0,67,97,110,39,116,32,103,101,116,32,99,102,117,110,99,32,101,110,118,32,102,114,111,109,32,110,111,110,45,99,102,117,110,99,32,112,114,111,99,46,0,67,97,110,39,116,32,103,101,116,32,99,102,117,110,99,32,101,110,118,32,102,114,111,109,32,99,102,117,110,99,32,80,114,111,99,32,119,105,116,104,111,117,116,32,82,69,110,118,46,0,73,110,100,101,120,69,114,114,111,114,0,69,110,118,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,58,32,37,83,32,40,101,120,112,101,99,116,101,100,58,32,48,32,60,61,32,105,110,100,101,120,32,60,32,37,83,41,0,97,114,105,116,121,0,91,93,0,108,97,109,98,100,97,0,38,0,116,114,105,101,100,32,116,111,32,99,114,101,97,116,101,32,80,114,111,99,32,111,98,106,101,99,116,32,119,105,116,104,111,117,116,32,97,32,98,108,111,99,107,0,110,111,116,32,97,32,112,114,111,99,0,82,97,110,103,101,0,60,61,62,0,65,114,103,117,109,101,110,116,69,114,114,111,114,0,98,97,100,32,118,97,108,117,101,32,102,111,114,32,114,97,110,103,101,0,111,111,124,98,0,111,0,61,61,0,84,121,112,101,69,114,114,111,114,0,98,101,103,105,110,0,101,110,100,0,101,120,99,108,117,100,101,95,101,110,100,63,0,102,105,114,115,116,0,105,110,99,108,117,100,101,63,0,105,110,105,116,105,97,108,105,122,101,0,108,97,115,116,0,109,101,109,98,101,114,63,0,116,111,95,115,0,105,110,115,112,101,99,116,0,101,113,108,63,0,105,110,105,116,105,97,108,105,122,101,95,99,111,112,121,0,119,114,111,110,103,32,97,114,103,117,109,101,110,116,32,99,108,97,115,115,0,46,46,46,0,49,46,50,46,48,0,49,46,57,0,82,85,66,89,95,86,69,82,83,73,79,78,0,109,114,117,98,121,0,82,85,66,89,95,69,78,71,73,78,69,0,82,85,66,89,95,69,78,71,73,78,69,95,86,69,82,83,73,79,78,0,77,82,85,66,89,95,86,69,82,83,73,79,78,0,77,82,85,66,89,95,82,69,76,69,65,83,69,95,78,79,0,50,48,49,53,45,49,49,45,49,55,0,77,82,85,66,89,95,82,69,76,69,65,83,69,95,68,65,84,69,0,109,114,117,98,121,32,49,46,50,46,48,32,40,50,48,49,53,45,49,49,45,49,55,41,32,0,77,82,85,66,89,95,68,69,83,67,82,73,80,84,73,79,78,0,109,114,117,98,121,32,45,32,67,111,112,121,114,105,103,104,116,32,40,99,41,32,50,48,49,48,45,50,48,49,53,32,109,114,117,98,121,32,100,101,118,101,108,111,112,101,114,115,0,77,82,85,66,89,95,67,79,80,89,82,73,71,72,84,0,83,116,97,110,100,97,114,100,69,114,114,111,114,0,95,95,99,97,115,101,95,101,113,113,0,61,61,61,0,95,95,117,112,100,97,116,101,0,99,97,108,108,0,117,110,101,120,112,101,99,116,101,100,32,110,101,120,116,0,117,110,101,120,112,101,99,116,101,100,32,114,101,100,111,0,117,110,101,120,112,101,99,116,101,100,32,114,101,116,114,121,0,36,0,45,0,75,101,114,110,101,108,0,96,0,82,101,103,101,120,112,0,99,111,109,112,105,108,101,0,97,108,105,97,115,95,109,101,116,104,111,100,0,117,110,100,101,102,95,109,101,116,104,111,100,0,105,110,116,101,114,110,0,109,114,98,95,114,101,97,108,108,111,99,0,99,111,100,101,103,101,110,32,101,114,114,111,114,58,37,115,58,37,100,58,32,37,115,10,0,99,111,100,101,103,101,110,32,101,114,114,111,114,58,32,37,115,10,0,109,97,108,102,111,114,109,101,100,32,114,101,97,100,105,110,116,32,105,110,112,117,116,0,117,110,101,120,112,101,99,116,101,100,32,98,114,101,97,107,0,116,111,111,32,99,111,109,112,108,101,120,32,101,120,112,114,101,115,115,105,111,110,0,117,110,101,120,112,101,99,116,101,100,32,115,99,111,112,101,0,101,97,99,104,0,109,114,98,95,109,97,108,108,111,99,0,117,110,107,110,111,119,110,32,108,104,115,32,37,100,10,0,112,111,111,108,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,0,116,111,111,32,109,97,110,121,32,115,121,109,98,111,108,115,32,40,109,97,120,32,50,53,54,41,0,98,117,103,58,32,100,105,115,112,97,116,99,104,32,111,110,32,110,111,110,32,74,77,80,32,111,112,10,0,67,111,109,112,97,114,97,98,108,101,0,69,110,117,109,101,114,97,98,108,101,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+61458);
    1603 /* memory initializer */ allocate([32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+71698);
    1604 
     1857var ASM_CONSTS = {
     1858 
     1859};
     1860
     1861
     1862
     1863
     1864// STATICTOP = STATIC_BASE + 78848;
     1865/* global initializers */  __ATINIT__.push({ func: function() { ___wasm_call_ctors() } });
    16051866
    16061867
     
    16081869
    16091870/* no memory initializer */
    1610 var tempDoublePtr = STATICTOP; STATICTOP += 16;
    1611 
    1612 assert(tempDoublePtr % 8 == 0);
    1613 
    1614 function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
    1615 
    1616   HEAP8[tempDoublePtr] = HEAP8[ptr];
    1617 
    1618   HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
    1619 
    1620   HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
    1621 
    1622   HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
    1623 
    1624 }
    1625 
    1626 function copyTempDouble(ptr) {
    1627 
    1628   HEAP8[tempDoublePtr] = HEAP8[ptr];
    1629 
    1630   HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
    1631 
    1632   HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
    1633 
    1634   HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
    1635 
    1636   HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
    1637 
    1638   HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
    1639 
    1640   HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
    1641 
    1642   HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
    1643 
    1644 }
    1645 
    16461871// {{PRE_LIBRARY}}
    16471872
    16481873
    1649    
    1650   Module["_i64Subtract"] = _i64Subtract;
    1651 
    1652    
    1653   Module["_i64Add"] = _i64Add;
    1654 
    1655    
    1656   Module["_memset"] = _memset;
    1657 
    1658    
    1659   Module["_bitshift64Lshr"] = _bitshift64Lshr;
    1660 
    1661  
    1662  
    1663  
    1664   function _realloc() { throw 'bad' }
    1665   Module["_realloc"] = _realloc;
    1666   Module["_saveSetjmp"] = _saveSetjmp;
    1667  
    1668    
    1669   Module["_testSetjmp"] = _testSetjmp;function _longjmp(env, value) {
    1670       Module['setThrew'](env, value || 1);
    1671       throw 'longjmp';
    1672     }function _emscripten_longjmp(env, value) {
    1673       _longjmp(env, value);
    1674     }
    1675 
    1676    
    1677   Module["_bitshift64Shl"] = _bitshift64Shl;
    1678 
    1679   function _abort() {
    1680       Module['abort']();
    1681     }
    1682 
    1683 
    1684  
    1685  
    1686  
    1687   var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};
    1688  
    1689   var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};
    1690  
    1691   function ___setErrNo(value) {
    1692       if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
    1693       else Module.printErr('failed to set errno from JS');
     1874 
     1875 
     1876  function _emscripten_set_main_loop_timing(mode, value) {
     1877      Browser.mainLoop.timingMode = mode;
     1878      Browser.mainLoop.timingValue = value;
     1879 
     1880      if (!Browser.mainLoop.func) {
     1881        console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.');
     1882        return 1; // Return non-zero on failure, can't set timing mode when there is no main loop.
     1883      }
     1884 
     1885      if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) {
     1886        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
     1887          var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0;
     1888          setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop
     1889        };
     1890        Browser.mainLoop.method = 'timeout';
     1891      } else if (mode == 1 /*EM_TIMING_RAF*/) {
     1892        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
     1893          Browser.requestAnimationFrame(Browser.mainLoop.runner);
     1894        };
     1895        Browser.mainLoop.method = 'rAF';
     1896      } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) {
     1897        if (typeof setImmediate === 'undefined') {
     1898          // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed)
     1899          var setImmediates = [];
     1900          var emscriptenMainLoopMessageId = 'setimmediate';
     1901          var Browser_setImmediate_messageHandler = function(event) {
     1902            // When called in current thread or Worker, the main loop ID is structured slightly different to accommodate for --proxy-to-worker runtime listening to Worker events,
     1903            // so check for both cases.
     1904            if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
     1905              event.stopPropagation();
     1906              setImmediates.shift()();
     1907            }
     1908          }
     1909          addEventListener("message", Browser_setImmediate_messageHandler, true);
     1910          setImmediate = /** @type{function(function(): ?, ...?): number} */(function Browser_emulated_setImmediate(func) {
     1911            setImmediates.push(func);
     1912            if (ENVIRONMENT_IS_WORKER) {
     1913              if (Module['setImmediates'] === undefined) Module['setImmediates'] = [];
     1914              Module['setImmediates'].push(func);
     1915              postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js
     1916            } else postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself.
     1917          })
     1918        }
     1919        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
     1920          setImmediate(Browser.mainLoop.runner);
     1921        };
     1922        Browser.mainLoop.method = 'immediate';
     1923      }
     1924      return 0;
     1925    }
     1926 
     1927  var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) {
     1928    _emscripten_get_now = function() {
     1929      var t = process['hrtime']();
     1930      return t[0] * 1e3 + t[1] / 1e6;
     1931    };
     1932  } else if (typeof dateNow !== 'undefined') {
     1933    _emscripten_get_now = dateNow;
     1934  } else _emscripten_get_now = function() { return performance.now(); }
     1935  ;/** @param {number|boolean=} noSetTiming */
     1936  function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
     1937      noExitRuntime = true;
     1938 
     1939      assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.');
     1940 
     1941      Browser.mainLoop.func = func;
     1942      Browser.mainLoop.arg = arg;
     1943 
     1944      var browserIterationFunc;
     1945      if (typeof arg !== 'undefined') {
     1946        browserIterationFunc = function() {
     1947          Module['dynCall_vi'](func, arg);
     1948        };
     1949      } else {
     1950        browserIterationFunc = function() {
     1951          Module['dynCall_v'](func);
     1952        };
     1953      }
     1954 
     1955      var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
     1956 
     1957      Browser.mainLoop.runner = function Browser_mainLoop_runner() {
     1958        if (ABORT) return;
     1959        if (Browser.mainLoop.queue.length > 0) {
     1960          var start = Date.now();
     1961          var blocker = Browser.mainLoop.queue.shift();
     1962          blocker.func(blocker.arg);
     1963          if (Browser.mainLoop.remainingBlockers) {
     1964            var remaining = Browser.mainLoop.remainingBlockers;
     1965            var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining);
     1966            if (blocker.counted) {
     1967              Browser.mainLoop.remainingBlockers = next;
     1968            } else {
     1969              // not counted, but move the progress along a tiny bit
     1970              next = next + 0.5; // do not steal all the next one's progress
     1971              Browser.mainLoop.remainingBlockers = (8*remaining + next)/9;
     1972            }
     1973          }
     1974          console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers);
     1975          Browser.mainLoop.updateStatus();
     1976 
     1977          // catches pause/resume main loop from blocker execution
     1978          if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
     1979 
     1980          setTimeout(Browser.mainLoop.runner, 0);
     1981          return;
     1982        }
     1983 
     1984        // catch pauses from non-main loop sources
     1985        if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
     1986 
     1987        // Implement very basic swap interval control
     1988        Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
     1989        if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
     1990          // Not the scheduled time to render this frame - skip.
     1991          Browser.mainLoop.scheduler();
     1992          return;
     1993        } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) {
     1994          Browser.mainLoop.tickStartTime = _emscripten_get_now();
     1995        }
     1996 
     1997        // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize
     1998        // VBO double-buffering and reduce GPU stalls.
     1999 
     2000 
     2001 
     2002        if (Browser.mainLoop.method === 'timeout' && Module.ctx) {
     2003          warnOnce('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!');
     2004          Browser.mainLoop.method = ''; // just warn once per call to set main loop
     2005        }
     2006 
     2007        Browser.mainLoop.runIter(browserIterationFunc);
     2008 
     2009        checkStackCookie();
     2010 
     2011        // catch pauses from the main loop itself
     2012        if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
     2013 
     2014        // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able
     2015        // to queue the newest produced audio samples.
     2016        // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData()
     2017        //       do not need to be hardcoded into this function, but can be more generic.
     2018        if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
     2019 
     2020        Browser.mainLoop.scheduler();
     2021      }
     2022 
     2023      if (!noSetTiming) {
     2024        if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps);
     2025        else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating)
     2026 
     2027        Browser.mainLoop.scheduler();
     2028      }
     2029 
     2030      if (simulateInfiniteLoop) {
     2031        throw 'unwind';
     2032      }
     2033    }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function() {
     2034          Browser.mainLoop.scheduler = null;
     2035          Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return.
     2036        },resume:function() {
     2037          Browser.mainLoop.currentlyRunningMainloop++;
     2038          var timingMode = Browser.mainLoop.timingMode;
     2039          var timingValue = Browser.mainLoop.timingValue;
     2040          var func = Browser.mainLoop.func;
     2041          Browser.mainLoop.func = null;
     2042          _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */);
     2043          _emscripten_set_main_loop_timing(timingMode, timingValue);
     2044          Browser.mainLoop.scheduler();
     2045        },updateStatus:function() {
     2046          if (Module['setStatus']) {
     2047            var message = Module['statusMessage'] || 'Please wait...';
     2048            var remaining = Browser.mainLoop.remainingBlockers;
     2049            var expected = Browser.mainLoop.expectedBlockers;
     2050            if (remaining) {
     2051              if (remaining < expected) {
     2052                Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')');
     2053              } else {
     2054                Module['setStatus'](message);
     2055              }
     2056            } else {
     2057              Module['setStatus']('');
     2058            }
     2059          }
     2060        },runIter:function(func) {
     2061          if (ABORT) return;
     2062          if (Module['preMainLoop']) {
     2063            var preRet = Module['preMainLoop']();
     2064            if (preRet === false) {
     2065              return; // |return false| skips a frame
     2066            }
     2067          }
     2068          try {
     2069            func();
     2070          } catch (e) {
     2071            if (e instanceof ExitStatus) {
     2072              return;
     2073            } else {
     2074              if (e && typeof e === 'object' && e.stack) err('exception thrown: ' + [e, e.stack]);
     2075              throw e;
     2076            }
     2077          }
     2078          if (Module['postMainLoop']) Module['postMainLoop']();
     2079        }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function() {
     2080        if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers
     2081 
     2082        if (Browser.initted) return;
     2083        Browser.initted = true;
     2084 
     2085        try {
     2086          new Blob();
     2087          Browser.hasBlobConstructor = true;
     2088        } catch(e) {
     2089          Browser.hasBlobConstructor = false;
     2090          console.log("warning: no blob constructor, cannot create blobs with mimetypes");
     2091        }
     2092        Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null));
     2093        Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined;
     2094        if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') {
     2095          console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
     2096          Module.noImageDecoding = true;
     2097        }
     2098 
     2099        // Support for plugins that can process preloaded files. You can add more of these to
     2100        // your app by creating and appending to Module.preloadPlugins.
     2101        //
     2102        // Each plugin is asked if it can handle a file based on the file's name. If it can,
     2103        // it is given the file's raw data. When it is done, it calls a callback with the file's
     2104        // (possibly modified) data. For example, a plugin might decompress a file, or it
     2105        // might create some side data structure for use later (like an Image element, etc.).
     2106 
     2107        var imagePlugin = {};
     2108        imagePlugin['canHandle'] = function imagePlugin_canHandle(name) {
     2109          return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
     2110        };
     2111        imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) {
     2112          var b = null;
     2113          if (Browser.hasBlobConstructor) {
     2114            try {
     2115              b = new Blob([byteArray], { type: Browser.getMimetype(name) });
     2116              if (b.size !== byteArray.length) { // Safari bug #118630
     2117                // Safari's Blob can only take an ArrayBuffer
     2118                b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) });
     2119              }
     2120            } catch(e) {
     2121              warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder');
     2122            }
     2123          }
     2124          if (!b) {
     2125            var bb = new Browser.BlobBuilder();
     2126            bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range
     2127            b = bb.getBlob();
     2128          }
     2129          var url = Browser.URLObject.createObjectURL(b);
     2130          assert(typeof url == 'string', 'createObjectURL must return a url as a string');
     2131          var img = new Image();
     2132          img.onload = function img_onload() {
     2133            assert(img.complete, 'Image ' + name + ' could not be decoded');
     2134            var canvas = document.createElement('canvas');
     2135            canvas.width = img.width;
     2136            canvas.height = img.height;
     2137            var ctx = canvas.getContext('2d');
     2138            ctx.drawImage(img, 0, 0);
     2139            Module["preloadedImages"][name] = canvas;
     2140            Browser.URLObject.revokeObjectURL(url);
     2141            if (onload) onload(byteArray);
     2142          };
     2143          img.onerror = function img_onerror(event) {
     2144            console.log('Image ' + url + ' could not be decoded');
     2145            if (onerror) onerror();
     2146          };
     2147          img.src = url;
     2148        };
     2149        Module['preloadPlugins'].push(imagePlugin);
     2150 
     2151        var audioPlugin = {};
     2152        audioPlugin['canHandle'] = function audioPlugin_canHandle(name) {
     2153          return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 };
     2154        };
     2155        audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) {
     2156          var done = false;
     2157          function finish(audio) {
     2158            if (done) return;
     2159            done = true;
     2160            Module["preloadedAudios"][name] = audio;
     2161            if (onload) onload(byteArray);
     2162          }
     2163          function fail() {
     2164            if (done) return;
     2165            done = true;
     2166            Module["preloadedAudios"][name] = new Audio(); // empty shim
     2167            if (onerror) onerror();
     2168          }
     2169          if (Browser.hasBlobConstructor) {
     2170            try {
     2171              var b = new Blob([byteArray], { type: Browser.getMimetype(name) });
     2172            } catch(e) {
     2173              return fail();
     2174            }
     2175            var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
     2176            assert(typeof url == 'string', 'createObjectURL must return a url as a string');
     2177            var audio = new Audio();
     2178            audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926
     2179            audio.onerror = function audio_onerror(event) {
     2180              if (done) return;
     2181              console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach');
     2182              function encode64(data) {
     2183                var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
     2184                var PAD = '=';
     2185                var ret = '';
     2186                var leftchar = 0;
     2187                var leftbits = 0;
     2188                for (var i = 0; i < data.length; i++) {
     2189                  leftchar = (leftchar << 8) | data[i];
     2190                  leftbits += 8;
     2191                  while (leftbits >= 6) {
     2192                    var curr = (leftchar >> (leftbits-6)) & 0x3f;
     2193                    leftbits -= 6;
     2194                    ret += BASE[curr];
     2195                  }
     2196                }
     2197                if (leftbits == 2) {
     2198                  ret += BASE[(leftchar&3) << 4];
     2199                  ret += PAD + PAD;
     2200                } else if (leftbits == 4) {
     2201                  ret += BASE[(leftchar&0xf) << 2];
     2202                  ret += PAD;
     2203                }
     2204                return ret;
     2205              }
     2206              audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray);
     2207              finish(audio); // we don't wait for confirmation this worked - but it's worth trying
     2208            };
     2209            audio.src = url;
     2210            // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
     2211            Browser.safeSetTimeout(function() {
     2212              finish(audio); // try to use it even though it is not necessarily ready to play
     2213            }, 10000);
     2214          } else {
     2215            return fail();
     2216          }
     2217        };
     2218        Module['preloadPlugins'].push(audioPlugin);
     2219 
     2220 
     2221        // Canvas event setup
     2222 
     2223        function pointerLockChange() {
     2224          Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] ||
     2225                                document['mozPointerLockElement'] === Module['canvas'] ||
     2226                                document['webkitPointerLockElement'] === Module['canvas'] ||
     2227                                document['msPointerLockElement'] === Module['canvas'];
     2228        }
     2229        var canvas = Module['canvas'];
     2230        if (canvas) {
     2231          // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
     2232          // Module['forcedAspectRatio'] = 4 / 3;
     2233 
     2234          canvas.requestPointerLock = canvas['requestPointerLock'] ||
     2235                                      canvas['mozRequestPointerLock'] ||
     2236                                      canvas['webkitRequestPointerLock'] ||
     2237                                      canvas['msRequestPointerLock'] ||
     2238                                      function(){};
     2239          canvas.exitPointerLock = document['exitPointerLock'] ||
     2240                                   document['mozExitPointerLock'] ||
     2241                                   document['webkitExitPointerLock'] ||
     2242                                   document['msExitPointerLock'] ||
     2243                                   function(){}; // no-op if function does not exist
     2244          canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
     2245 
     2246          document.addEventListener('pointerlockchange', pointerLockChange, false);
     2247          document.addEventListener('mozpointerlockchange', pointerLockChange, false);
     2248          document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
     2249          document.addEventListener('mspointerlockchange', pointerLockChange, false);
     2250 
     2251          if (Module['elementPointerLock']) {
     2252            canvas.addEventListener("click", function(ev) {
     2253              if (!Browser.pointerLock && Module['canvas'].requestPointerLock) {
     2254                Module['canvas'].requestPointerLock();
     2255                ev.preventDefault();
     2256              }
     2257            }, false);
     2258          }
     2259        }
     2260      },createContext:function(canvas, useWebGL, setInModule, webGLContextAttributes) {
     2261        if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas.
     2262 
     2263        var ctx;
     2264        var contextHandle;
     2265        if (useWebGL) {
     2266          // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults.
     2267          var contextAttributes = {
     2268            antialias: false,
     2269            alpha: false,
     2270            majorVersion: 1,
     2271          };
     2272 
     2273          if (webGLContextAttributes) {
     2274            for (var attribute in webGLContextAttributes) {
     2275              contextAttributes[attribute] = webGLContextAttributes[attribute];
     2276            }
     2277          }
     2278 
     2279          // This check of existence of GL is here to satisfy Closure compiler, which yells if variable GL is referenced below but GL object is not
     2280          // actually compiled in because application is not doing any GL operations. TODO: Ideally if GL is not being used, this function
     2281          // Browser.createContext() should not even be emitted.
     2282          if (typeof GL !== 'undefined') {
     2283            contextHandle = GL.createContext(canvas, contextAttributes);
     2284            if (contextHandle) {
     2285              ctx = GL.getContext(contextHandle).GLctx;
     2286            }
     2287          }
     2288        } else {
     2289          ctx = canvas.getContext('2d');
     2290        }
     2291 
     2292        if (!ctx) return null;
     2293 
     2294        if (setInModule) {
     2295          if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it');
     2296 
     2297          Module.ctx = ctx;
     2298          if (useWebGL) GL.makeContextCurrent(contextHandle);
     2299          Module.useWebGL = useWebGL;
     2300          Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() });
     2301          Browser.init();
     2302        }
     2303        return ctx;
     2304      },destroyContext:function(canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer, resizeCanvas) {
     2305        Browser.lockPointer = lockPointer;
     2306        Browser.resizeCanvas = resizeCanvas;
     2307        if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true;
     2308        if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false;
     2309 
     2310        var canvas = Module['canvas'];
     2311        function fullscreenChange() {
     2312          Browser.isFullscreen = false;
     2313          var canvasContainer = canvas.parentNode;
     2314          if ((document['fullscreenElement'] || document['mozFullScreenElement'] ||
     2315               document['msFullscreenElement'] || document['webkitFullscreenElement'] ||
     2316               document['webkitCurrentFullScreenElement']) === canvasContainer) {
     2317            canvas.exitFullscreen = Browser.exitFullscreen;
     2318            if (Browser.lockPointer) canvas.requestPointerLock();
     2319            Browser.isFullscreen = true;
     2320            if (Browser.resizeCanvas) {
     2321              Browser.setFullscreenCanvasSize();
     2322            } else {
     2323              Browser.updateCanvasDimensions(canvas);
     2324            }
     2325          } else {
     2326            // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen
     2327            canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
     2328            canvasContainer.parentNode.removeChild(canvasContainer);
     2329 
     2330            if (Browser.resizeCanvas) {
     2331              Browser.setWindowedCanvasSize();
     2332            } else {
     2333              Browser.updateCanvasDimensions(canvas);
     2334            }
     2335          }
     2336          if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen);
     2337          if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen);
     2338        }
     2339 
     2340        if (!Browser.fullscreenHandlersInstalled) {
     2341          Browser.fullscreenHandlersInstalled = true;
     2342          document.addEventListener('fullscreenchange', fullscreenChange, false);
     2343          document.addEventListener('mozfullscreenchange', fullscreenChange, false);
     2344          document.addEventListener('webkitfullscreenchange', fullscreenChange, false);
     2345          document.addEventListener('MSFullscreenChange', fullscreenChange, false);
     2346        }
     2347 
     2348        // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root
     2349        var canvasContainer = document.createElement("div");
     2350        canvas.parentNode.insertBefore(canvasContainer, canvas);
     2351        canvasContainer.appendChild(canvas);
     2352 
     2353        // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
     2354        canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] ||
     2355                                            canvasContainer['mozRequestFullScreen'] ||
     2356                                            canvasContainer['msRequestFullscreen'] ||
     2357                                           (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) ||
     2358                                           (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null);
     2359 
     2360        canvasContainer.requestFullscreen();
     2361      },requestFullScreen:function() {
     2362        abort('Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)');
     2363      },exitFullscreen:function() {
     2364        // This is workaround for chrome. Trying to exit from fullscreen
     2365        // not in fullscreen state will cause "TypeError: Document not active"
     2366        // in chrome. See https://github.com/emscripten-core/emscripten/pull/8236
     2367        if (!Browser.isFullscreen) {
     2368          return false;
     2369        }
     2370 
     2371        var CFS = document['exitFullscreen'] ||
     2372                  document['cancelFullScreen'] ||
     2373                  document['mozCancelFullScreen'] ||
     2374                  document['msExitFullscreen'] ||
     2375                  document['webkitCancelFullScreen'] ||
     2376            (function() {});
     2377        CFS.apply(document, []);
     2378        return true;
     2379      },nextRAF:0,fakeRequestAnimationFrame:function(func) {
     2380        // try to keep 60fps between calls to here
     2381        var now = Date.now();
     2382        if (Browser.nextRAF === 0) {
     2383          Browser.nextRAF = now + 1000/60;
     2384        } else {
     2385          while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0
     2386            Browser.nextRAF += 1000/60;
     2387          }
     2388        }
     2389        var delay = Math.max(Browser.nextRAF - now, 0);
     2390        setTimeout(func, delay);
     2391      },requestAnimationFrame:function(func) {
     2392        if (typeof requestAnimationFrame === 'function') {
     2393          requestAnimationFrame(func);
     2394          return;
     2395        }
     2396        var RAF = Browser.fakeRequestAnimationFrame;
     2397        RAF(func);
     2398      },safeCallback:function(func) {
     2399        return function() {
     2400          if (!ABORT) return func.apply(null, arguments);
     2401        };
     2402      },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function() {
     2403        Browser.allowAsyncCallbacks = false;
     2404      },resumeAsyncCallbacks:function() { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now
     2405        Browser.allowAsyncCallbacks = true;
     2406        if (Browser.queuedAsyncCallbacks.length > 0) {
     2407          var callbacks = Browser.queuedAsyncCallbacks;
     2408          Browser.queuedAsyncCallbacks = [];
     2409          callbacks.forEach(function(func) {
     2410            func();
     2411          });
     2412        }
     2413      },safeRequestAnimationFrame:function(func) {
     2414        return Browser.requestAnimationFrame(function() {
     2415          if (ABORT) return;
     2416          if (Browser.allowAsyncCallbacks) {
     2417            func();
     2418          } else {
     2419            Browser.queuedAsyncCallbacks.push(func);
     2420          }
     2421        });
     2422      },safeSetTimeout:function(func, timeout) {
     2423        noExitRuntime = true;
     2424        return setTimeout(function() {
     2425          if (ABORT) return;
     2426          if (Browser.allowAsyncCallbacks) {
     2427            func();
     2428          } else {
     2429            Browser.queuedAsyncCallbacks.push(func);
     2430          }
     2431        }, timeout);
     2432      },safeSetInterval:function(func, timeout) {
     2433        noExitRuntime = true;
     2434        return setInterval(function() {
     2435          if (ABORT) return;
     2436          if (Browser.allowAsyncCallbacks) {
     2437            func();
     2438          } // drop it on the floor otherwise, next interval will kick in
     2439        }, timeout);
     2440      },getMimetype:function(name) {
     2441        return {
     2442          'jpg': 'image/jpeg',
     2443          'jpeg': 'image/jpeg',
     2444          'png': 'image/png',
     2445          'bmp': 'image/bmp',
     2446          'ogg': 'audio/ogg',
     2447          'wav': 'audio/wav',
     2448          'mp3': 'audio/mpeg'
     2449        }[name.substr(name.lastIndexOf('.')+1)];
     2450      },getUserMedia:function(func) {
     2451        if(!window.getUserMedia) {
     2452          window.getUserMedia = navigator['getUserMedia'] ||
     2453                                navigator['mozGetUserMedia'];
     2454        }
     2455        window.getUserMedia(func);
     2456      },getMovementX:function(event) {
     2457        return event['movementX'] ||
     2458               event['mozMovementX'] ||
     2459               event['webkitMovementX'] ||
     2460               0;
     2461      },getMovementY:function(event) {
     2462        return event['movementY'] ||
     2463               event['mozMovementY'] ||
     2464               event['webkitMovementY'] ||
     2465               0;
     2466      },getMouseWheelDelta:function(event) {
     2467        var delta = 0;
     2468        switch (event.type) {
     2469          case 'DOMMouseScroll':
     2470            // 3 lines make up a step
     2471            delta = event.detail / 3;
     2472            break;
     2473          case 'mousewheel':
     2474            // 120 units make up a step
     2475            delta = event.wheelDelta / 120;
     2476            break;
     2477          case 'wheel':
     2478            delta = event.deltaY
     2479            switch(event.deltaMode) {
     2480              case 0:
     2481                // DOM_DELTA_PIXEL: 100 pixels make up a step
     2482                delta /= 100;
     2483                break;
     2484              case 1:
     2485                // DOM_DELTA_LINE: 3 lines make up a step
     2486                delta /= 3;
     2487                break;
     2488              case 2:
     2489                // DOM_DELTA_PAGE: A page makes up 80 steps
     2490                delta *= 80;
     2491                break;
     2492              default:
     2493                throw 'unrecognized mouse wheel delta mode: ' + event.deltaMode;
     2494            }
     2495            break;
     2496          default:
     2497            throw 'unrecognized mouse wheel event: ' + event.type;
     2498        }
     2499        return delta;
     2500      },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event) { // event should be mousemove, mousedown or mouseup
     2501        if (Browser.pointerLock) {
     2502          // When the pointer is locked, calculate the coordinates
     2503          // based on the movement of the mouse.
     2504          // Workaround for Firefox bug 764498
     2505          if (event.type != 'mousemove' &&
     2506              ('mozMovementX' in event)) {
     2507            Browser.mouseMovementX = Browser.mouseMovementY = 0;
     2508          } else {
     2509            Browser.mouseMovementX = Browser.getMovementX(event);
     2510            Browser.mouseMovementY = Browser.getMovementY(event);
     2511          }
     2512 
     2513          // check if SDL is available
     2514          if (typeof SDL != "undefined") {
     2515            Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
     2516            Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
     2517          } else {
     2518            // just add the mouse delta to the current absolut mouse position
     2519            // FIXME: ideally this should be clamped against the canvas size and zero
     2520            Browser.mouseX += Browser.mouseMovementX;
     2521            Browser.mouseY += Browser.mouseMovementY;
     2522          }
     2523        } else {
     2524          // Otherwise, calculate the movement based on the changes
     2525          // in the coordinates.
     2526          var rect = Module["canvas"].getBoundingClientRect();
     2527          var cw = Module["canvas"].width;
     2528          var ch = Module["canvas"].height;
     2529 
     2530          // Neither .scrollX or .pageXOffset are defined in a spec, but
     2531          // we prefer .scrollX because it is currently in a spec draft.
     2532          // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/)
     2533          var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset);
     2534          var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset);
     2535          // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset
     2536          // and we have no viable fallback.
     2537          assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.');
     2538 
     2539          if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') {
     2540            var touch = event.touch;
     2541            if (touch === undefined) {
     2542              return; // the "touch" property is only defined in SDL
     2543 
     2544            }
     2545            var adjustedX = touch.pageX - (scrollX + rect.left);
     2546            var adjustedY = touch.pageY - (scrollY + rect.top);
     2547 
     2548            adjustedX = adjustedX * (cw / rect.width);
     2549            adjustedY = adjustedY * (ch / rect.height);
     2550 
     2551            var coords = { x: adjustedX, y: adjustedY };
     2552 
     2553            if (event.type === 'touchstart') {
     2554              Browser.lastTouches[touch.identifier] = coords;
     2555              Browser.touches[touch.identifier] = coords;
     2556            } else if (event.type === 'touchend' || event.type === 'touchmove') {
     2557              var last = Browser.touches[touch.identifier];
     2558              if (!last) last = coords;
     2559              Browser.lastTouches[touch.identifier] = last;
     2560              Browser.touches[touch.identifier] = coords;
     2561            }
     2562            return;
     2563          }
     2564 
     2565          var x = event.pageX - (scrollX + rect.left);
     2566          var y = event.pageY - (scrollY + rect.top);
     2567 
     2568          // the canvas might be CSS-scaled compared to its backbuffer;
     2569          // SDL-using content will want mouse coordinates in terms
     2570          // of backbuffer units.
     2571          x = x * (cw / rect.width);
     2572          y = y * (ch / rect.height);
     2573 
     2574          Browser.mouseMovementX = x - Browser.mouseX;
     2575          Browser.mouseMovementY = y - Browser.mouseY;
     2576          Browser.mouseX = x;
     2577          Browser.mouseY = y;
     2578        }
     2579      },asyncLoad:function(url, onload, onerror, noRunDep) {
     2580        var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : '';
     2581        readAsync(url, function(arrayBuffer) {
     2582          assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
     2583          onload(new Uint8Array(arrayBuffer));
     2584          if (dep) removeRunDependency(dep);
     2585        }, function(event) {
     2586          if (onerror) {
     2587            onerror();
     2588          } else {
     2589            throw 'Loading data file "' + url + '" failed.';
     2590          }
     2591        });
     2592        if (dep) addRunDependency(dep);
     2593      },resizeListeners:[],updateResizeListeners:function() {
     2594        var canvas = Module['canvas'];
     2595        Browser.resizeListeners.forEach(function(listener) {
     2596          listener(canvas.width, canvas.height);
     2597        });
     2598      },setCanvasSize:function(width, height, noUpdates) {
     2599        var canvas = Module['canvas'];
     2600        Browser.updateCanvasDimensions(canvas, width, height);
     2601        if (!noUpdates) Browser.updateResizeListeners();
     2602      },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function() {
     2603        // check if SDL is available
     2604        if (typeof SDL != "undefined") {
     2605          var flags = HEAPU32[((SDL.screen)>>2)];
     2606          flags = flags | 0x00800000; // set SDL_FULLSCREEN flag
     2607          HEAP32[((SDL.screen)>>2)]=flags
     2608        }
     2609        Browser.updateCanvasDimensions(Module['canvas']);
     2610        Browser.updateResizeListeners();
     2611      },setWindowedCanvasSize:function() {
     2612        // check if SDL is available
     2613        if (typeof SDL != "undefined") {
     2614          var flags = HEAPU32[((SDL.screen)>>2)];
     2615          flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag
     2616          HEAP32[((SDL.screen)>>2)]=flags
     2617        }
     2618        Browser.updateCanvasDimensions(Module['canvas']);
     2619        Browser.updateResizeListeners();
     2620      },updateCanvasDimensions:function(canvas, wNative, hNative) {
     2621        if (wNative && hNative) {
     2622          canvas.widthNative = wNative;
     2623          canvas.heightNative = hNative;
     2624        } else {
     2625          wNative = canvas.widthNative;
     2626          hNative = canvas.heightNative;
     2627        }
     2628        var w = wNative;
     2629        var h = hNative;
     2630        if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) {
     2631          if (w/h < Module['forcedAspectRatio']) {
     2632            w = Math.round(h * Module['forcedAspectRatio']);
     2633          } else {
     2634            h = Math.round(w / Module['forcedAspectRatio']);
     2635          }
     2636        }
     2637        if (((document['fullscreenElement'] || document['mozFullScreenElement'] ||
     2638             document['msFullscreenElement'] || document['webkitFullscreenElement'] ||
     2639             document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) {
     2640           var factor = Math.min(screen.width / w, screen.height / h);
     2641           w = Math.round(w * factor);
     2642           h = Math.round(h * factor);
     2643        }
     2644        if (Browser.resizeCanvas) {
     2645          if (canvas.width  != w) canvas.width  = w;
     2646          if (canvas.height != h) canvas.height = h;
     2647          if (typeof canvas.style != 'undefined') {
     2648            canvas.style.removeProperty( "width");
     2649            canvas.style.removeProperty("height");
     2650          }
     2651        } else {
     2652          if (canvas.width  != wNative) canvas.width  = wNative;
     2653          if (canvas.height != hNative) canvas.height = hNative;
     2654          if (typeof canvas.style != 'undefined') {
     2655            if (w != wNative || h != hNative) {
     2656              canvas.style.setProperty( "width", w + "px", "important");
     2657              canvas.style.setProperty("height", h + "px", "important");
     2658            } else {
     2659              canvas.style.removeProperty( "width");
     2660              canvas.style.removeProperty("height");
     2661            }
     2662          }
     2663        }
     2664      },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function() {
     2665        var handle = Browser.nextWgetRequestHandle;
     2666        Browser.nextWgetRequestHandle++;
     2667        return handle;
     2668      }};
     2669
     2670  function abortStackOverflow(allocSize) {
     2671      abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - stackSave() + allocSize) + ' bytes available!');
     2672    }
     2673
     2674  function demangle(func) {
     2675      warnOnce('warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling');
     2676      return func;
     2677    }
     2678
     2679  function demangleAll(text) {
     2680      var regex =
     2681        /\b_Z[\w\d_]+/g;
     2682      return text.replace(regex,
     2683        function(x) {
     2684          var y = demangle(x);
     2685          return x === y ? x : (y + ' [' + x + ']');
     2686        });
     2687    }
     2688
     2689  function jsStackTrace() {
     2690      var err = new Error();
     2691      if (!err.stack) {
     2692        // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
     2693        // so try that as a special-case.
     2694        try {
     2695          throw new Error();
     2696        } catch(e) {
     2697          err = e;
     2698        }
     2699        if (!err.stack) {
     2700          return '(no stack trace available)';
     2701        }
     2702      }
     2703      return err.stack.toString();
     2704    }
     2705
     2706  function stackTrace() {
     2707      var js = jsStackTrace();
     2708      if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
     2709      return demangleAll(js);
     2710    }
     2711
     2712  function ___handle_stack_overflow() {
     2713      abort('stack overflow')
     2714    }
     2715
     2716 
     2717  function setErrNo(value) {
     2718      HEAP32[((___errno_location())>>2)]=value;
    16942719      return value;
    16952720    }
    16962721 
    1697   var PATH={splitPath:function (filename) {
     2722 
     2723  var PATH={splitPath:function(filename) {
    16982724        var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
    16992725        return splitPathRe.exec(filename).slice(1);
    1700       },normalizeArray:function (parts, allowAboveRoot) {
     2726      },normalizeArray:function(parts, allowAboveRoot) {
    17012727        // if the path tries to go above the root, `up` ends up > 0
    17022728        var up = 0;
     
    17152741        // if the path is allowed to go above the root, restore leading ..s
    17162742        if (allowAboveRoot) {
    1717           for (; up--; up) {
     2743          for (; up; up--) {
    17182744            parts.unshift('..');
    17192745          }
    17202746        }
    17212747        return parts;
    1722       },normalize:function (path) {
     2748      },normalize:function(path) {
    17232749        var isAbsolute = path.charAt(0) === '/',
    17242750            trailingSlash = path.substr(-1) === '/';
     
    17342760        }
    17352761        return (isAbsolute ? '/' : '') + path;
    1736       },dirname:function (path) {
     2762      },dirname:function(path) {
    17372763        var result = PATH.splitPath(path),
    17382764            root = result[0],
     
    17472773        }
    17482774        return root + dir;
    1749       },basename:function (path) {
     2775      },basename:function(path) {
    17502776        // EMSCRIPTEN return '/'' for '/', not an empty string
    17512777        if (path === '/') return '/';
     
    17532779        if (lastSlash === -1) return path;
    17542780        return path.substr(lastSlash+1);
    1755       },extname:function (path) {
     2781      },extname:function(path) {
    17562782        return PATH.splitPath(path)[3];
    1757       },join:function () {
     2783      },join:function() {
    17582784        var paths = Array.prototype.slice.call(arguments, 0);
    17592785        return PATH.normalize(paths.join('/'));
    1760       },join2:function (l, r) {
     2786      },join2:function(l, r) {
    17612787        return PATH.normalize(l + '/' + r);
    1762       },resolve:function () {
     2788      }};
     2789 
     2790 
     2791  var PATH_FS={resolve:function() {
    17632792        var resolvedPath = '',
    17642793          resolvedAbsolute = false;
     
    17802809        }), !resolvedAbsolute).join('/');
    17812810        return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
    1782       },relative:function (from, to) {
    1783         from = PATH.resolve(from).substr(1);
    1784         to = PATH.resolve(to).substr(1);
     2811      },relative:function(from, to) {
     2812        from = PATH_FS.resolve(from).substr(1);
     2813        to = PATH_FS.resolve(to).substr(1);
    17852814        function trim(arr) {
    17862815          var start = 0;
     
    18142843 
    18152844  var TTY={ttys:[],init:function () {
    1816         // https://github.com/kripken/emscripten/pull/1555
     2845        // https://github.com/emscripten-core/emscripten/pull/1555
    18172846        // if (ENVIRONMENT_IS_NODE) {
    18182847        //   // currently, FS.init does not distinguish if process.stdin is a file or TTY
     
    18222851        //   process['stdin']['setEncoding']('utf8');
    18232852        // }
    1824       },shutdown:function () {
    1825         // https://github.com/kripken/emscripten/pull/1555
     2853      },shutdown:function() {
     2854        // https://github.com/emscripten-core/emscripten/pull/1555
    18262855        // if (ENVIRONMENT_IS_NODE) {
    18272856        //   // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
     
    18322861        //   process['stdin']['pause']();
    18332862        // }
    1834       },register:function (dev, ops) {
     2863      },register:function(dev, ops) {
    18352864        TTY.ttys[dev] = { input: [], output: [], ops: ops };
    18362865        FS.registerDevice(dev, TTY.stream_ops);
    1837       },stream_ops:{open:function (stream) {
     2866      },stream_ops:{open:function(stream) {
    18382867          var tty = TTY.ttys[stream.node.rdev];
    18392868          if (!tty) {
    1840             throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
     2869            throw new FS.ErrnoError(43);
    18412870          }
    18422871          stream.tty = tty;
    18432872          stream.seekable = false;
    1844         },close:function (stream) {
     2873        },close:function(stream) {
    18452874          // flush any pending line data
    18462875          stream.tty.ops.flush(stream.tty);
    1847         },flush:function (stream) {
     2876        },flush:function(stream) {
    18482877          stream.tty.ops.flush(stream.tty);
    1849         },read:function (stream, buffer, offset, length, pos /* ignored */) {
     2878        },read:function(stream, buffer, offset, length, pos /* ignored */) {
    18502879          if (!stream.tty || !stream.tty.ops.get_char) {
    1851             throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
     2880            throw new FS.ErrnoError(60);
    18522881          }
    18532882          var bytesRead = 0;
     
    18572886              result = stream.tty.ops.get_char(stream.tty);
    18582887            } catch (e) {
    1859               throw new FS.ErrnoError(ERRNO_CODES.EIO);
     2888              throw new FS.ErrnoError(29);
    18602889            }
    18612890            if (result === undefined && bytesRead === 0) {
    1862               throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
     2891              throw new FS.ErrnoError(6);
    18632892            }
    18642893            if (result === null || result === undefined) break;
     
    18702899          }
    18712900          return bytesRead;
    1872         },write:function (stream, buffer, offset, length, pos) {
     2901        },write:function(stream, buffer, offset, length, pos) {
    18732902          if (!stream.tty || !stream.tty.ops.put_char) {
    1874             throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
    1875           }
    1876           for (var i = 0; i < length; i++) {
    1877             try {
     2903            throw new FS.ErrnoError(60);
     2904          }
     2905          try {
     2906            for (var i = 0; i < length; i++) {
    18782907              stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
    1879             } catch (e) {
    1880               throw new FS.ErrnoError(ERRNO_CODES.EIO);
    18812908            }
     2909          } catch (e) {
     2910            throw new FS.ErrnoError(29);
    18822911          }
    18832912          if (length) {
     
    18852914          }
    18862915          return i;
    1887         }},default_tty_ops:{get_char:function (tty) {
     2916        }},default_tty_ops:{get_char:function(tty) {
    18882917          if (!tty.input.length) {
    18892918            var result = null;
     
    18912920              // we will read data by chunks of BUFSIZE
    18922921              var BUFSIZE = 256;
    1893               var buf = new Buffer(BUFSIZE);
     2922              var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
    18942923              var bytesRead = 0;
    18952924 
    1896               var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion
    1897  
    1898               var fd = process.stdin.fd;
    1899               if (isPosixPlatform) {
    1900                 // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync)
    1901                 var usingDevice = false;
    1902                 try {
    1903                   fd = fs.openSync('/dev/stdin', 'r');
    1904                   usingDevice = true;
    1905                 } catch (e) {}
    1906               }
    1907  
    19082925              try {
    1909                 bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
     2926                bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null);
    19102927              } catch(e) {
    19112928                // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,
     
    19152932              }
    19162933 
    1917               if (usingDevice) { fs.closeSync(fd); }
    19182934              if (bytesRead > 0) {
    19192935                result = buf.slice(0, bytesRead).toString('utf-8');
     
    19212937                result = null;
    19222938              }
    1923  
    1924             } else if (typeof window != 'undefined' &&
     2939            } else
     2940            if (typeof window != 'undefined' &&
    19252941              typeof window.prompt == 'function') {
    19262942              // Browser.
     
    19422958          }
    19432959          return tty.input.shift();
    1944         },put_char:function (tty, val) {
     2960        },put_char:function(tty, val) {
    19452961          if (val === null || val === 10) {
    1946             Module['print'](UTF8ArrayToString(tty.output, 0));
     2962            out(UTF8ArrayToString(tty.output, 0));
    19472963            tty.output = [];
    19482964          } else {
    19492965            if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
    19502966          }
    1951         },flush:function (tty) {
     2967        },flush:function(tty) {
    19522968          if (tty.output && tty.output.length > 0) {
    1953             Module['print'](UTF8ArrayToString(tty.output, 0));
     2969            out(UTF8ArrayToString(tty.output, 0));
    19542970            tty.output = [];
    19552971          }
    1956         }},default_tty1_ops:{put_char:function (tty, val) {
     2972        }},default_tty1_ops:{put_char:function(tty, val) {
    19572973          if (val === null || val === 10) {
    1958             Module['printErr'](UTF8ArrayToString(tty.output, 0));
     2974            err(UTF8ArrayToString(tty.output, 0));
    19592975            tty.output = [];
    19602976          } else {
    19612977            if (val != 0) tty.output.push(val);
    19622978          }
    1963         },flush:function (tty) {
     2979        },flush:function(tty) {
    19642980          if (tty.output && tty.output.length > 0) {
    1965             Module['printErr'](UTF8ArrayToString(tty.output, 0));
     2981            err(UTF8ArrayToString(tty.output, 0));
    19662982            tty.output = [];
    19672983          }
    19682984        }}};
    19692985 
    1970   var MEMFS={ops_table:null,mount:function (mount) {
     2986  var MEMFS={ops_table:null,mount:function(mount) {
    19712987        return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
    1972       },createNode:function (parent, name, mode, dev) {
     2988      },createNode:function(parent, name, mode, dev) {
    19732989        if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
    19742990          // no supported
    1975           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     2991          throw new FS.ErrnoError(63);
    19762992        }
    19772993        if (!MEMFS.ops_table) {
     
    20503066        }
    20513067        return node;
    2052       },getFileDataAsRegularArray:function (node) {
     3068      },getFileDataAsRegularArray:function(node) {
    20533069        if (node.contents && node.contents.subarray) {
    20543070          var arr = [];
     
    20573073        }
    20583074        return node.contents; // No-op, the file contents are already in a JS array. Return as-is.
    2059       },getFileDataAsTypedArray:function (node) {
    2060         if (!node.contents) return new Uint8Array;
     3075      },getFileDataAsTypedArray:function(node) {
     3076        if (!node.contents) return new Uint8Array(0);
    20613077        if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
    20623078        return new Uint8Array(node.contents);
    2063       },expandFileStorage:function (node, newCapacity) {
    2064         // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file
    2065         // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to
    2066         // increase the size.
    2067         if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {
    2068           node.contents = MEMFS.getFileDataAsRegularArray(node);
    2069           node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.
    2070         }
    2071  
    2072         if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well.
    2073           var prevCapacity = node.contents ? node.contents.length : 0;
    2074           if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
    2075           // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
    2076           // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
    2077           // avoid overshooting the allocation cap by a very large margin.
    2078           var CAPACITY_DOUBLING_MAX = 1024 * 1024;
    2079           newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0);
    2080           if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
    2081           var oldContents = node.contents;
    2082           node.contents = new Uint8Array(newCapacity); // Allocate new storage.
    2083           if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
    2084           return;
    2085         }
    2086         // Not using a typed array to back the file storage. Use a standard JS array instead.
    2087         if (!node.contents && newCapacity > 0) node.contents = [];
    2088         while (node.contents.length < newCapacity) node.contents.push(0);
    2089       },resizeFileStorage:function (node, newSize) {
     3079      },expandFileStorage:function(node, newCapacity) {
     3080        var prevCapacity = node.contents ? node.contents.length : 0;
     3081        if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
     3082        // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
     3083        // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
     3084        // avoid overshooting the allocation cap by a very large margin.
     3085        var CAPACITY_DOUBLING_MAX = 1024 * 1024;
     3086        newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0);
     3087        if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
     3088        var oldContents = node.contents;
     3089        node.contents = new Uint8Array(newCapacity); // Allocate new storage.
     3090        if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
     3091        return;
     3092      },resizeFileStorage:function(node, newSize) {
    20903093        if (node.usedBytes == newSize) return;
    20913094        if (newSize == 0) {
     
    20963099        if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store.
    20973100          var oldContents = node.contents;
    2098           node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage.
     3101          node.contents = new Uint8Array(newSize); // Allocate new storage.
    20993102          if (oldContents) {
    21003103            node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
     
    21083111        else while (node.contents.length < newSize) node.contents.push(0);
    21093112        node.usedBytes = newSize;
    2110       },node_ops:{getattr:function (node) {
     3113      },node_ops:{getattr:function(node) {
    21113114          var attr = {};
    21123115          // device numbers reuse inode numbers.
     
    21353138          attr.blocks = Math.ceil(attr.size / attr.blksize);
    21363139          return attr;
    2137         },setattr:function (node, attr) {
     3140        },setattr:function(node, attr) {
    21383141          if (attr.mode !== undefined) {
    21393142            node.mode = attr.mode;
     
    21453148            MEMFS.resizeFileStorage(node, attr.size);
    21463149          }
    2147         },lookup:function (parent, name) {
    2148           throw FS.genericErrors[ERRNO_CODES.ENOENT];
    2149         },mknod:function (parent, name, mode, dev) {
     3150        },lookup:function(parent, name) {
     3151          throw FS.genericErrors[44];
     3152        },mknod:function(parent, name, mode, dev) {
    21503153          return MEMFS.createNode(parent, name, mode, dev);
    2151         },rename:function (old_node, new_dir, new_name) {
     3154        },rename:function(old_node, new_dir, new_name) {
    21523155          // if we're overwriting a directory at new_name, make sure it's empty.
    21533156          if (FS.isDir(old_node.mode)) {
     
    21593162            if (new_node) {
    21603163              for (var i in new_node.contents) {
    2161                 throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
     3164                throw new FS.ErrnoError(55);
    21623165              }
    21633166            }
     
    21683171          new_dir.contents[new_name] = old_node;
    21693172          old_node.parent = new_dir;
    2170         },unlink:function (parent, name) {
     3173        },unlink:function(parent, name) {
    21713174          delete parent.contents[name];
    2172         },rmdir:function (parent, name) {
     3175        },rmdir:function(parent, name) {
    21733176          var node = FS.lookupNode(parent, name);
    21743177          for (var i in node.contents) {
    2175             throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
     3178            throw new FS.ErrnoError(55);
    21763179          }
    21773180          delete parent.contents[name];
    2178         },readdir:function (node) {
    2179           var entries = ['.', '..']
     3181        },readdir:function(node) {
     3182          var entries = ['.', '..'];
    21803183          for (var key in node.contents) {
    21813184            if (!node.contents.hasOwnProperty(key)) {
     
    21853188          }
    21863189          return entries;
    2187         },symlink:function (parent, newname, oldpath) {
     3190        },symlink:function(parent, newname, oldpath) {
    21883191          var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
    21893192          node.link = oldpath;
    21903193          return node;
    2191         },readlink:function (node) {
     3194        },readlink:function(node) {
    21923195          if (!FS.isLink(node.mode)) {
    2193             throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     3196            throw new FS.ErrnoError(28);
    21943197          }
    21953198          return node.link;
    2196         }},stream_ops:{read:function (stream, buffer, offset, length, position) {
     3199        }},stream_ops:{read:function(stream, buffer, offset, length, position) {
    21973200          var contents = stream.node.contents;
    21983201          if (position >= stream.node.usedBytes) return 0;
     
    22053208          }
    22063209          return size;
    2207         },write:function (stream, buffer, offset, length, position, canOwn) {
     3210        },write:function(stream, buffer, offset, length, position, canOwn) {
     3211          // The data buffer should be a typed array view
     3212          assert(!(buffer instanceof ArrayBuffer));
     3213 
    22083214          if (!length) return 0;
    22093215          var node = stream.node;
     
    22173223              return length;
    22183224            } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
    2219               node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
     3225              node.contents = buffer.slice(offset, offset + length);
    22203226              node.usedBytes = length;
    22213227              return length;
     
    22343240            }
    22353241          }
    2236           node.usedBytes = Math.max(node.usedBytes, position+length);
     3242          node.usedBytes = Math.max(node.usedBytes, position + length);
    22373243          return length;
    2238         },llseek:function (stream, offset, whence) {
     3244        },llseek:function(stream, offset, whence) {
    22393245          var position = offset;
    2240           if (whence === 1) {  // SEEK_CUR.
     3246          if (whence === 1) {
    22413247            position += stream.position;
    2242           } else if (whence === 2) {  // SEEK_END.
     3248          } else if (whence === 2) {
    22433249            if (FS.isFile(stream.node.mode)) {
    22443250              position += stream.node.usedBytes;
     
    22463252          }
    22473253          if (position < 0) {
    2248             throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     3254            throw new FS.ErrnoError(28);
    22493255          }
    22503256          return position;
    2251         },allocate:function (stream, offset, length) {
     3257        },allocate:function(stream, offset, length) {
    22523258          MEMFS.expandFileStorage(stream.node, offset + length);
    22533259          stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
    2254         },mmap:function (stream, buffer, offset, length, position, prot, flags) {
     3260        },mmap:function(stream, address, length, position, prot, flags) {
     3261          // We don't currently support location hints for the address of the mapping
     3262          assert(address === 0);
     3263 
    22553264          if (!FS.isFile(stream.node.mode)) {
    2256             throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
     3265            throw new FS.ErrnoError(43);
    22573266          }
    22583267          var ptr;
     
    22603269          var contents = stream.node.contents;
    22613270          // Only make a new copy when MAP_PRIVATE is specified.
    2262           if ( !(flags & 2) &&
    2263                 (contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
     3271          if (!(flags & 2) && contents.buffer === buffer) {
    22643272            // We can't emulate MAP_SHARED when the file is not backed by the buffer
    22653273            // we're mapping to (e.g. the HEAP buffer).
     
    22683276          } else {
    22693277            // Try to avoid unnecessary slices.
    2270             if (position > 0 || position + length < stream.node.usedBytes) {
     3278            if (position > 0 || position + length < contents.length) {
    22713279              if (contents.subarray) {
    22723280                contents = contents.subarray(position, position + length);
     
    22783286            ptr = _malloc(length);
    22793287            if (!ptr) {
    2280               throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
     3288              throw new FS.ErrnoError(48);
    22813289            }
    2282             buffer.set(contents, ptr);
     3290            HEAP8.set(contents, ptr);
    22833291          }
    22843292          return { ptr: ptr, allocated: allocated };
    2285         },msync:function (stream, buffer, offset, length, mmapFlags) {
     3293        },msync:function(stream, buffer, offset, length, mmapFlags) {
    22863294          if (!FS.isFile(stream.node.mode)) {
    2287             throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
     3295            throw new FS.ErrnoError(43);
    22883296          }
    22893297          if (mmapFlags & 2) {
     
    22973305        }}};
    22983306 
    2299   var IDBFS={dbs:{},indexedDB:function () {
    2300         if (typeof indexedDB !== 'undefined') return indexedDB;
    2301         var ret = null;
    2302         if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
    2303         assert(ret, 'IDBFS used, but indexedDB not supported');
    2304         return ret;
    2305       },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) {
    2306         // reuse all of the core MEMFS functionality
    2307         return MEMFS.mount.apply(null, arguments);
    2308       },syncfs:function (mount, populate, callback) {
    2309         IDBFS.getLocalSet(mount, function(err, local) {
    2310           if (err) return callback(err);
    2311  
    2312           IDBFS.getRemoteSet(mount, function(err, remote) {
    2313             if (err) return callback(err);
    2314  
    2315             var src = populate ? remote : local;
    2316             var dst = populate ? local : remote;
    2317  
    2318             IDBFS.reconcile(src, dst, callback);
    2319           });
    2320         });
    2321       },getDB:function (name, callback) {
    2322         // check the cache first
    2323         var db = IDBFS.dbs[name];
    2324         if (db) {
    2325           return callback(null, db);
    2326         }
    2327  
    2328         var req;
    2329         try {
    2330           req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
    2331         } catch (e) {
    2332           return callback(e);
    2333         }
    2334         if (!req) {
    2335           return callback("Unable to connect to IndexedDB");
    2336         }
    2337         req.onupgradeneeded = function(e) {
    2338           var db = e.target.result;
    2339           var transaction = e.target.transaction;
    2340  
    2341           var fileStore;
    2342  
    2343           if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
    2344             fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
    2345           } else {
    2346             fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
    2347           }
    2348  
    2349           if (!fileStore.indexNames.contains('timestamp')) {
    2350             fileStore.createIndex('timestamp', 'timestamp', { unique: false });
    2351           }
    2352         };
    2353         req.onsuccess = function() {
    2354           db = req.result;
    2355  
    2356           // add to the cache
    2357           IDBFS.dbs[name] = db;
    2358           callback(null, db);
    2359         };
    2360         req.onerror = function(e) {
    2361           callback(this.error);
    2362           e.preventDefault();
    2363         };
    2364       },getLocalSet:function (mount, callback) {
    2365         var entries = {};
    2366  
    2367         function isRealDir(p) {
    2368           return p !== '.' && p !== '..';
    2369         };
    2370         function toAbsolute(root) {
    2371           return function(p) {
    2372             return PATH.join2(root, p);
    2373           }
    2374         };
    2375  
    2376         var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
    2377  
    2378         while (check.length) {
    2379           var path = check.pop();
    2380           var stat;
    2381  
    2382           try {
    2383             stat = FS.stat(path);
    2384           } catch (e) {
    2385             return callback(e);
    2386           }
    2387  
    2388           if (FS.isDir(stat.mode)) {
    2389             check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
    2390           }
    2391  
    2392           entries[path] = { timestamp: stat.mtime };
    2393         }
    2394  
    2395         return callback(null, { type: 'local', entries: entries });
    2396       },getRemoteSet:function (mount, callback) {
    2397         var entries = {};
    2398  
    2399         IDBFS.getDB(mount.mountpoint, function(err, db) {
    2400           if (err) return callback(err);
    2401  
    2402           var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
    2403           transaction.onerror = function(e) {
    2404             callback(this.error);
    2405             e.preventDefault();
    2406           };
    2407  
    2408           var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
    2409           var index = store.index('timestamp');
    2410  
    2411           index.openKeyCursor().onsuccess = function(event) {
    2412             var cursor = event.target.result;
    2413  
    2414             if (!cursor) {
    2415               return callback(null, { type: 'remote', db: db, entries: entries });
    2416             }
    2417  
    2418             entries[cursor.primaryKey] = { timestamp: cursor.key };
    2419  
    2420             cursor.continue();
    2421           };
    2422         });
    2423       },loadLocalEntry:function (path, callback) {
    2424         var stat, node;
    2425  
    2426         try {
    2427           var lookup = FS.lookupPath(path);
    2428           node = lookup.node;
    2429           stat = FS.stat(path);
    2430         } catch (e) {
    2431           return callback(e);
    2432         }
    2433  
    2434         if (FS.isDir(stat.mode)) {
    2435           return callback(null, { timestamp: stat.mtime, mode: stat.mode });
    2436         } else if (FS.isFile(stat.mode)) {
    2437           // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
    2438           // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
    2439           node.contents = MEMFS.getFileDataAsTypedArray(node);
    2440           return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents });
    2441         } else {
    2442           return callback(new Error('node type not supported'));
    2443         }
    2444       },storeLocalEntry:function (path, entry, callback) {
    2445         try {
    2446           if (FS.isDir(entry.mode)) {
    2447             FS.mkdir(path, entry.mode);
    2448           } else if (FS.isFile(entry.mode)) {
    2449             FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true });
    2450           } else {
    2451             return callback(new Error('node type not supported'));
    2452           }
    2453  
    2454           FS.chmod(path, entry.mode);
    2455           FS.utime(path, entry.timestamp, entry.timestamp);
    2456         } catch (e) {
    2457           return callback(e);
    2458         }
    2459  
    2460         callback(null);
    2461       },removeLocalEntry:function (path, callback) {
    2462         try {
    2463           var lookup = FS.lookupPath(path);
    2464           var stat = FS.stat(path);
    2465  
    2466           if (FS.isDir(stat.mode)) {
    2467             FS.rmdir(path);
    2468           } else if (FS.isFile(stat.mode)) {
    2469             FS.unlink(path);
    2470           }
    2471         } catch (e) {
    2472           return callback(e);
    2473         }
    2474  
    2475         callback(null);
    2476       },loadRemoteEntry:function (store, path, callback) {
    2477         var req = store.get(path);
    2478         req.onsuccess = function(event) { callback(null, event.target.result); };
    2479         req.onerror = function(e) {
    2480           callback(this.error);
    2481           e.preventDefault();
    2482         };
    2483       },storeRemoteEntry:function (store, path, entry, callback) {
    2484         var req = store.put(entry, path);
    2485         req.onsuccess = function() { callback(null); };
    2486         req.onerror = function(e) {
    2487           callback(this.error);
    2488           e.preventDefault();
    2489         };
    2490       },removeRemoteEntry:function (store, path, callback) {
    2491         var req = store.delete(path);
    2492         req.onsuccess = function() { callback(null); };
    2493         req.onerror = function(e) {
    2494           callback(this.error);
    2495           e.preventDefault();
    2496         };
    2497       },reconcile:function (src, dst, callback) {
    2498         var total = 0;
    2499  
    2500         var create = [];
    2501         Object.keys(src.entries).forEach(function (key) {
    2502           var e = src.entries[key];
    2503           var e2 = dst.entries[key];
    2504           if (!e2 || e.timestamp > e2.timestamp) {
    2505             create.push(key);
    2506             total++;
    2507           }
    2508         });
    2509  
    2510         var remove = [];
    2511         Object.keys(dst.entries).forEach(function (key) {
    2512           var e = dst.entries[key];
    2513           var e2 = src.entries[key];
    2514           if (!e2) {
    2515             remove.push(key);
    2516             total++;
    2517           }
    2518         });
    2519  
    2520         if (!total) {
    2521           return callback(null);
    2522         }
    2523  
    2524         var errored = false;
    2525         var completed = 0;
    2526         var db = src.type === 'remote' ? src.db : dst.db;
    2527         var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
    2528         var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
    2529  
    2530         function done(err) {
    2531           if (err) {
    2532             if (!done.errored) {
    2533               done.errored = true;
    2534               return callback(err);
    2535             }
    2536             return;
    2537           }
    2538           if (++completed >= total) {
    2539             return callback(null);
    2540           }
    2541         };
    2542  
    2543         transaction.onerror = function(e) {
    2544           done(this.error);
    2545           e.preventDefault();
    2546         };
    2547  
    2548         // sort paths in ascending order so directory entries are created
    2549         // before the files inside them
    2550         create.sort().forEach(function (path) {
    2551           if (dst.type === 'local') {
    2552             IDBFS.loadRemoteEntry(store, path, function (err, entry) {
    2553               if (err) return done(err);
    2554               IDBFS.storeLocalEntry(path, entry, done);
    2555             });
    2556           } else {
    2557             IDBFS.loadLocalEntry(path, function (err, entry) {
    2558               if (err) return done(err);
    2559               IDBFS.storeRemoteEntry(store, path, entry, done);
    2560             });
    2561           }
    2562         });
    2563  
    2564         // sort paths in descending order so files are deleted before their
    2565         // parent directories
    2566         remove.sort().reverse().forEach(function(path) {
    2567           if (dst.type === 'local') {
    2568             IDBFS.removeLocalEntry(path, done);
    2569           } else {
    2570             IDBFS.removeRemoteEntry(store, path, done);
    2571           }
    2572         });
    2573       }};
    2574  
    2575   var NODEFS={isWindows:false,staticInit:function () {
    2576         NODEFS.isWindows = !!process.platform.match(/^win/);
    2577       },mount:function (mount) {
    2578         assert(ENVIRONMENT_IS_NODE);
    2579         return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
    2580       },createNode:function (parent, name, mode, dev) {
    2581         if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
    2582           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    2583         }
    2584         var node = FS.createNode(parent, name, mode);
    2585         node.node_ops = NODEFS.node_ops;
    2586         node.stream_ops = NODEFS.stream_ops;
    2587         return node;
    2588       },getMode:function (path) {
    2589         var stat;
    2590         try {
    2591           stat = fs.lstatSync(path);
    2592           if (NODEFS.isWindows) {
    2593             // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so
    2594             // propagate write bits to execute bits.
    2595             stat.mode = stat.mode | ((stat.mode & 146) >> 1);
    2596           }
    2597         } catch (e) {
    2598           if (!e.code) throw e;
    2599           throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2600         }
    2601         return stat.mode;
    2602       },realPath:function (node) {
    2603         var parts = [];
    2604         while (node.parent !== node) {
    2605           parts.push(node.name);
    2606           node = node.parent;
    2607         }
    2608         parts.push(node.mount.opts.root);
    2609         parts.reverse();
    2610         return PATH.join.apply(null, parts);
    2611       },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) {
    2612         flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
    2613         flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
    2614         flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
    2615         flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process.
    2616         if (flags in NODEFS.flagsToPermissionStringMap) {
    2617           return NODEFS.flagsToPermissionStringMap[flags];
    2618         } else {
    2619           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    2620         }
    2621       },node_ops:{getattr:function (node) {
    2622           var path = NODEFS.realPath(node);
    2623           var stat;
    2624           try {
    2625             stat = fs.lstatSync(path);
    2626           } catch (e) {
    2627             if (!e.code) throw e;
    2628             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2629           }
    2630           // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
    2631           // See http://support.microsoft.com/kb/140365
    2632           if (NODEFS.isWindows && !stat.blksize) {
    2633             stat.blksize = 4096;
    2634           }
    2635           if (NODEFS.isWindows && !stat.blocks) {
    2636             stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
    2637           }
    2638           return {
    2639             dev: stat.dev,
    2640             ino: stat.ino,
    2641             mode: stat.mode,
    2642             nlink: stat.nlink,
    2643             uid: stat.uid,
    2644             gid: stat.gid,
    2645             rdev: stat.rdev,
    2646             size: stat.size,
    2647             atime: stat.atime,
    2648             mtime: stat.mtime,
    2649             ctime: stat.ctime,
    2650             blksize: stat.blksize,
    2651             blocks: stat.blocks
    2652           };
    2653         },setattr:function (node, attr) {
    2654           var path = NODEFS.realPath(node);
    2655           try {
    2656             if (attr.mode !== undefined) {
    2657               fs.chmodSync(path, attr.mode);
    2658               // update the common node structure mode as well
    2659               node.mode = attr.mode;
    2660             }
    2661             if (attr.timestamp !== undefined) {
    2662               var date = new Date(attr.timestamp);
    2663               fs.utimesSync(path, date, date);
    2664             }
    2665             if (attr.size !== undefined) {
    2666               fs.truncateSync(path, attr.size);
    2667             }
    2668           } catch (e) {
    2669             if (!e.code) throw e;
    2670             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2671           }
    2672         },lookup:function (parent, name) {
    2673           var path = PATH.join2(NODEFS.realPath(parent), name);
    2674           var mode = NODEFS.getMode(path);
    2675           return NODEFS.createNode(parent, name, mode);
    2676         },mknod:function (parent, name, mode, dev) {
    2677           var node = NODEFS.createNode(parent, name, mode, dev);
    2678           // create the backing node for this in the fs root as well
    2679           var path = NODEFS.realPath(node);
    2680           try {
    2681             if (FS.isDir(node.mode)) {
    2682               fs.mkdirSync(path, node.mode);
    2683             } else {
    2684               fs.writeFileSync(path, '', { mode: node.mode });
    2685             }
    2686           } catch (e) {
    2687             if (!e.code) throw e;
    2688             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2689           }
    2690           return node;
    2691         },rename:function (oldNode, newDir, newName) {
    2692           var oldPath = NODEFS.realPath(oldNode);
    2693           var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
    2694           try {
    2695             fs.renameSync(oldPath, newPath);
    2696           } catch (e) {
    2697             if (!e.code) throw e;
    2698             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2699           }
    2700         },unlink:function (parent, name) {
    2701           var path = PATH.join2(NODEFS.realPath(parent), name);
    2702           try {
    2703             fs.unlinkSync(path);
    2704           } catch (e) {
    2705             if (!e.code) throw e;
    2706             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2707           }
    2708         },rmdir:function (parent, name) {
    2709           var path = PATH.join2(NODEFS.realPath(parent), name);
    2710           try {
    2711             fs.rmdirSync(path);
    2712           } catch (e) {
    2713             if (!e.code) throw e;
    2714             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2715           }
    2716         },readdir:function (node) {
    2717           var path = NODEFS.realPath(node);
    2718           try {
    2719             return fs.readdirSync(path);
    2720           } catch (e) {
    2721             if (!e.code) throw e;
    2722             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2723           }
    2724         },symlink:function (parent, newName, oldPath) {
    2725           var newPath = PATH.join2(NODEFS.realPath(parent), newName);
    2726           try {
    2727             fs.symlinkSync(oldPath, newPath);
    2728           } catch (e) {
    2729             if (!e.code) throw e;
    2730             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2731           }
    2732         },readlink:function (node) {
    2733           var path = NODEFS.realPath(node);
    2734           try {
    2735             path = fs.readlinkSync(path);
    2736             path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
    2737             return path;
    2738           } catch (e) {
    2739             if (!e.code) throw e;
    2740             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2741           }
    2742         }},stream_ops:{open:function (stream) {
    2743           var path = NODEFS.realPath(stream.node);
    2744           try {
    2745             if (FS.isFile(stream.node.mode)) {
    2746               stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags));
    2747             }
    2748           } catch (e) {
    2749             if (!e.code) throw e;
    2750             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2751           }
    2752         },close:function (stream) {
    2753           try {
    2754             if (FS.isFile(stream.node.mode) && stream.nfd) {
    2755               fs.closeSync(stream.nfd);
    2756             }
    2757           } catch (e) {
    2758             if (!e.code) throw e;
    2759             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2760           }
    2761         },read:function (stream, buffer, offset, length, position) {
    2762           if (length === 0) return 0; // node errors on 0 length reads
    2763           // FIXME this is terrible.
    2764           var nbuffer = new Buffer(length);
    2765           var res;
    2766           try {
    2767             res = fs.readSync(stream.nfd, nbuffer, 0, length, position);
    2768           } catch (e) {
    2769             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2770           }
    2771           if (res > 0) {
    2772             for (var i = 0; i < res; i++) {
    2773               buffer[offset + i] = nbuffer[i];
    2774             }
    2775           }
    2776           return res;
    2777         },write:function (stream, buffer, offset, length, position) {
    2778           // FIXME this is terrible.
    2779           var nbuffer = new Buffer(buffer.subarray(offset, offset + length));
    2780           var res;
    2781           try {
    2782             res = fs.writeSync(stream.nfd, nbuffer, 0, length, position);
    2783           } catch (e) {
    2784             throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2785           }
    2786           return res;
    2787         },llseek:function (stream, offset, whence) {
    2788           var position = offset;
    2789           if (whence === 1) {  // SEEK_CUR.
    2790             position += stream.position;
    2791           } else if (whence === 2) {  // SEEK_END.
    2792             if (FS.isFile(stream.node.mode)) {
    2793               try {
    2794                 var stat = fs.fstatSync(stream.nfd);
    2795                 position += stat.size;
    2796               } catch (e) {
    2797                 throw new FS.ErrnoError(ERRNO_CODES[e.code]);
    2798               }
    2799             }
    2800           }
    2801  
    2802           if (position < 0) {
    2803             throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    2804           }
    2805  
    2806           return position;
    2807         }}};
    2808  
    2809   var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) {
    2810         assert(ENVIRONMENT_IS_WORKER);
    2811         if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
    2812         var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0);
    2813         var createdParents = {};
    2814         function ensureParent(path) {
    2815           // return the parent node, creating subdirs as necessary
    2816           var parts = path.split('/');
    2817           var parent = root;
    2818           for (var i = 0; i < parts.length-1; i++) {
    2819             var curr = parts.slice(0, i+1).join('/');
    2820             // Issue 4254: Using curr as a node name will prevent the node
    2821             // from being found in FS.nameTable when FS.open is called on
    2822             // a path which holds a child of this node,
    2823             // given that all FS functions assume node names
    2824             // are just their corresponding parts within their given path,
    2825             // rather than incremental aggregates which include their parent's
    2826             // directories.
    2827             if (!createdParents[curr]) {
    2828               createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
    2829             }
    2830             parent = createdParents[curr];
    2831           }
    2832           return parent;
    2833         }
    2834         function base(path) {
    2835           var parts = path.split('/');
    2836           return parts[parts.length-1];
    2837         }
    2838         // We also accept FileList here, by using Array.prototype
    2839         Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
    2840           WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
    2841         });
    2842         (mount.opts["blobs"] || []).forEach(function(obj) {
    2843           WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
    2844         });
    2845         (mount.opts["packages"] || []).forEach(function(pack) {
    2846           pack['metadata'].files.forEach(function(file) {
    2847             var name = file.filename.substr(1); // remove initial slash
    2848             WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end));
    2849           });
    2850         });
    2851         return root;
    2852       },createNode:function (parent, name, mode, dev, contents, mtime) {
    2853         var node = FS.createNode(parent, name, mode);
    2854         node.mode = mode;
    2855         node.node_ops = WORKERFS.node_ops;
    2856         node.stream_ops = WORKERFS.stream_ops;
    2857         node.timestamp = (mtime || new Date).getTime();
    2858         assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
    2859         if (mode === WORKERFS.FILE_MODE) {
    2860           node.size = contents.size;
    2861           node.contents = contents;
    2862         } else {
    2863           node.size = 4096;
    2864           node.contents = {};
    2865         }
    2866         if (parent) {
    2867           parent.contents[name] = node;
    2868         }
    2869         return node;
    2870       },node_ops:{getattr:function (node) {
    2871           return {
    2872             dev: 1,
    2873             ino: undefined,
    2874             mode: node.mode,
    2875             nlink: 1,
    2876             uid: 0,
    2877             gid: 0,
    2878             rdev: undefined,
    2879             size: node.size,
    2880             atime: new Date(node.timestamp),
    2881             mtime: new Date(node.timestamp),
    2882             ctime: new Date(node.timestamp),
    2883             blksize: 4096,
    2884             blocks: Math.ceil(node.size / 4096),
    2885           };
    2886         },setattr:function (node, attr) {
    2887           if (attr.mode !== undefined) {
    2888             node.mode = attr.mode;
    2889           }
    2890           if (attr.timestamp !== undefined) {
    2891             node.timestamp = attr.timestamp;
    2892           }
    2893         },lookup:function (parent, name) {
    2894           throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
    2895         },mknod:function (parent, name, mode, dev) {
    2896           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
    2897         },rename:function (oldNode, newDir, newName) {
    2898           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
    2899         },unlink:function (parent, name) {
    2900           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
    2901         },rmdir:function (parent, name) {
    2902           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
    2903         },readdir:function (node) {
    2904           var entries = ['.', '..'];
    2905           for (var key in node.contents) {
    2906             if (!node.contents.hasOwnProperty(key)) {
    2907               continue;
    2908             }
    2909             entries.push(key);
    2910           }
    2911           return entries;
    2912         },symlink:function (parent, newName, oldPath) {
    2913           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
    2914         },readlink:function (node) {
    2915           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
    2916         }},stream_ops:{read:function (stream, buffer, offset, length, position) {
    2917           if (position >= stream.node.size) return 0;
    2918           var chunk = stream.node.contents.slice(position, position + length);
    2919           var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
    2920           buffer.set(new Uint8Array(ab), offset);
    2921           return chunk.size;
    2922         },write:function (stream, buffer, offset, length, position) {
    2923           throw new FS.ErrnoError(ERRNO_CODES.EIO);
    2924         },llseek:function (stream, offset, whence) {
    2925           var position = offset;
    2926           if (whence === 1) {  // SEEK_CUR.
    2927             position += stream.position;
    2928           } else if (whence === 2) {  // SEEK_END.
    2929             if (FS.isFile(stream.node.mode)) {
    2930               position += stream.node.size;
    2931             }
    2932           }
    2933           if (position < 0) {
    2934             throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    2935           }
    2936           return position;
    2937         }}};
    2938  
    2939   var _stdin=STATICTOP; STATICTOP += 16;;
    2940  
    2941   var _stdout=STATICTOP; STATICTOP += 16;;
    2942  
    2943   var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) {
     3307  var ERRNO_MESSAGES={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can   access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"};
     3308 
     3309  var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e) {
    29443310        if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
    2945         return ___setErrNo(e.errno);
    2946       },lookupPath:function (path, opts) {
    2947         path = PATH.resolve(FS.cwd(), path);
     3311        return setErrNo(e.errno);
     3312      },lookupPath:function(path, opts) {
     3313        path = PATH_FS.resolve(FS.cwd(), path);
    29483314        opts = opts || {};
    29493315 
     
    29613327 
    29623328        if (opts.recurse_count > 8) {  // max recursive lookup of 8
    2963           throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
     3329          throw new FS.ErrnoError(32);
    29643330        }
    29653331 
     
    29963362            while (FS.isLink(current.mode)) {
    29973363              var link = FS.readlink(current_path);
    2998               current_path = PATH.resolve(PATH.dirname(current_path), link);
     3364              current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
    29993365 
    30003366              var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
     
    30023368 
    30033369              if (count++ > 40) {  // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
    3004                 throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
     3370                throw new FS.ErrnoError(32);
    30053371              }
    30063372            }
     
    30093375 
    30103376        return { path: current_path, node: current };
    3011       },getPath:function (node) {
     3377      },getPath:function(node) {
    30123378        var path;
    30133379        while (true) {
     
    30203386          node = node.parent;
    30213387        }
    3022       },hashName:function (parentid, name) {
     3388      },hashName:function(parentid, name) {
    30233389        var hash = 0;
    30243390 
     
    30283394        }
    30293395        return ((parentid + hash) >>> 0) % FS.nameTable.length;
    3030       },hashAddNode:function (node) {
     3396      },hashAddNode:function(node) {
    30313397        var hash = FS.hashName(node.parent.id, node.name);
    30323398        node.name_next = FS.nameTable[hash];
    30333399        FS.nameTable[hash] = node;
    3034       },hashRemoveNode:function (node) {
     3400      },hashRemoveNode:function(node) {
    30353401        var hash = FS.hashName(node.parent.id, node.name);
    30363402        if (FS.nameTable[hash] === node) {
     
    30463412          }
    30473413        }
    3048       },lookupNode:function (parent, name) {
    3049         var err = FS.mayLookup(parent);
    3050         if (err) {
    3051           throw new FS.ErrnoError(err, parent);
     3414      },lookupNode:function(parent, name) {
     3415        var errCode = FS.mayLookup(parent);
     3416        if (errCode) {
     3417          throw new FS.ErrnoError(errCode, parent);
    30523418        }
    30533419        var hash = FS.hashName(parent.id, name);
     
    30603426        // if we failed to find it in the cache, call into the VFS
    30613427        return FS.lookup(parent, name);
    3062       },createNode:function (parent, name, mode, rdev) {
    3063         if (!FS.FSNode) {
    3064           FS.FSNode = function(parent, name, mode, rdev) {
    3065             if (!parent) {
    3066               parent = this;  // root node sets parent to itself
    3067             }
    3068             this.parent = parent;
    3069             this.mount = parent.mount;
    3070             this.mounted = null;
    3071             this.id = FS.nextInode++;
    3072             this.name = name;
    3073             this.mode = mode;
    3074             this.node_ops = {};
    3075             this.stream_ops = {};
    3076             this.rdev = rdev;
    3077           };
    3078  
    3079           FS.FSNode.prototype = {};
    3080  
    3081           // compatibility
    3082           var readMode = 292 | 73;
    3083           var writeMode = 146;
    3084  
    3085           // NOTE we must use Object.defineProperties instead of individual calls to
    3086           // Object.defineProperty in order to make closure compiler happy
    3087           Object.defineProperties(FS.FSNode.prototype, {
    3088             read: {
    3089               get: function() { return (this.mode & readMode) === readMode; },
    3090               set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
    3091             },
    3092             write: {
    3093               get: function() { return (this.mode & writeMode) === writeMode; },
    3094               set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
    3095             },
    3096             isFolder: {
    3097               get: function() { return FS.isDir(this.mode); }
    3098             },
    3099             isDevice: {
    3100               get: function() { return FS.isChrdev(this.mode); }
    3101             }
    3102           });
    3103         }
    3104  
     3428      },createNode:function(parent, name, mode, rdev) {
    31053429        var node = new FS.FSNode(parent, name, mode, rdev);
    31063430 
     
    31083432 
    31093433        return node;
    3110       },destroyNode:function (node) {
     3434      },destroyNode:function(node) {
    31113435        FS.hashRemoveNode(node);
    3112       },isRoot:function (node) {
     3436      },isRoot:function(node) {
    31133437        return node === node.parent;
    3114       },isMountpoint:function (node) {
     3438      },isMountpoint:function(node) {
    31153439        return !!node.mounted;
    3116       },isFile:function (mode) {
     3440      },isFile:function(mode) {
    31173441        return (mode & 61440) === 32768;
    3118       },isDir:function (mode) {
     3442      },isDir:function(mode) {
    31193443        return (mode & 61440) === 16384;
    3120       },isLink:function (mode) {
     3444      },isLink:function(mode) {
    31213445        return (mode & 61440) === 40960;
    3122       },isChrdev:function (mode) {
     3446      },isChrdev:function(mode) {
    31233447        return (mode & 61440) === 8192;
    3124       },isBlkdev:function (mode) {
     3448      },isBlkdev:function(mode) {
    31253449        return (mode & 61440) === 24576;
    3126       },isFIFO:function (mode) {
     3450      },isFIFO:function(mode) {
    31273451        return (mode & 61440) === 4096;
    3128       },isSocket:function (mode) {
     3452      },isSocket:function(mode) {
    31293453        return (mode & 49152) === 49152;
    3130       },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) {
     3454      },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str) {
    31313455        var flags = FS.flagModes[str];
    31323456        if (typeof flags === 'undefined') {
     
    31343458        }
    31353459        return flags;
    3136       },flagsToPermissionString:function (flag) {
     3460      },flagsToPermissionString:function(flag) {
    31373461        var perms = ['r', 'w', 'rw'][flag & 3];
    31383462        if ((flag & 512)) {
     
    31403464        }
    31413465        return perms;
    3142       },nodePermissions:function (node, perms) {
     3466      },nodePermissions:function(node, perms) {
    31433467        if (FS.ignorePermissions) {
    31443468          return 0;
     
    31463470        // return 0 if any user, group or owner bits are set.
    31473471        if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
    3148           return ERRNO_CODES.EACCES;
     3472          return 2;
    31493473        } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
    3150           return ERRNO_CODES.EACCES;
     3474          return 2;
    31513475        } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
    3152           return ERRNO_CODES.EACCES;
     3476          return 2;
    31533477        }
    31543478        return 0;
    3155       },mayLookup:function (dir) {
    3156         var err = FS.nodePermissions(dir, 'x');
    3157         if (err) return err;
    3158         if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
     3479      },mayLookup:function(dir) {
     3480        var errCode = FS.nodePermissions(dir, 'x');
     3481        if (errCode) return errCode;
     3482        if (!dir.node_ops.lookup) return 2;
    31593483        return 0;
    3160       },mayCreate:function (dir, name) {
     3484      },mayCreate:function(dir, name) {
    31613485        try {
    31623486          var node = FS.lookupNode(dir, name);
    3163           return ERRNO_CODES.EEXIST;
     3487          return 20;
    31643488        } catch (e) {
    31653489        }
    31663490        return FS.nodePermissions(dir, 'wx');
    3167       },mayDelete:function (dir, name, isdir) {
     3491      },mayDelete:function(dir, name, isdir) {
    31683492        var node;
    31693493        try {
     
    31723496          return e.errno;
    31733497        }
    3174         var err = FS.nodePermissions(dir, 'wx');
    3175         if (err) {
    3176           return err;
     3498        var errCode = FS.nodePermissions(dir, 'wx');
     3499        if (errCode) {
     3500          return errCode;
    31773501        }
    31783502        if (isdir) {
    31793503          if (!FS.isDir(node.mode)) {
    3180             return ERRNO_CODES.ENOTDIR;
     3504            return 54;
    31813505          }
    31823506          if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
    3183             return ERRNO_CODES.EBUSY;
     3507            return 10;
    31843508          }
    31853509        } else {
    31863510          if (FS.isDir(node.mode)) {
    3187             return ERRNO_CODES.EISDIR;
     3511            return 31;
    31883512          }
    31893513        }
    31903514        return 0;
    3191       },mayOpen:function (node, flags) {
     3515      },mayOpen:function(node, flags) {
    31923516        if (!node) {
    3193           return ERRNO_CODES.ENOENT;
     3517          return 44;
    31943518        }
    31953519        if (FS.isLink(node.mode)) {
    3196           return ERRNO_CODES.ELOOP;
     3520          return 32;
    31973521        } else if (FS.isDir(node.mode)) {
    31983522          if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
    31993523              (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
    3200             return ERRNO_CODES.EISDIR;
     3524            return 31;
    32013525          }
    32023526        }
    32033527        return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
    3204       },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) {
     3528      },MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) {
    32053529        fd_start = fd_start || 0;
    32063530        fd_end = fd_end || FS.MAX_OPEN_FDS;
     
    32103534          }
    32113535        }
    3212         throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
    3213       },getStream:function (fd) {
     3536        throw new FS.ErrnoError(33);
     3537      },getStream:function(fd) {
    32143538        return FS.streams[fd];
    3215       },createStream:function (stream, fd_start, fd_end) {
     3539      },createStream:function(stream, fd_start, fd_end) {
    32163540        if (!FS.FSStream) {
    3217           FS.FSStream = function(){};
    3218           FS.FSStream.prototype = {};
    3219           // compatibility
    3220           Object.defineProperties(FS.FSStream.prototype, {
     3541          FS.FSStream = /** @constructor */ function(){};
     3542          FS.FSStream.prototype = {
    32213543            object: {
    32223544              get: function() { return this.node; },
     
    32323554              get: function() { return (this.flags & 1024); }
    32333555            }
    3234           });
     3556          };
    32353557        }
    32363558        // clone it, so we can return an instance of FSStream
     
    32443566        FS.streams[fd] = stream;
    32453567        return stream;
    3246       },closeStream:function (fd) {
     3568      },closeStream:function(fd) {
    32473569        FS.streams[fd] = null;
    3248       },chrdev_stream_ops:{open:function (stream) {
     3570      },chrdev_stream_ops:{open:function(stream) {
    32493571          var device = FS.getDevice(stream.node.rdev);
    32503572          // override node's stream ops with the device's
     
    32543576            stream.stream_ops.open(stream);
    32553577          }
    3256         },llseek:function () {
    3257           throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
    3258         }},major:function (dev) {
     3578        },llseek:function() {
     3579          throw new FS.ErrnoError(70);
     3580        }},major:function(dev) {
    32593581        return ((dev) >> 8);
    3260       },minor:function (dev) {
     3582      },minor:function(dev) {
    32613583        return ((dev) & 0xff);
    3262       },makedev:function (ma, mi) {
     3584      },makedev:function(ma, mi) {
    32633585        return ((ma) << 8 | (mi));
    3264       },registerDevice:function (dev, ops) {
     3586      },registerDevice:function(dev, ops) {
    32653587        FS.devices[dev] = { stream_ops: ops };
    3266       },getDevice:function (dev) {
     3588      },getDevice:function(dev) {
    32673589        return FS.devices[dev];
    3268       },getMounts:function (mount) {
     3590      },getMounts:function(mount) {
    32693591        var mounts = [];
    32703592        var check = [mount];
     
    32793601 
    32803602        return mounts;
    3281       },syncfs:function (populate, callback) {
     3603      },syncfs:function(populate, callback) {
    32823604        if (typeof(populate) === 'function') {
    32833605          callback = populate;
     
    32883610 
    32893611        if (FS.syncFSRequests > 1) {
    3290           console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
     3612          err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
    32913613        }
    32923614 
     
    32943616        var completed = 0;
    32953617 
    3296         function doCallback(err) {
     3618        function doCallback(errCode) {
    32973619          assert(FS.syncFSRequests > 0);
    32983620          FS.syncFSRequests--;
    3299           return callback(err);
    3300         }
    3301  
    3302         function done(err) {
    3303           if (err) {
     3621          return callback(errCode);
     3622        }
     3623 
     3624        function done(errCode) {
     3625          if (errCode) {
    33043626            if (!done.errored) {
    33053627              done.errored = true;
    3306               return doCallback(err);
     3628              return doCallback(errCode);
    33073629            }
    33083630            return;
     
    33203642          mount.type.syncfs(mount, populate, done);
    33213643        });
    3322       },mount:function (type, opts, mountpoint) {
     3644      },mount:function(type, opts, mountpoint) {
     3645        if (typeof type === 'string') {
     3646          // The filesystem was not included, and instead we have an error
     3647          // message stored in the variable.
     3648          throw type;
     3649        }
    33233650        var root = mountpoint === '/';
    33243651        var pseudo = !mountpoint;
     
    33263653 
    33273654        if (root && FS.root) {
    3328           throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
     3655          throw new FS.ErrnoError(10);
    33293656        } else if (!root && !pseudo) {
    33303657          var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
     
    33343661 
    33353662          if (FS.isMountpoint(node)) {
    3336             throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
     3663            throw new FS.ErrnoError(10);
    33373664          }
    33383665 
    33393666          if (!FS.isDir(node.mode)) {
    3340             throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
     3667            throw new FS.ErrnoError(54);
    33413668          }
    33423669        }
     
    33713698 
    33723699        if (!FS.isMountpoint(lookup.node)) {
    3373           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     3700          throw new FS.ErrnoError(28);
    33743701        }
    33753702 
     
    34003727        assert(idx !== -1);
    34013728        node.mount.mounts.splice(idx, 1);
    3402       },lookup:function (parent, name) {
     3729      },lookup:function(parent, name) {
    34033730        return parent.node_ops.lookup(parent, name);
    3404       },mknod:function (path, mode, dev) {
     3731      },mknod:function(path, mode, dev) {
    34053732        var lookup = FS.lookupPath(path, { parent: true });
    34063733        var parent = lookup.node;
    34073734        var name = PATH.basename(path);
    34083735        if (!name || name === '.' || name === '..') {
    3409           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    3410         }
    3411         var err = FS.mayCreate(parent, name);
    3412         if (err) {
    3413           throw new FS.ErrnoError(err);
     3736          throw new FS.ErrnoError(28);
     3737        }
     3738        var errCode = FS.mayCreate(parent, name);
     3739        if (errCode) {
     3740          throw new FS.ErrnoError(errCode);
    34143741        }
    34153742        if (!parent.node_ops.mknod) {
    3416           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     3743          throw new FS.ErrnoError(63);
    34173744        }
    34183745        return parent.node_ops.mknod(parent, name, mode, dev);
    3419       },create:function (path, mode) {
     3746      },create:function(path, mode) {
    34203747        mode = mode !== undefined ? mode : 438 /* 0666 */;
    34213748        mode &= 4095;
    34223749        mode |= 32768;
    34233750        return FS.mknod(path, mode, 0);
    3424       },mkdir:function (path, mode) {
     3751      },mkdir:function(path, mode) {
    34253752        mode = mode !== undefined ? mode : 511 /* 0777 */;
    34263753        mode &= 511 | 512;
    34273754        mode |= 16384;
    34283755        return FS.mknod(path, mode, 0);
    3429       },mkdirTree:function (path, mode) {
     3756      },mkdirTree:function(path, mode) {
    34303757        var dirs = path.split('/');
    34313758        var d = '';
     
    34363763            FS.mkdir(d, mode);
    34373764          } catch(e) {
    3438             if (e.errno != ERRNO_CODES.EEXIST) throw e;
    3439           }
    3440         }
    3441       },mkdev:function (path, mode, dev) {
     3765            if (e.errno != 20) throw e;
     3766          }
     3767        }
     3768      },mkdev:function(path, mode, dev) {
    34423769        if (typeof(dev) === 'undefined') {
    34433770          dev = mode;
     
    34463773        mode |= 8192;
    34473774        return FS.mknod(path, mode, dev);
    3448       },symlink:function (oldpath, newpath) {
    3449         if (!PATH.resolve(oldpath)) {
    3450           throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
     3775      },symlink:function(oldpath, newpath) {
     3776        if (!PATH_FS.resolve(oldpath)) {
     3777          throw new FS.ErrnoError(44);
    34513778        }
    34523779        var lookup = FS.lookupPath(newpath, { parent: true });
    34533780        var parent = lookup.node;
    34543781        if (!parent) {
    3455           throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
     3782          throw new FS.ErrnoError(44);
    34563783        }
    34573784        var newname = PATH.basename(newpath);
    3458         var err = FS.mayCreate(parent, newname);
    3459         if (err) {
    3460           throw new FS.ErrnoError(err);
     3785        var errCode = FS.mayCreate(parent, newname);
     3786        if (errCode) {
     3787          throw new FS.ErrnoError(errCode);
    34613788        }
    34623789        if (!parent.node_ops.symlink) {
    3463           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     3790          throw new FS.ErrnoError(63);
    34643791        }
    34653792        return parent.node_ops.symlink(parent, newname, oldpath);
    3466       },rename:function (old_path, new_path) {
     3793      },rename:function(old_path, new_path) {
    34673794        var old_dirname = PATH.dirname(old_path);
    34683795        var new_dirname = PATH.dirname(new_path);
     
    34773804          new_dir = lookup.node;
    34783805        } catch (e) {
    3479           throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
    3480         }
    3481         if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
     3806          throw new FS.ErrnoError(10);
     3807        }
     3808        if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
    34823809        // need to be part of the same mount
    34833810        if (old_dir.mount !== new_dir.mount) {
    3484           throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
     3811          throw new FS.ErrnoError(75);
    34853812        }
    34863813        // source must exist
    34873814        var old_node = FS.lookupNode(old_dir, old_name);
    34883815        // old path should not be an ancestor of the new path
    3489         var relative = PATH.relative(old_path, new_dirname);
     3816        var relative = PATH_FS.relative(old_path, new_dirname);
    34903817        if (relative.charAt(0) !== '.') {
    3491           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     3818          throw new FS.ErrnoError(28);
    34923819        }
    34933820        // new path should not be an ancestor of the old path
    3494         relative = PATH.relative(new_path, old_dirname);
     3821        relative = PATH_FS.relative(new_path, old_dirname);
    34953822        if (relative.charAt(0) !== '.') {
    3496           throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
     3823          throw new FS.ErrnoError(55);
    34973824        }
    34983825        // see if the new path already exists
     
    35093836        // we'll need to delete the old entry
    35103837        var isdir = FS.isDir(old_node.mode);
    3511         var err = FS.mayDelete(old_dir, old_name, isdir);
    3512         if (err) {
    3513           throw new FS.ErrnoError(err);
     3838        var errCode = FS.mayDelete(old_dir, old_name, isdir);
     3839        if (errCode) {
     3840          throw new FS.ErrnoError(errCode);
    35143841        }
    35153842        // need delete permissions if we'll be overwriting.
    35163843        // need create permissions if new doesn't already exist.
    3517         err = new_node ?
     3844        errCode = new_node ?
    35183845          FS.mayDelete(new_dir, new_name, isdir) :
    35193846          FS.mayCreate(new_dir, new_name);
    3520         if (err) {
    3521           throw new FS.ErrnoError(err);
     3847        if (errCode) {
     3848          throw new FS.ErrnoError(errCode);
    35223849        }
    35233850        if (!old_dir.node_ops.rename) {
    3524           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     3851          throw new FS.ErrnoError(63);
    35253852        }
    35263853        if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
    3527           throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
     3854          throw new FS.ErrnoError(10);
    35283855        }
    35293856        // if we are going to change the parent, check write permissions
    35303857        if (new_dir !== old_dir) {
    3531           err = FS.nodePermissions(old_dir, 'w');
    3532           if (err) {
    3533             throw new FS.ErrnoError(err);
     3858          errCode = FS.nodePermissions(old_dir, 'w');
     3859          if (errCode) {
     3860            throw new FS.ErrnoError(errCode);
    35343861          }
    35353862        }
     
    35393866          }
    35403867        } catch(e) {
    3541           console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
     3868          err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
    35423869        }
    35433870        // remove the node from the lookup hash
     
    35563883          if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path);
    35573884        } catch(e) {
    3558           console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
    3559         }
    3560       },rmdir:function (path) {
     3885          err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
     3886        }
     3887      },rmdir:function(path) {
    35613888        var lookup = FS.lookupPath(path, { parent: true });
    35623889        var parent = lookup.node;
    35633890        var name = PATH.basename(path);
    35643891        var node = FS.lookupNode(parent, name);
    3565         var err = FS.mayDelete(parent, name, true);
    3566         if (err) {
    3567           throw new FS.ErrnoError(err);
     3892        var errCode = FS.mayDelete(parent, name, true);
     3893        if (errCode) {
     3894          throw new FS.ErrnoError(errCode);
    35683895        }
    35693896        if (!parent.node_ops.rmdir) {
    3570           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     3897          throw new FS.ErrnoError(63);
    35713898        }
    35723899        if (FS.isMountpoint(node)) {
    3573           throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
     3900          throw new FS.ErrnoError(10);
    35743901        }
    35753902        try {
     
    35783905          }
    35793906        } catch(e) {
    3580           console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
     3907          err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
    35813908        }
    35823909        parent.node_ops.rmdir(parent, name);
     
    35853912          if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
    35863913        } catch(e) {
    3587           console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
    3588         }
    3589       },readdir:function (path) {
     3914          err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
     3915        }
     3916      },readdir:function(path) {
    35903917        var lookup = FS.lookupPath(path, { follow: true });
    35913918        var node = lookup.node;
    35923919        if (!node.node_ops.readdir) {
    3593           throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
     3920          throw new FS.ErrnoError(54);
    35943921        }
    35953922        return node.node_ops.readdir(node);
    3596       },unlink:function (path) {
     3923      },unlink:function(path) {
    35973924        var lookup = FS.lookupPath(path, { parent: true });
    35983925        var parent = lookup.node;
    35993926        var name = PATH.basename(path);
    36003927        var node = FS.lookupNode(parent, name);
    3601         var err = FS.mayDelete(parent, name, false);
    3602         if (err) {
     3928        var errCode = FS.mayDelete(parent, name, false);
     3929        if (errCode) {
    36033930          // According to POSIX, we should map EISDIR to EPERM, but
    36043931          // we instead do what Linux does (and we must, as we use
    36053932          // the musl linux libc).
    3606           throw new FS.ErrnoError(err);
     3933          throw new FS.ErrnoError(errCode);
    36073934        }
    36083935        if (!parent.node_ops.unlink) {
    3609           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     3936          throw new FS.ErrnoError(63);
    36103937        }
    36113938        if (FS.isMountpoint(node)) {
    3612           throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
     3939          throw new FS.ErrnoError(10);
    36133940        }
    36143941        try {
     
    36173944          }
    36183945        } catch(e) {
    3619           console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
     3946          err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
    36203947        }
    36213948        parent.node_ops.unlink(parent, name);
     
    36243951          if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
    36253952        } catch(e) {
    3626           console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
    3627         }
    3628       },readlink:function (path) {
     3953          err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
     3954        }
     3955      },readlink:function(path) {
    36293956        var lookup = FS.lookupPath(path);
    36303957        var link = lookup.node;
    36313958        if (!link) {
    3632           throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
     3959          throw new FS.ErrnoError(44);
    36333960        }
    36343961        if (!link.node_ops.readlink) {
    3635           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    3636         }
    3637         return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
    3638       },stat:function (path, dontFollow) {
     3962          throw new FS.ErrnoError(28);
     3963        }
     3964        return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
     3965      },stat:function(path, dontFollow) {
    36393966        var lookup = FS.lookupPath(path, { follow: !dontFollow });
    36403967        var node = lookup.node;
    36413968        if (!node) {
    3642           throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
     3969          throw new FS.ErrnoError(44);
    36433970        }
    36443971        if (!node.node_ops.getattr) {
    3645           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     3972          throw new FS.ErrnoError(63);
    36463973        }
    36473974        return node.node_ops.getattr(node);
    3648       },lstat:function (path) {
     3975      },lstat:function(path) {
    36493976        return FS.stat(path, true);
    3650       },chmod:function (path, mode, dontFollow) {
     3977      },chmod:function(path, mode, dontFollow) {
    36513978        var node;
    36523979        if (typeof path === 'string') {
     
    36573984        }
    36583985        if (!node.node_ops.setattr) {
    3659           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     3986          throw new FS.ErrnoError(63);
    36603987        }
    36613988        node.node_ops.setattr(node, {
     
    36633990          timestamp: Date.now()
    36643991        });
    3665       },lchmod:function (path, mode) {
     3992      },lchmod:function(path, mode) {
    36663993        FS.chmod(path, mode, true);
    3667       },fchmod:function (fd, mode) {
     3994      },fchmod:function(fd, mode) {
    36683995        var stream = FS.getStream(fd);
    36693996        if (!stream) {
    3670           throw new FS.ErrnoError(ERRNO_CODES.EBADF);
     3997          throw new FS.ErrnoError(8);
    36713998        }
    36723999        FS.chmod(stream.node, mode);
    3673       },chown:function (path, uid, gid, dontFollow) {
     4000      },chown:function(path, uid, gid, dontFollow) {
    36744001        var node;
    36754002        if (typeof path === 'string') {
     
    36804007        }
    36814008        if (!node.node_ops.setattr) {
    3682           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     4009          throw new FS.ErrnoError(63);
    36834010        }
    36844011        node.node_ops.setattr(node, {
     
    36864013          // we ignore the uid / gid for now
    36874014        });
    3688       },lchown:function (path, uid, gid) {
     4015      },lchown:function(path, uid, gid) {
    36894016        FS.chown(path, uid, gid, true);
    3690       },fchown:function (fd, uid, gid) {
     4017      },fchown:function(fd, uid, gid) {
    36914018        var stream = FS.getStream(fd);
    36924019        if (!stream) {
    3693           throw new FS.ErrnoError(ERRNO_CODES.EBADF);
     4020          throw new FS.ErrnoError(8);
    36944021        }
    36954022        FS.chown(stream.node, uid, gid);
    3696       },truncate:function (path, len) {
     4023      },truncate:function(path, len) {
    36974024        if (len < 0) {
    3698           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     4025          throw new FS.ErrnoError(28);
    36994026        }
    37004027        var node;
     
    37064033        }
    37074034        if (!node.node_ops.setattr) {
    3708           throw new FS.ErrnoError(ERRNO_CODES.EPERM);
     4035          throw new FS.ErrnoError(63);
    37094036        }
    37104037        if (FS.isDir(node.mode)) {
    3711           throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
     4038          throw new FS.ErrnoError(31);
    37124039        }
    37134040        if (!FS.isFile(node.mode)) {
    3714           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    3715         }
    3716         var err = FS.nodePermissions(node, 'w');
    3717         if (err) {
    3718           throw new FS.ErrnoError(err);
     4041          throw new FS.ErrnoError(28);
     4042        }
     4043        var errCode = FS.nodePermissions(node, 'w');
     4044        if (errCode) {
     4045          throw new FS.ErrnoError(errCode);
    37194046        }
    37204047        node.node_ops.setattr(node, {
     
    37224049          timestamp: Date.now()
    37234050        });
    3724       },ftruncate:function (fd, len) {
     4051      },ftruncate:function(fd, len) {
    37254052        var stream = FS.getStream(fd);
    37264053        if (!stream) {
    3727           throw new FS.ErrnoError(ERRNO_CODES.EBADF);
     4054          throw new FS.ErrnoError(8);
    37284055        }
    37294056        if ((stream.flags & 2097155) === 0) {
    3730           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     4057          throw new FS.ErrnoError(28);
    37314058        }
    37324059        FS.truncate(stream.node, len);
    3733       },utime:function (path, atime, mtime) {
     4060      },utime:function(path, atime, mtime) {
    37344061        var lookup = FS.lookupPath(path, { follow: true });
    37354062        var node = lookup.node;
     
    37374064          timestamp: Math.max(atime, mtime)
    37384065        });
    3739       },open:function (path, flags, mode, fd_start, fd_end) {
     4066      },open:function(path, flags, mode, fd_start, fd_end) {
    37404067        if (path === "") {
    3741           throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
     4068          throw new FS.ErrnoError(44);
    37424069        }
    37434070        flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
     
    37684095            // if O_CREAT and O_EXCL are set, error out if the node already exists
    37694096            if ((flags & 128)) {
    3770               throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
     4097              throw new FS.ErrnoError(20);
    37714098            }
    37724099          } else {
     
    37774104        }
    37784105        if (!node) {
    3779           throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
     4106          throw new FS.ErrnoError(44);
    37804107        }
    37814108        // can't truncate a device
     
    37854112        // if asked only for a directory, then this must be one
    37864113        if ((flags & 65536) && !FS.isDir(node.mode)) {
    3787           throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
     4114          throw new FS.ErrnoError(54);
    37884115        }
    37894116        // check permissions, if this is not a file we just created now (it is ok to
     
    37914118        // for later use)
    37924119        if (!created) {
    3793           var err = FS.mayOpen(node, flags);
    3794           if (err) {
    3795             throw new FS.ErrnoError(err);
     4120          var errCode = FS.mayOpen(node, flags);
     4121          if (errCode) {
     4122            throw new FS.ErrnoError(errCode);
    37964123          }
    37974124        }
     
    38014128        }
    38024129        // we've already handled these, don't pass down to the underlying vfs
    3803         flags &= ~(128 | 512);
     4130        flags &= ~(128 | 512 | 131072);
    38044131 
    38054132        // register the stream with the filesystem
     
    38234150          if (!(path in FS.readFiles)) {
    38244151            FS.readFiles[path] = 1;
    3825             Module['printErr']('read file: ' + path);
     4152            err("FS.trackingDelegate error on read file: " + path);
    38264153          }
    38274154        }
     
    38384165          }
    38394166        } catch(e) {
    3840           console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
     4167          err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
    38414168        }
    38424169        return stream;
    3843       },close:function (stream) {
     4170      },close:function(stream) {
     4171        if (FS.isClosed(stream)) {
     4172          throw new FS.ErrnoError(8);
     4173        }
    38444174        if (stream.getdents) stream.getdents = null; // free readdir state
    38454175        try {
     
    38524182          FS.closeStream(stream.fd);
    38534183        }
    3854       },llseek:function (stream, offset, whence) {
     4184        stream.fd = null;
     4185      },isClosed:function(stream) {
     4186        return stream.fd === null;
     4187      },llseek:function(stream, offset, whence) {
     4188        if (FS.isClosed(stream)) {
     4189          throw new FS.ErrnoError(8);
     4190        }
    38554191        if (!stream.seekable || !stream.stream_ops.llseek) {
    3856           throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
     4192          throw new FS.ErrnoError(70);
     4193        }
     4194        if (whence != 0 && whence != 1 && whence != 2) {
     4195          throw new FS.ErrnoError(28);
    38574196        }
    38584197        stream.position = stream.stream_ops.llseek(stream, offset, whence);
    38594198        stream.ungotten = [];
    38604199        return stream.position;
    3861       },read:function (stream, buffer, offset, length, position) {
     4200      },read:function(stream, buffer, offset, length, position) {
    38624201        if (length < 0 || position < 0) {
    3863           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     4202          throw new FS.ErrnoError(28);
     4203        }
     4204        if (FS.isClosed(stream)) {
     4205          throw new FS.ErrnoError(8);
    38644206        }
    38654207        if ((stream.flags & 2097155) === 1) {
    3866           throw new FS.ErrnoError(ERRNO_CODES.EBADF);
     4208          throw new FS.ErrnoError(8);
    38674209        }
    38684210        if (FS.isDir(stream.node.mode)) {
    3869           throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
     4211          throw new FS.ErrnoError(31);
    38704212        }
    38714213        if (!stream.stream_ops.read) {
    3872           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    3873         }
    3874         var seeking = true;
    3875         if (typeof position === 'undefined') {
     4214          throw new FS.ErrnoError(28);
     4215        }
     4216        var seeking = typeof position !== 'undefined';
     4217        if (!seeking) {
    38764218          position = stream.position;
    3877           seeking = false;
    38784219        } else if (!stream.seekable) {
    3879           throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
     4220          throw new FS.ErrnoError(70);
    38804221        }
    38814222        var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
    38824223        if (!seeking) stream.position += bytesRead;
    38834224        return bytesRead;
    3884       },write:function (stream, buffer, offset, length, position, canOwn) {
     4225      },write:function(stream, buffer, offset, length, position, canOwn) {
    38854226        if (length < 0 || position < 0) {
    3886           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     4227          throw new FS.ErrnoError(28);
     4228        }
     4229        if (FS.isClosed(stream)) {
     4230          throw new FS.ErrnoError(8);
    38874231        }
    38884232        if ((stream.flags & 2097155) === 0) {
    3889           throw new FS.ErrnoError(ERRNO_CODES.EBADF);
     4233          throw new FS.ErrnoError(8);
    38904234        }
    38914235        if (FS.isDir(stream.node.mode)) {
    3892           throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
     4236          throw new FS.ErrnoError(31);
    38934237        }
    38944238        if (!stream.stream_ops.write) {
    3895           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
    3896         }
    3897         if (stream.flags & 1024) {
     4239          throw new FS.ErrnoError(28);
     4240        }
     4241        if (stream.seekable && stream.flags & 1024) {
    38984242          // seek to the end before writing in append mode
    38994243          FS.llseek(stream, 0, 2);
    39004244        }
    3901         var seeking = true;
    3902         if (typeof position === 'undefined') {
     4245        var seeking = typeof position !== 'undefined';
     4246        if (!seeking) {
    39034247          position = stream.position;
    3904           seeking = false;
    39054248        } else if (!stream.seekable) {
    3906           throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
     4249          throw new FS.ErrnoError(70);
    39074250        }
    39084251        var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
     
    39114254          if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path);
    39124255        } catch(e) {
    3913           console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message);
     4256          err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message);
    39144257        }
    39154258        return bytesWritten;
    3916       },allocate:function (stream, offset, length) {
     4259      },allocate:function(stream, offset, length) {
     4260        if (FS.isClosed(stream)) {
     4261          throw new FS.ErrnoError(8);
     4262        }
    39174263        if (offset < 0 || length <= 0) {
    3918           throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
     4264          throw new FS.ErrnoError(28);
    39194265        }
    39204266        if ((stream.flags & 2097155) === 0) {
    3921           throw new FS.ErrnoError(ERRNO_CODES.EBADF);
    3922         }
    3923         if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) {
    3924           throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
     4267          throw new FS.ErrnoError(8);
     4268        }
     4269        if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
     4270          throw new FS.ErrnoError(43);
    39254271        }
    39264272        if (!stream.stream_ops.allocate) {
    3927           throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
     4273          throw new FS.ErrnoError(138);
    39284274        }
    39294275        stream.stream_ops.allocate(stream, offset, length);
    3930       },mmap:function (stream, buffer, offset, length, position, prot, flags) {
    3931         // TODO if PROT is PROT_WRITE, make sure we have write access
     4276      },mmap:function(stream, address, length, position, prot, flags) {
     4277        // User requests writing to file (prot & PROT_WRITE != 0).
     4278        // Checking if we have permissions to write to the file unless
     4279        // MAP_PRIVATE flag is set. According to POSIX spec it is possible
     4280        // to write to file opened in read-only mode with MAP_PRIVATE flag,
     4281        // as all modifications will be visible only in the memory of
     4282        // the current process.
     4283        if ((prot & 2) !== 0
     4284            && (flags & 2) === 0
     4285            && (stream.flags & 2097155) !== 2) {
     4286          throw new FS.ErrnoError(2);
     4287        }
    39324288        if ((stream.flags & 2097155) === 1) {
    3933           throw new FS.ErrnoError(ERRNO_CODES.EACCES);
     4289          throw new FS.ErrnoError(2);
    39344290        }
    39354291        if (!stream.stream_ops.mmap) {
    3936           throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
    3937         }
    3938         return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
    3939       },msync:function (stream, buffer, offset, length, mmapFlags) {
     4292          throw new FS.ErrnoError(43);
     4293        }
     4294        return stream.stream_ops.mmap(stream, address, length, position, prot, flags);
     4295      },msync:function(stream, buffer, offset, length, mmapFlags) {
    39404296        if (!stream || !stream.stream_ops.msync) {
    39414297          return 0;
    39424298        }
    39434299        return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
    3944       },munmap:function (stream) {
     4300      },munmap:function(stream) {
    39454301        return 0;
    3946       },ioctl:function (stream, cmd, arg) {
     4302      },ioctl:function(stream, cmd, arg) {
    39474303        if (!stream.stream_ops.ioctl) {
    3948           throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
     4304          throw new FS.ErrnoError(59);
    39494305        }
    39504306        return stream.stream_ops.ioctl(stream, cmd, arg);
    3951       },readFile:function (path, opts) {
     4307      },readFile:function(path, opts) {
    39524308        opts = opts || {};
    39534309        opts.flags = opts.flags || 'r';
     
    39694325        FS.close(stream);
    39704326        return ret;
    3971       },writeFile:function (path, data, opts) {
     4327      },writeFile:function(path, data, opts) {
    39724328        opts = opts || {};
    39734329        opts.flags = opts.flags || 'w';
    3974         opts.encoding = opts.encoding || 'utf8';
    3975         if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
    3976           throw new Error('Invalid encoding type "' + opts.encoding + '"');
    3977         }
    39784330        var stream = FS.open(path, opts.flags, opts.mode);
    3979         if (opts.encoding === 'utf8') {
     4331        if (typeof data === 'string') {
    39804332          var buf = new Uint8Array(lengthBytesUTF8(data)+1);
    39814333          var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
    3982           FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn);
    3983         } else if (opts.encoding === 'binary') {
    3984           FS.write(stream, data, 0, data.length, 0, opts.canOwn);
     4334          FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
     4335        } else if (ArrayBuffer.isView(data)) {
     4336          FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
     4337        } else {
     4338          throw new Error('Unsupported data type');
    39854339        }
    39864340        FS.close(stream);
    3987       },cwd:function () {
     4341      },cwd:function() {
    39884342        return FS.currentPath;
    3989       },chdir:function (path) {
     4343      },chdir:function(path) {
    39904344        var lookup = FS.lookupPath(path, { follow: true });
    39914345        if (lookup.node === null) {
    3992           throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
     4346          throw new FS.ErrnoError(44);
    39934347        }
    39944348        if (!FS.isDir(lookup.node.mode)) {
    3995           throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
    3996         }
    3997         var err = FS.nodePermissions(lookup.node, 'x');
    3998         if (err) {
    3999           throw new FS.ErrnoError(err);
     4349          throw new FS.ErrnoError(54);
     4350        }
     4351        var errCode = FS.nodePermissions(lookup.node, 'x');
     4352        if (errCode) {
     4353          throw new FS.ErrnoError(errCode);
    40004354        }
    40014355        FS.currentPath = lookup.path;
    4002       },createDefaultDirectories:function () {
     4356      },createDefaultDirectories:function() {
    40034357        FS.mkdir('/tmp');
    40044358        FS.mkdir('/home');
    40054359        FS.mkdir('/home/web_user');
    4006       },createDefaultDevices:function () {
     4360      },createDefaultDevices:function() {
    40074361        // create /dev
    40084362        FS.mkdir('/dev');
     
    40224376        // setup /dev/[u]random
    40234377        var random_device;
    4024         if (typeof crypto !== 'undefined') {
     4378        if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') {
    40254379          // for modern web browsers
    40264380          var randomBuffer = new Uint8Array(1);
    40274381          random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };
    4028         } else if (ENVIRONMENT_IS_NODE) {
    4029           // for nodejs
    4030           random_device = function() { return require('crypto').randomBytes(1)[0]; };
    4031         } else {
    4032           // default for ES5 platforms
    4033           random_device = function() { return (Math.random()*256)|0; };
     4382        } else
     4383        if (ENVIRONMENT_IS_NODE) {
     4384          // for nodejs with or without crypto support included
     4385          try {
     4386            var crypto_module = require('crypto');
     4387            // nodejs has crypto support
     4388            random_device = function() { return crypto_module['randomBytes'](1)[0]; };
     4389          } catch (e) {
     4390            // nodejs doesn't have crypto support
     4391          }
     4392        } else
     4393        {}
     4394        if (!random_device) {
     4395          // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096
     4396          random_device = function() { abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"); };
    40344397        }
    40354398        FS.createDevice('/dev', 'random', random_device);
     
    40394402        FS.mkdir('/dev/shm');
    40404403        FS.mkdir('/dev/shm/tmp');
    4041       },createSpecialDirectories:function () {
     4404      },createSpecialDirectories:function() {
    40424405        // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname)
    40434406        FS.mkdir('/proc');
     
    40514414                var fd = +name;
    40524415                var stream = FS.getStream(fd);
    4053                 if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
     4416                if (!stream) throw new FS.ErrnoError(8);
    40544417                var ret = {
    40554418                  parent: null,
     
    40644427          }
    40654428        }, {}, '/proc/self/fd');
    4066       },createStandardStreams:function () {
     4429      },createStandardStreams:function() {
    40674430        // TODO deprecate the old functionality of a single
    40684431        // input / output callback and that utilizes FS.createDevice
     
    40914454        // open default streams for the stdin, stdout and stderr devices
    40924455        var stdin = FS.open('/dev/stdin', 'r');
     4456        var stdout = FS.open('/dev/stdout', 'w');
     4457        var stderr = FS.open('/dev/stderr', 'w');
    40934458        assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
    4094  
    4095         var stdout = FS.open('/dev/stdout', 'w');
    40964459        assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
    4097  
    4098         var stderr = FS.open('/dev/stderr', 'w');
    40994460        assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
    4100       },ensureErrnoError:function () {
     4461      },ensureErrnoError:function() {
    41014462        if (FS.ErrnoError) return;
    4102         FS.ErrnoError = function ErrnoError(errno, node) {
    4103           //Module.printErr(stackTrace()); // useful for debugging
     4463        FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) {
    41044464          this.node = node;
    4105           this.setErrno = function(errno) {
     4465          this.setErrno = /** @this{Object} */ function(errno) {
    41064466            this.errno = errno;
    41074467            for (var key in ERRNO_CODES) {
     
    41144474          this.setErrno(errno);
    41154475          this.message = ERRNO_MESSAGES[errno];
    4116           if (this.stack) this.stack = demangleAll(this.stack);
     4476 
     4477          // Try to get a maximally helpful stack trace. On Node.js, getting Error.stack
     4478          // now ensures it shows what we want.
     4479          if (this.stack) {
     4480            // Define the stack property for Node.js 4, which otherwise errors on the next line.
     4481            Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });
     4482            this.stack = demangleAll(this.stack);
     4483          }
    41174484        };
    41184485        FS.ErrnoError.prototype = new Error();
    41194486        FS.ErrnoError.prototype.constructor = FS.ErrnoError;
    41204487        // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
    4121         [ERRNO_CODES.ENOENT].forEach(function(code) {
     4488        [44].forEach(function(code) {
    41224489          FS.genericErrors[code] = new FS.ErrnoError(code);
    41234490          FS.genericErrors[code].stack = '<generic error, no stack>';
    41244491        });
    4125       },staticInit:function () {
     4492      },staticInit:function() {
    41264493        FS.ensureErrnoError();
    41274494 
     
    41364503        FS.filesystems = {
    41374504          'MEMFS': MEMFS,
    4138           'IDBFS': IDBFS,
    4139           'NODEFS': NODEFS,
    4140           'WORKERFS': WORKERFS,
    41414505        };
    4142       },init:function (input, output, error) {
     4506      },init:function(input, output, error) {
    41434507        assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
    41444508        FS.init.initialized = true;
     
    41524516 
    41534517        FS.createStandardStreams();
    4154       },quit:function () {
     4518      },quit:function() {
    41554519        FS.init.initialized = false;
    41564520        // force-flush all streams, so we get musl std streams printed out
     
    41654529          FS.close(stream);
    41664530        }
    4167       },getMode:function (canRead, canWrite) {
     4531      },getMode:function(canRead, canWrite) {
    41684532        var mode = 0;
    41694533        if (canRead) mode |= 292 | 73;
    41704534        if (canWrite) mode |= 146;
    41714535        return mode;
    4172       },joinPath:function (parts, forceRelative) {
     4536      },joinPath:function(parts, forceRelative) {
    41734537        var path = PATH.join.apply(null, parts);
    41744538        if (forceRelative && path[0] == '/') path = path.substr(1);
    41754539        return path;
    4176       },absolutePath:function (relative, base) {
    4177         return PATH.resolve(base, relative);
    4178       },standardizePath:function (path) {
     4540      },absolutePath:function(relative, base) {
     4541        return PATH_FS.resolve(base, relative);
     4542      },standardizePath:function(path) {
    41794543        return PATH.normalize(path);
    4180       },findObject:function (path, dontResolveLastLink) {
     4544      },findObject:function(path, dontResolveLastLink) {
    41814545        var ret = FS.analyzePath(path, dontResolveLastLink);
    41824546        if (ret.exists) {
    41834547          return ret.object;
    41844548        } else {
    4185           ___setErrNo(ret.error);
     4549          setErrNo(ret.error);
    41864550          return null;
    41874551        }
    4188       },analyzePath:function (path, dontResolveLastLink) {
     4552      },analyzePath:function(path, dontResolveLastLink) {
    41894553        // operate from within the context of the symlink's target
    41904554        try {
     
    42134577        };
    42144578        return ret;
    4215       },createFolder:function (parent, name, canRead, canWrite) {
     4579      },createFolder:function(parent, name, canRead, canWrite) {
    42164580        var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
    42174581        var mode = FS.getMode(canRead, canWrite);
    42184582        return FS.mkdir(path, mode);
    4219       },createPath:function (parent, path, canRead, canWrite) {
     4583      },createPath:function(parent, path, canRead, canWrite) {
    42204584        parent = typeof parent === 'string' ? parent : FS.getPath(parent);
    42214585        var parts = path.split('/').reverse();
     
    42324596        }
    42334597        return current;
    4234       },createFile:function (parent, name, properties, canRead, canWrite) {
     4598      },createFile:function(parent, name, properties, canRead, canWrite) {
    42354599        var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
    42364600        var mode = FS.getMode(canRead, canWrite);
    42374601        return FS.create(path, mode);
    4238       },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) {
     4602      },createDataFile:function(parent, name, data, canRead, canWrite, canOwn) {
    42394603        var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
    42404604        var mode = FS.getMode(canRead, canWrite);
     
    42544618        }
    42554619        return node;
    4256       },createDevice:function (parent, name, input, output) {
     4620      },createDevice:function(parent, name, input, output) {
    42574621        var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
    42584622        var mode = FS.getMode(!!input, !!output);
     
    42784642                result = input();
    42794643              } catch (e) {
    4280                 throw new FS.ErrnoError(ERRNO_CODES.EIO);
     4644                throw new FS.ErrnoError(29);
    42814645              }
    42824646              if (result === undefined && bytesRead === 0) {
    4283                 throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
     4647                throw new FS.ErrnoError(6);
    42844648              }
    42854649              if (result === null || result === undefined) break;
     
    42974661                output(buffer[offset+i]);
    42984662              } catch (e) {
    4299                 throw new FS.ErrnoError(ERRNO_CODES.EIO);
     4663                throw new FS.ErrnoError(29);
    43004664              }
    43014665            }
     
    43074671        });
    43084672        return FS.mkdev(path, mode, dev);
    4309       },createLink:function (parent, name, target, canRead, canWrite) {
     4673      },createLink:function(parent, name, target, canRead, canWrite) {
    43104674        var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
    43114675        return FS.symlink(target, path);
    4312       },forceLoadFile:function (obj) {
     4676      },forceLoadFile:function(obj) {
    43134677        if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
    43144678        var success = true;
    43154679        if (typeof XMLHttpRequest !== 'undefined') {
    43164680          throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
    4317         } else if (Module['read']) {
     4681        } else if (read_) {
    43184682          // Command-line.
    43194683          try {
    43204684            // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
    43214685            //          read() will try to parse UTF8.
    4322             obj.contents = intArrayFromString(Module['read'](obj.url), true);
     4686            obj.contents = intArrayFromString(read_(obj.url), true);
    43234687            obj.usedBytes = obj.contents.length;
    43244688          } catch (e) {
     
    43284692          throw new Error('Cannot load without read() or XMLHttpRequest.');
    43294693        }
    4330         if (!success) ___setErrNo(ERRNO_CODES.EIO);
     4694        if (!success) setErrNo(29);
    43314695        return success;
    4332       },createLazyFile:function (parent, name, url, canRead, canWrite) {
     4696      },createLazyFile:function(parent, name, url, canRead, canWrite) {
    43334697        // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
     4698        /** @constructor */
    43344699        function LazyUint8Array() {
    43354700          this.lengthKnown = false;
    43364701          this.chunks = []; // Loaded chunks. Index is the chunk number
    43374702        }
    4338         LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
     4703        LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) {
    43394704          if (idx > this.length-1 || idx < 0) {
    43404705            return undefined;
     
    43434708          var chunkNum = (idx / this.chunkSize)|0;
    43444709          return this.getter(chunkNum)[chunkOffset];
    4345         }
     4710        };
    43464711        LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
    43474712          this.getter = getter;
    4348         }
     4713        };
    43494714        LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
    43504715          // Find length
     
    43814746            if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
    43824747            if (xhr.response !== undefined) {
    4383               return new Uint8Array(xhr.response || []);
     4748              return new Uint8Array(/** @type{Array<number>} */(xhr.response || []));
    43844749            } else {
    43854750              return intArrayFromString(xhr.responseText || '', true);
     
    44034768            datalength = this.getter(0).length;
    44044769            chunkSize = datalength;
    4405             console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
     4770            out("LazyFiles on gzip forces download of the whole file when length is accessed");
    44064771          }
    44074772 
     
    44094774          this._chunkSize = chunkSize;
    44104775          this.lengthKnown = true;
    4411         }
     4776        };
    44124777        if (typeof XMLHttpRequest !== 'undefined') {
    44134778          if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
     
    44154780          Object.defineProperties(lazyArray, {
    44164781            length: {
    4417               get: function() {
     4782              get: /** @this{Object} */ function() {
    44184783                if(!this.lengthKnown) {
    44194784                  this.cacheLength();
     
    44234788            },
    44244789            chunkSize: {
    4425               get: function() {
     4790              get: /** @this{Object} */ function() {
    44264791                if(!this.lengthKnown) {
    44274792                  this.cacheLength();
     
    44504815        Object.defineProperties(node, {
    44514816          usedBytes: {
    4452             get: function() { return this.contents.length; }
     4817            get: /** @this {FSNode} */ function() { return this.contents.length; }
    44534818          }
    44544819        });
     
    44604825          stream_ops[key] = function forceLoadLazyFile() {
    44614826            if (!FS.forceLoadFile(node)) {
    4462               throw new FS.ErrnoError(ERRNO_CODES.EIO);
     4827              throw new FS.ErrnoError(29);
    44634828            }
    44644829            return fn.apply(null, arguments);
     
    44684833        stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
    44694834          if (!FS.forceLoadFile(node)) {
    4470             throw new FS.ErrnoError(ERRNO_CODES.EIO);
     4835            throw new FS.ErrnoError(29);
    44714836          }
    44724837          var contents = stream.node.contents;
     
    44884853        node.stream_ops = stream_ops;
    44894854        return node;
    4490       },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
     4855      },createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
    44914856        Browser.init(); // XXX perhaps this method should move onto Browser?
    44924857        // TODO we should allow people to just pass in a complete filename instead
    44934858        // of parent and name being that we just join them anyways
    4494         var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
     4859        var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
    44954860        var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname
    44964861        function processData(byteArray) {
     
    45244889          processData(url);
    45254890        }
    4526       },indexedDB:function () {
     4891      },indexedDB:function() {
    45274892        return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
    4528       },DB_NAME:function () {
     4893      },DB_NAME:function() {
    45294894        return 'EM_FS_' + window.location.pathname;
    4530       },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) {
     4895      },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) {
    45314896        onload = onload || function(){};
    45324897        onerror = onerror || function(){};
     
    45384903        }
    45394904        openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
    4540           console.log('creating db');
     4905          out('creating db');
    45414906          var db = openRequest.result;
    45424907          db.createObjectStore(FS.DB_STORE_NAME);
     
    45584923        };
    45594924        openRequest.onerror = onerror;
    4560       },loadFilesFromDB:function (paths, onload, onerror) {
     4925      },loadFilesFromDB:function(paths, onload, onerror) {
    45614926        onload = onload || function(){};
    45624927        onerror = onerror || function(){};
     
    45964961        };
    45974962        openRequest.onerror = onerror;
    4598       }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) {
     4963      }};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd, path) {
    45994964        if (path[0] !== '/') {
    46004965          // relative path
     
    46044969          } else {
    46054970            var dirstream = FS.getStream(dirfd);
    4606             if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
     4971            if (!dirstream) throw new FS.ErrnoError(8);
    46074972            dir = dirstream.path;
    46084973          }
     
    46104975        }
    46114976        return path;
    4612       },doStat:function (func, path, buf) {
     4977      },doStat:function(func, path, buf) {
    46134978        try {
    46144979          var stat = func(path);
     
    46164981          if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
    46174982            // an error occurred while trying to look up the path; we should just report ENOTDIR
    4618             return -ERRNO_CODES.ENOTDIR;
     4983            return -54;
    46194984          }
    46204985          throw e;
     
    46294994        HEAP32[(((buf)+(28))>>2)]=stat.rdev;
    46304995        HEAP32[(((buf)+(32))>>2)]=0;
    4631         HEAP32[(((buf)+(36))>>2)]=stat.size;
    4632         HEAP32[(((buf)+(40))>>2)]=4096;
    4633         HEAP32[(((buf)+(44))>>2)]=stat.blocks;
    4634         HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0;
    4635         HEAP32[(((buf)+(52))>>2)]=0;
    4636         HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0;
     4996        (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)]=tempI64[0],HEAP32[(((buf)+(44))>>2)]=tempI64[1]);
     4997        HEAP32[(((buf)+(48))>>2)]=4096;
     4998        HEAP32[(((buf)+(52))>>2)]=stat.blocks;
     4999        HEAP32[(((buf)+(56))>>2)]=(stat.atime.getTime() / 1000)|0;
    46375000        HEAP32[(((buf)+(60))>>2)]=0;
    4638         HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0;
     5001        HEAP32[(((buf)+(64))>>2)]=(stat.mtime.getTime() / 1000)|0;
    46395002        HEAP32[(((buf)+(68))>>2)]=0;
    4640         HEAP32[(((buf)+(72))>>2)]=stat.ino;
     5003        HEAP32[(((buf)+(72))>>2)]=(stat.ctime.getTime() / 1000)|0;
     5004        HEAP32[(((buf)+(76))>>2)]=0;
     5005        (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(80))>>2)]=tempI64[0],HEAP32[(((buf)+(84))>>2)]=tempI64[1]);
    46415006        return 0;
    4642       },doMsync:function (addr, stream, len, flags) {
    4643         var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
    4644         FS.msync(stream, buffer, 0, len, flags);
    4645       },doMkdir:function (path, mode) {
     5007      },doMsync:function(addr, stream, len, flags, offset) {
     5008        var buffer = HEAPU8.slice(addr, addr + len);
     5009        FS.msync(stream, buffer, offset, len, flags);
     5010      },doMkdir:function(path, mode) {
    46465011        // remove a trailing slash, if one - /a/b/ has basename of '', but
    46475012        // we want to create b in the context of this function
     
    46505015        FS.mkdir(path, mode, 0);
    46515016        return 0;
    4652       },doMknod:function (path, mode, dev) {
     5017      },doMknod:function(path, mode, dev) {
    46535018        // we don't want this in the JS API as it uses mknod to create all nodes.
    46545019        switch (mode & 61440) {
     
    46595024          case 49152:
    46605025            break;
    4661           default: return -ERRNO_CODES.EINVAL;
     5026          default: return -28;
    46625027        }
    46635028        FS.mknod(path, mode, dev);
    46645029        return 0;
    4665       },doReadlink:function (path, buf, bufsize) {
    4666         if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
     5030      },doReadlink:function(path, buf, bufsize) {
     5031        if (bufsize <= 0) return -28;
    46675032        var ret = FS.readlink(path);
    46685033 
     
    46755040 
    46765041        return len;
    4677       },doAccess:function (path, amode) {
     5042      },doAccess:function(path, amode) {
    46785043        if (amode & ~7) {
    46795044          // need a valid mode
    4680           return -ERRNO_CODES.EINVAL;
     5045          return -28;
    46815046        }
    46825047        var node;
    46835048        var lookup = FS.lookupPath(path, { follow: true });
    46845049        node = lookup.node;
     5050        if (!node) {
     5051          return -44;
     5052        }
    46855053        var perms = '';
    46865054        if (amode & 4) perms += 'r';
     
    46885056        if (amode & 1) perms += 'x';
    46895057        if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) {
    4690           return -ERRNO_CODES.EACCES;
     5058          return -2;
    46915059        }
    46925060        return 0;
    4693       },doDup:function (path, flags, suggestFD) {
     5061      },doDup:function(path, flags, suggestFD) {
    46945062        var suggest = FS.getStream(suggestFD);
    46955063        if (suggest) FS.close(suggest);
    46965064        return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
    4697       },doReadv:function (stream, iov, iovcnt, offset) {
     5065      },doReadv:function(stream, iov, iovcnt, offset) {
    46985066        var ret = 0;
    46995067        for (var i = 0; i < iovcnt; i++) {
     
    47065074        }
    47075075        return ret;
    4708       },doWritev:function (stream, iov, iovcnt, offset) {
     5076      },doWritev:function(stream, iov, iovcnt, offset) {
    47095077        var ret = 0;
    47105078        for (var i = 0; i < iovcnt; i++) {
     
    47165084        }
    47175085        return ret;
    4718       },varargs:0,get:function (varargs) {
     5086      },varargs:undefined,get:function() {
     5087        assert(SYSCALLS.varargs != undefined);
    47195088        SYSCALLS.varargs += 4;
    47205089        var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
    47215090        return ret;
    4722       },getStr:function () {
    4723         var ret = Pointer_stringify(SYSCALLS.get());
     5091      },getStr:function(ptr) {
     5092        var ret = UTF8ToString(ptr);
    47245093        return ret;
    4725       },getStreamFromFD:function () {
    4726         var stream = FS.getStream(SYSCALLS.get());
    4727         if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
     5094      },getStreamFromFD:function(fd) {
     5095        var stream = FS.getStream(fd);
     5096        if (!stream) throw new FS.ErrnoError(8);
    47285097        return stream;
    4729       },getSocketFromFD:function () {
    4730         var socket = SOCKFS.getSocket(SYSCALLS.get());
    4731         if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
    4732         return socket;
    4733       },getSocketAddress:function (allowNull) {
    4734         var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
    4735         if (allowNull && addrp === 0) return null;
    4736         var info = __read_sockaddr(addrp, addrlen);
    4737         if (info.errno) throw new FS.ErrnoError(info.errno);
    4738         info.addr = DNS.lookup_addr(info.addr) || info.addr;
    4739         return info;
    4740       },get64:function () {
    4741         var low = SYSCALLS.get(), high = SYSCALLS.get();
     5098      },get64:function(low, high) {
    47425099        if (low >= 0) assert(high === 0);
    47435100        else assert(high === -1);
    47445101        return low;
    4745       },getZero:function () {
    4746         assert(SYSCALLS.get() === 0);
    4747       }};function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs;
     5102      }};function ___sys_fcntl64(fd, cmd, varargs) {SYSCALLS.varargs = varargs;
    47485103  try {
    4749    // open
    4750       var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO
    4751       var stream = FS.open(pathname, flags, mode);
    4752       return stream.fd;
    4753     } catch (e) {
    4754     if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
    4755     return -e.errno;
    4756   }
    4757   }
    4758 
    4759   function ___lock() {}
    4760 
    4761   function ___unlock() {}
    4762 
    4763   function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
    4764   try {
    4765    // close
    4766       var stream = SYSCALLS.getStreamFromFD();
    4767       FS.close(stream);
    4768       return 0;
    4769     } catch (e) {
    4770     if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
    4771     return -e.errno;
    4772   }
    4773   }
    4774 
    4775    
    4776   Module["_llvm_bswap_i32"] = _llvm_bswap_i32;
    4777 
    4778  
    4779  
    4780   var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC);
    4781   Module["_llvm_cttz_i32"] = _llvm_cttz_i32;
    4782   Module["___udivmoddi4"] = ___udivmoddi4;
    4783   Module["___udivdi3"] = ___udivdi3;
    4784 
    4785  
    4786    
    4787   Module["___muldsi3"] = ___muldsi3;
    4788   Module["___muldi3"] = ___muldi3;
    4789 
    4790   var _llvm_pow_f64=Math_pow;
    4791 
    4792    
    4793   Module["_sbrk"] = _sbrk;
    4794 
    4795  
    4796  
    4797   function _emscripten_memcpy_big(dest, src, num) {
    4798       HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
    4799       return dest;
    4800     }
    4801   Module["_memcpy"] = _memcpy;
    4802   Module["_memmove"] = _memmove;
    4803 
    4804 
    4805    
    4806   Module["___uremdi3"] = ___uremdi3;
    4807 
    4808 
    4809 
    4810  
    4811   function __exit(status) {
    4812       // void _exit(int status);
    4813       // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
    4814       Module['exit'](status);
    4815     }function _exit(status) {
    4816       __exit(status);
    4817     }
    4818 
    4819  
    4820  
    4821   function _emscripten_set_main_loop_timing(mode, value) {
    4822       Browser.mainLoop.timingMode = mode;
    4823       Browser.mainLoop.timingValue = value;
    4824  
    4825       if (!Browser.mainLoop.func) {
    4826         console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.');
    4827         return 1; // Return non-zero on failure, can't set timing mode when there is no main loop.
    4828       }
    4829  
    4830       if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) {
    4831         Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
    4832           var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0;
    4833           setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop
    4834         };
    4835         Browser.mainLoop.method = 'timeout';
    4836       } else if (mode == 1 /*EM_TIMING_RAF*/) {
    4837         Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
    4838           Browser.requestAnimationFrame(Browser.mainLoop.runner);
    4839         };
    4840         Browser.mainLoop.method = 'rAF';
    4841       } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) {
    4842         if (!window['setImmediate']) {
    4843           // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed)
    4844           var setImmediates = [];
    4845           var emscriptenMainLoopMessageId = 'setimmediate';
    4846           function Browser_setImmediate_messageHandler(event) {
    4847             if (event.source === window && event.data === emscriptenMainLoopMessageId) {
    4848               event.stopPropagation();
    4849               setImmediates.shift()();
    4850             }
    4851           }
    4852           window.addEventListener("message", Browser_setImmediate_messageHandler, true);
    4853           window['setImmediate'] = function Browser_emulated_setImmediate(func) {
    4854             setImmediates.push(func);
    4855             if (ENVIRONMENT_IS_WORKER) {
    4856               if (Module['setImmediates'] === undefined) Module['setImmediates'] = [];
    4857               Module['setImmediates'].push(func);
    4858               window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js
    4859             } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself.
    4860           }
    4861         }
    4862         Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
    4863           window['setImmediate'](Browser.mainLoop.runner);
    4864         };
    4865         Browser.mainLoop.method = 'immediate';
    4866       }
    4867       return 0;
    4868     }
    4869  
    4870   function _emscripten_get_now() { abort() }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
    4871       Module['noExitRuntime'] = true;
    4872  
    4873       assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.');
    4874  
    4875       Browser.mainLoop.func = func;
    4876       Browser.mainLoop.arg = arg;
    4877  
    4878       var browserIterationFunc;
    4879       if (typeof arg !== 'undefined') {
    4880         browserIterationFunc = function() {
    4881           Module['dynCall_vi'](func, arg);
    4882         };
    4883       } else {
    4884         browserIterationFunc = function() {
    4885           Module['dynCall_v'](func);
    4886         };
    4887       }
    4888  
    4889       var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
    4890  
    4891       Browser.mainLoop.runner = function Browser_mainLoop_runner() {
    4892         if (ABORT) return;
    4893         if (Browser.mainLoop.queue.length > 0) {
    4894           var start = Date.now();
    4895           var blocker = Browser.mainLoop.queue.shift();
    4896           blocker.func(blocker.arg);
    4897           if (Browser.mainLoop.remainingBlockers) {
    4898             var remaining = Browser.mainLoop.remainingBlockers;
    4899             var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining);
    4900             if (blocker.counted) {
    4901               Browser.mainLoop.remainingBlockers = next;
    4902             } else {
    4903               // not counted, but move the progress along a tiny bit
    4904               next = next + 0.5; // do not steal all the next one's progress
    4905               Browser.mainLoop.remainingBlockers = (8*remaining + next)/9;
    4906             }
    4907           }
    4908           console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers);
    4909           Browser.mainLoop.updateStatus();
    4910          
    4911           // catches pause/resume main loop from blocker execution
    4912           if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
    4913          
    4914           setTimeout(Browser.mainLoop.runner, 0);
    4915           return;
    4916         }
    4917  
    4918         // catch pauses from non-main loop sources
    4919         if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
    4920  
    4921         // Implement very basic swap interval control
    4922         Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
    4923         if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
    4924           // Not the scheduled time to render this frame - skip.
    4925           Browser.mainLoop.scheduler();
    4926           return;
    4927         } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) {
    4928           Browser.mainLoop.tickStartTime = _emscripten_get_now();
    4929         }
    4930  
    4931         // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize
    4932         // VBO double-buffering and reduce GPU stalls.
    4933  
    4934  
    4935         if (Browser.mainLoop.method === 'timeout' && Module.ctx) {
    4936           Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!');
    4937           Browser.mainLoop.method = ''; // just warn once per call to set main loop
    4938         }
    4939  
    4940         Browser.mainLoop.runIter(browserIterationFunc);
    4941  
    4942         checkStackCookie();
    4943  
    4944         // catch pauses from the main loop itself
    4945         if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
    4946  
    4947         // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able
    4948         // to queue the newest produced audio samples.
    4949         // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData()
    4950         //       do not need to be hardcoded into this function, but can be more generic.
    4951         if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
    4952  
    4953         Browser.mainLoop.scheduler();
    4954       }
    4955  
    4956       if (!noSetTiming) {
    4957         if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps);
    4958         else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating)
    4959  
    4960         Browser.mainLoop.scheduler();
    4961       }
    4962  
    4963       if (simulateInfiniteLoop) {
    4964         throw 'SimulateInfiniteLoop';
    4965       }
    4966     }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () {
    4967           Browser.mainLoop.scheduler = null;
    4968           Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return.
    4969         },resume:function () {
    4970           Browser.mainLoop.currentlyRunningMainloop++;
    4971           var timingMode = Browser.mainLoop.timingMode;
    4972           var timingValue = Browser.mainLoop.timingValue;
    4973           var func = Browser.mainLoop.func;
    4974           Browser.mainLoop.func = null;
    4975           _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */);
    4976           _emscripten_set_main_loop_timing(timingMode, timingValue);
    4977           Browser.mainLoop.scheduler();
    4978         },updateStatus:function () {
    4979           if (Module['setStatus']) {
    4980             var message = Module['statusMessage'] || 'Please wait...';
    4981             var remaining = Browser.mainLoop.remainingBlockers;
    4982             var expected = Browser.mainLoop.expectedBlockers;
    4983             if (remaining) {
    4984               if (remaining < expected) {
    4985                 Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')');
    4986               } else {
    4987                 Module['setStatus'](message);
    4988               }
    4989             } else {
    4990               Module['setStatus']('');
    4991             }
    4992           }
    4993         },runIter:function (func) {
    4994           if (ABORT) return;
    4995           if (Module['preMainLoop']) {
    4996             var preRet = Module['preMainLoop']();
    4997             if (preRet === false) {
    4998               return; // |return false| skips a frame
    4999             }
    5000           }
    5001           try {
    5002             func();
    5003           } catch (e) {
    5004             if (e instanceof ExitStatus) {
    5005               return;
    5006             } else {
    5007               if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]);
    5008               throw e;
    5009             }
    5010           }
    5011           if (Module['postMainLoop']) Module['postMainLoop']();
    5012         }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () {
    5013         if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers
    5014  
    5015         if (Browser.initted) return;
    5016         Browser.initted = true;
    5017  
    5018         try {
    5019           new Blob();
    5020           Browser.hasBlobConstructor = true;
    5021         } catch(e) {
    5022           Browser.hasBlobConstructor = false;
    5023           console.log("warning: no blob constructor, cannot create blobs with mimetypes");
    5024         }
    5025         Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null));
    5026         Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined;
    5027         if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') {
    5028           console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
    5029           Module.noImageDecoding = true;
    5030         }
    5031  
    5032         // Support for plugins that can process preloaded files. You can add more of these to
    5033         // your app by creating and appending to Module.preloadPlugins.
    5034         //
    5035         // Each plugin is asked if it can handle a file based on the file's name. If it can,
    5036         // it is given the file's raw data. When it is done, it calls a callback with the file's
    5037         // (possibly modified) data. For example, a plugin might decompress a file, or it
    5038         // might create some side data structure for use later (like an Image element, etc.).
    5039  
    5040         var imagePlugin = {};
    5041         imagePlugin['canHandle'] = function imagePlugin_canHandle(name) {
    5042           return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
    5043         };
    5044         imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) {
    5045           var b = null;
    5046           if (Browser.hasBlobConstructor) {
    5047             try {
    5048               b = new Blob([byteArray], { type: Browser.getMimetype(name) });
    5049               if (b.size !== byteArray.length) { // Safari bug #118630
    5050                 // Safari's Blob can only take an ArrayBuffer
    5051                 b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) });
    5052               }
    5053             } catch(e) {
    5054               Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder');
    5055             }
    5056           }
    5057           if (!b) {
    5058             var bb = new Browser.BlobBuilder();
    5059             bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range
    5060             b = bb.getBlob();
    5061           }
    5062           var url = Browser.URLObject.createObjectURL(b);
    5063           assert(typeof url == 'string', 'createObjectURL must return a url as a string');
    5064           var img = new Image();
    5065           img.onload = function img_onload() {
    5066             assert(img.complete, 'Image ' + name + ' could not be decoded');
    5067             var canvas = document.createElement('canvas');
    5068             canvas.width = img.width;
    5069             canvas.height = img.height;
    5070             var ctx = canvas.getContext('2d');
    5071             ctx.drawImage(img, 0, 0);
    5072             Module["preloadedImages"][name] = canvas;
    5073             Browser.URLObject.revokeObjectURL(url);
    5074             if (onload) onload(byteArray);
    5075           };
    5076           img.onerror = function img_onerror(event) {
    5077             console.log('Image ' + url + ' could not be decoded');
    5078             if (onerror) onerror();
    5079           };
    5080           img.src = url;
    5081         };
    5082         Module['preloadPlugins'].push(imagePlugin);
    5083  
    5084         var audioPlugin = {};
    5085         audioPlugin['canHandle'] = function audioPlugin_canHandle(name) {
    5086           return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 };
    5087         };
    5088         audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) {
    5089           var done = false;
    5090           function finish(audio) {
    5091             if (done) return;
    5092             done = true;
    5093             Module["preloadedAudios"][name] = audio;
    5094             if (onload) onload(byteArray);
    5095           }
    5096           function fail() {
    5097             if (done) return;
    5098             done = true;
    5099             Module["preloadedAudios"][name] = new Audio(); // empty shim
    5100             if (onerror) onerror();
    5101           }
    5102           if (Browser.hasBlobConstructor) {
    5103             try {
    5104               var b = new Blob([byteArray], { type: Browser.getMimetype(name) });
    5105             } catch(e) {
    5106               return fail();
    5107             }
    5108             var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
    5109             assert(typeof url == 'string', 'createObjectURL must return a url as a string');
    5110             var audio = new Audio();
    5111             audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926
    5112             audio.onerror = function audio_onerror(event) {
    5113               if (done) return;
    5114               console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach');
    5115               function encode64(data) {
    5116                 var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    5117                 var PAD = '=';
    5118                 var ret = '';
    5119                 var leftchar = 0;
    5120                 var leftbits = 0;
    5121                 for (var i = 0; i < data.length; i++) {
    5122                   leftchar = (leftchar << 8) | data[i];
    5123                   leftbits += 8;
    5124                   while (leftbits >= 6) {
    5125                     var curr = (leftchar >> (leftbits-6)) & 0x3f;
    5126                     leftbits -= 6;
    5127                     ret += BASE[curr];
    5128                   }
    5129                 }
    5130                 if (leftbits == 2) {
    5131                   ret += BASE[(leftchar&3) << 4];
    5132                   ret += PAD + PAD;
    5133                 } else if (leftbits == 4) {
    5134                   ret += BASE[(leftchar&0xf) << 2];
    5135                   ret += PAD;
    5136                 }
    5137                 return ret;
    5138               }
    5139               audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray);
    5140               finish(audio); // we don't wait for confirmation this worked - but it's worth trying
    5141             };
    5142             audio.src = url;
    5143             // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
    5144             Browser.safeSetTimeout(function() {
    5145               finish(audio); // try to use it even though it is not necessarily ready to play
    5146             }, 10000);
    5147           } else {
    5148             return fail();
    5149           }
    5150         };
    5151         Module['preloadPlugins'].push(audioPlugin);
    5152  
    5153         // Canvas event setup
    5154  
    5155         function pointerLockChange() {
    5156           Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] ||
    5157                                 document['mozPointerLockElement'] === Module['canvas'] ||
    5158                                 document['webkitPointerLockElement'] === Module['canvas'] ||
    5159                                 document['msPointerLockElement'] === Module['canvas'];
    5160         }
    5161         var canvas = Module['canvas'];
    5162         if (canvas) {
    5163           // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
    5164           // Module['forcedAspectRatio'] = 4 / 3;
    5165          
    5166           canvas.requestPointerLock = canvas['requestPointerLock'] ||
    5167                                       canvas['mozRequestPointerLock'] ||
    5168                                       canvas['webkitRequestPointerLock'] ||
    5169                                       canvas['msRequestPointerLock'] ||
    5170                                       function(){};
    5171           canvas.exitPointerLock = document['exitPointerLock'] ||
    5172                                    document['mozExitPointerLock'] ||
    5173                                    document['webkitExitPointerLock'] ||
    5174                                    document['msExitPointerLock'] ||
    5175                                    function(){}; // no-op if function does not exist
    5176           canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
    5177  
    5178           document.addEventListener('pointerlockchange', pointerLockChange, false);
    5179           document.addEventListener('mozpointerlockchange', pointerLockChange, false);
    5180           document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
    5181           document.addEventListener('mspointerlockchange', pointerLockChange, false);
    5182  
    5183           if (Module['elementPointerLock']) {
    5184             canvas.addEventListener("click", function(ev) {
    5185               if (!Browser.pointerLock && Module['canvas'].requestPointerLock) {
    5186                 Module['canvas'].requestPointerLock();
    5187                 ev.preventDefault();
    5188               }
    5189             }, false);
    5190           }
    5191         }
    5192       },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) {
    5193         if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas.
    5194  
    5195         var ctx;
    5196         var contextHandle;
    5197         if (useWebGL) {
    5198           // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults.
    5199           var contextAttributes = {
    5200             antialias: false,
    5201             alpha: false
    5202           };
    5203  
    5204           if (webGLContextAttributes) {
    5205             for (var attribute in webGLContextAttributes) {
    5206               contextAttributes[attribute] = webGLContextAttributes[attribute];
    5207             }
    5208           }
    5209  
    5210           contextHandle = GL.createContext(canvas, contextAttributes);
    5211           if (contextHandle) {
    5212             ctx = GL.getContext(contextHandle).GLctx;
    5213           }
    5214         } else {
    5215           ctx = canvas.getContext('2d');
    5216         }
    5217  
    5218         if (!ctx) return null;
    5219  
    5220         if (setInModule) {
    5221           if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it');
    5222  
    5223           Module.ctx = ctx;
    5224           if (useWebGL) GL.makeContextCurrent(contextHandle);
    5225           Module.useWebGL = useWebGL;
    5226           Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() });
    5227           Browser.init();
    5228         }
    5229         return ctx;
    5230       },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) {
    5231         Browser.lockPointer = lockPointer;
    5232         Browser.resizeCanvas = resizeCanvas;
    5233         Browser.vrDevice = vrDevice;
    5234         if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true;
    5235         if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false;
    5236         if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null;
    5237  
    5238         var canvas = Module['canvas'];
    5239         function fullscreenChange() {
    5240           Browser.isFullscreen = false;
    5241           var canvasContainer = canvas.parentNode;
    5242           if ((document['fullscreenElement'] || document['mozFullScreenElement'] ||
    5243                document['msFullscreenElement'] || document['webkitFullscreenElement'] ||
    5244                document['webkitCurrentFullScreenElement']) === canvasContainer) {
    5245             canvas.exitFullscreen = document['exitFullscreen'] ||
    5246                                     document['cancelFullScreen'] ||
    5247                                     document['mozCancelFullScreen'] ||
    5248                                     document['msExitFullscreen'] ||
    5249                                     document['webkitCancelFullScreen'] ||
    5250                                     function() {};
    5251             canvas.exitFullscreen = canvas.exitFullscreen.bind(document);
    5252             if (Browser.lockPointer) canvas.requestPointerLock();
    5253             Browser.isFullscreen = true;
    5254             if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize();
    5255           } else {
    5256            
    5257             // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen
    5258             canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
    5259             canvasContainer.parentNode.removeChild(canvasContainer);
    5260            
    5261             if (Browser.resizeCanvas) Browser.setWindowedCanvasSize();
    5262           }
    5263           if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen);
    5264           if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen);
    5265           Browser.updateCanvasDimensions(canvas);
    5266         }
    5267  
    5268         if (!Browser.fullscreenHandlersInstalled) {
    5269           Browser.fullscreenHandlersInstalled = true;
    5270           document.addEventListener('fullscreenchange', fullscreenChange, false);
    5271           document.addEventListener('mozfullscreenchange', fullscreenChange, false);
    5272           document.addEventListener('webkitfullscreenchange', fullscreenChange, false);
    5273           document.addEventListener('MSFullscreenChange', fullscreenChange, false);
    5274         }
    5275  
    5276         // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root
    5277         var canvasContainer = document.createElement("div");
    5278         canvas.parentNode.insertBefore(canvasContainer, canvas);
    5279         canvasContainer.appendChild(canvas);
    5280  
    5281         // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
    5282         canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] ||
    5283                                             canvasContainer['mozRequestFullScreen'] ||
    5284                                             canvasContainer['msRequestFullscreen'] ||
    5285                                            (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) ||
    5286                                            (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null);
    5287  
    5288         if (vrDevice) {
    5289           canvasContainer.requestFullscreen({ vrDisplay: vrDevice });
    5290         } else {
    5291           canvasContainer.requestFullscreen();
    5292         }
    5293       },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) {
    5294           Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.');
    5295           Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) {
    5296             return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
    5297           }
    5298           return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
    5299       },nextRAF:0,fakeRequestAnimationFrame:function (func) {
    5300         // try to keep 60fps between calls to here
    5301         var now = Date.now();
    5302         if (Browser.nextRAF === 0) {
    5303           Browser.nextRAF = now + 1000/60;
    5304         } else {
    5305           while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0
    5306             Browser.nextRAF += 1000/60;
    5307           }
    5308         }
    5309         var delay = Math.max(Browser.nextRAF - now, 0);
    5310         setTimeout(func, delay);
    5311       },requestAnimationFrame:function requestAnimationFrame(func) {
    5312         if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js)
    5313           Browser.fakeRequestAnimationFrame(func);
    5314         } else {
    5315           if (!window.requestAnimationFrame) {
    5316             window.requestAnimationFrame = window['requestAnimationFrame'] ||
    5317                                            window['mozRequestAnimationFrame'] ||
    5318                                            window['webkitRequestAnimationFrame'] ||
    5319                                            window['msRequestAnimationFrame'] ||
    5320                                            window['oRequestAnimationFrame'] ||
    5321                                            Browser.fakeRequestAnimationFrame;
    5322           }
    5323           window.requestAnimationFrame(func);
    5324         }
    5325       },safeCallback:function (func) {
    5326         return function() {
    5327           if (!ABORT) return func.apply(null, arguments);
    5328         };
    5329       },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () {
    5330         Browser.allowAsyncCallbacks = false;
    5331       },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now
    5332         Browser.allowAsyncCallbacks = true;
    5333         if (Browser.queuedAsyncCallbacks.length > 0) {
    5334           var callbacks = Browser.queuedAsyncCallbacks;
    5335           Browser.queuedAsyncCallbacks = [];
    5336           callbacks.forEach(function(func) {
    5337             func();
    5338           });
    5339         }
    5340       },safeRequestAnimationFrame:function (func) {
    5341         return Browser.requestAnimationFrame(function() {
    5342           if (ABORT) return;
    5343           if (Browser.allowAsyncCallbacks) {
    5344             func();
    5345           } else {
    5346             Browser.queuedAsyncCallbacks.push(func);
    5347           }
    5348         });
    5349       },safeSetTimeout:function (func, timeout) {
    5350         Module['noExitRuntime'] = true;
    5351         return setTimeout(function() {
    5352           if (ABORT) return;
    5353           if (Browser.allowAsyncCallbacks) {
    5354             func();
    5355           } else {
    5356             Browser.queuedAsyncCallbacks.push(func);
    5357           }
    5358         }, timeout);
    5359       },safeSetInterval:function (func, timeout) {
    5360         Module['noExitRuntime'] = true;
    5361         return setInterval(function() {
    5362           if (ABORT) return;
    5363           if (Browser.allowAsyncCallbacks) {
    5364             func();
    5365           } // drop it on the floor otherwise, next interval will kick in
    5366         }, timeout);
    5367       },getMimetype:function (name) {
    5368         return {
    5369           'jpg': 'image/jpeg',
    5370           'jpeg': 'image/jpeg',
    5371           'png': 'image/png',
    5372           'bmp': 'image/bmp',
    5373           'ogg': 'audio/ogg',
    5374           'wav': 'audio/wav',
    5375           'mp3': 'audio/mpeg'
    5376         }[name.substr(name.lastIndexOf('.')+1)];
    5377       },getUserMedia:function (func) {
    5378         if(!window.getUserMedia) {
    5379           window.getUserMedia = navigator['getUserMedia'] ||
    5380                                 navigator['mozGetUserMedia'];
    5381         }
    5382         window.getUserMedia(func);
    5383       },getMovementX:function (event) {
    5384         return event['movementX'] ||
    5385                event['mozMovementX'] ||
    5386                event['webkitMovementX'] ||
    5387                0;
    5388       },getMovementY:function (event) {
    5389         return event['movementY'] ||
    5390                event['mozMovementY'] ||
    5391                event['webkitMovementY'] ||
    5392                0;
    5393       },getMouseWheelDelta:function (event) {
    5394         var delta = 0;
    5395         switch (event.type) {
    5396           case 'DOMMouseScroll':
    5397             delta = event.detail;
    5398             break;
    5399           case 'mousewheel':
    5400             delta = event.wheelDelta;
    5401             break;
    5402           case 'wheel':
    5403             delta = event['deltaY'];
    5404             break;
    5405           default:
    5406             throw 'unrecognized mouse wheel event: ' + event.type;
    5407         }
    5408         return delta;
    5409       },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup
    5410         if (Browser.pointerLock) {
    5411           // When the pointer is locked, calculate the coordinates
    5412           // based on the movement of the mouse.
    5413           // Workaround for Firefox bug 764498
    5414           if (event.type != 'mousemove' &&
    5415               ('mozMovementX' in event)) {
    5416             Browser.mouseMovementX = Browser.mouseMovementY = 0;
    5417           } else {
    5418             Browser.mouseMovementX = Browser.getMovementX(event);
    5419             Browser.mouseMovementY = Browser.getMovementY(event);
    5420           }
    5421          
    5422           // check if SDL is available
    5423           if (typeof SDL != "undefined") {
    5424                 Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
    5425                 Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
    5426           } else {
    5427                 // just add the mouse delta to the current absolut mouse position
    5428                 // FIXME: ideally this should be clamped against the canvas size and zero
    5429                 Browser.mouseX += Browser.mouseMovementX;
    5430                 Browser.mouseY += Browser.mouseMovementY;
    5431           }       
    5432         } else {
    5433           // Otherwise, calculate the movement based on the changes
    5434           // in the coordinates.
    5435           var rect = Module["canvas"].getBoundingClientRect();
    5436           var cw = Module["canvas"].width;
    5437           var ch = Module["canvas"].height;
    5438  
    5439           // Neither .scrollX or .pageXOffset are defined in a spec, but
    5440           // we prefer .scrollX because it is currently in a spec draft.
    5441           // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/)
    5442           var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset);
    5443           var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset);
    5444           // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset
    5445           // and we have no viable fallback.
    5446           assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.');
    5447  
    5448           if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') {
    5449             var touch = event.touch;
    5450             if (touch === undefined) {
    5451               return; // the "touch" property is only defined in SDL
    5452  
    5453             }
    5454             var adjustedX = touch.pageX - (scrollX + rect.left);
    5455             var adjustedY = touch.pageY - (scrollY + rect.top);
    5456  
    5457             adjustedX = adjustedX * (cw / rect.width);
    5458             adjustedY = adjustedY * (ch / rect.height);
    5459  
    5460             var coords = { x: adjustedX, y: adjustedY };
    5461            
    5462             if (event.type === 'touchstart') {
    5463               Browser.lastTouches[touch.identifier] = coords;
    5464               Browser.touches[touch.identifier] = coords;
    5465             } else if (event.type === 'touchend' || event.type === 'touchmove') {
    5466               var last = Browser.touches[touch.identifier];
    5467               if (!last) last = coords;
    5468               Browser.lastTouches[touch.identifier] = last;
    5469               Browser.touches[touch.identifier] = coords;
    5470             }
    5471             return;
    5472           }
    5473  
    5474           var x = event.pageX - (scrollX + rect.left);
    5475           var y = event.pageY - (scrollY + rect.top);
    5476  
    5477           // the canvas might be CSS-scaled compared to its backbuffer;
    5478           // SDL-using content will want mouse coordinates in terms
    5479           // of backbuffer units.
    5480           x = x * (cw / rect.width);
    5481           y = y * (ch / rect.height);
    5482  
    5483           Browser.mouseMovementX = x - Browser.mouseX;
    5484           Browser.mouseMovementY = y - Browser.mouseY;
    5485           Browser.mouseX = x;
    5486           Browser.mouseY = y;
    5487         }
    5488       },asyncLoad:function (url, onload, onerror, noRunDep) {
    5489         var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : '';
    5490         Module['readAsync'](url, function(arrayBuffer) {
    5491           assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
    5492           onload(new Uint8Array(arrayBuffer));
    5493           if (dep) removeRunDependency(dep);
    5494         }, function(event) {
    5495           if (onerror) {
    5496             onerror();
    5497           } else {
    5498             throw 'Loading data file "' + url + '" failed.';
    5499           }
    5500         });
    5501         if (dep) addRunDependency(dep);
    5502       },resizeListeners:[],updateResizeListeners:function () {
    5503         var canvas = Module['canvas'];
    5504         Browser.resizeListeners.forEach(function(listener) {
    5505           listener(canvas.width, canvas.height);
    5506         });
    5507       },setCanvasSize:function (width, height, noUpdates) {
    5508         var canvas = Module['canvas'];
    5509         Browser.updateCanvasDimensions(canvas, width, height);
    5510         if (!noUpdates) Browser.updateResizeListeners();
    5511       },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () {
    5512         // check if SDL is available   
    5513         if (typeof SDL != "undefined") {
    5514                 var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
    5515                 flags = flags | 0x00800000; // set SDL_FULLSCREEN flag
    5516                 HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
    5517         }
    5518         Browser.updateResizeListeners();
    5519       },setWindowedCanvasSize:function () {
    5520         // check if SDL is available       
    5521         if (typeof SDL != "undefined") {
    5522                 var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
    5523                 flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag
    5524                 HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
    5525         }
    5526         Browser.updateResizeListeners();
    5527       },updateCanvasDimensions:function (canvas, wNative, hNative) {
    5528         if (wNative && hNative) {
    5529           canvas.widthNative = wNative;
    5530           canvas.heightNative = hNative;
    5531         } else {
    5532           wNative = canvas.widthNative;
    5533           hNative = canvas.heightNative;
    5534         }
    5535         var w = wNative;
    5536         var h = hNative;
    5537         if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) {
    5538           if (w/h < Module['forcedAspectRatio']) {
    5539             w = Math.round(h * Module['forcedAspectRatio']);
    5540           } else {
    5541             h = Math.round(w / Module['forcedAspectRatio']);
    5542           }
    5543         }
    5544         if (((document['fullscreenElement'] || document['mozFullScreenElement'] ||
    5545              document['msFullscreenElement'] || document['webkitFullscreenElement'] ||
    5546              document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) {
    5547            var factor = Math.min(screen.width / w, screen.height / h);
    5548            w = Math.round(w * factor);
    5549            h = Math.round(h * factor);
    5550         }
    5551         if (Browser.resizeCanvas) {
    5552           if (canvas.width  != w) canvas.width  = w;
    5553           if (canvas.height != h) canvas.height = h;
    5554           if (typeof canvas.style != 'undefined') {
    5555             canvas.style.removeProperty( "width");
    5556             canvas.style.removeProperty("height");
    5557           }
    5558         } else {
    5559           if (canvas.width  != wNative) canvas.width  = wNative;
    5560           if (canvas.height != hNative) canvas.height = hNative;
    5561           if (typeof canvas.style != 'undefined') {
    5562             if (w != wNative || h != hNative) {
    5563               canvas.style.setProperty( "width", w + "px", "important");
    5564               canvas.style.setProperty("height", h + "px", "important");
    5565             } else {
    5566               canvas.style.removeProperty( "width");
    5567               canvas.style.removeProperty("height");
    5568             }
    5569           }
    5570         }
    5571       },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () {
    5572         var handle = Browser.nextWgetRequestHandle;
    5573         Browser.nextWgetRequestHandle++;
    5574         return handle;
    5575       }};
    5576 
    5577   function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
    5578   try {
    5579    // llseek
    5580       var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
    5581       var offset = offset_low;
    5582       assert(offset_high === 0);
    5583       FS.llseek(stream, offset, whence);
    5584       HEAP32[((result)>>2)]=stream.position;
    5585       if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
    5586       return 0;
    5587     } catch (e) {
    5588     if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
    5589     return -e.errno;
    5590   }
    5591   }
    5592 
    5593   function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
    5594   try {
    5595    // writev
    5596       var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
    5597       return SYSCALLS.doWritev(stream, iov, iovcnt);
    5598     } catch (e) {
    5599     if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
    5600     return -e.errno;
    5601   }
    5602   }
    5603 
    5604   function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
    5605   try {
    5606    // ioctl
    5607       var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
    5608       switch (op) {
    5609         case 21505: {
    5610           if (!stream.tty) return -ERRNO_CODES.ENOTTY;
    5611           return 0;
    5612         }
    5613         case 21506: {
    5614           if (!stream.tty) return -ERRNO_CODES.ENOTTY;
    5615           return 0; // no-op, not actually adjusting terminal settings
    5616         }
    5617         case 21519: {
    5618           if (!stream.tty) return -ERRNO_CODES.ENOTTY;
    5619           var argp = SYSCALLS.get();
    5620           HEAP32[((argp)>>2)]=0;
    5621           return 0;
    5622         }
    5623         case 21520: {
    5624           if (!stream.tty) return -ERRNO_CODES.ENOTTY;
    5625           return -ERRNO_CODES.EINVAL; // not supported
    5626         }
    5627         case 21531: {
    5628           var argp = SYSCALLS.get();
    5629           return FS.ioctl(stream, op, argp);
    5630         }
    5631         case 21523: {
    5632           // TODO: in theory we should write to the winsize struct that gets
    5633           // passed in, but for now musl doesn't read anything on it
    5634           if (!stream.tty) return -ERRNO_CODES.ENOTTY;
    5635           return 0;
    5636         }
    5637         default: abort('bad ioctl syscall ' + op);
    5638       }
    5639     } catch (e) {
    5640     if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
    5641     return -e.errno;
    5642   }
    5643   }
    5644 
    5645   function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs;
    5646   try {
    5647    // fcntl64
    5648       var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
     5104 
     5105      var stream = SYSCALLS.getStreamFromFD(fd);
    56495106      switch (cmd) {
    56505107        case 0: {
    56515108          var arg = SYSCALLS.get();
    56525109          if (arg < 0) {
    5653             return -ERRNO_CODES.EINVAL;
     5110            return -28;
    56545111          }
    56555112          var newStream;
     
    56685125        }
    56695126        case 12:
    5670         case 12: {
     5127        /* case 12: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ {
     5128         
    56715129          var arg = SYSCALLS.get();
    56725130          var offset = 0;
     
    56775135        case 13:
    56785136        case 14:
    5679         case 13:
    5680         case 14:
     5137        /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */
     5138        /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */
     5139         
     5140         
    56815141          return 0; // Pretend that the locking is successful.
    56825142        case 16:
    56835143        case 8:
    5684           return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet.
     5144          return -28; // These are for sockets. We don't have them fully implemented yet.
    56855145        case 9:
    56865146          // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves.
    5687           ___setErrNo(ERRNO_CODES.EINVAL);
     5147          setErrNo(28);
    56885148          return -1;
    56895149        default: {
    5690           return -ERRNO_CODES.EINVAL;
     5150          return -28;
    56915151        }
    56925152      }
     
    56975157  }
    56985158
    5699   function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs;
     5159  function ___sys_ioctl(fd, op, varargs) {SYSCALLS.varargs = varargs;
    57005160  try {
    5701    // readv
    5702       var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
    5703       return SYSCALLS.doReadv(stream, iov, iovcnt);
     5161 
     5162      var stream = SYSCALLS.getStreamFromFD(fd);
     5163      switch (op) {
     5164        case 21509:
     5165        case 21505: {
     5166          if (!stream.tty) return -59;
     5167          return 0;
     5168        }
     5169        case 21510:
     5170        case 21511:
     5171        case 21512:
     5172        case 21506:
     5173        case 21507:
     5174        case 21508: {
     5175          if (!stream.tty) return -59;
     5176          return 0; // no-op, not actually adjusting terminal settings
     5177        }
     5178        case 21519: {
     5179          if (!stream.tty) return -59;
     5180          var argp = SYSCALLS.get();
     5181          HEAP32[((argp)>>2)]=0;
     5182          return 0;
     5183        }
     5184        case 21520: {
     5185          if (!stream.tty) return -59;
     5186          return -28; // not supported
     5187        }
     5188        case 21531: {
     5189          var argp = SYSCALLS.get();
     5190          return FS.ioctl(stream, op, argp);
     5191        }
     5192        case 21523: {
     5193          // TODO: in theory we should write to the winsize struct that gets
     5194          // passed in, but for now musl doesn't read anything on it
     5195          if (!stream.tty) return -59;
     5196          return 0;
     5197        }
     5198        case 21524: {
     5199          // TODO: technically, this ioctl call should change the window size.
     5200          // but, since emscripten doesn't have any concept of a terminal window
     5201          // yet, we'll just silently throw it away as we do TIOCGWINSZ
     5202          if (!stream.tty) return -59;
     5203          return 0;
     5204        }
     5205        default: abort('bad ioctl syscall ' + op);
     5206      }
    57045207    } catch (e) {
    57055208    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
     
    57075210  }
    57085211  }
    5709 FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;;
    5710 __ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });;
    5711 if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); };
    5712 Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) };
    5713   Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) };
     5212
     5213  function ___sys_open(path, flags, varargs) {SYSCALLS.varargs = varargs;
     5214  try {
     5215 
     5216      var pathname = SYSCALLS.getStr(path);
     5217      var mode = SYSCALLS.get();
     5218      var stream = FS.open(pathname, flags, mode);
     5219      return stream.fd;
     5220    } catch (e) {
     5221    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
     5222    return -e.errno;
     5223  }
     5224  }
     5225
     5226  function _abort() {
     5227      abort();
     5228    }
     5229
     5230  function _emscripten_get_sbrk_ptr() {
     5231      return 79712;
     5232    }
     5233
     5234 
     5235  function _longjmp(env, value) {
     5236      _setThrew(env, value || 1);
     5237      throw 'longjmp';
     5238    }function _emscripten_longjmp(env, value) {
     5239      _longjmp(env, value);
     5240    }
     5241
     5242  function _emscripten_memcpy_big(dest, src, num) {
     5243      HEAPU8.copyWithin(dest, src, src + num);
     5244    }
     5245
     5246 
     5247  function _emscripten_get_heap_size() {
     5248      return HEAPU8.length;
     5249    }
     5250 
     5251  function abortOnCannotGrowMemory(requestedSize) {
     5252      abort('Cannot enlarge memory arrays to size ' + requestedSize + ' bytes (OOM). Either (1) compile with  -s INITIAL_MEMORY=X  with X higher than the current value ' + HEAP8.length + ', (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ');
     5253    }function _emscripten_resize_heap(requestedSize) {
     5254      requestedSize = requestedSize >>> 0;
     5255      abortOnCannotGrowMemory(requestedSize);
     5256    }
     5257
     5258  function _exit(status) {
     5259      // void _exit(int status);
     5260      // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
     5261      exit(status);
     5262    }
     5263
     5264  function _fd_close(fd) {try {
     5265 
     5266      var stream = SYSCALLS.getStreamFromFD(fd);
     5267      FS.close(stream);
     5268      return 0;
     5269    } catch (e) {
     5270    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
     5271    return e.errno;
     5272  }
     5273  }
     5274
     5275  function _fd_read(fd, iov, iovcnt, pnum) {try {
     5276 
     5277      var stream = SYSCALLS.getStreamFromFD(fd);
     5278      var num = SYSCALLS.doReadv(stream, iov, iovcnt);
     5279      HEAP32[((pnum)>>2)]=num
     5280      return 0;
     5281    } catch (e) {
     5282    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
     5283    return e.errno;
     5284  }
     5285  }
     5286
     5287  function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {try {
     5288 
     5289     
     5290      var stream = SYSCALLS.getStreamFromFD(fd);
     5291      var HIGH_OFFSET = 0x100000000; // 2^32
     5292      // use an unsigned operator on low and shift high by 32-bits
     5293      var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
     5294 
     5295      var DOUBLE_LIMIT = 0x20000000000000; // 2^53
     5296      // we also check for equality since DOUBLE_LIMIT + 1 == DOUBLE_LIMIT
     5297      if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {
     5298        return -61;
     5299      }
     5300 
     5301      FS.llseek(stream, offset, whence);
     5302      (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)]=tempI64[0],HEAP32[(((newOffset)+(4))>>2)]=tempI64[1]);
     5303      if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
     5304      return 0;
     5305    } catch (e) {
     5306    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
     5307    return e.errno;
     5308  }
     5309  }
     5310
     5311  function _fd_write(fd, iov, iovcnt, pnum) {try {
     5312 
     5313      var stream = SYSCALLS.getStreamFromFD(fd);
     5314      var num = SYSCALLS.doWritev(stream, iov, iovcnt);
     5315      HEAP32[((pnum)>>2)]=num
     5316      return 0;
     5317    } catch (e) {
     5318    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
     5319    return e.errno;
     5320  }
     5321  }
     5322
     5323  function _getTempRet0() {
     5324      return (getTempRet0() | 0);
     5325    }
     5326
     5327 
     5328  function _round(d) {
     5329      d = +d;
     5330      return d >= +0 ? +Math_floor(d + +0.5) : +Math_ceil(d - +0.5);
     5331    }
     5332
     5333  function _setTempRet0($i) {
     5334      setTempRet0(($i) | 0);
     5335    }
     5336
     5337Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas) { Browser.requestFullscreen(lockPointer, resizeCanvas) };
     5338  Module["requestFullScreen"] = function Module_requestFullScreen() { Browser.requestFullScreen() };
    57145339  Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) };
    57155340  Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) };
     
    57185343  Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() }
    57195344  Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) };
    5720 if (ENVIRONMENT_IS_NODE) {
    5721     _emscripten_get_now = function _emscripten_get_now_actual() {
    5722       var t = process['hrtime']();
    5723       return t[0] * 1e3 + t[1] / 1e6;
    5724     };
    5725   } else if (typeof dateNow !== 'undefined') {
    5726     _emscripten_get_now = dateNow;
    5727   } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') {
    5728     _emscripten_get_now = function() { return self['performance']['now'](); };
    5729   } else if (typeof performance === 'object' && typeof performance['now'] === 'function') {
    5730     _emscripten_get_now = function() { return performance['now'](); };
    5731   } else {
    5732     _emscripten_get_now = Date.now;
     5345var FSNode = /** @constructor */ function(parent, name, mode, rdev) {
     5346    if (!parent) {
     5347      parent = this;  // root node sets parent to itself
     5348    }
     5349    this.parent = parent;
     5350    this.mount = parent.mount;
     5351    this.mounted = null;
     5352    this.id = FS.nextInode++;
     5353    this.name = name;
     5354    this.mode = mode;
     5355    this.node_ops = {};
     5356    this.stream_ops = {};
     5357    this.rdev = rdev;
    57335358  };
    5734 DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC);
    5735 
    5736 STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
    5737 
    5738 STACK_MAX = STACK_BASE + TOTAL_STACK;
    5739 
    5740 DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX);
    5741 
    5742 HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
    5743 
    5744 staticSealed = true; // seal the static portion of memory
    5745 
    5746 assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
    5747 
    5748 
    5749 
    5750 function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5751 
    5752 function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5753 
    5754 function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5755 
    5756 function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5757 
    5758 function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5759 
    5760 function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5761 
    5762 function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5763 
    5764 function nullFunc_iiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5765 
    5766 function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5767 
    5768 function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
    5769 
    5770 function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
     5359  var readMode = 292/*292*/ | 73/*73*/;
     5360  var writeMode = 146/*146*/;
     5361  Object.defineProperties(FSNode.prototype, {
     5362   read: {
     5363    get: /** @this{FSNode} */function() {
     5364     return (this.mode & readMode) === readMode;
     5365    },
     5366    set: /** @this{FSNode} */function(val) {
     5367     val ? this.mode |= readMode : this.mode &= ~readMode;
     5368    }
     5369   },
     5370   write: {
     5371    get: /** @this{FSNode} */function() {
     5372     return (this.mode & writeMode) === writeMode;
     5373    },
     5374    set: /** @this{FSNode} */function(val) {
     5375     val ? this.mode |= writeMode : this.mode &= ~writeMode;
     5376    }
     5377   },
     5378   isFolder: {
     5379    get: /** @this{FSNode} */function() {
     5380     return FS.isDir(this.mode);
     5381    }
     5382   },
     5383   isDevice: {
     5384    get: /** @this{FSNode} */function() {
     5385     return FS.isChrdev(this.mode);
     5386    }
     5387   }
     5388  });
     5389  FS.FSNode = FSNode;
     5390  FS.staticInit();Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;;
     5391var ASSERTIONS = true;
     5392
     5393
     5394
     5395/** @type {function(string, boolean=, number=)} */
     5396function intArrayFromString(stringy, dontAddNull, length) {
     5397  var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
     5398  var u8array = new Array(len);
     5399  var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
     5400  if (dontAddNull) u8array.length = numBytesWritten;
     5401  return u8array;
     5402}
     5403
     5404function intArrayToString(array) {
     5405  var ret = [];
     5406  for (var i = 0; i < array.length; i++) {
     5407    var chr = array[i];
     5408    if (chr > 0xFF) {
     5409      if (ASSERTIONS) {
     5410        assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ')  at offset ' + i + ' not in 0x00-0xFF.');
     5411      }
     5412      chr &= 0xFF;
     5413    }
     5414    ret.push(String.fromCharCode(chr));
     5415  }
     5416  return ret.join('');
     5417}
     5418
     5419
     5420// ASM_LIBRARY EXTERN PRIMITIVES: Math_floor,Math_ceil
     5421
     5422var asmGlobalArg = {};
     5423var asmLibraryArg = { "__handle_stack_overflow": ___handle_stack_overflow, "__sys_fcntl64": ___sys_fcntl64, "__sys_ioctl": ___sys_ioctl, "__sys_open": ___sys_open, "abort": _abort, "emscripten_get_sbrk_ptr": _emscripten_get_sbrk_ptr, "emscripten_longjmp": _emscripten_longjmp, "emscripten_memcpy_big": _emscripten_memcpy_big, "emscripten_resize_heap": _emscripten_resize_heap, "exit": _exit, "fd_close": _fd_close, "fd_read": _fd_read, "fd_seek": _fd_seek, "fd_write": _fd_write, "getTempRet0": _getTempRet0, "invoke_ii": invoke_ii, "invoke_iii": invoke_iii, "invoke_iiii": invoke_iiii, "invoke_iiiii": invoke_iiiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_viii": invoke_viii, "invoke_viiii": invoke_viiii, "invoke_viiiii": invoke_viiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viiiiiii": invoke_viiiiiii, "memory": wasmMemory, "round": _round, "setTempRet0": _setTempRet0, "table": wasmTable };
     5424var asm = createWasm();
     5425/** @type {function(...*):?} */
     5426var ___wasm_call_ctors = Module["___wasm_call_ctors"] = createExportWrapper("__wasm_call_ctors");
     5427
     5428/** @type {function(...*):?} */
     5429var _main = Module["_main"] = createExportWrapper("main");
     5430
     5431/** @type {function(...*):?} */
     5432var ___errno_location = Module["___errno_location"] = createExportWrapper("__errno_location");
     5433
     5434/** @type {function(...*):?} */
     5435var _malloc = Module["_malloc"] = createExportWrapper("malloc");
     5436
     5437/** @type {function(...*):?} */
     5438var _testSetjmp = Module["_testSetjmp"] = createExportWrapper("testSetjmp");
     5439
     5440/** @type {function(...*):?} */
     5441var _saveSetjmp = Module["_saveSetjmp"] = createExportWrapper("saveSetjmp");
     5442
     5443/** @type {function(...*):?} */
     5444var _free = Module["_free"] = createExportWrapper("free");
     5445
     5446/** @type {function(...*):?} */
     5447var _realloc = Module["_realloc"] = createExportWrapper("realloc");
     5448
     5449/** @type {function(...*):?} */
     5450var _fflush = Module["_fflush"] = createExportWrapper("fflush");
     5451
     5452/** @type {function(...*):?} */
     5453var _setThrew = Module["_setThrew"] = createExportWrapper("setThrew");
     5454
     5455/** @type {function(...*):?} */
     5456var stackSave = Module["stackSave"] = createExportWrapper("stackSave");
     5457
     5458/** @type {function(...*):?} */
     5459var stackRestore = Module["stackRestore"] = createExportWrapper("stackRestore");
     5460
     5461/** @type {function(...*):?} */
     5462var stackAlloc = Module["stackAlloc"] = createExportWrapper("stackAlloc");
     5463
     5464/** @type {function(...*):?} */
     5465var dynCall_vi = Module["dynCall_vi"] = createExportWrapper("dynCall_vi");
     5466
     5467/** @type {function(...*):?} */
     5468var dynCall_vii = Module["dynCall_vii"] = createExportWrapper("dynCall_vii");
     5469
     5470/** @type {function(...*):?} */
     5471var dynCall_viii = Module["dynCall_viii"] = createExportWrapper("dynCall_viii");
     5472
     5473/** @type {function(...*):?} */
     5474var dynCall_viiii = Module["dynCall_viiii"] = createExportWrapper("dynCall_viiii");
     5475
     5476/** @type {function(...*):?} */
     5477var dynCall_viiiii = Module["dynCall_viiiii"] = createExportWrapper("dynCall_viiiii");
     5478
     5479/** @type {function(...*):?} */
     5480var dynCall_viiiiii = Module["dynCall_viiiiii"] = createExportWrapper("dynCall_viiiiii");
     5481
     5482/** @type {function(...*):?} */
     5483var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = createExportWrapper("dynCall_viiiiiii");
     5484
     5485/** @type {function(...*):?} */
     5486var dynCall_ii = Module["dynCall_ii"] = createExportWrapper("dynCall_ii");
     5487
     5488/** @type {function(...*):?} */
     5489var dynCall_iii = Module["dynCall_iii"] = createExportWrapper("dynCall_iii");
     5490
     5491/** @type {function(...*):?} */
     5492var dynCall_iiii = Module["dynCall_iiii"] = createExportWrapper("dynCall_iiii");
     5493
     5494/** @type {function(...*):?} */
     5495var dynCall_iiiii = Module["dynCall_iiiii"] = createExportWrapper("dynCall_iiiii");
     5496
     5497/** @type {function(...*):?} */
     5498var ___set_stack_limit = Module["___set_stack_limit"] = createExportWrapper("__set_stack_limit");
     5499
     5500/** @type {function(...*):?} */
     5501var __growWasmMemory = Module["__growWasmMemory"] = createExportWrapper("__growWasmMemory");
     5502
     5503/** @type {function(...*):?} */
     5504var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji");
     5505
     5506/** @type {function(...*):?} */
     5507var dynCall_iidiiii = Module["dynCall_iidiiii"] = createExportWrapper("dynCall_iidiiii");
     5508
     5509
     5510function invoke_vi(index,a1) {
     5511  var sp = stackSave();
     5512  try {
     5513    dynCall_vi(index,a1);
     5514  } catch(e) {
     5515    stackRestore(sp);
     5516    if (e !== e+0 && e !== 'longjmp') throw e;
     5517    _setThrew(1, 0);
     5518  }
     5519}
     5520
     5521function invoke_vii(index,a1,a2) {
     5522  var sp = stackSave();
     5523  try {
     5524    dynCall_vii(index,a1,a2);
     5525  } catch(e) {
     5526    stackRestore(sp);
     5527    if (e !== e+0 && e !== 'longjmp') throw e;
     5528    _setThrew(1, 0);
     5529  }
     5530}
    57715531
    57725532function invoke_iiii(index,a1,a2,a3) {
     5533  var sp = stackSave();
    57735534  try {
    5774     return Module["dynCall_iiii"](index,a1,a2,a3);
     5535    return dynCall_iiii(index,a1,a2,a3);
    57755536  } catch(e) {
    5776     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5777     Module["setThrew"](1, 0);
     5537    stackRestore(sp);
     5538    if (e !== e+0 && e !== 'longjmp') throw e;
     5539    _setThrew(1, 0);
     5540  }
     5541}
     5542
     5543function invoke_iii(index,a1,a2) {
     5544  var sp = stackSave();
     5545  try {
     5546    return dynCall_iii(index,a1,a2);
     5547  } catch(e) {
     5548    stackRestore(sp);
     5549    if (e !== e+0 && e !== 'longjmp') throw e;
     5550    _setThrew(1, 0);
     5551  }
     5552}
     5553
     5554function invoke_viiii(index,a1,a2,a3,a4) {
     5555  var sp = stackSave();
     5556  try {
     5557    dynCall_viiii(index,a1,a2,a3,a4);
     5558  } catch(e) {
     5559    stackRestore(sp);
     5560    if (e !== e+0 && e !== 'longjmp') throw e;
     5561    _setThrew(1, 0);
     5562  }
     5563}
     5564
     5565function invoke_viiiii(index,a1,a2,a3,a4,a5) {
     5566  var sp = stackSave();
     5567  try {
     5568    dynCall_viiiii(index,a1,a2,a3,a4,a5);
     5569  } catch(e) {
     5570    stackRestore(sp);
     5571    if (e !== e+0 && e !== 'longjmp') throw e;
     5572    _setThrew(1, 0);
     5573  }
     5574}
     5575
     5576function invoke_viii(index,a1,a2,a3) {
     5577  var sp = stackSave();
     5578  try {
     5579    dynCall_viii(index,a1,a2,a3);
     5580  } catch(e) {
     5581    stackRestore(sp);
     5582    if (e !== e+0 && e !== 'longjmp') throw e;
     5583    _setThrew(1, 0);
    57785584  }
    57795585}
    57805586
    57815587function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) {
     5588  var sp = stackSave();
    57825589  try {
    5783     Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7);
     5590    dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7);
    57845591  } catch(e) {
    5785     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5786     Module["setThrew"](1, 0);
    5787   }
    5788 }
    5789 
    5790 function invoke_viiiii(index,a1,a2,a3,a4,a5) {
     5592    stackRestore(sp);
     5593    if (e !== e+0 && e !== 'longjmp') throw e;
     5594    _setThrew(1, 0);
     5595  }
     5596}
     5597
     5598function invoke_iiiii(index,a1,a2,a3,a4) {
     5599  var sp = stackSave();
    57915600  try {
    5792     Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5);
     5601    return dynCall_iiiii(index,a1,a2,a3,a4);
    57935602  } catch(e) {
    5794     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5795     Module["setThrew"](1, 0);
    5796   }
    5797 }
    5798 
    5799 function invoke_vi(index,a1) {
     5603    stackRestore(sp);
     5604    if (e !== e+0 && e !== 'longjmp') throw e;
     5605    _setThrew(1, 0);
     5606  }
     5607}
     5608
     5609function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
     5610  var sp = stackSave();
    58005611  try {
    5801     Module["dynCall_vi"](index,a1);
     5612    dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6);
    58025613  } catch(e) {
    5803     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5804     Module["setThrew"](1, 0);
    5805   }
    5806 }
    5807 
    5808 function invoke_vii(index,a1,a2) {
     5614    stackRestore(sp);
     5615    if (e !== e+0 && e !== 'longjmp') throw e;
     5616    _setThrew(1, 0);
     5617  }
     5618}
     5619
     5620function invoke_ii(index,a1) {
     5621  var sp = stackSave();
    58095622  try {
    5810     Module["dynCall_vii"](index,a1,a2);
     5623    return dynCall_ii(index,a1);
    58115624  } catch(e) {
    5812     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5813     Module["setThrew"](1, 0);
    5814   }
    5815 }
    5816 
    5817 function invoke_ii(index,a1) {
    5818   try {
    5819     return Module["dynCall_ii"](index,a1);
    5820   } catch(e) {
    5821     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5822     Module["setThrew"](1, 0);
    5823   }
    5824 }
    5825 
    5826 function invoke_viii(index,a1,a2,a3) {
    5827   try {
    5828     Module["dynCall_viii"](index,a1,a2,a3);
    5829   } catch(e) {
    5830     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5831     Module["setThrew"](1, 0);
    5832   }
    5833 }
    5834 
    5835 function invoke_iiiii(index,a1,a2,a3,a4) {
    5836   try {
    5837     return Module["dynCall_iiiii"](index,a1,a2,a3,a4);
    5838   } catch(e) {
    5839     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5840     Module["setThrew"](1, 0);
    5841   }
    5842 }
    5843 
    5844 function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
    5845   try {
    5846     Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6);
    5847   } catch(e) {
    5848     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5849     Module["setThrew"](1, 0);
    5850   }
    5851 }
    5852 
    5853 function invoke_iii(index,a1,a2) {
    5854   try {
    5855     return Module["dynCall_iii"](index,a1,a2);
    5856   } catch(e) {
    5857     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5858     Module["setThrew"](1, 0);
    5859   }
    5860 }
    5861 
    5862 function invoke_viiii(index,a1,a2,a3,a4) {
    5863   try {
    5864     Module["dynCall_viiii"](index,a1,a2,a3,a4);
    5865   } catch(e) {
    5866     if (typeof e !== 'number' && e !== 'longjmp') throw e;
    5867     Module["setThrew"](1, 0);
    5868   }
    5869 }
    5870 
    5871 Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
    5872 
    5873 Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viii": nullFunc_viii, "nullFunc_iiiii": nullFunc_iiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_viiii": nullFunc_viiii, "invoke_iiii": invoke_iiii, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiii": invoke_viiiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_iiiii": invoke_iiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_iii": invoke_iii, "invoke_viiii": invoke_viiii, "___syscall221": ___syscall221, "_longjmp": _longjmp, "___syscall146": ___syscall146, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_main_loop": _emscripten_set_main_loop, "___lock": ___lock, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_abort": _abort, "___syscall140": ___syscall140, "_emscripten_longjmp": _emscripten_longjmp, "___setErrNo": ___setErrNo, "_emscripten_memcpy_big": _emscripten_memcpy_big, "___syscall54": ___syscall54, "___unlock": ___unlock, "_exit": _exit, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "__exit": __exit, "___syscall145": ___syscall145, "_emscripten_get_now": _emscripten_get_now, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 };
    5874 // EMSCRIPTEN_START_ASM
    5875 var asm = (function(global, env, buffer) {
    5876   'almost asm';
    5877  
    5878  
    5879   var HEAP8 = new global.Int8Array(buffer);
    5880   var HEAP16 = new global.Int16Array(buffer);
    5881   var HEAP32 = new global.Int32Array(buffer);
    5882   var HEAPU8 = new global.Uint8Array(buffer);
    5883   var HEAPU16 = new global.Uint16Array(buffer);
    5884   var HEAPU32 = new global.Uint32Array(buffer);
    5885   var HEAPF32 = new global.Float32Array(buffer);
    5886   var HEAPF64 = new global.Float64Array(buffer);
    5887 
    5888 
    5889   var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0;
    5890   var tempDoublePtr=env.tempDoublePtr|0;
    5891   var ABORT=env.ABORT|0;
    5892   var STACKTOP=env.STACKTOP|0;
    5893   var STACK_MAX=env.STACK_MAX|0;
    5894   var cttz_i8=env.cttz_i8|0;
    5895 
    5896   var __THREW__ = 0;
    5897   var threwValue = 0;
    5898   var setjmpId = 0;
    5899   var undef = 0;
    5900   var nan = global.NaN, inf = global.Infinity;
    5901   var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0;
    5902   var tempRet0 = 0;
    5903 
    5904   var Math_floor=global.Math.floor;
    5905   var Math_abs=global.Math.abs;
    5906   var Math_sqrt=global.Math.sqrt;
    5907   var Math_pow=global.Math.pow;
    5908   var Math_cos=global.Math.cos;
    5909   var Math_sin=global.Math.sin;
    5910   var Math_tan=global.Math.tan;
    5911   var Math_acos=global.Math.acos;
    5912   var Math_asin=global.Math.asin;
    5913   var Math_atan=global.Math.atan;
    5914   var Math_atan2=global.Math.atan2;
    5915   var Math_exp=global.Math.exp;
    5916   var Math_log=global.Math.log;
    5917   var Math_ceil=global.Math.ceil;
    5918   var Math_imul=global.Math.imul;
    5919   var Math_min=global.Math.min;
    5920   var Math_max=global.Math.max;
    5921   var Math_clz32=global.Math.clz32;
    5922   var abort=env.abort;
    5923   var assert=env.assert;
    5924   var enlargeMemory=env.enlargeMemory;
    5925   var getTotalMemory=env.getTotalMemory;
    5926   var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory;
    5927   var abortStackOverflow=env.abortStackOverflow;
    5928   var nullFunc_iiii=env.nullFunc_iiii;
    5929   var nullFunc_viiiiiii=env.nullFunc_viiiiiii;
    5930   var nullFunc_viiiii=env.nullFunc_viiiii;
    5931   var nullFunc_vi=env.nullFunc_vi;
    5932   var nullFunc_vii=env.nullFunc_vii;
    5933   var nullFunc_ii=env.nullFunc_ii;
    5934   var nullFunc_viii=env.nullFunc_viii;
    5935   var nullFunc_iiiii=env.nullFunc_iiiii;
    5936   var nullFunc_viiiiii=env.nullFunc_viiiiii;
    5937   var nullFunc_iii=env.nullFunc_iii;
    5938   var nullFunc_viiii=env.nullFunc_viiii;
    5939   var invoke_iiii=env.invoke_iiii;
    5940   var invoke_viiiiiii=env.invoke_viiiiiii;
    5941   var invoke_viiiii=env.invoke_viiiii;
    5942   var invoke_vi=env.invoke_vi;
    5943   var invoke_vii=env.invoke_vii;
    5944   var invoke_ii=env.invoke_ii;
    5945   var invoke_viii=env.invoke_viii;
    5946   var invoke_iiiii=env.invoke_iiiii;
    5947   var invoke_viiiiii=env.invoke_viiiiii;
    5948   var invoke_iii=env.invoke_iii;
    5949   var invoke_viiii=env.invoke_viiii;
    5950   var ___syscall221=env.___syscall221;
    5951   var _longjmp=env._longjmp;
    5952   var ___syscall146=env.___syscall146;
    5953   var _llvm_pow_f64=env._llvm_pow_f64;
    5954   var _emscripten_set_main_loop=env._emscripten_set_main_loop;
    5955   var ___lock=env.___lock;
    5956   var ___syscall6=env.___syscall6;
    5957   var ___syscall5=env.___syscall5;
    5958   var _abort=env._abort;
    5959   var ___syscall140=env.___syscall140;
    5960   var _emscripten_longjmp=env._emscripten_longjmp;
    5961   var ___setErrNo=env.___setErrNo;
    5962   var _emscripten_memcpy_big=env._emscripten_memcpy_big;
    5963   var ___syscall54=env.___syscall54;
    5964   var ___unlock=env.___unlock;
    5965   var _exit=env._exit;
    5966   var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing;
    5967   var __exit=env.__exit;
    5968   var ___syscall145=env.___syscall145;
    5969   var _emscripten_get_now=env._emscripten_get_now;
    5970   var tempFloat = 0.0;
    5971 
    5972 // EMSCRIPTEN_START_FUNCS
    5973 
    5974 function stackAlloc(size) {
    5975   size = size|0;
    5976   var ret = 0;
    5977   ret = STACKTOP;
    5978   STACKTOP = (STACKTOP + size)|0;
    5979   STACKTOP = (STACKTOP + 15)&-16;
    5980   if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0);
    5981 
    5982   return ret|0;
    5983 }
    5984 function stackSave() {
    5985   return STACKTOP|0;
    5986 }
    5987 function stackRestore(top) {
    5988   top = top|0;
    5989   STACKTOP = top;
    5990 }
    5991 function establishStackSpace(stackBase, stackMax) {
    5992   stackBase = stackBase|0;
    5993   stackMax = stackMax|0;
    5994   STACKTOP = stackBase;
    5995   STACK_MAX = stackMax;
    5996 }
    5997 
    5998 function setThrew(threw, value) {
    5999   threw = threw|0;
    6000   value = value|0;
    6001   if ((__THREW__|0) == 0) {
    6002     __THREW__ = threw;
    6003     threwValue = value;
    6004   }
    6005 }
    6006 
    6007 function setTempRet0(value) {
    6008   value = value|0;
    6009   tempRet0 = value;
    6010 }
    6011 function getTempRet0() {
    6012   return tempRet0|0;
    6013 }
    6014 
    6015 function _main($0,$1) {
    6016  $0 = $0|0;
    6017  $1 = $1|0;
    6018  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
    6019  var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    6020  var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
    6021  var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
    6022  var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
    6023  var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
    6024  sp = STACKTOP;
    6025  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    6026  $vararg_buffer12 = sp + 32|0;
    6027  $vararg_buffer8 = sp + 24|0;
    6028  $vararg_buffer4 = sp + 16|0;
    6029  $vararg_buffer1 = sp + 8|0;
    6030  $vararg_buffer = sp;
    6031  $8 = sp + 60|0;
    6032  $10 = sp + 48|0;
    6033  $11 = sp + 40|0;
    6034  $2 = 0;
    6035  $3 = $0;
    6036  $4 = $1;
    6037  $12 = (_mrb_open()|0);
    6038  $5 = $12;
    6039  $13 = $5;
    6040  $14 = ($13|0)==(0|0);
    6041  if ($14) {
    6042   $15 = HEAP32[637]|0;
    6043   (_fputs(53468,$15)|0);
    6044   $2 = 1;
    6045   $108 = $2;
    6046   STACKTOP = sp;return ($108|0);
    6047  }
    6048  $16 = $5;
    6049  $17 = $3;
    6050  $18 = $4;
    6051  $19 = (_parse_args($16,$17,$18,$8)|0);
    6052  $6 = $19;
    6053  $20 = $6;
    6054  $21 = ($20|0)<(0);
    6055  if ($21) {
    6056   $22 = $5;
    6057   _cleanup($22,$8);
    6058   $23 = $4;
    6059   $24 = HEAP32[$23>>2]|0;
    6060   _usage($24);
    6061   $2 = 1;
    6062   $108 = $2;
    6063   STACKTOP = sp;return ($108|0);
    6064  }
    6065  $25 = $6;
    6066  $26 = $3;
    6067  $27 = ($25|0)==($26|0);
    6068  if ($27) {
    6069   $28 = HEAP32[637]|0;
    6070   $29 = ((($8)) + 12|0);
    6071   $30 = HEAP32[$29>>2]|0;
    6072   HEAP32[$vararg_buffer>>2] = $30;
    6073   (_fprintf($28,53501,$vararg_buffer)|0);
    6074   $2 = 1;
    6075   $108 = $2;
    6076   STACKTOP = sp;return ($108|0);
    6077  }
    6078  $31 = ((($8)) + 16|0);
    6079  $32 = HEAP32[$31>>2]|0;
    6080  $33 = ($32|0)==(0|0);
    6081  do {
    6082   if ($33) {
    6083    $34 = ((($8)) + 24|0);
    6084    $35 = HEAP8[$34>>0]|0;
    6085    $36 = $35 & 1;
    6086    $37 = ($36<<24>>24)!=(0);
    6087    if (!($37)) {
    6088     $38 = $6;
    6089     $39 = (($38) + 1)|0;
    6090     $40 = $3;
    6091     $41 = ($39|0)==($40|0);
    6092     if ($41) {
    6093      $42 = $5;
    6094      $43 = $4;
    6095      $44 = $6;
    6096      $45 = (($43) + ($44<<2)|0);
    6097      $46 = HEAP32[$45>>2]|0;
    6098      $47 = ((($8)) + 20|0);
    6099      $48 = HEAP32[$47>>2]|0;
    6100      $49 = ($48|0)!=(0|0);
    6101      $50 = $49 ? 53528 : 53531;
    6102      $51 = (_get_outfilename($42,$46,$50)|0);
    6103      $52 = ((($8)) + 16|0);
    6104      HEAP32[$52>>2] = $51;
    6105      break;
    6106     }
    6107     $53 = HEAP32[637]|0;
    6108     $54 = ((($8)) + 12|0);
    6109     $55 = HEAP32[$54>>2]|0;
    6110     HEAP32[$vararg_buffer1>>2] = $55;
    6111     (_fprintf($53,53536,$vararg_buffer1)|0);
    6112     $2 = 1;
    6113     $108 = $2;
    6114     STACKTOP = sp;return ($108|0);
    6115    }
    6116   }
    6117  } while(0);
    6118  $56 = $6;
    6119  $57 = ((($8)) + 8|0);
    6120  HEAP32[$57>>2] = $56;
    6121  $58 = $5;
    6122  _load_file($11,$58,$8);
    6123  ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
    6124  $59 = ((($10)) + 4|0);
    6125  $60 = HEAP32[$59>>2]|0;
    6126  $61 = ($60|0)==(0);
    6127  if ($61) {
    6128   $62 = HEAP32[$10>>2]|0;
    6129   $63 = ($62|0)!=(0);
    6130   if (!($63)) {
    6131    $64 = $5;
    6132    _cleanup($64,$8);
    6133    $2 = 1;
    6134    $108 = $2;
    6135    STACKTOP = sp;return ($108|0);
    6136   }
    6137  }
    6138  $65 = ((($8)) + 24|0);
    6139  $66 = HEAP8[$65>>0]|0;
    6140  $67 = $66 & 1;
    6141  $68 = ($67<<24>>24)!=(0);
    6142  if ($68) {
    6143   $69 = ((($8)) + 12|0);
    6144   $70 = HEAP32[$69>>2]|0;
    6145   $71 = $4;
    6146   $72 = $6;
    6147   $73 = (($71) + ($72<<2)|0);
    6148   $74 = HEAP32[$73>>2]|0;
    6149   HEAP32[$vararg_buffer4>>2] = $70;
    6150   $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
    6151   HEAP32[$vararg_ptr7>>2] = $74;
    6152   (_printf(53599,$vararg_buffer4)|0);
    6153  }
    6154  $75 = ((($8)) + 24|0);
    6155  $76 = HEAP8[$75>>0]|0;
    6156  $77 = $76 & 1;
    6157  $78 = ($77<<24>>24)!=(0);
    6158  if ($78) {
    6159   $79 = $5;
    6160   _cleanup($79,$8);
    6161   $2 = 0;
    6162   $108 = $2;
    6163   STACKTOP = sp;return ($108|0);
    6164  }
    6165  $80 = ((($8)) + 16|0);
    6166  $81 = HEAP32[$80>>2]|0;
    6167  $82 = ($81|0)!=(0|0);
    6168  if (!($82)) {
    6169   $97 = HEAP32[637]|0;
    6170   (_fprintf($97,53653,$vararg_buffer12)|0);
    6171   $2 = 1;
    6172   $108 = $2;
    6173   STACKTOP = sp;return ($108|0);
    6174  }
    6175  $83 = ((($8)) + 16|0);
    6176  $84 = HEAP32[$83>>2]|0;
    6177  $85 = (_strcmp(69660,$84)|0);
    6178  $86 = ($85|0)==(0);
    6179  if ($86) {
    6180   $87 = HEAP32[762]|0;
    6181   $9 = $87;
    6182  } else {
    6183   $88 = ((($8)) + 16|0);
    6184   $89 = HEAP32[$88>>2]|0;
    6185   $90 = (_fopen($89,53616)|0);
    6186   $9 = $90;
    6187   $91 = ($90|0)==(0|0);
    6188   if ($91) {
    6189    $92 = HEAP32[637]|0;
    6190    $93 = ((($8)) + 12|0);
    6191    $94 = HEAP32[$93>>2]|0;
    6192    $95 = ((($8)) + 16|0);
    6193    $96 = HEAP32[$95>>2]|0;
    6194    HEAP32[$vararg_buffer8>>2] = $94;
    6195    $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
    6196    HEAP32[$vararg_ptr11>>2] = $96;
    6197    (_fprintf($92,53619,$vararg_buffer8)|0);
    6198    $2 = 1;
    6199    $108 = $2;
    6200    STACKTOP = sp;return ($108|0);
    6201   }
    6202  }
    6203  $98 = $5;
    6204  $99 = $9;
    6205  $100 = ((($8)) + 16|0);
    6206  $101 = HEAP32[$100>>2]|0;
    6207  $102 = HEAP32[$10>>2]|0;
    6208  $103 = (_dump_file($98,$99,$101,$102,$8)|0);
    6209  $7 = $103;
    6210  $104 = $9;
    6211  (_fclose($104)|0);
    6212  $105 = $5;
    6213  _cleanup($105,$8);
    6214  $106 = $7;
    6215  $107 = ($106|0)!=(0);
    6216  if ($107) {
    6217   $2 = 1;
    6218   $108 = $2;
    6219   STACKTOP = sp;return ($108|0);
    6220  } else {
    6221   $2 = 0;
    6222   $108 = $2;
    6223   STACKTOP = sp;return ($108|0);
    6224  }
    6225  return (0)|0;
    6226 }
    6227 function _parse_args($0,$1,$2,$3) {
    6228  $0 = $0|0;
    6229  $1 = $1|0;
    6230  $2 = $2|0;
    6231  $3 = $3|0;
    6232  var $$sink = 0, $$sink2 = 0, $$sink3 = 0, $$sink5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
    6233  var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
    6234  var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
    6235  var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
    6236  var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
    6237  var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
    6238  var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
    6239  var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
    6240  var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    6241  var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
    6242  var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
    6243  var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
    6244  var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
    6245  sp = STACKTOP;
    6246  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    6247  $vararg_buffer10 = sp + 16|0;
    6248  $vararg_buffer7 = sp + 8|0;
    6249  $vararg_buffer = sp;
    6250  $5 = $0;
    6251  $6 = $1;
    6252  $7 = $2;
    6253  $8 = $3;
    6254  $9 = 0;
    6255  $11 = $8;
    6256  ;HEAP32[$11>>2]=HEAP32[72696>>2]|0;HEAP32[$11+4>>2]=HEAP32[72696+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[72696+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[72696+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[72696+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[72696+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[72696+24>>2]|0;
    6257  $12 = $6;
    6258  $13 = $8;
    6259  HEAP32[$13>>2] = $12;
    6260  $14 = $7;
    6261  $15 = $8;
    6262  $16 = ((($15)) + 4|0);
    6263  HEAP32[$16>>2] = $14;
    6264  $17 = $7;
    6265  $18 = HEAP32[$17>>2]|0;
    6266  $19 = $8;
    6267  $20 = ((($19)) + 12|0);
    6268  HEAP32[$20>>2] = $18;
    6269  $10 = 1;
    6270  L1: while(1) {
    6271   $21 = $10;
    6272   $22 = $6;
    6273   $23 = ($21|0)<($22|0);
    6274   if (!($23)) {
    6275    label = 37;
    6276    break;
    6277   }
    6278   $24 = $7;
    6279   $25 = $10;
    6280   $26 = (($24) + ($25<<2)|0);
    6281   $27 = HEAP32[$26>>2]|0;
    6282   $28 = HEAP8[$27>>0]|0;
    6283   $29 = $28 << 24 >> 24;
    6284   $30 = ($29|0)==(45);
    6285   if (!($30)) {
    6286    label = 37;
    6287    break;
    6288   }
    6289   $31 = $7;
    6290   $32 = $10;
    6291   $33 = (($31) + ($32<<2)|0);
    6292   $34 = HEAP32[$33>>2]|0;
    6293   $35 = ((($34)) + 1|0);
    6294   $36 = HEAP8[$35>>0]|0;
    6295   $37 = $36 << 24 >> 24;
    6296   switch ($37|0) {
    6297   case 104:  {
    6298    label = 25;
    6299    break L1;
    6300    break;
    6301   }
    6302   case 111:  {
    6303    $38 = $8;
    6304    $39 = ((($38)) + 16|0);
    6305    $40 = HEAP32[$39>>2]|0;
    6306    $41 = ($40|0)!=(0|0);
    6307    if ($41) {
    6308     label = 6;
    6309     break L1;
    6310    }
    6311    $47 = $7;
    6312    $48 = $10;
    6313    $49 = (($47) + ($48<<2)|0);
    6314    $50 = HEAP32[$49>>2]|0;
    6315    $51 = ((($50)) + 2|0);
    6316    $52 = HEAP8[$51>>0]|0;
    6317    $53 = $52 << 24 >> 24;
    6318    $54 = ($53|0)==(0);
    6319    if ($54) {
    6320     $55 = $7;
    6321     $56 = $10;
    6322     $57 = (($56) + 1)|0;
    6323     $58 = (($55) + ($57<<2)|0);
    6324     $59 = HEAP32[$58>>2]|0;
    6325     $60 = ($59|0)!=(0|0);
    6326     if ($60) {
    6327      $61 = $10;
    6328      $62 = (($61) + 1)|0;
    6329      $10 = $62;
    6330      $63 = $5;
    6331      $64 = $7;
    6332      $65 = $10;
    6333      $66 = (($64) + ($65<<2)|0);
    6334      $67 = HEAP32[$66>>2]|0;
    6335      $68 = (_get_outfilename($63,$67,75764)|0);
    6336      $69 = $8;
    6337      $$sink = $68;$$sink2 = $69;
    6338     } else {
    6339      label = 10;
    6340     }
    6341    } else {
    6342     label = 10;
    6343    }
    6344    if ((label|0) == 10) {
    6345     label = 0;
    6346     $70 = $5;
    6347     $71 = $7;
    6348     $72 = $10;
    6349     $73 = (($71) + ($72<<2)|0);
    6350     $74 = HEAP32[$73>>2]|0;
    6351     $75 = ((($74)) + 2|0);
    6352     $76 = (_get_outfilename($70,$75,75764)|0);
    6353     $77 = $8;
    6354     $$sink = $76;$$sink2 = $77;
    6355    }
    6356    $78 = ((($$sink2)) + 16|0);
    6357    HEAP32[$78>>2] = $$sink;
    6358    break;
    6359   }
    6360   case 66:  {
    6361    $79 = $7;
    6362    $80 = $10;
    6363    $81 = (($79) + ($80<<2)|0);
    6364    $82 = HEAP32[$81>>2]|0;
    6365    $83 = ((($82)) + 2|0);
    6366    $84 = HEAP8[$83>>0]|0;
    6367    $85 = $84 << 24 >> 24;
    6368    $86 = ($85|0)==(0);
    6369    if ($86) {
    6370     $87 = $7;
    6371     $88 = $10;
    6372     $89 = (($88) + 1)|0;
    6373     $90 = (($87) + ($89<<2)|0);
    6374     $91 = HEAP32[$90>>2]|0;
    6375     $92 = ($91|0)!=(0|0);
    6376     if ($92) {
    6377      $93 = $10;
    6378      $94 = (($93) + 1)|0;
    6379      $10 = $94;
    6380      $95 = $7;
    6381      $96 = $10;
    6382      $97 = (($95) + ($96<<2)|0);
    6383      $98 = HEAP32[$97>>2]|0;
    6384      $99 = $8;
    6385      $$sink3 = $98;$$sink5 = $99;
    6386     } else {
    6387      label = 15;
    6388     }
    6389    } else {
    6390     label = 15;
    6391    }
    6392    if ((label|0) == 15) {
    6393     label = 0;
    6394     $100 = $7;
    6395     $101 = $10;
    6396     $102 = (($100) + ($101<<2)|0);
    6397     $103 = HEAP32[$102>>2]|0;
    6398     $104 = ((($103)) + 2|0);
    6399     $105 = $8;
    6400     $$sink3 = $104;$$sink5 = $105;
    6401    }
    6402    $106 = ((($$sink5)) + 20|0);
    6403    HEAP32[$106>>2] = $$sink3;
    6404    $107 = $8;
    6405    $108 = ((($107)) + 20|0);
    6406    $109 = HEAP32[$108>>2]|0;
    6407    $110 = HEAP8[$109>>0]|0;
    6408    $111 = $110 << 24 >> 24;
    6409    $112 = ($111|0)==(0);
    6410    if ($112) {
    6411     label = 17;
    6412     break L1;
    6413    }
    6414    break;
    6415   }
    6416   case 99:  {
    6417    $117 = $8;
    6418    $118 = ((($117)) + 24|0);
    6419    $119 = HEAP8[$118>>0]|0;
    6420    $120 = $119 & -2;
    6421    $121 = $120 | 1;
    6422    HEAP8[$118>>0] = $121;
    6423    break;
    6424   }
    6425   case 118:  {
    6426    $122 = $8;
    6427    $123 = ((($122)) + 24|0);
    6428    $124 = HEAP8[$123>>0]|0;
    6429    $125 = ($124&255) >>> 1;
    6430    $126 = $125 & 1;
    6431    $127 = ($126<<24>>24)!=(0);
    6432    if (!($127)) {
    6433     $128 = $5;
    6434     _mrb_show_version($128);
    6435    }
    6436    $129 = $8;
    6437    $130 = ((($129)) + 24|0);
    6438    $131 = HEAP8[$130>>0]|0;
    6439    $132 = $131 & -3;
    6440    $133 = $132 | 2;
    6441    HEAP8[$130>>0] = $133;
    6442    break;
    6443   }
    6444   case 103:  {
    6445    $134 = $8;
    6446    $135 = ((($134)) + 24|0);
    6447    $136 = HEAP8[$135>>0]|0;
    6448    $137 = ($136&255) >>> 2;
    6449    $138 = $137 & 15;
    6450    $139 = $138&255;
    6451    $140 = $139 | 1;
    6452    $141 = $140&255;
    6453    $142 = HEAP8[$135>>0]|0;
    6454    $143 = $141 & 15;
    6455    $144 = ($143 << 2)&255;
    6456    $145 = $142 & -61;
    6457    $146 = $145 | $144;
    6458    HEAP8[$135>>0] = $146;
    6459    break;
    6460   }
    6461   case 69:  {
    6462    $147 = $8;
    6463    $148 = ((($147)) + 24|0);
    6464    $149 = HEAP8[$148>>0]|0;
    6465    $150 = ($149&255) >>> 2;
    6466    $151 = $150 & 15;
    6467    $152 = $151&255;
    6468    $153 = $152 & -7;
    6469    $154 = 2 | $153;
    6470    $155 = $8;
    6471    $156 = ((($155)) + 24|0);
    6472    $157 = $154&255;
    6473    $158 = HEAP8[$156>>0]|0;
    6474    $159 = $157 & 15;
    6475    $160 = ($159 << 2)&255;
    6476    $161 = $158 & -61;
    6477    $162 = $161 | $160;
    6478    HEAP8[$156>>0] = $162;
    6479    break;
    6480   }
    6481   case 101:  {
    6482    $163 = $8;
    6483    $164 = ((($163)) + 24|0);
    6484    $165 = HEAP8[$164>>0]|0;
    6485    $166 = ($165&255) >>> 2;
    6486    $167 = $166 & 15;
    6487    $168 = $167&255;
    6488    $169 = $168 & -7;
    6489    $170 = 4 | $169;
    6490    $171 = $8;
    6491    $172 = ((($171)) + 24|0);
    6492    $173 = $170&255;
    6493    $174 = HEAP8[$172>>0]|0;
    6494    $175 = $173 & 15;
    6495    $176 = ($175 << 2)&255;
    6496    $177 = $174 & -61;
    6497    $178 = $177 | $176;
    6498    HEAP8[$172>>0] = $178;
    6499    break;
    6500   }
    6501   case 45:  {
    6502    $179 = $7;
    6503    $180 = $10;
    6504    $181 = (($179) + ($180<<2)|0);
    6505    $182 = HEAP32[$181>>2]|0;
    6506    $183 = ((($182)) + 1|0);
    6507    $184 = HEAP8[$183>>0]|0;
    6508    $185 = $184 << 24 >> 24;
    6509    $186 = ($185|0)==(10);
    6510    if ($186) {
    6511     label = 27;
    6512     break L1;
    6513    }
    6514    $188 = $7;
    6515    $189 = $10;
    6516    $190 = (($188) + ($189<<2)|0);
    6517    $191 = HEAP32[$190>>2]|0;
    6518    $192 = ((($191)) + 2|0);
    6519    $193 = (_strcmp($192,53762)|0);
    6520    $194 = ($193|0)==(0);
    6521    if ($194) {
    6522     label = 29;
    6523     break L1;
    6524    }
    6525    $196 = $7;
    6526    $197 = $10;
    6527    $198 = (($196) + ($197<<2)|0);
    6528    $199 = HEAP32[$198>>2]|0;
    6529    $200 = ((($199)) + 2|0);
    6530    $201 = (_strcmp($200,53770)|0);
    6531    $202 = ($201|0)==(0);
    6532    if (!($202)) {
    6533     label = 32;
    6534     break L1;
    6535    }
    6536    $203 = $8;
    6537    $204 = ((($203)) + 24|0);
    6538    $205 = HEAP8[$204>>0]|0;
    6539    $206 = $205 & -3;
    6540    $207 = $206 | 2;
    6541    HEAP8[$204>>0] = $207;
    6542    break;
    6543   }
    6544   default: {
    6545    label = 35;
    6546    break L1;
    6547   }
    6548   }
    6549   $217 = $10;
    6550   $218 = (($217) + 1)|0;
    6551   $10 = $218;
    6552  }
    6553  if ((label|0) == 6) {
    6554   $42 = HEAP32[637]|0;
    6555   $43 = $8;
    6556   $44 = ((($43)) + 12|0);
    6557   $45 = HEAP32[$44>>2]|0;
    6558   $46 = $9;
    6559   HEAP32[$vararg_buffer>>2] = $45;
    6560   $vararg_ptr6 = ((($vararg_buffer)) + 4|0);
    6561   HEAP32[$vararg_ptr6>>2] = $46;
    6562   (_fprintf($42,53678,$vararg_buffer)|0);
    6563   $4 = -1;
    6564   $246 = $4;
    6565   STACKTOP = sp;return ($246|0);
    6566  }
    6567  else if ((label|0) == 17) {
    6568   $113 = HEAP32[637]|0;
    6569   $114 = $8;
    6570   $115 = ((($114)) + 12|0);
    6571   $116 = HEAP32[$115>>2]|0;
    6572   HEAP32[$vararg_buffer7>>2] = $116;
    6573   (_fprintf($113,53725,$vararg_buffer7)|0);
    6574   $4 = -1;
    6575   $246 = $4;
    6576   STACKTOP = sp;return ($246|0);
    6577  }
    6578  else if ((label|0) == 25) {
    6579   $4 = -1;
    6580   $246 = $4;
    6581   STACKTOP = sp;return ($246|0);
    6582  }
    6583  else if ((label|0) == 27) {
    6584   $187 = $10;
    6585   $4 = $187;
    6586   $246 = $4;
    6587   STACKTOP = sp;return ($246|0);
    6588  }
    6589  else if ((label|0) == 29) {
    6590   $195 = $5;
    6591   _mrb_show_version($195);
    6592   _exit(0);
    6593   // unreachable;
    6594  }
    6595  else if ((label|0) == 32) {
    6596   $208 = $7;
    6597   $209 = $10;
    6598   $210 = (($208) + ($209<<2)|0);
    6599   $211 = HEAP32[$210>>2]|0;
    6600   $212 = ((($211)) + 2|0);
    6601   $213 = (_strcmp($212,53778)|0);
    6602   $214 = ($213|0)==(0);
    6603   if ($214) {
    6604    $215 = $5;
    6605    _mrb_show_copyright($215);
    6606    _exit(0);
    6607    // unreachable;
    6608   }
    6609   $4 = -1;
    6610   $246 = $4;
    6611   STACKTOP = sp;return ($246|0);
    6612  }
    6613  else if ((label|0) == 35) {
    6614   $216 = $10;
    6615   $4 = $216;
    6616   $246 = $4;
    6617   STACKTOP = sp;return ($246|0);
    6618  }
    6619  else if ((label|0) == 37) {
    6620   $219 = $8;
    6621   $220 = ((($219)) + 24|0);
    6622   $221 = HEAP8[$220>>0]|0;
    6623   $222 = ($221&255) >>> 1;
    6624   $223 = $222 & 1;
    6625   $224 = $223&255;
    6626   $225 = ($224|0)!=(0);
    6627   if ($225) {
    6628    $226 = $8;
    6629    $227 = ((($226)) + 20|0);
    6630    $228 = HEAP32[$227>>2]|0;
    6631    $229 = ($228|0)!=(0|0);
    6632    if ($229) {
    6633     $230 = $8;
    6634     $231 = ((($230)) + 24|0);
    6635     $232 = HEAP8[$231>>0]|0;
    6636     $233 = ($232&255) >>> 2;
    6637     $234 = $233 & 15;
    6638     $235 = $234&255;
    6639     $236 = $235 & 6;
    6640     $237 = ($236|0)==(0);
    6641     if ($237) {
    6642      $238 = HEAP32[637]|0;
    6643      $239 = $8;
    6644      $240 = ((($239)) + 12|0);
    6645      $241 = HEAP32[$240>>2]|0;
    6646      $242 = (_bigendian_p()|0);
    6647      $243 = ($242|0)!=(0);
    6648      $244 = $243 ? 53857 : 53861;
    6649      HEAP32[$vararg_buffer10>>2] = $241;
    6650      $vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
    6651      HEAP32[$vararg_ptr13>>2] = $244;
    6652      (_fprintf($238,53788,$vararg_buffer10)|0);
    6653     }
    6654    }
    6655   }
    6656   $245 = $10;
    6657   $4 = $245;
    6658   $246 = $4;
    6659   STACKTOP = sp;return ($246|0);
    6660  }
    6661  return (0)|0;
    6662 }
    6663 function _cleanup($0,$1) {
    6664  $0 = $0|0;
    6665  $1 = $1|0;
    6666  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    6667  sp = STACKTOP;
    6668  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    6669  $2 = $0;
    6670  $3 = $1;
    6671  $4 = $2;
    6672  $5 = $3;
    6673  $6 = ((($5)) + 16|0);
    6674  $7 = HEAP32[$6>>2]|0;
    6675  _mrb_free($4,$7);
    6676  $8 = $2;
    6677  _mrb_close($8);
    6678  STACKTOP = sp;return;
    6679 }
    6680 function _usage($0) {
    6681  $0 = $0|0;
    6682  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
    6683  sp = STACKTOP;
    6684  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    6685  $vararg_buffer1 = sp + 8|0;
    6686  $vararg_buffer = sp;
    6687  $1 = $0;
    6688  $2 = 8;
    6689  $3 = $1;
    6690  HEAP32[$vararg_buffer>>2] = $3;
    6691  (_printf(54301,$vararg_buffer)|0);
    6692  while(1) {
    6693   $4 = $2;
    6694   $5 = HEAP32[$4>>2]|0;
    6695   $6 = ($5|0)!=(0|0);
    6696   if (!($6)) {
    6697    break;
    6698   }
    6699   $7 = $2;
    6700   $8 = ((($7)) + 4|0);
    6701   $2 = $8;
    6702   $9 = HEAP32[$7>>2]|0;
    6703   HEAP32[$vararg_buffer1>>2] = $9;
    6704   (_printf(54335,$vararg_buffer1)|0);
    6705  }
    6706  STACKTOP = sp;return;
    6707 }
    6708 function _get_outfilename($0,$1,$2) {
    6709  $0 = $0|0;
    6710  $1 = $1|0;
    6711  $2 = $2|0;
    6712  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    6713  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    6714  sp = STACKTOP;
    6715  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    6716  $3 = $0;
    6717  $4 = $1;
    6718  $5 = $2;
    6719  $10 = $4;
    6720  $11 = (_strlen($10)|0);
    6721  $6 = $11;
    6722  $12 = $5;
    6723  $13 = (_strlen($12)|0);
    6724  $7 = $13;
    6725  $14 = $3;
    6726  $15 = $6;
    6727  $16 = $7;
    6728  $17 = (($15) + ($16))|0;
    6729  $18 = (($17) + 1)|0;
    6730  $19 = (_mrb_malloc($14,$18)|0);
    6731  $8 = $19;
    6732  $20 = $8;
    6733  $21 = $4;
    6734  $22 = $6;
    6735  $23 = (($22) + 1)|0;
    6736  _memcpy(($20|0),($21|0),($23|0))|0;
    6737  $24 = $5;
    6738  $25 = HEAP8[$24>>0]|0;
    6739  $26 = ($25<<24>>24)!=(0);
    6740  if (!($26)) {
    6741   $37 = $8;
    6742   STACKTOP = sp;return ($37|0);
    6743  }
    6744  $27 = $8;
    6745  $28 = (_strrchr($27,46)|0);
    6746  $9 = $28;
    6747  $29 = ($28|0)==(0|0);
    6748  if ($29) {
    6749   $30 = $8;
    6750   $31 = $6;
    6751   $32 = (($30) + ($31)|0);
    6752   $9 = $32;
    6753  }
    6754  $33 = $9;
    6755  $34 = $5;
    6756  $35 = $7;
    6757  $36 = (($35) + 1)|0;
    6758  _memcpy(($33|0),($34|0),($36|0))|0;
    6759  $37 = $8;
    6760  STACKTOP = sp;return ($37|0);
    6761 }
    6762 function _load_file($0,$1,$2) {
    6763  $0 = $0|0;
    6764  $1 = $1|0;
    6765  $2 = $2|0;
    6766  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    6767  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    6768  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    6769  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $vararg_buffer = 0;
    6770  var $vararg_ptr1 = 0, label = 0, sp = 0;
    6771  sp = STACKTOP;
    6772  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    6773  $vararg_buffer = sp;
    6774  $6 = sp + 24|0;
    6775  $10 = sp + 8|0;
    6776  $3 = $1;
    6777  $4 = $2;
    6778  $11 = $4;
    6779  $12 = ((($11)) + 4|0);
    6780  $13 = HEAP32[$12>>2]|0;
    6781  $14 = $4;
    6782  $15 = ((($14)) + 8|0);
    6783  $16 = HEAP32[$15>>2]|0;
    6784  $17 = (($13) + ($16<<2)|0);
    6785  $18 = HEAP32[$17>>2]|0;
    6786  $7 = $18;
    6787  $9 = 0;
    6788  $19 = $3;
    6789  $20 = (_mrbc_context_new($19)|0);
    6790  $5 = $20;
    6791  $21 = $4;
    6792  $22 = ((($21)) + 24|0);
    6793  $23 = HEAP8[$22>>0]|0;
    6794  $24 = ($23&255) >>> 1;
    6795  $25 = $24 & 1;
    6796  $26 = ($25<<24>>24)!=(0);
    6797  if ($26) {
    6798   $27 = $5;
    6799   $28 = ((($27)) + 28|0);
    6800   $29 = HEAP8[$28>>0]|0;
    6801   $30 = $29 & -3;
    6802   $31 = $30 | 2;
    6803   HEAP8[$28>>0] = $31;
    6804  }
    6805  $32 = $5;
    6806  $33 = ((($32)) + 28|0);
    6807  $34 = HEAP8[$33>>0]|0;
    6808  $35 = $34 & -5;
    6809  $36 = $35 | 4;
    6810  HEAP8[$33>>0] = $36;
    6811  $37 = $7;
    6812  $38 = HEAP8[$37>>0]|0;
    6813  $39 = $38 << 24 >> 24;
    6814  $40 = ($39|0)==(45);
    6815  if ($40) {
    6816   $41 = $7;
    6817   $42 = ((($41)) + 1|0);
    6818   $43 = HEAP8[$42>>0]|0;
    6819   $44 = $43 << 24 >> 24;
    6820   $45 = ($44|0)==(0);
    6821   if ($45) {
    6822    $46 = HEAP32[730]|0;
    6823    $8 = $46;
    6824   } else {
    6825    label = 6;
    6826   }
    6827  } else {
    6828   label = 6;
    6829  }
    6830  if ((label|0) == 6) {
    6831   $9 = 1;
    6832   $47 = $7;
    6833   $48 = (_fopen($47,54341)|0);
    6834   $8 = $48;
    6835   $49 = ($48|0)==(0|0);
    6836   if ($49) {
    6837    $50 = HEAP32[637]|0;
    6838    $51 = $4;
    6839    $52 = ((($51)) + 12|0);
    6840    $53 = HEAP32[$52>>2]|0;
    6841    $54 = $7;
    6842    HEAP32[$vararg_buffer>>2] = $53;
    6843    $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    6844    HEAP32[$vararg_ptr1>>2] = $54;
    6845    (_fprintf($50,54343,$vararg_buffer)|0);
    6846    _mrb_nil_value($0);
    6847    STACKTOP = sp;return;
    6848   }
    6849  }
    6850  $55 = $3;
    6851  $56 = $5;
    6852  $57 = $7;
    6853  (_mrbc_filename($55,$56,$57)|0);
    6854  $58 = $4;
    6855  $59 = ((($58)) + 8|0);
    6856  $60 = HEAP32[$59>>2]|0;
    6857  $61 = (($60) + 1)|0;
    6858  HEAP32[$59>>2] = $61;
    6859  $62 = $4;
    6860  $63 = ((($62)) + 8|0);
    6861  $64 = HEAP32[$63>>2]|0;
    6862  $65 = $4;
    6863  $66 = HEAP32[$65>>2]|0;
    6864  $67 = ($64|0)<($66|0);
    6865  if ($67) {
    6866   $9 = 0;
    6867   $68 = $3;
    6868   $69 = $5;
    6869   $70 = $4;
    6870   _mrbc_partial_hook($68,$69,7,$70);
    6871  }
    6872  $71 = $3;
    6873  $72 = $8;
    6874  $73 = $5;
    6875  _mrb_load_file_cxt($10,$71,$72,$73);
    6876  ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
    6877  $74 = $9;
    6878  $75 = ($74<<24>>24)!=(0);
    6879  if ($75) {
    6880   $76 = $8;
    6881   (_fclose($76)|0);
    6882  }
    6883  $77 = $3;
    6884  $78 = $5;
    6885  _mrbc_context_free($77,$78);
    6886  $79 = ((($6)) + 4|0);
    6887  $80 = HEAP32[$79>>2]|0;
    6888  $81 = ($80|0)==(5);
    6889  if ($81) {
    6890   _mrb_nil_value($0);
    6891   STACKTOP = sp;return;
    6892  } else {
    6893   ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
    6894   STACKTOP = sp;return;
    6895  }
    6896 }
    6897 function _dump_file($0,$1,$2,$3,$4) {
    6898  $0 = $0|0;
    6899  $1 = $1|0;
    6900  $2 = $2|0;
    6901  $3 = $3|0;
    6902  $4 = $4|0;
    6903  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    6904  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0;
    6905  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
    6906  sp = STACKTOP;
    6907  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    6908  $vararg_buffer1 = sp + 8|0;
    6909  $vararg_buffer = sp;
    6910  $5 = $0;
    6911  $6 = $1;
    6912  $7 = $2;
    6913  $8 = $3;
    6914  $9 = $4;
    6915  $10 = 0;
    6916  $12 = $8;
    6917  $13 = ((($12)) + 12|0);
    6918  $14 = HEAP32[$13>>2]|0;
    6919  $11 = $14;
    6920  $15 = $9;
    6921  $16 = ((($15)) + 20|0);
    6922  $17 = HEAP32[$16>>2]|0;
    6923  $18 = ($17|0)!=(0|0);
    6924  $19 = $5;
    6925  $20 = $11;
    6926  $21 = $9;
    6927  $22 = ((($21)) + 24|0);
    6928  $23 = HEAP8[$22>>0]|0;
    6929  $24 = ($23&255) >>> 2;
    6930  $25 = $24 & 15;
    6931  $26 = $25&255;
    6932  $27 = $26&255;
    6933  $28 = $6;
    6934  if ($18) {
    6935   $29 = $9;
    6936   $30 = ((($29)) + 20|0);
    6937   $31 = HEAP32[$30>>2]|0;
    6938   $32 = (_mrb_dump_irep_cfunc($19,$20,$27,$28,$31)|0);
    6939   $10 = $32;
    6940   $33 = $10;
    6941   $34 = ($33|0)==(-7);
    6942   if ($34) {
    6943    $35 = HEAP32[637]|0;
    6944    $36 = $9;
    6945    $37 = ((($36)) + 20|0);
    6946    $38 = HEAP32[$37>>2]|0;
    6947    HEAP32[$vararg_buffer>>2] = $38;
    6948    (_fprintf($35,54379,$vararg_buffer)|0);
    6949   }
    6950  } else {
    6951   $39 = (_mrb_dump_irep_binary($19,$20,$27,$28)|0);
    6952   $10 = $39;
    6953  }
    6954  $40 = $10;
    6955  $41 = ($40|0)!=(0);
    6956  if (!($41)) {
    6957   $48 = $10;
    6958   STACKTOP = sp;return ($48|0);
    6959  }
    6960  $42 = HEAP32[637]|0;
    6961  $43 = $9;
    6962  $44 = ((($43)) + 12|0);
    6963  $45 = HEAP32[$44>>2]|0;
    6964  $46 = $7;
    6965  $47 = $10;
    6966  HEAP32[$vararg_buffer1>>2] = $45;
    6967  $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
    6968  HEAP32[$vararg_ptr4>>2] = $46;
    6969  $vararg_ptr5 = ((($vararg_buffer1)) + 8|0);
    6970  HEAP32[$vararg_ptr5>>2] = $47;
    6971  (_fprintf($42,54415,$vararg_buffer1)|0);
    6972  $48 = $10;
    6973  STACKTOP = sp;return ($48|0);
    6974 }
    6975 function _mrb_init_mrblib($0) {
    6976  $0 = $0|0;
    6977  var $1 = 0, label = 0, sp = 0;
    6978  sp = STACKTOP;
    6979  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    6980  $1 = $0;
    6981  STACKTOP = sp;return;
    6982 }
    6983 function _mrb_init_mrbgems($0) {
    6984  $0 = $0|0;
    6985  var $1 = 0, label = 0, sp = 0;
    6986  sp = STACKTOP;
    6987  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    6988  $1 = $0;
    6989  STACKTOP = sp;return;
    6990 }
    6991 function _bigendian_p() {
    6992  var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    6993  sp = STACKTOP;
    6994  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    6995  $0 = sp + 4|0;
    6996  HEAP32[$0>>2] = 1;
    6997  $1 = $0;
    6998  $2 = $1;
    6999  $3 = HEAP8[$2>>0]|0;
    7000  $4 = $3 << 24 >> 24;
    7001  $5 = ($4|0)!=(0);
    7002  $6 = $5 ? 0 : 1;
    7003  STACKTOP = sp;return ($6|0);
    7004 }
    7005 function _mrb_nil_value($0) {
    7006  $0 = $0|0;
    7007  var $1 = 0, $2 = 0, label = 0, sp = 0;
    7008  sp = STACKTOP;
    7009  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    7010  $1 = sp;
    7011  $2 = ((($1)) + 4|0);
    7012  HEAP32[$2>>2] = 0;
    7013  HEAP32[$1>>2] = 0;
    7014  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    7015  STACKTOP = sp;return;
    7016 }
    7017 function _partial_hook($0) {
    7018  $0 = $0|0;
    7019  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    7020  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    7021  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    7022  sp = STACKTOP;
    7023  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    7024  $vararg_buffer = sp;
    7025  $2 = $0;
    7026  $6 = $2;
    7027  $7 = ((($6)) + 24|0);
    7028  $8 = HEAP32[$7>>2]|0;
    7029  $3 = $8;
    7030  $9 = $3;
    7031  $10 = ((($9)) + 20|0);
    7032  $11 = HEAP32[$10>>2]|0;
    7033  $4 = $11;
    7034  $12 = $2;
    7035  $13 = ((($12)) + 20|0);
    7036  $14 = HEAP32[$13>>2]|0;
    7037  $15 = ($14|0)!=(0|0);
    7038  if ($15) {
    7039   $16 = $2;
    7040   $17 = ((($16)) + 20|0);
    7041   $18 = HEAP32[$17>>2]|0;
    7042   (_fclose($18)|0);
    7043  }
    7044  $19 = $4;
    7045  $20 = ((($19)) + 8|0);
    7046  $21 = HEAP32[$20>>2]|0;
    7047  $22 = $4;
    7048  $23 = HEAP32[$22>>2]|0;
    7049  $24 = ($21|0)>=($23|0);
    7050  if ($24) {
    7051   $25 = $2;
    7052   $26 = ((($25)) + 20|0);
    7053   HEAP32[$26>>2] = 0;
    7054   $1 = -1;
    7055   $51 = $1;
    7056   STACKTOP = sp;return ($51|0);
    7057  }
    7058  $27 = $4;
    7059  $28 = ((($27)) + 4|0);
    7060  $29 = HEAP32[$28>>2]|0;
    7061  $30 = $4;
    7062  $31 = ((($30)) + 8|0);
    7063  $32 = HEAP32[$31>>2]|0;
    7064  $33 = (($32) + 1)|0;
    7065  HEAP32[$31>>2] = $33;
    7066  $34 = (($29) + ($32<<2)|0);
    7067  $35 = HEAP32[$34>>2]|0;
    7068  $5 = $35;
    7069  $36 = $5;
    7070  $37 = (_fopen($36,54341)|0);
    7071  $38 = $2;
    7072  $39 = ((($38)) + 20|0);
    7073  HEAP32[$39>>2] = $37;
    7074  $40 = $2;
    7075  $41 = ((($40)) + 20|0);
    7076  $42 = HEAP32[$41>>2]|0;
    7077  $43 = ($42|0)==(0|0);
    7078  if ($43) {
    7079   $44 = HEAP32[637]|0;
    7080   $45 = $4;
    7081   $46 = ((($45)) + 12|0);
    7082   $47 = HEAP32[$46>>2]|0;
    7083   $48 = $5;
    7084   HEAP32[$vararg_buffer>>2] = $47;
    7085   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    7086   HEAP32[$vararg_ptr1>>2] = $48;
    7087   (_fprintf($44,54343,$vararg_buffer)|0);
    7088   $1 = -1;
    7089   $51 = $1;
    7090   STACKTOP = sp;return ($51|0);
    7091  } else {
    7092   $49 = $2;
    7093   $50 = $5;
    7094   _mrb_parser_set_filename($49,$50);
    7095   $1 = 0;
    7096   $51 = $1;
    7097   STACKTOP = sp;return ($51|0);
    7098  }
    7099  return (0)|0;
    7100 }
    7101 function _dump_flags($0,$1) {
    7102  $0 = $0|0;
    7103  $1 = $1|0;
    7104  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    7105  var label = 0, sp = 0;
    7106  sp = STACKTOP;
    7107  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    7108  $3 = $0;
    7109  $4 = $1;
    7110  $5 = $4;
    7111  $6 = $5&255;
    7112  $7 = ($6|0)==(2);
    7113  $8 = $3;
    7114  $9 = $8&255;
    7115  $10 = $9 & 6;
    7116  $11 = ($10|0)==(0);
    7117  $12 = $3;
    7118  do {
    7119   if ($7) {
    7120    if ($11) {
    7121     $13 = $12&255;
    7122     $14 = $13 & 1;
    7123     $15 = $14 | 6;
    7124     $16 = $15&255;
    7125     $2 = $16;
    7126     break;
    7127    } else {
    7128     $2 = $12;
    7129     break;
    7130    }
    7131   } else {
    7132    if ($11) {
    7133     $17 = $12&255;
    7134     $18 = $17 & 1;
    7135     $19 = $18 | 2;
    7136     $20 = $19&255;
    7137     $2 = $20;
    7138     break;
    7139    } else {
    7140     $2 = $12;
    7141     break;
    7142    }
    7143   }
    7144  } while(0);
    7145  $21 = $2;
    7146  STACKTOP = sp;return ($21|0);
    7147 }
    7148 function _dump_irep($0,$1,$2,$3,$4) {
    7149  $0 = $0|0;
    7150  $1 = $1|0;
    7151  $2 = $2|0;
    7152  $3 = $3|0;
    7153  $4 = $4|0;
    7154  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    7155  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    7156  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    7157  var $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    7158  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
    7159  var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
    7160  var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
    7161  var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    7162  sp = STACKTOP;
    7163  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    7164  $13 = sp + 24|0;
    7165  $19 = sp + 8|0;
    7166  $20 = sp + 4|0;
    7167  $21 = sp;
    7168  $22 = sp + 56|0;
    7169  $6 = $0;
    7170  $7 = $1;
    7171  $8 = $2;
    7172  $9 = $3;
    7173  $10 = $4;
    7174  $11 = -1;
    7175  $14 = 0;
    7176  $15 = 0;
    7177  $16 = 0;
    7178  $23 = $7;
    7179  $24 = (_is_debug_info_defined($23)|0);
    7180  $17 = $24;
    7181  $25 = $7;
    7182  $26 = (_is_lv_defined($25)|0);
    7183  $18 = $26;
    7184  HEAP32[$19>>2] = 0;
    7185  HEAP32[$20>>2] = 0;
    7186  HEAP32[$21>>2] = 0;
    7187  HEAP16[$22>>1] = 0;
    7188  $27 = $6;
    7189  $28 = ($27|0)==(0|0);
    7190  if ($28) {
    7191   $29 = $9;
    7192   HEAP32[$29>>2] = 0;
    7193   $5 = -1;
    7194   $155 = $5;
    7195   STACKTOP = sp;return ($155|0);
    7196  }
    7197  HEAP32[$13>>2] = 12;
    7198  $30 = $6;
    7199  $31 = $7;
    7200  $32 = (_get_irep_record_size($30,$31)|0);
    7201  $33 = HEAP32[$13>>2]|0;
    7202  $34 = (($33) + ($32))|0;
    7203  HEAP32[$13>>2] = $34;
    7204  $35 = $8;
    7205  $36 = $35&255;
    7206  $37 = $36 & 1;
    7207  $38 = ($37|0)!=(0);
    7208  do {
    7209   if ($38) {
    7210    $39 = $17;
    7211    $40 = ($39<<24>>24)!=(0);
    7212    $41 = $14;
    7213    $42 = (($41) + 8)|0;
    7214    $14 = $42;
    7215    $43 = $6;
    7216    if ($40) {
    7217     $44 = (_mrb_malloc($43,5)|0);
    7218     HEAP32[$21>>2] = $44;
    7219     $45 = $14;
    7220     $46 = (($45) + 2)|0;
    7221     $14 = $46;
    7222     $47 = $6;
    7223     $48 = $7;
    7224     $49 = (_get_filename_table_size($47,$48,$21,$22)|0);
    7225     $50 = $14;
    7226     $51 = (($50) + ($49))|0;
    7227     $14 = $51;
    7228     $52 = $6;
    7229     $53 = $7;
    7230     $54 = (_get_debug_record_size($52,$53)|0);
    7231     $55 = $14;
    7232     $56 = (($55) + ($54))|0;
    7233     $14 = $56;
    7234     break;
    7235    } else {
    7236     $57 = $7;
    7237     $58 = (_get_lineno_record_size($43,$57)|0);
    7238     $59 = $14;
    7239     $60 = (($59) + ($58))|0;
    7240     $14 = $60;
    7241     break;
    7242    }
    7243   }
    7244  } while(0);
    7245  $61 = $18;
    7246  $62 = ($61<<24>>24)!=(0);
    7247  if ($62) {
    7248   $63 = $15;
    7249   $64 = (($63) + 8)|0;
    7250   $15 = $64;
    7251   $65 = $6;
    7252   $66 = $7;
    7253   _create_lv_sym_table($65,$66,$19,$20);
    7254   $67 = $6;
    7255   $68 = $7;
    7256   $69 = HEAP32[$19>>2]|0;
    7257   $70 = HEAP32[$20>>2]|0;
    7258   $71 = (_get_lv_section_size($67,$68,$69,$70)|0);
    7259   $72 = $15;
    7260   $73 = (($72) + ($71))|0;
    7261   $15 = $73;
    7262  }
    7263  $74 = HEAP32[$13>>2]|0;
    7264  $75 = (22 + ($74))|0;
    7265  $76 = $14;
    7266  $77 = (($75) + ($76))|0;
    7267  $78 = $15;
    7268  $79 = (($77) + ($78))|0;
    7269  $80 = (($79) + 8)|0;
    7270  $12 = $80;
    7271  $81 = $6;
    7272  $82 = $12;
    7273  $83 = (_mrb_malloc($81,$82)|0);
    7274  $84 = $9;
    7275  HEAP32[$84>>2] = $83;
    7276  $16 = $83;
    7277  $85 = $16;
    7278  $86 = ((($85)) + 22|0);
    7279  $16 = $86;
    7280  $87 = $6;
    7281  $88 = $7;
    7282  $89 = $16;
    7283  $90 = $8;
    7284  $91 = (_write_section_irep($87,$88,$89,$13,$90)|0);
    7285  $11 = $91;
    7286  $92 = $11;
    7287  $93 = ($92|0)!=(0);
    7288  do {
    7289   if (!($93)) {
    7290    $94 = HEAP32[$13>>2]|0;
    7291    $95 = $16;
    7292    $96 = (($95) + ($94)|0);
    7293    $16 = $96;
    7294    $97 = HEAP32[$13>>2]|0;
    7295    $98 = (22 + ($97))|0;
    7296    $99 = $14;
    7297    $100 = (($98) + ($99))|0;
    7298    $101 = $15;
    7299    $102 = (($100) + ($101))|0;
    7300    $103 = (($102) + 8)|0;
    7301    $104 = $10;
    7302    HEAP32[$104>>2] = $103;
    7303    $105 = $8;
    7304    $106 = $105&255;
    7305    $107 = $106 & 1;
    7306    $108 = ($107|0)!=(0);
    7307    if ($108) {
    7308     $109 = $17;
    7309     $110 = ($109<<24>>24)!=(0);
    7310     $111 = $6;
    7311     $112 = $7;
    7312     $113 = $16;
    7313     if ($110) {
    7314      $114 = HEAP32[$21>>2]|0;
    7315      $115 = HEAP16[$22>>1]|0;
    7316      $116 = (_write_section_debug($111,$112,$113,$114,$115)|0);
    7317      $11 = $116;
    7318     } else {
    7319      $117 = (_write_section_lineno($111,$112,$113)|0);
    7320      $11 = $117;
    7321     }
    7322     $118 = $11;
    7323     $119 = ($118|0)!=(0);
    7324     if ($119) {
    7325      break;
    7326     }
    7327     $120 = $14;
    7328     $121 = $16;
    7329     $122 = (($121) + ($120)|0);
    7330     $16 = $122;
    7331    }
    7332    $123 = $18;
    7333    $124 = ($123<<24>>24)!=(0);
    7334    if ($124) {
    7335     $125 = $6;
    7336     $126 = $7;
    7337     $127 = $16;
    7338     $128 = HEAP32[$19>>2]|0;
    7339     $129 = HEAP32[$20>>2]|0;
    7340     $130 = (_write_section_lv($125,$126,$127,$128,$129)|0);
    7341     $11 = $130;
    7342     $131 = $11;
    7343     $132 = ($131|0)!=(0);
    7344     if ($132) {
    7345      break;
    7346     }
    7347     $133 = $15;
    7348     $134 = $16;
    7349     $135 = (($134) + ($133)|0);
    7350     $16 = $135;
    7351    }
    7352    $136 = $6;
    7353    $137 = $16;
    7354    (_write_footer($136,$137)|0);
    7355    $138 = $6;
    7356    $139 = $10;
    7357    $140 = HEAP32[$139>>2]|0;
    7358    $141 = $9;
    7359    $142 = HEAP32[$141>>2]|0;
    7360    $143 = $8;
    7361    (_write_rite_binary_header($138,$140,$142,$143)|0);
    7362   }
    7363  } while(0);
    7364  $144 = $11;
    7365  $145 = ($144|0)!=(0);
    7366  if ($145) {
    7367   $146 = $6;
    7368   $147 = $9;
    7369   $148 = HEAP32[$147>>2]|0;
    7370   _mrb_free($146,$148);
    7371   $149 = $9;
    7372   HEAP32[$149>>2] = 0;
    7373  }
    7374  $150 = $6;
    7375  $151 = HEAP32[$19>>2]|0;
    7376  _mrb_free($150,$151);
    7377  $152 = $6;
    7378  $153 = HEAP32[$21>>2]|0;
    7379  _mrb_free($152,$153);
    7380  $154 = $11;
    7381  $5 = $154;
    7382  $155 = $5;
    7383  STACKTOP = sp;return ($155|0);
    7384 }
    7385 function _is_debug_info_defined($0) {
    7386  $0 = $0|0;
    7387  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    7388  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    7389  sp = STACKTOP;
    7390  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    7391  $2 = $0;
    7392  $4 = $2;
    7393  $5 = ((($4)) + 36|0);
    7394  $6 = HEAP32[$5>>2]|0;
    7395  $7 = ($6|0)!=(0|0);
    7396  if (!($7)) {
    7397   $1 = 0;
    7398   $23 = $1;
    7399   STACKTOP = sp;return ($23|0);
    7400  }
    7401  $3 = 0;
    7402  while(1) {
    7403   $8 = $3;
    7404   $9 = $2;
    7405   $10 = ((($9)) + 52|0);
    7406   $11 = HEAP32[$10>>2]|0;
    7407   $12 = ($8>>>0)<($11>>>0);
    7408   if (!($12)) {
    7409    label = 8;
    7410    break;
    7411   }
    7412   $13 = $2;
    7413   $14 = ((($13)) + 20|0);
    7414   $15 = HEAP32[$14>>2]|0;
    7415   $16 = $3;
    7416   $17 = (($15) + ($16<<2)|0);
    7417   $18 = HEAP32[$17>>2]|0;
    7418   $19 = (_is_debug_info_defined($18)|0);
    7419   $20 = ($19<<24>>24)!=(0);
    7420   if (!($20)) {
    7421    label = 6;
    7422    break;
    7423   }
    7424   $21 = $3;
    7425   $22 = (($21) + 1)|0;
    7426   $3 = $22;
    7427  }
    7428  if ((label|0) == 6) {
    7429   $1 = 0;
    7430   $23 = $1;
    7431   STACKTOP = sp;return ($23|0);
    7432  }
    7433  else if ((label|0) == 8) {
    7434   $1 = 1;
    7435   $23 = $1;
    7436   STACKTOP = sp;return ($23|0);
    7437  }
    7438  return (0)|0;
    7439 }
    7440 function _is_lv_defined($0) {
    7441  $0 = $0|0;
    7442  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    7443  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    7444  sp = STACKTOP;
    7445  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    7446  $2 = $0;
    7447  $4 = $2;
    7448  $5 = ((($4)) + 24|0);
    7449  $6 = HEAP32[$5>>2]|0;
    7450  $7 = ($6|0)!=(0|0);
    7451  if ($7) {
    7452   $1 = 1;
    7453   $23 = $1;
    7454   STACKTOP = sp;return ($23|0);
    7455  }
    7456  $3 = 0;
    7457  while(1) {
    7458   $8 = $3;
    7459   $9 = $2;
    7460   $10 = ((($9)) + 52|0);
    7461   $11 = HEAP32[$10>>2]|0;
    7462   $12 = ($8>>>0)<($11>>>0);
    7463   if (!($12)) {
    7464    label = 8;
    7465    break;
    7466   }
    7467   $13 = $2;
    7468   $14 = ((($13)) + 20|0);
    7469   $15 = HEAP32[$14>>2]|0;
    7470   $16 = $3;
    7471   $17 = (($15) + ($16<<2)|0);
    7472   $18 = HEAP32[$17>>2]|0;
    7473   $19 = (_is_lv_defined($18)|0);
    7474   $20 = ($19<<24>>24)!=(0);
    7475   if ($20) {
    7476    label = 6;
    7477    break;
    7478   }
    7479   $21 = $3;
    7480   $22 = (($21) + 1)|0;
    7481   $3 = $22;
    7482  }
    7483  if ((label|0) == 6) {
    7484   $1 = 1;
    7485   $23 = $1;
    7486   STACKTOP = sp;return ($23|0);
    7487  }
    7488  else if ((label|0) == 8) {
    7489   $1 = 0;
    7490   $23 = $1;
    7491   STACKTOP = sp;return ($23|0);
    7492  }
    7493  return (0)|0;
    7494 }
    7495 function _get_irep_record_size($0,$1) {
    7496  $0 = $0|0;
    7497  $1 = $1|0;
    7498  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
    7499  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    7500  sp = STACKTOP;
    7501  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    7502  $2 = $0;
    7503  $3 = $1;
    7504  $4 = 0;
    7505  $6 = $2;
    7506  $7 = $3;
    7507  $8 = (_get_irep_record_size_1($6,$7)|0);
    7508  $4 = $8;
    7509  $5 = 0;
    7510  while(1) {
    7511   $9 = $5;
    7512   $10 = $3;
    7513   $11 = ((($10)) + 52|0);
    7514   $12 = HEAP32[$11>>2]|0;
    7515   $13 = ($9>>>0)<($12>>>0);
    7516   if (!($13)) {
    7517    break;
    7518   }
    7519   $14 = $2;
    7520   $15 = $3;
    7521   $16 = ((($15)) + 20|0);
    7522   $17 = HEAP32[$16>>2]|0;
    7523   $18 = $5;
    7524   $19 = (($17) + ($18<<2)|0);
    7525   $20 = HEAP32[$19>>2]|0;
    7526   $21 = (_get_irep_record_size($14,$20)|0);
    7527   $22 = $4;
    7528   $23 = (($22) + ($21))|0;
    7529   $4 = $23;
    7530   $24 = $5;
    7531   $25 = (($24) + 1)|0;
    7532   $5 = $25;
    7533  }
    7534  $26 = $4;
    7535  STACKTOP = sp;return ($26|0);
    7536 }
    7537 function _get_filename_table_size($0,$1,$2,$3) {
    7538  $0 = $0|0;
    7539  $1 = $1|0;
    7540  $2 = $2|0;
    7541  $3 = $3|0;
    7542  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    7543  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    7544  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    7545  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
    7546  var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, label = 0, sp = 0;
    7547  sp = STACKTOP;
    7548  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    7549  $13 = sp;
    7550  $4 = $0;
    7551  $5 = $1;
    7552  $6 = $2;
    7553  $7 = $3;
    7554  $14 = $6;
    7555  $15 = HEAP32[$14>>2]|0;
    7556  $8 = $15;
    7557  $10 = 0;
    7558  $16 = $5;
    7559  $17 = ((($16)) + 36|0);
    7560  $18 = HEAP32[$17>>2]|0;
    7561  $11 = $18;
    7562  $9 = 0;
    7563  while(1) {
    7564   $19 = $9;
    7565   $20 = $11;
    7566   $21 = ((($20)) + 4|0);
    7567   $22 = HEAP16[$21>>1]|0;
    7568   $23 = $22&65535;
    7569   $24 = ($19>>>0)<($23>>>0);
    7570   if (!($24)) {
    7571    break;
    7572   }
    7573   $25 = $11;
    7574   $26 = ((($25)) + 8|0);
    7575   $27 = HEAP32[$26>>2]|0;
    7576   $28 = $9;
    7577   $29 = (($27) + ($28<<2)|0);
    7578   $30 = HEAP32[$29>>2]|0;
    7579   $12 = $30;
    7580   $31 = $8;
    7581   $32 = $7;
    7582   $33 = HEAP16[$32>>1]|0;
    7583   $34 = $33&65535;
    7584   $35 = $12;
    7585   $36 = ((($35)) + 8|0);
    7586   $37 = HEAP32[$36>>2]|0;
    7587   $38 = (_find_filename_index($31,$34,$37)|0);
    7588   $39 = ($38|0)==(-1);
    7589   if ($39) {
    7590    $40 = $7;
    7591    $41 = HEAP16[$40>>1]|0;
    7592    $42 = $41&65535;
    7593    $43 = (($42) + 1)|0;
    7594    $44 = $43&65535;
    7595    HEAP16[$40>>1] = $44;
    7596    $45 = $4;
    7597    $46 = $8;
    7598    $47 = $7;
    7599    $48 = HEAP16[$47>>1]|0;
    7600    $49 = $48&65535;
    7601    $50 = $49<<2;
    7602    $51 = (_mrb_realloc($45,$46,$50)|0);
    7603    $8 = $51;
    7604    $52 = $6;
    7605    HEAP32[$52>>2] = $51;
    7606    $53 = $12;
    7607    $54 = ((($53)) + 8|0);
    7608    $55 = HEAP32[$54>>2]|0;
    7609    $56 = $8;
    7610    $57 = $7;
    7611    $58 = HEAP16[$57>>1]|0;
    7612    $59 = $58&65535;
    7613    $60 = (($59) - 1)|0;
    7614    $61 = (($56) + ($60<<2)|0);
    7615    HEAP32[$61>>2] = $55;
    7616    $62 = $4;
    7617    $63 = $12;
    7618    $64 = ((($63)) + 8|0);
    7619    $65 = HEAP32[$64>>2]|0;
    7620    (_mrb_sym2name_len($62,$65,$13)|0);
    7621    $66 = HEAP32[$13>>2]|0;
    7622    $67 = (2 + ($66))|0;
    7623    $68 = $10;
    7624    $69 = (($68) + ($67))|0;
    7625    $10 = $69;
    7626   }
    7627   $70 = $9;
    7628   $71 = (($70) + 1)|0;
    7629   $9 = $71;
    7630  }
    7631  $9 = 0;
    7632  while(1) {
    7633   $72 = $9;
    7634   $73 = $5;
    7635   $74 = ((($73)) + 52|0);
    7636   $75 = HEAP32[$74>>2]|0;
    7637   $76 = ($72>>>0)<($75>>>0);
    7638   if (!($76)) {
    7639    break;
    7640   }
    7641   $77 = $4;
    7642   $78 = $5;
    7643   $79 = ((($78)) + 20|0);
    7644   $80 = HEAP32[$79>>2]|0;
    7645   $81 = $9;
    7646   $82 = (($80) + ($81<<2)|0);
    7647   $83 = HEAP32[$82>>2]|0;
    7648   $84 = $6;
    7649   $85 = $7;
    7650   $86 = (_get_filename_table_size($77,$83,$84,$85)|0);
    7651   $87 = $10;
    7652   $88 = (($87) + ($86))|0;
    7653   $10 = $88;
    7654   $89 = $9;
    7655   $90 = (($89) + 1)|0;
    7656   $9 = $90;
    7657  }
    7658  $91 = $10;
    7659  STACKTOP = sp;return ($91|0);
    7660 }
    7661 function _get_debug_record_size($0,$1) {
    7662  $0 = $0|0;
    7663  $1 = $1|0;
    7664  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    7665  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    7666  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    7667  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    7668  sp = STACKTOP;
    7669  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    7670  $2 = $0;
    7671  $3 = $1;
    7672  $4 = 0;
    7673  $8 = $4;
    7674  $9 = (($8) + 4)|0;
    7675  $4 = $9;
    7676  $10 = $4;
    7677  $11 = (($10) + 2)|0;
    7678  $4 = $11;
    7679  $5 = 0;
    7680  while(1) {
    7681   $12 = $5;
    7682   $13 = $12&65535;
    7683   $14 = $3;
    7684   $15 = ((($14)) + 36|0);
    7685   $16 = HEAP32[$15>>2]|0;
    7686   $17 = ((($16)) + 4|0);
    7687   $18 = HEAP16[$17>>1]|0;
    7688   $19 = $18&65535;
    7689   $20 = ($13|0)<($19|0);
    7690   if (!($20)) {
    7691    break;
    7692   }
    7693   $21 = $3;
    7694   $22 = ((($21)) + 36|0);
    7695   $23 = HEAP32[$22>>2]|0;
    7696   $24 = ((($23)) + 8|0);
    7697   $25 = HEAP32[$24>>2]|0;
    7698   $26 = $5;
    7699   $27 = $26&65535;
    7700   $28 = (($25) + ($27<<2)|0);
    7701   $29 = HEAP32[$28>>2]|0;
    7702   $7 = $29;
    7703   $30 = $4;
    7704   $31 = (($30) + 4)|0;
    7705   $4 = $31;
    7706   $32 = $4;
    7707   $33 = (($32) + 2)|0;
    7708   $4 = $33;
    7709   $34 = $4;
    7710   $35 = (($34) + 4)|0;
    7711   $4 = $35;
    7712   $36 = $4;
    7713   $37 = (($36) + 1)|0;
    7714   $4 = $37;
    7715   $38 = $7;
    7716   $39 = ((($38)) + 16|0);
    7717   $40 = HEAP32[$39>>2]|0;
    7718   switch ($40|0) {
    7719   case 0:  {
    7720    $41 = $7;
    7721    $42 = ((($41)) + 12|0);
    7722    $43 = HEAP32[$42>>2]|0;
    7723    $44 = $43<<1;
    7724    $45 = $4;
    7725    $46 = (($45) + ($44))|0;
    7726    $4 = $46;
    7727    break;
    7728   }
    7729   case 1:  {
    7730    $47 = $7;
    7731    $48 = ((($47)) + 12|0);
    7732    $49 = HEAP32[$48>>2]|0;
    7733    $50 = ($49*6)|0;
    7734    $51 = $4;
    7735    $52 = (($51) + ($50))|0;
    7736    $4 = $52;
    7737    break;
    7738   }
    7739   default: {
    7740   }
    7741   }
    7742   $53 = $5;
    7743   $54 = (($53) + 1)<<16>>16;
    7744   $5 = $54;
    7745  }
    7746  $6 = 0;
    7747  while(1) {
    7748   $55 = $6;
    7749   $56 = $3;
    7750   $57 = ((($56)) + 52|0);
    7751   $58 = HEAP32[$57>>2]|0;
    7752   $59 = ($55>>>0)<($58>>>0);
    7753   if (!($59)) {
    7754    break;
    7755   }
    7756   $60 = $2;
    7757   $61 = $3;
    7758   $62 = ((($61)) + 20|0);
    7759   $63 = HEAP32[$62>>2]|0;
    7760   $64 = $6;
    7761   $65 = (($63) + ($64<<2)|0);
    7762   $66 = HEAP32[$65>>2]|0;
    7763   $67 = (_get_debug_record_size($60,$66)|0);
    7764   $68 = $4;
    7765   $69 = (($68) + ($67))|0;
    7766   $4 = $69;
    7767   $70 = $6;
    7768   $71 = (($70) + 1)|0;
    7769   $6 = $71;
    7770  }
    7771  $72 = $4;
    7772  STACKTOP = sp;return ($72|0);
    7773 }
    7774 function _get_lineno_record_size($0,$1) {
    7775  $0 = $0|0;
    7776  $1 = $1|0;
    7777  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    7778  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    7779  sp = STACKTOP;
    7780  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    7781  $2 = $0;
    7782  $3 = $1;
    7783  $4 = 0;
    7784  $5 = $4;
    7785  $6 = (($5) + 4)|0;
    7786  $4 = $6;
    7787  $7 = $4;
    7788  $8 = (($7) + 2)|0;
    7789  $4 = $8;
    7790  $9 = $3;
    7791  $10 = ((($9)) + 28|0);
    7792  $11 = HEAP32[$10>>2]|0;
    7793  $12 = ($11|0)!=(0|0);
    7794  if ($12) {
    7795   $13 = $3;
    7796   $14 = ((($13)) + 28|0);
    7797   $15 = HEAP32[$14>>2]|0;
    7798   $16 = (_strlen($15)|0);
    7799   $17 = $4;
    7800   $18 = (($17) + ($16))|0;
    7801   $4 = $18;
    7802  }
    7803  $19 = $4;
    7804  $20 = (($19) + 4)|0;
    7805  $4 = $20;
    7806  $21 = $3;
    7807  $22 = ((($21)) + 32|0);
    7808  $23 = HEAP32[$22>>2]|0;
    7809  $24 = ($23|0)!=(0|0);
    7810  if (!($24)) {
    7811   $31 = $4;
    7812   STACKTOP = sp;return ($31|0);
    7813  }
    7814  $25 = $3;
    7815  $26 = ((($25)) + 40|0);
    7816  $27 = HEAP32[$26>>2]|0;
    7817  $28 = $27<<1;
    7818  $29 = $4;
    7819  $30 = (($29) + ($28))|0;
    7820  $4 = $30;
    7821  $31 = $4;
    7822  STACKTOP = sp;return ($31|0);
    7823 }
    7824 function _create_lv_sym_table($0,$1,$2,$3) {
    7825  $0 = $0|0;
    7826  $1 = $1|0;
    7827  $2 = $2|0;
    7828  $3 = $3|0;
    7829  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    7830  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    7831  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    7832  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    7833  sp = STACKTOP;
    7834  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    7835  $4 = $0;
    7836  $5 = $1;
    7837  $6 = $2;
    7838  $7 = $3;
    7839  $10 = $6;
    7840  $11 = HEAP32[$10>>2]|0;
    7841  $12 = ($11|0)==(0|0);
    7842  if ($12) {
    7843   $13 = $4;
    7844   $14 = (_mrb_malloc($13,4)|0);
    7845   $15 = $6;
    7846   HEAP32[$15>>2] = $14;
    7847  }
    7848  $8 = 0;
    7849  while(1) {
    7850   $16 = $8;
    7851   $17 = (($16) + 1)|0;
    7852   $18 = $5;
    7853   $19 = HEAP16[$18>>1]|0;
    7854   $20 = $19&65535;
    7855   $21 = ($17>>>0)<($20>>>0);
    7856   if (!($21)) {
    7857    break;
    7858   }
    7859   $22 = $5;
    7860   $23 = ((($22)) + 24|0);
    7861   $24 = HEAP32[$23>>2]|0;
    7862   $25 = $8;
    7863   $26 = (($24) + ($25<<3)|0);
    7864   $27 = HEAP32[$26>>2]|0;
    7865   $9 = $27;
    7866   $28 = $9;
    7867   $29 = ($28|0)==(0);
    7868   if (!($29)) {
    7869    $30 = $6;
    7870    $31 = HEAP32[$30>>2]|0;
    7871    $32 = $7;
    7872    $33 = HEAP32[$32>>2]|0;
    7873    $34 = $9;
    7874    $35 = (_find_filename_index($31,$33,$34)|0);
    7875    $36 = ($35|0)!=(-1);
    7876    if (!($36)) {
    7877     $37 = $7;
    7878     $38 = HEAP32[$37>>2]|0;
    7879     $39 = (($38) + 1)|0;
    7880     HEAP32[$37>>2] = $39;
    7881     $40 = $4;
    7882     $41 = $6;
    7883     $42 = HEAP32[$41>>2]|0;
    7884     $43 = $7;
    7885     $44 = HEAP32[$43>>2]|0;
    7886     $45 = $44<<2;
    7887     $46 = (_mrb_realloc($40,$42,$45)|0);
    7888     $47 = $6;
    7889     HEAP32[$47>>2] = $46;
    7890     $48 = $9;
    7891     $49 = $6;
    7892     $50 = HEAP32[$49>>2]|0;
    7893     $51 = $7;
    7894     $52 = HEAP32[$51>>2]|0;
    7895     $53 = (($52) - 1)|0;
    7896     $54 = (($50) + ($53<<2)|0);
    7897     HEAP32[$54>>2] = $48;
    7898    }
    7899   }
    7900   $55 = $8;
    7901   $56 = (($55) + 1)|0;
    7902   $8 = $56;
    7903  }
    7904  $8 = 0;
    7905  while(1) {
    7906   $57 = $8;
    7907   $58 = $5;
    7908   $59 = ((($58)) + 52|0);
    7909   $60 = HEAP32[$59>>2]|0;
    7910   $61 = ($57>>>0)<($60>>>0);
    7911   if (!($61)) {
    7912    break;
    7913   }
    7914   $62 = $4;
    7915   $63 = $5;
    7916   $64 = ((($63)) + 20|0);
    7917   $65 = HEAP32[$64>>2]|0;
    7918   $66 = $8;
    7919   $67 = (($65) + ($66<<2)|0);
    7920   $68 = HEAP32[$67>>2]|0;
    7921   $69 = $6;
    7922   $70 = $7;
    7923   _create_lv_sym_table($62,$68,$69,$70);
    7924   $71 = $8;
    7925   $72 = (($71) + 1)|0;
    7926   $8 = $72;
    7927  }
    7928  STACKTOP = sp;return;
    7929 }
    7930 function _get_lv_section_size($0,$1,$2,$3) {
    7931  $0 = $0|0;
    7932  $1 = $1|0;
    7933  $2 = $2|0;
    7934  $3 = $3|0;
    7935  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    7936  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    7937  sp = STACKTOP;
    7938  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    7939  $10 = sp;
    7940  $4 = $0;
    7941  $5 = $1;
    7942  $6 = $2;
    7943  $7 = $3;
    7944  $8 = 0;
    7945  $11 = $8;
    7946  $12 = (($11) + 4)|0;
    7947  $8 = $12;
    7948  $13 = $7;
    7949  $14 = $13<<1;
    7950  $15 = $8;
    7951  $16 = (($15) + ($14))|0;
    7952  $8 = $16;
    7953  $9 = 0;
    7954  while(1) {
    7955   $17 = $9;
    7956   $18 = $7;
    7957   $19 = ($17>>>0)<($18>>>0);
    7958   $20 = $4;
    7959   if (!($19)) {
    7960    break;
    7961   }
    7962   $21 = $6;
    7963   $22 = $9;
    7964   $23 = (($21) + ($22<<2)|0);
    7965   $24 = HEAP32[$23>>2]|0;
    7966   (_mrb_sym2name_len($20,$24,$10)|0);
    7967   $25 = HEAP32[$10>>2]|0;
    7968   $26 = $8;
    7969   $27 = (($26) + ($25))|0;
    7970   $8 = $27;
    7971   $28 = $9;
    7972   $29 = (($28) + 1)|0;
    7973   $9 = $29;
    7974  }
    7975  $30 = $5;
    7976  $31 = (_get_lv_record_size($20,$30)|0);
    7977  $32 = $8;
    7978  $33 = (($32) + ($31))|0;
    7979  $8 = $33;
    7980  $34 = $8;
    7981  STACKTOP = sp;return ($34|0);
    7982 }
    7983 function _write_section_irep($0,$1,$2,$3,$4) {
    7984  $0 = $0|0;
    7985  $1 = $1|0;
    7986  $2 = $2|0;
    7987  $3 = $3|0;
    7988  $4 = $4|0;
    7989  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    7990  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    7991  sp = STACKTOP;
    7992  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    7993  $12 = sp + 4|0;
    7994  $6 = $0;
    7995  $7 = $1;
    7996  $8 = $2;
    7997  $9 = $3;
    7998  $10 = $4;
    7999  HEAP32[$12>>2] = 0;
    8000  $14 = $8;
    8001  $13 = $14;
    8002  $15 = $6;
    8003  $16 = ($15|0)==(0|0);
    8004  $17 = $8;
    8005  $18 = ($17|0)==(0|0);
    8006  $or$cond = $16 | $18;
    8007  if ($or$cond) {
    8008   $5 = -7;
    8009   $41 = $5;
    8010   STACKTOP = sp;return ($41|0);
    8011  }
    8012  $19 = $13;
    8013  $20 = ((($19)) + 12|0);
    8014  $13 = $20;
    8015  $21 = $6;
    8016  $22 = $7;
    8017  $23 = $13;
    8018  $24 = $10;
    8019  $25 = (_write_irep_record($21,$22,$23,$12,$24)|0);
    8020  $11 = $25;
    8021  $26 = $11;
    8022  $27 = ($26|0)!=(0);
    8023  if ($27) {
    8024   $28 = $11;
    8025   $5 = $28;
    8026   $41 = $5;
    8027   STACKTOP = sp;return ($41|0);
    8028  } else {
    8029   $29 = $13;
    8030   $30 = $8;
    8031   $31 = $29;
    8032   $32 = $30;
    8033   $33 = (($31) - ($32))|0;
    8034   $34 = HEAP32[$12>>2]|0;
    8035   $35 = (($33) + ($34))|0;
    8036   $36 = $9;
    8037   HEAP32[$36>>2] = $35;
    8038   $37 = $6;
    8039   $38 = $9;
    8040   $39 = HEAP32[$38>>2]|0;
    8041   $40 = $8;
    8042   (_write_section_irep_header($37,$39,$40)|0);
    8043   $5 = 0;
    8044   $41 = $5;
    8045   STACKTOP = sp;return ($41|0);
    8046  }
    8047  return (0)|0;
    8048 }
    8049 function _write_section_debug($0,$1,$2,$3,$4) {
    8050  $0 = $0|0;
    8051  $1 = $1|0;
    8052  $2 = $2|0;
    8053  $3 = $3|0;
    8054  $4 = $4|0;
    8055  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8056  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    8057  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
    8058  var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    8059  sp = STACKTOP;
    8060  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    8061  $17 = sp;
    8062  $6 = $0;
    8063  $7 = $1;
    8064  $8 = $2;
    8065  $9 = $3;
    8066  $10 = $4;
    8067  $11 = 0;
    8068  $18 = $8;
    8069  $12 = $18;
    8070  $19 = $6;
    8071  $20 = ($19|0)==(0|0);
    8072  $21 = $8;
    8073  $22 = ($21|0)==(0|0);
    8074  $or$cond = $20 | $22;
    8075  if ($or$cond) {
    8076   $5 = -7;
    8077   $77 = $5;
    8078   STACKTOP = sp;return ($77|0);
    8079  }
    8080  $23 = $12;
    8081  $13 = $23;
    8082  $24 = $8;
    8083  $25 = ((($24)) + 8|0);
    8084  $8 = $25;
    8085  $26 = $11;
    8086  $27 = (($26) + 8)|0;
    8087  $11 = $27;
    8088  $28 = $10;
    8089  $29 = $8;
    8090  $30 = (_uint16_to_bin($28,$29)|0);
    8091  $31 = $8;
    8092  $32 = (($31) + ($30)|0);
    8093  $8 = $32;
    8094  $33 = $11;
    8095  $34 = (($33) + 2)|0;
    8096  $11 = $34;
    8097  $15 = 0;
    8098  while(1) {
    8099   $35 = $15;
    8100   $36 = $35&65535;
    8101   $37 = $10;
    8102   $38 = $37&65535;
    8103   $39 = ($36|0)<($38|0);
    8104   $40 = $6;
    8105   if (!($39)) {
    8106    break;
    8107   }
    8108   $41 = $9;
    8109   $42 = $15;
    8110   $43 = $42&65535;
    8111   $44 = (($41) + ($43<<2)|0);
    8112   $45 = HEAP32[$44>>2]|0;
    8113   $46 = (_mrb_sym2name_len($40,$45,$17)|0);
    8114   $16 = $46;
    8115   $47 = HEAP32[$17>>2]|0;
    8116   $48 = $47&65535;
    8117   $49 = $8;
    8118   $50 = (_uint16_to_bin($48,$49)|0);
    8119   $51 = $8;
    8120   $52 = (($51) + ($50)|0);
    8121   $8 = $52;
    8122   $53 = $8;
    8123   $54 = $16;
    8124   $55 = HEAP32[$17>>2]|0;
    8125   _memcpy(($53|0),($54|0),($55|0))|0;
    8126   $56 = HEAP32[$17>>2]|0;
    8127   $57 = $8;
    8128   $58 = (($57) + ($56)|0);
    8129   $8 = $58;
    8130   $59 = HEAP32[$17>>2]|0;
    8131   $60 = (2 + ($59))|0;
    8132   $61 = $11;
    8133   $62 = (($61) + ($60))|0;
    8134   $11 = $62;
    8135   $63 = $15;
    8136   $64 = (($63) + 1)<<16>>16;
    8137   $15 = $64;
    8138  }
    8139  $65 = $7;
    8140  $66 = $8;
    8141  $67 = $9;
    8142  $68 = $10;
    8143  $69 = (_write_debug_record($40,$65,$66,$67,$68)|0);
    8144  $14 = $69;
    8145  $70 = $14;
    8146  $71 = $11;
    8147  $72 = (($71) + ($70))|0;
    8148  $11 = $72;
    8149  $73 = $13;
    8150  ;HEAP8[$73>>0]=HEAP8[54486>>0]|0;HEAP8[$73+1>>0]=HEAP8[54486+1>>0]|0;HEAP8[$73+2>>0]=HEAP8[54486+2>>0]|0;HEAP8[$73+3>>0]=HEAP8[54486+3>>0]|0;
    8151  $74 = $11;
    8152  $75 = $13;
    8153  $76 = ((($75)) + 4|0);
    8154  (_uint32_to_bin($74,$76)|0);
    8155  $5 = 0;
    8156  $77 = $5;
    8157  STACKTOP = sp;return ($77|0);
    8158 }
    8159 function _write_section_lineno($0,$1,$2) {
    8160  $0 = $0|0;
    8161  $1 = $1|0;
    8162  $2 = $2|0;
    8163  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8164  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    8165  sp = STACKTOP;
    8166  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    8167  $4 = $0;
    8168  $5 = $1;
    8169  $6 = $2;
    8170  $7 = 0;
    8171  $8 = 0;
    8172  $10 = $6;
    8173  $9 = $10;
    8174  $11 = $4;
    8175  $12 = ($11|0)==(0|0);
    8176  $13 = $6;
    8177  $14 = ($13|0)==(0|0);
    8178  $or$cond = $12 | $14;
    8179  if ($or$cond) {
    8180   $3 = -7;
    8181   $29 = $3;
    8182   STACKTOP = sp;return ($29|0);
    8183  } else {
    8184   $15 = $9;
    8185   $16 = ((($15)) + 8|0);
    8186   $9 = $16;
    8187   $17 = $7;
    8188   $18 = (($17) + 8)|0;
    8189   $7 = $18;
    8190   $19 = $4;
    8191   $20 = $5;
    8192   $21 = $9;
    8193   $22 = (_write_lineno_record($19,$20,$21)|0);
    8194   $8 = $22;
    8195   $23 = $8;
    8196   $24 = $7;
    8197   $25 = (($24) + ($23))|0;
    8198   $7 = $25;
    8199   $26 = $4;
    8200   $27 = $7;
    8201   $28 = $6;
    8202   (_write_section_lineno_header($26,$27,$28)|0);
    8203   $3 = 0;
    8204   $29 = $3;
    8205   STACKTOP = sp;return ($29|0);
    8206  }
    8207  return (0)|0;
    8208 }
    8209 function _write_section_lv($0,$1,$2,$3,$4) {
    8210  $0 = $0|0;
    8211  $1 = $1|0;
    8212  $2 = $2|0;
    8213  $3 = $3|0;
    8214  $4 = $4|0;
    8215  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8216  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0;
    8217  var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    8218  sp = STACKTOP;
    8219  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    8220  $11 = sp + 12|0;
    8221  $6 = $0;
    8222  $7 = $1;
    8223  $8 = $2;
    8224  $9 = $3;
    8225  $10 = $4;
    8226  $15 = $8;
    8227  HEAP32[$11>>2] = $15;
    8228  $14 = 0;
    8229  $16 = $6;
    8230  $17 = ($16|0)==(0|0);
    8231  $18 = HEAP32[$11>>2]|0;
    8232  $19 = ($18|0)==(0|0);
    8233  $or$cond = $17 | $19;
    8234  if ($or$cond) {
    8235   $5 = -7;
    8236   $46 = $5;
    8237   STACKTOP = sp;return ($46|0);
    8238  }
    8239  $20 = HEAP32[$11>>2]|0;
    8240  $12 = $20;
    8241  $21 = HEAP32[$11>>2]|0;
    8242  $22 = ((($21)) + 8|0);
    8243  HEAP32[$11>>2] = $22;
    8244  $23 = $6;
    8245  $24 = $9;
    8246  $25 = $10;
    8247  $26 = (_write_lv_sym_table($23,$11,$24,$25)|0);
    8248  $14 = $26;
    8249  $27 = $14;
    8250  $28 = ($27|0)!=(0);
    8251  if (!($28)) {
    8252   $29 = $6;
    8253   $30 = $7;
    8254   $31 = $9;
    8255   $32 = $10;
    8256   $33 = (_write_lv_record($29,$30,$11,$31,$32)|0);
    8257   $14 = $33;
    8258   $34 = $14;
    8259   $35 = ($34|0)!=(0);
    8260   if (!($35)) {
    8261    $36 = $12;
    8262    ;HEAP8[$36>>0]=HEAP8[54476>>0]|0;HEAP8[$36+1>>0]=HEAP8[54476+1>>0]|0;HEAP8[$36+2>>0]=HEAP8[54476+2>>0]|0;HEAP8[$36+3>>0]=HEAP8[54476+3>>0]|0;
    8263    $37 = HEAP32[$11>>2]|0;
    8264    $38 = $8;
    8265    $39 = $37;
    8266    $40 = $38;
    8267    $41 = (($39) - ($40))|0;
    8268    $13 = $41;
    8269    $42 = $13;
    8270    $43 = $12;
    8271    $44 = ((($43)) + 4|0);
    8272    (_uint32_to_bin($42,$44)|0);
    8273   }
    8274  }
    8275  $45 = $14;
    8276  $5 = $45;
    8277  $46 = $5;
    8278  STACKTOP = sp;return ($46|0);
    8279 }
    8280 function _write_footer($0,$1) {
    8281  $0 = $0|0;
    8282  $1 = $1|0;
    8283  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    8284  sp = STACKTOP;
    8285  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    8286  $4 = sp + 8|0;
    8287  $2 = $0;
    8288  $3 = $1;
    8289  ;HEAP8[$4>>0]=HEAP8[54471>>0]|0;HEAP8[$4+1>>0]=HEAP8[54471+1>>0]|0;HEAP8[$4+2>>0]=HEAP8[54471+2>>0]|0;HEAP8[$4+3>>0]=HEAP8[54471+3>>0]|0;
    8290  $5 = ((($4)) + 4|0);
    8291  (_uint32_to_bin(8,$5)|0);
    8292  $6 = $3;
    8293  ;HEAP8[$6>>0]=HEAP8[$4>>0]|0;HEAP8[$6+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$6+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$6+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$6+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$6+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$6+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$6+7>>0]=HEAP8[$4+7>>0]|0;
    8294  STACKTOP = sp;return 8;
    8295 }
    8296 function _write_rite_binary_header($0,$1,$2,$3) {
    8297  $0 = $0|0;
    8298  $1 = $1|0;
    8299  $2 = $2|0;
    8300  $3 = $3|0;
    8301  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8302  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    8303  var $9 = 0, label = 0, sp = 0;
    8304  sp = STACKTOP;
    8305  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    8306  $4 = $0;
    8307  $5 = $1;
    8308  $6 = $2;
    8309  $7 = $3;
    8310  $11 = $6;
    8311  $8 = $11;
    8312  $12 = $7;
    8313  $13 = $12&255;
    8314  $14 = $13 & 6;
    8315  switch ($14|0) {
    8316  case 2:  {
    8317   label = 2;
    8318   break;
    8319  }
    8320  case 4:  {
    8321   label = 3;
    8322   break;
    8323  }
    8324  case 6:  {
    8325   $17 = (_bigendian_p_3()|0);
    8326   $18 = ($17|0)!=(0);
    8327   if ($18) {
    8328    label = 2;
    8329   } else {
    8330    label = 3;
    8331   }
    8332   break;
    8333  }
    8334  default: {
    8335  }
    8336  }
    8337  if ((label|0) == 2) {
    8338   $15 = $8;
    8339   ;HEAP8[$15>>0]=HEAP8[54446>>0]|0;HEAP8[$15+1>>0]=HEAP8[54446+1>>0]|0;HEAP8[$15+2>>0]=HEAP8[54446+2>>0]|0;HEAP8[$15+3>>0]=HEAP8[54446+3>>0]|0;
    8340  }
    8341  else if ((label|0) == 3) {
    8342   $16 = $8;
    8343   ;HEAP8[$16>>0]=HEAP8[54451>>0]|0;HEAP8[$16+1>>0]=HEAP8[54451+1>>0]|0;HEAP8[$16+2>>0]=HEAP8[54451+2>>0]|0;HEAP8[$16+3>>0]=HEAP8[54451+3>>0]|0;
    8344  }
    8345  $19 = $8;
    8346  $20 = ((($19)) + 4|0);
    8347  ;HEAP8[$20>>0]=HEAP8[54456>>0]|0;HEAP8[$20+1>>0]=HEAP8[54456+1>>0]|0;HEAP8[$20+2>>0]=HEAP8[54456+2>>0]|0;HEAP8[$20+3>>0]=HEAP8[54456+3>>0]|0;
    8348  $21 = $8;
    8349  $22 = ((($21)) + 14|0);
    8350  ;HEAP8[$22>>0]=HEAP8[54461>>0]|0;HEAP8[$22+1>>0]=HEAP8[54461+1>>0]|0;HEAP8[$22+2>>0]=HEAP8[54461+2>>0]|0;HEAP8[$22+3>>0]=HEAP8[54461+3>>0]|0;
    8351  $23 = $8;
    8352  $24 = ((($23)) + 18|0);
    8353  ;HEAP8[$24>>0]=HEAP8[54466>>0]|0;HEAP8[$24+1>>0]=HEAP8[54466+1>>0]|0;HEAP8[$24+2>>0]=HEAP8[54466+2>>0]|0;HEAP8[$24+3>>0]=HEAP8[54466+3>>0]|0;
    8354  $25 = $5;
    8355  $26 = $8;
    8356  $27 = ((($26)) + 10|0);
    8357  (_uint32_to_bin($25,$27)|0);
    8358  $28 = $8;
    8359  $29 = ((($28)) + 8|0);
    8360  $30 = $6;
    8361  $31 = $29;
    8362  $32 = $30;
    8363  $33 = (($31) - ($32))|0;
    8364  $34 = (($33) + 2)|0;
    8365  $10 = $34;
    8366  $35 = $6;
    8367  $36 = $10;
    8368  $37 = (($35) + ($36)|0);
    8369  $38 = $5;
    8370  $39 = $10;
    8371  $40 = (($38) - ($39))|0;
    8372  $41 = (_calc_crc_16_ccitt($37,$40,0)|0);
    8373  $9 = $41;
    8374  $42 = $9;
    8375  $43 = $8;
    8376  $44 = ((($43)) + 8|0);
    8377  (_uint16_to_bin($42,$44)|0);
    8378  STACKTOP = sp;return 0;
    8379 }
    8380 function _bigendian_p_3() {
    8381  var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    8382  sp = STACKTOP;
    8383  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    8384  $0 = sp + 4|0;
    8385  HEAP32[$0>>2] = 1;
    8386  $1 = $0;
    8387  $2 = $1;
    8388  $3 = HEAP8[$2>>0]|0;
    8389  $4 = $3 << 24 >> 24;
    8390  $5 = ($4|0)!=(0);
    8391  $6 = $5 ? 0 : 1;
    8392  STACKTOP = sp;return ($6|0);
    8393 }
    8394 function _uint32_to_bin($0,$1) {
    8395  $0 = $0|0;
    8396  $1 = $1|0;
    8397  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0;
    8398  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    8399  sp = STACKTOP;
    8400  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    8401  $2 = $0;
    8402  $3 = $1;
    8403  $4 = $2;
    8404  $5 = $4 >>> 24;
    8405  $6 = $5 & 255;
    8406  $7 = $6&255;
    8407  $8 = $3;
    8408  $9 = ((($8)) + 1|0);
    8409  $3 = $9;
    8410  HEAP8[$8>>0] = $7;
    8411  $10 = $2;
    8412  $11 = $10 >>> 16;
    8413  $12 = $11 & 255;
    8414  $13 = $12&255;
    8415  $14 = $3;
    8416  $15 = ((($14)) + 1|0);
    8417  $3 = $15;
    8418  HEAP8[$14>>0] = $13;
    8419  $16 = $2;
    8420  $17 = $16 >>> 8;
    8421  $18 = $17 & 255;
    8422  $19 = $18&255;
    8423  $20 = $3;
    8424  $21 = ((($20)) + 1|0);
    8425  $3 = $21;
    8426  HEAP8[$20>>0] = $19;
    8427  $22 = $2;
    8428  $23 = $22 & 255;
    8429  $24 = $23&255;
    8430  $25 = $3;
    8431  HEAP8[$25>>0] = $24;
    8432  STACKTOP = sp;return 4;
    8433 }
    8434 function _uint16_to_bin($0,$1) {
    8435  $0 = $0|0;
    8436  $1 = $1|0;
    8437  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    8438  sp = STACKTOP;
    8439  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    8440  $2 = $0;
    8441  $3 = $1;
    8442  $4 = $2;
    8443  $5 = $4&65535;
    8444  $6 = $5 >> 8;
    8445  $7 = $6 & 255;
    8446  $8 = $7&255;
    8447  $9 = $3;
    8448  $10 = ((($9)) + 1|0);
    8449  $3 = $10;
    8450  HEAP8[$9>>0] = $8;
    8451  $11 = $2;
    8452  $12 = $11&65535;
    8453  $13 = $12 & 255;
    8454  $14 = $13&255;
    8455  $15 = $3;
    8456  HEAP8[$15>>0] = $14;
    8457  STACKTOP = sp;return 2;
    8458 }
    8459 function _write_lv_sym_table($0,$1,$2,$3) {
    8460  $0 = $0|0;
    8461  $1 = $1|0;
    8462  $2 = $2|0;
    8463  $3 = $3|0;
    8464  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8465  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    8466  var label = 0, sp = 0;
    8467  sp = STACKTOP;
    8468  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    8469  $11 = sp;
    8470  $4 = $0;
    8471  $5 = $1;
    8472  $6 = $2;
    8473  $7 = $3;
    8474  $12 = $5;
    8475  $13 = HEAP32[$12>>2]|0;
    8476  $8 = $13;
    8477  $14 = $7;
    8478  $15 = $8;
    8479  $16 = (_uint32_to_bin($14,$15)|0);
    8480  $17 = $8;
    8481  $18 = (($17) + ($16)|0);
    8482  $8 = $18;
    8483  $9 = 0;
    8484  while(1) {
    8485   $19 = $9;
    8486   $20 = $7;
    8487   $21 = ($19>>>0)<($20>>>0);
    8488   if (!($21)) {
    8489    break;
    8490   }
    8491   $22 = $4;
    8492   $23 = $6;
    8493   $24 = $9;
    8494   $25 = (($23) + ($24<<2)|0);
    8495   $26 = HEAP32[$25>>2]|0;
    8496   $27 = (_mrb_sym2name_len($22,$26,$11)|0);
    8497   $10 = $27;
    8498   $28 = HEAP32[$11>>2]|0;
    8499   $29 = $28&65535;
    8500   $30 = $8;
    8501   $31 = (_uint16_to_bin($29,$30)|0);
    8502   $32 = $8;
    8503   $33 = (($32) + ($31)|0);
    8504   $8 = $33;
    8505   $34 = $8;
    8506   $35 = $10;
    8507   $36 = HEAP32[$11>>2]|0;
    8508   _memcpy(($34|0),($35|0),($36|0))|0;
    8509   $37 = HEAP32[$11>>2]|0;
    8510   $38 = $8;
    8511   $39 = (($38) + ($37)|0);
    8512   $8 = $39;
    8513   $40 = $9;
    8514   $41 = (($40) + 1)|0;
    8515   $9 = $41;
    8516  }
    8517  $42 = $8;
    8518  $43 = $5;
    8519  HEAP32[$43>>2] = $42;
    8520  STACKTOP = sp;return 0;
    8521 }
    8522 function _write_lv_record($0,$1,$2,$3,$4) {
    8523  $0 = $0|0;
    8524  $1 = $1|0;
    8525  $2 = $2|0;
    8526  $3 = $3|0;
    8527  $4 = $4|0;
    8528  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8529  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    8530  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
    8531  var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, label = 0, sp = 0;
    8532  sp = STACKTOP;
    8533  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    8534  $10 = sp + 8|0;
    8535  $5 = $0;
    8536  $6 = $1;
    8537  $7 = $2;
    8538  $8 = $3;
    8539  $9 = $4;
    8540  $13 = $7;
    8541  $14 = HEAP32[$13>>2]|0;
    8542  HEAP32[$10>>2] = $14;
    8543  $11 = 0;
    8544  while(1) {
    8545   $15 = $11;
    8546   $16 = (($15) + 1)|0;
    8547   $17 = $6;
    8548   $18 = HEAP16[$17>>1]|0;
    8549   $19 = $18&65535;
    8550   $20 = ($16>>>0)<($19>>>0);
    8551   if (!($20)) {
    8552    break;
    8553   }
    8554   $21 = $6;
    8555   $22 = ((($21)) + 24|0);
    8556   $23 = HEAP32[$22>>2]|0;
    8557   $24 = $11;
    8558   $25 = (($23) + ($24<<3)|0);
    8559   $26 = HEAP32[$25>>2]|0;
    8560   $27 = ($26|0)==(0);
    8561   if ($27) {
    8562    $28 = HEAP32[$10>>2]|0;
    8563    $29 = (_uint16_to_bin(-1,$28)|0);
    8564    $30 = HEAP32[$10>>2]|0;
    8565    $31 = (($30) + ($29)|0);
    8566    HEAP32[$10>>2] = $31;
    8567    $32 = HEAP32[$10>>2]|0;
    8568    $33 = (_uint16_to_bin(0,$32)|0);
    8569    $34 = HEAP32[$10>>2]|0;
    8570    $35 = (($34) + ($33)|0);
    8571    HEAP32[$10>>2] = $35;
    8572   } else {
    8573    $36 = $8;
    8574    $37 = $9;
    8575    $38 = $6;
    8576    $39 = ((($38)) + 24|0);
    8577    $40 = HEAP32[$39>>2]|0;
    8578    $41 = $11;
    8579    $42 = (($40) + ($41<<3)|0);
    8580    $43 = HEAP32[$42>>2]|0;
    8581    $44 = (_find_filename_index($36,$37,$43)|0);
    8582    $12 = $44;
    8583    $45 = $12;
    8584    $46 = $45&65535;
    8585    $47 = HEAP32[$10>>2]|0;
    8586    $48 = (_uint16_to_bin($46,$47)|0);
    8587    $49 = HEAP32[$10>>2]|0;
    8588    $50 = (($49) + ($48)|0);
    8589    HEAP32[$10>>2] = $50;
    8590    $51 = $6;
    8591    $52 = ((($51)) + 24|0);
    8592    $53 = HEAP32[$52>>2]|0;
    8593    $54 = $11;
    8594    $55 = (($53) + ($54<<3)|0);
    8595    $56 = ((($55)) + 4|0);
    8596    $57 = HEAP16[$56>>1]|0;
    8597    $58 = HEAP32[$10>>2]|0;
    8598    $59 = (_uint16_to_bin($57,$58)|0);
    8599    $60 = HEAP32[$10>>2]|0;
    8600    $61 = (($60) + ($59)|0);
    8601    HEAP32[$10>>2] = $61;
    8602   }
    8603   $62 = $11;
    8604   $63 = (($62) + 1)|0;
    8605   $11 = $63;
    8606  }
    8607  $11 = 0;
    8608  while(1) {
    8609   $64 = $11;
    8610   $65 = $6;
    8611   $66 = ((($65)) + 52|0);
    8612   $67 = HEAP32[$66>>2]|0;
    8613   $68 = ($64>>>0)<($67>>>0);
    8614   if (!($68)) {
    8615    break;
    8616   }
    8617   $69 = $5;
    8618   $70 = $6;
    8619   $71 = ((($70)) + 20|0);
    8620   $72 = HEAP32[$71>>2]|0;
    8621   $73 = $11;
    8622   $74 = (($72) + ($73<<2)|0);
    8623   $75 = HEAP32[$74>>2]|0;
    8624   $76 = $8;
    8625   $77 = $9;
    8626   (_write_lv_record($69,$75,$10,$76,$77)|0);
    8627   $78 = $11;
    8628   $79 = (($78) + 1)|0;
    8629   $11 = $79;
    8630  }
    8631  $80 = HEAP32[$10>>2]|0;
    8632  $81 = $7;
    8633  HEAP32[$81>>2] = $80;
    8634  STACKTOP = sp;return 0;
    8635 }
    8636 function _find_filename_index($0,$1,$2) {
    8637  $0 = $0|0;
    8638  $1 = $1|0;
    8639  $2 = $2|0;
    8640  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    8641  sp = STACKTOP;
    8642  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    8643  $4 = $0;
    8644  $5 = $1;
    8645  $6 = $2;
    8646  $7 = 0;
    8647  while(1) {
    8648   $8 = $7;
    8649   $9 = $5;
    8650   $10 = ($8|0)<($9|0);
    8651   if (!($10)) {
    8652    label = 6;
    8653    break;
    8654   }
    8655   $11 = $4;
    8656   $12 = $7;
    8657   $13 = (($11) + ($12<<2)|0);
    8658   $14 = HEAP32[$13>>2]|0;
    8659   $15 = $6;
    8660   $16 = ($14|0)==($15|0);
    8661   $17 = $7;
    8662   if ($16) {
    8663    label = 4;
    8664    break;
    8665   }
    8666   $18 = (($17) + 1)|0;
    8667   $7 = $18;
    8668  }
    8669  if ((label|0) == 4) {
    8670   $3 = $17;
    8671   $19 = $3;
    8672   STACKTOP = sp;return ($19|0);
    8673  }
    8674  else if ((label|0) == 6) {
    8675   $3 = -1;
    8676   $19 = $3;
    8677   STACKTOP = sp;return ($19|0);
    8678  }
    8679  return (0)|0;
    8680 }
    8681 function _write_lineno_record($0,$1,$2) {
    8682  $0 = $0|0;
    8683  $1 = $1|0;
    8684  $2 = $2|0;
    8685  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8686  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    8687  sp = STACKTOP;
    8688  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    8689  $3 = $0;
    8690  $4 = $1;
    8691  $5 = $2;
    8692  $8 = 0;
    8693  $9 = $3;
    8694  $10 = $4;
    8695  $11 = $5;
    8696  $12 = (_write_lineno_record_1($9,$10,$11)|0);
    8697  $7 = $12;
    8698  $13 = $7;
    8699  $14 = $5;
    8700  $15 = (($14) + ($13)|0);
    8701  $5 = $15;
    8702  $16 = $7;
    8703  $17 = $8;
    8704  $18 = (($17) + ($16))|0;
    8705  $8 = $18;
    8706  $6 = 0;
    8707  while(1) {
    8708   $19 = $6;
    8709   $20 = $4;
    8710   $21 = ((($20)) + 52|0);
    8711   $22 = HEAP32[$21>>2]|0;
    8712   $23 = ($19>>>0)<($22>>>0);
    8713   if (!($23)) {
    8714    break;
    8715   }
    8716   $24 = $3;
    8717   $25 = $4;
    8718   $26 = $5;
    8719   $27 = (_write_lineno_record($24,$25,$26)|0);
    8720   $7 = $27;
    8721   $28 = $7;
    8722   $29 = $5;
    8723   $30 = (($29) + ($28)|0);
    8724   $5 = $30;
    8725   $31 = $7;
    8726   $32 = $8;
    8727   $33 = (($32) + ($31))|0;
    8728   $8 = $33;
    8729   $34 = $6;
    8730   $35 = (($34) + 1)|0;
    8731   $6 = $35;
    8732  }
    8733  $36 = $8;
    8734  STACKTOP = sp;return ($36|0);
    8735 }
    8736 function _write_section_lineno_header($0,$1,$2) {
    8737  $0 = $0|0;
    8738  $1 = $1|0;
    8739  $2 = $2|0;
    8740  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    8741  sp = STACKTOP;
    8742  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    8743  $3 = $0;
    8744  $4 = $1;
    8745  $5 = $2;
    8746  $7 = $5;
    8747  $6 = $7;
    8748  $8 = $6;
    8749  ;HEAP8[$8>>0]=HEAP8[54481>>0]|0;HEAP8[$8+1>>0]=HEAP8[54481+1>>0]|0;HEAP8[$8+2>>0]=HEAP8[54481+2>>0]|0;HEAP8[$8+3>>0]=HEAP8[54481+3>>0]|0;
    8750  $9 = $4;
    8751  $10 = $6;
    8752  $11 = ((($10)) + 4|0);
    8753  (_uint32_to_bin($9,$11)|0);
    8754  STACKTOP = sp;return 0;
    8755 }
    8756 function _write_lineno_record_1($0,$1,$2) {
    8757  $0 = $0|0;
    8758  $1 = $1|0;
    8759  $2 = $2|0;
    8760  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8761  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    8762  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    8763  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    8764  sp = STACKTOP;
    8765  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    8766  $3 = $0;
    8767  $4 = $1;
    8768  $5 = $2;
    8769  $10 = $5;
    8770  $6 = $10;
    8771  $11 = $6;
    8772  $12 = ((($11)) + 4|0);
    8773  $6 = $12;
    8774  $13 = $4;
    8775  $14 = ((($13)) + 28|0);
    8776  $15 = HEAP32[$14>>2]|0;
    8777  $16 = ($15|0)!=(0|0);
    8778  if ($16) {
    8779   $17 = $4;
    8780   $18 = ((($17)) + 28|0);
    8781   $19 = HEAP32[$18>>2]|0;
    8782   $20 = (_strlen($19)|0);
    8783   $8 = $20;
    8784  } else {
    8785   $8 = 0;
    8786  }
    8787  $21 = $8;
    8788  $22 = $21&65535;
    8789  $23 = $6;
    8790  $24 = (_uint16_to_bin($22,$23)|0);
    8791  $25 = $6;
    8792  $26 = (($25) + ($24)|0);
    8793  $6 = $26;
    8794  $27 = $8;
    8795  $28 = ($27|0)!=(0);
    8796  if ($28) {
    8797   $29 = $6;
    8798   $30 = $4;
    8799   $31 = ((($30)) + 28|0);
    8800   $32 = HEAP32[$31>>2]|0;
    8801   $33 = $8;
    8802   _memcpy(($29|0),($32|0),($33|0))|0;
    8803   $34 = $8;
    8804   $35 = $6;
    8805   $36 = (($35) + ($34)|0);
    8806   $6 = $36;
    8807  }
    8808  $37 = $4;
    8809  $38 = ((($37)) + 32|0);
    8810  $39 = HEAP32[$38>>2]|0;
    8811  $40 = ($39|0)!=(0|0);
    8812  if (!($40)) {
    8813   $65 = $6;
    8814   $66 = (_uint32_to_bin(0,$65)|0);
    8815   $67 = $6;
    8816   $68 = (($67) + ($66)|0);
    8817   $6 = $68;
    8818   $69 = $6;
    8819   $70 = $5;
    8820   $71 = $69;
    8821   $72 = $70;
    8822   $73 = (($71) - ($72))|0;
    8823   $9 = $73;
    8824   $74 = $9;
    8825   $75 = $5;
    8826   (_uint32_to_bin($74,$75)|0);
    8827   $76 = $9;
    8828   STACKTOP = sp;return ($76|0);
    8829  }
    8830  $41 = $4;
    8831  $42 = ((($41)) + 40|0);
    8832  $43 = HEAP32[$42>>2]|0;
    8833  $44 = $6;
    8834  $45 = (_uint32_to_bin($43,$44)|0);
    8835  $46 = $6;
    8836  $47 = (($46) + ($45)|0);
    8837  $6 = $47;
    8838  $7 = 0;
    8839  while(1) {
    8840   $48 = $7;
    8841   $49 = $4;
    8842   $50 = ((($49)) + 40|0);
    8843   $51 = HEAP32[$50>>2]|0;
    8844   $52 = ($48>>>0)<($51>>>0);
    8845   if (!($52)) {
    8846    break;
    8847   }
    8848   $53 = $4;
    8849   $54 = ((($53)) + 32|0);
    8850   $55 = HEAP32[$54>>2]|0;
    8851   $56 = $7;
    8852   $57 = (($55) + ($56<<1)|0);
    8853   $58 = HEAP16[$57>>1]|0;
    8854   $59 = $6;
    8855   $60 = (_uint16_to_bin($58,$59)|0);
    8856   $61 = $6;
    8857   $62 = (($61) + ($60)|0);
    8858   $6 = $62;
    8859   $63 = $7;
    8860   $64 = (($63) + 1)|0;
    8861   $7 = $64;
    8862  }
    8863  $69 = $6;
    8864  $70 = $5;
    8865  $71 = $69;
    8866  $72 = $70;
    8867  $73 = (($71) - ($72))|0;
    8868  $9 = $73;
    8869  $74 = $9;
    8870  $75 = $5;
    8871  (_uint32_to_bin($74,$75)|0);
    8872  $76 = $9;
    8873  STACKTOP = sp;return ($76|0);
    8874 }
    8875 function _write_debug_record($0,$1,$2,$3,$4) {
    8876  $0 = $0|0;
    8877  $1 = $1|0;
    8878  $2 = $2|0;
    8879  $3 = $3|0;
    8880  $4 = $4|0;
    8881  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    8882  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0;
    8883  var $8 = 0, $9 = 0, label = 0, sp = 0;
    8884  sp = STACKTOP;
    8885  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    8886  $5 = $0;
    8887  $6 = $1;
    8888  $7 = $2;
    8889  $8 = $3;
    8890  $9 = $4;
    8891  $13 = $5;
    8892  $14 = $6;
    8893  $15 = $7;
    8894  $16 = $8;
    8895  $17 = $9;
    8896  $18 = (_write_debug_record_1($13,$14,$15,$16,$17)|0);
    8897  $11 = $18;
    8898  $10 = $18;
    8899  $19 = $11;
    8900  $20 = $7;
    8901  $21 = (($20) + ($19)|0);
    8902  $7 = $21;
    8903  $12 = 0;
    8904  while(1) {
    8905   $22 = $12;
    8906   $23 = $6;
    8907   $24 = ((($23)) + 52|0);
    8908   $25 = HEAP32[$24>>2]|0;
    8909   $26 = ($22>>>0)<($25>>>0);
    8910   if (!($26)) {
    8911    break;
    8912   }
    8913   $27 = $5;
    8914   $28 = $6;
    8915   $29 = ((($28)) + 20|0);
    8916   $30 = HEAP32[$29>>2]|0;
    8917   $31 = $12;
    8918   $32 = (($30) + ($31<<2)|0);
    8919   $33 = HEAP32[$32>>2]|0;
    8920   $34 = $7;
    8921   $35 = $8;
    8922   $36 = $9;
    8923   $37 = (_write_debug_record($27,$33,$34,$35,$36)|0);
    8924   $11 = $37;
    8925   $38 = $11;
    8926   $39 = $7;
    8927   $40 = (($39) + ($38)|0);
    8928   $7 = $40;
    8929   $41 = $11;
    8930   $42 = $10;
    8931   $43 = (($42) + ($41))|0;
    8932   $10 = $43;
    8933   $44 = $12;
    8934   $45 = (($44) + 1)|0;
    8935   $12 = $45;
    8936  }
    8937  $46 = $10;
    8938  STACKTOP = sp;return ($46|0);
    8939 }
    8940 function _write_debug_record_1($0,$1,$2,$3,$4) {
    8941  $0 = $0|0;
    8942  $1 = $1|0;
    8943  $2 = $2|0;
    8944  $3 = $3|0;
    8945  $4 = $4|0;
    8946  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    8947  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    8948  var $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
    8949  var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
    8950  var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
    8951  var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
    8952  var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    8953  sp = STACKTOP;
    8954  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    8955  $5 = $0;
    8956  $6 = $1;
    8957  $7 = $2;
    8958  $8 = $3;
    8959  $9 = $4;
    8960  $17 = $7;
    8961  $18 = ((($17)) + 4|0);
    8962  $10 = $18;
    8963  $19 = $6;
    8964  $20 = ((($19)) + 36|0);
    8965  $21 = HEAP32[$20>>2]|0;
    8966  $22 = ((($21)) + 4|0);
    8967  $23 = HEAP16[$22>>1]|0;
    8968  $24 = $10;
    8969  $25 = (_uint16_to_bin($23,$24)|0);
    8970  $26 = $10;
    8971  $27 = (($26) + ($25)|0);
    8972  $10 = $27;
    8973  $11 = 0;
    8974  while(1) {
    8975   $28 = $11;
    8976   $29 = $28&65535;
    8977   $30 = $6;
    8978   $31 = ((($30)) + 36|0);
    8979   $32 = HEAP32[$31>>2]|0;
    8980   $33 = ((($32)) + 4|0);
    8981   $34 = HEAP16[$33>>1]|0;
    8982   $35 = $34&65535;
    8983   $36 = ($29|0)<($35|0);
    8984   if (!($36)) {
    8985    break;
    8986   }
    8987   $37 = $6;
    8988   $38 = ((($37)) + 36|0);
    8989   $39 = HEAP32[$38>>2]|0;
    8990   $40 = ((($39)) + 8|0);
    8991   $41 = HEAP32[$40>>2]|0;
    8992   $42 = $11;
    8993   $43 = $42&65535;
    8994   $44 = (($41) + ($43<<2)|0);
    8995   $45 = HEAP32[$44>>2]|0;
    8996   $14 = $45;
    8997   $46 = $14;
    8998   $47 = HEAP32[$46>>2]|0;
    8999   $48 = $10;
    9000   $49 = (_uint32_to_bin($47,$48)|0);
    9001   $50 = $10;
    9002   $51 = (($50) + ($49)|0);
    9003   $10 = $51;
    9004   $52 = $8;
    9005   $53 = $9;
    9006   $54 = $53&65535;
    9007   $55 = $14;
    9008   $56 = ((($55)) + 8|0);
    9009   $57 = HEAP32[$56>>2]|0;
    9010   $58 = (_find_filename_index($52,$54,$57)|0);
    9011   $13 = $58;
    9012   $59 = $13;
    9013   $60 = $59&65535;
    9014   $61 = $10;
    9015   $62 = (_uint16_to_bin($60,$61)|0);
    9016   $63 = $10;
    9017   $64 = (($63) + ($62)|0);
    9018   $10 = $64;
    9019   $65 = $14;
    9020   $66 = ((($65)) + 12|0);
    9021   $67 = HEAP32[$66>>2]|0;
    9022   $68 = $10;
    9023   $69 = (_uint32_to_bin($67,$68)|0);
    9024   $70 = $10;
    9025   $71 = (($70) + ($69)|0);
    9026   $10 = $71;
    9027   $72 = $14;
    9028   $73 = ((($72)) + 16|0);
    9029   $74 = HEAP32[$73>>2]|0;
    9030   $75 = $74&255;
    9031   $76 = $10;
    9032   $77 = (_uint8_to_bin($75,$76)|0);
    9033   $78 = $10;
    9034   $79 = (($78) + ($77)|0);
    9035   $10 = $79;
    9036   $80 = $14;
    9037   $81 = ((($80)) + 16|0);
    9038   $82 = HEAP32[$81>>2]|0;
    9039   L4: do {
    9040    switch ($82|0) {
    9041    case 0:  {
    9042     $15 = 0;
    9043     while(1) {
    9044      $83 = $15;
    9045      $84 = $14;
    9046      $85 = ((($84)) + 12|0);
    9047      $86 = HEAP32[$85>>2]|0;
    9048      $87 = ($83>>>0)<($86>>>0);
    9049      if (!($87)) {
    9050       break L4;
    9051      }
    9052      $88 = $14;
    9053      $89 = ((($88)) + 20|0);
    9054      $90 = HEAP32[$89>>2]|0;
    9055      $91 = $15;
    9056      $92 = (($90) + ($91<<1)|0);
    9057      $93 = HEAP16[$92>>1]|0;
    9058      $94 = $10;
    9059      $95 = (_uint16_to_bin($93,$94)|0);
    9060      $96 = $10;
    9061      $97 = (($96) + ($95)|0);
    9062      $10 = $97;
    9063      $98 = $15;
    9064      $99 = (($98) + 1)|0;
    9065      $15 = $99;
    9066     }
    9067     break;
    9068    }
    9069    case 1:  {
    9070     $16 = 0;
    9071     while(1) {
    9072      $100 = $16;
    9073      $101 = $14;
    9074      $102 = ((($101)) + 12|0);
    9075      $103 = HEAP32[$102>>2]|0;
    9076      $104 = ($100>>>0)<($103>>>0);
    9077      if (!($104)) {
    9078       break L4;
    9079      }
    9080      $105 = $14;
    9081      $106 = ((($105)) + 20|0);
    9082      $107 = HEAP32[$106>>2]|0;
    9083      $108 = $16;
    9084      $109 = (($107) + ($108<<3)|0);
    9085      $110 = HEAP32[$109>>2]|0;
    9086      $111 = $10;
    9087      $112 = (_uint32_to_bin($110,$111)|0);
    9088      $113 = $10;
    9089      $114 = (($113) + ($112)|0);
    9090      $10 = $114;
    9091      $115 = $14;
    9092      $116 = ((($115)) + 20|0);
    9093      $117 = HEAP32[$116>>2]|0;
    9094      $118 = $16;
    9095      $119 = (($117) + ($118<<3)|0);
    9096      $120 = ((($119)) + 4|0);
    9097      $121 = HEAP16[$120>>1]|0;
    9098      $122 = $10;
    9099      $123 = (_uint16_to_bin($121,$122)|0);
    9100      $124 = $10;
    9101      $125 = (($124) + ($123)|0);
    9102      $10 = $125;
    9103      $126 = $16;
    9104      $127 = (($126) + 1)|0;
    9105      $16 = $127;
    9106     }
    9107     break;
    9108    }
    9109    default: {
    9110    }
    9111    }
    9112   } while(0);
    9113   $128 = $11;
    9114   $129 = (($128) + 1)<<16>>16;
    9115   $11 = $129;
    9116  }
    9117  $130 = $10;
    9118  $131 = $7;
    9119  $132 = $130;
    9120  $133 = $131;
    9121  $134 = (($132) - ($133))|0;
    9122  $12 = $134;
    9123  $135 = $12;
    9124  $136 = $7;
    9125  (_uint32_to_bin($135,$136)|0);
    9126  $137 = $12;
    9127  STACKTOP = sp;return ($137|0);
    9128 }
    9129 function _uint8_to_bin($0,$1) {
    9130  $0 = $0|0;
    9131  $1 = $1|0;
    9132  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    9133  sp = STACKTOP;
    9134  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    9135  $2 = $0;
    9136  $3 = $1;
    9137  $4 = $2;
    9138  $5 = $3;
    9139  HEAP8[$5>>0] = $4;
    9140  STACKTOP = sp;return 1;
    9141 }
    9142 function _write_irep_record($0,$1,$2,$3,$4) {
    9143  $0 = $0|0;
    9144  $1 = $1|0;
    9145  $2 = $2|0;
    9146  $3 = $3|0;
    9147  $4 = $4|0;
    9148  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    9149  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    9150  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
    9151  var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    9152  sp = STACKTOP;
    9153  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    9154  $14 = sp;
    9155  $6 = $0;
    9156  $7 = $1;
    9157  $8 = $2;
    9158  $9 = $3;
    9159  $10 = $4;
    9160  $15 = $8;
    9161  $12 = $15;
    9162  $16 = $7;
    9163  $17 = ($16|0)==(0|0);
    9164  if ($17) {
    9165   $5 = -6;
    9166   $79 = $5;
    9167   STACKTOP = sp;return ($79|0);
    9168  }
    9169  $18 = $6;
    9170  $19 = $7;
    9171  $20 = (_get_irep_record_size_1($18,$19)|0);
    9172  $21 = $9;
    9173  HEAP32[$21>>2] = $20;
    9174  $22 = $9;
    9175  $23 = HEAP32[$22>>2]|0;
    9176  $24 = ($23|0)==(0);
    9177  if ($24) {
    9178   $5 = -1;
    9179   $79 = $5;
    9180   STACKTOP = sp;return ($79|0);
    9181  }
    9182  $25 = $6;
    9183  $26 = $7;
    9184  $27 = $8;
    9185  $28 = (_write_irep_header($25,$26,$27)|0);
    9186  $29 = $8;
    9187  $30 = (($29) + ($28)|0);
    9188  $8 = $30;
    9189  $31 = $6;
    9190  $32 = $7;
    9191  $33 = $8;
    9192  $34 = $10;
    9193  $35 = (_write_iseq_block($31,$32,$33,$34)|0);
    9194  $36 = $8;
    9195  $37 = (($36) + ($35)|0);
    9196  $8 = $37;
    9197  $38 = $6;
    9198  $39 = $7;
    9199  $40 = $8;
    9200  $41 = (_write_pool_block($38,$39,$40)|0);
    9201  $42 = $8;
    9202  $43 = (($42) + ($41)|0);
    9203  $8 = $43;
    9204  $44 = $6;
    9205  $45 = $7;
    9206  $46 = $8;
    9207  $47 = (_write_syms_block($44,$45,$46)|0);
    9208  $48 = $8;
    9209  $49 = (($48) + ($47)|0);
    9210  $8 = $49;
    9211  $11 = 0;
    9212  while(1) {
    9213   $50 = $11;
    9214   $51 = $7;
    9215   $52 = ((($51)) + 52|0);
    9216   $53 = HEAP32[$52>>2]|0;
    9217   $54 = ($50>>>0)<($53>>>0);
    9218   if (!($54)) {
    9219    label = 10;
    9220    break;
    9221   }
    9222   $55 = $6;
    9223   $56 = $7;
    9224   $57 = ((($56)) + 20|0);
    9225   $58 = HEAP32[$57>>2]|0;
    9226   $59 = $11;
    9227   $60 = (($58) + ($59<<2)|0);
    9228   $61 = HEAP32[$60>>2]|0;
    9229   $62 = $8;
    9230   $63 = $10;
    9231   $64 = (_write_irep_record($55,$61,$62,$14,$63)|0);
    9232   $13 = $64;
    9233   $65 = $13;
    9234   $66 = ($65|0)!=(0);
    9235   if ($66) {
    9236    label = 8;
    9237    break;
    9238   }
    9239   $68 = HEAP32[$14>>2]|0;
    9240   $69 = $8;
    9241   $70 = (($69) + ($68)|0);
    9242   $8 = $70;
    9243   $71 = $11;
    9244   $72 = (($71) + 1)|0;
    9245   $11 = $72;
    9246  }
    9247  if ((label|0) == 8) {
    9248   $67 = $13;
    9249   $5 = $67;
    9250   $79 = $5;
    9251   STACKTOP = sp;return ($79|0);
    9252  }
    9253  else if ((label|0) == 10) {
    9254   $73 = $8;
    9255   $74 = $12;
    9256   $75 = $73;
    9257   $76 = $74;
    9258   $77 = (($75) - ($76))|0;
    9259   $78 = $9;
    9260   HEAP32[$78>>2] = $77;
    9261   $5 = 0;
    9262   $79 = $5;
    9263   STACKTOP = sp;return ($79|0);
    9264  }
    9265  return (0)|0;
    9266 }
    9267 function _write_section_irep_header($0,$1,$2) {
    9268  $0 = $0|0;
    9269  $1 = $1|0;
    9270  $2 = $2|0;
    9271  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    9272  sp = STACKTOP;
    9273  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    9274  $3 = $0;
    9275  $4 = $1;
    9276  $5 = $2;
    9277  $7 = $5;
    9278  $6 = $7;
    9279  $8 = $6;
    9280  ;HEAP8[$8>>0]=HEAP8[54491>>0]|0;HEAP8[$8+1>>0]=HEAP8[54491+1>>0]|0;HEAP8[$8+2>>0]=HEAP8[54491+2>>0]|0;HEAP8[$8+3>>0]=HEAP8[54491+3>>0]|0;
    9281  $9 = $4;
    9282  $10 = $6;
    9283  $11 = ((($10)) + 4|0);
    9284  (_uint32_to_bin($9,$11)|0);
    9285  $12 = $6;
    9286  $13 = ((($12)) + 8|0);
    9287  ;HEAP8[$13>>0]=HEAP8[54466>>0]|0;HEAP8[$13+1>>0]=HEAP8[54466+1>>0]|0;HEAP8[$13+2>>0]=HEAP8[54466+2>>0]|0;HEAP8[$13+3>>0]=HEAP8[54466+3>>0]|0;
    9288  STACKTOP = sp;return 0;
    9289 }
    9290 function _get_irep_record_size_1($0,$1) {
    9291  $0 = $0|0;
    9292  $1 = $1|0;
    9293  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    9294  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    9295  sp = STACKTOP;
    9296  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    9297  $2 = $0;
    9298  $3 = $1;
    9299  $4 = 0;
    9300  $5 = $2;
    9301  $6 = (_get_irep_header_size($5)|0);
    9302  $7 = $4;
    9303  $8 = (($7) + ($6))|0;
    9304  $4 = $8;
    9305  $9 = $2;
    9306  $10 = $3;
    9307  $11 = (_get_iseq_block_size($9,$10)|0);
    9308  $12 = $4;
    9309  $13 = (($12) + ($11))|0;
    9310  $4 = $13;
    9311  $14 = $2;
    9312  $15 = $3;
    9313  $16 = (_get_pool_block_size($14,$15)|0);
    9314  $17 = $4;
    9315  $18 = (($17) + ($16))|0;
    9316  $4 = $18;
    9317  $19 = $2;
    9318  $20 = $3;
    9319  $21 = (_get_syms_block_size($19,$20)|0);
    9320  $22 = $4;
    9321  $23 = (($22) + ($21))|0;
    9322  $4 = $23;
    9323  $24 = $4;
    9324  STACKTOP = sp;return ($24|0);
    9325 }
    9326 function _write_irep_header($0,$1,$2) {
    9327  $0 = $0|0;
    9328  $1 = $1|0;
    9329  $2 = $2|0;
    9330  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    9331  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    9332  sp = STACKTOP;
    9333  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    9334  $3 = $0;
    9335  $4 = $1;
    9336  $5 = $2;
    9337  $7 = $5;
    9338  $6 = $7;
    9339  $8 = $3;
    9340  $9 = $4;
    9341  $10 = (_get_irep_record_size_1($8,$9)|0);
    9342  $11 = $6;
    9343  $12 = (_uint32_to_bin($10,$11)|0);
    9344  $13 = $6;
    9345  $14 = (($13) + ($12)|0);
    9346  $6 = $14;
    9347  $15 = $4;
    9348  $16 = HEAP16[$15>>1]|0;
    9349  $17 = $6;
    9350  $18 = (_uint16_to_bin($16,$17)|0);
    9351  $19 = $6;
    9352  $20 = (($19) + ($18)|0);
    9353  $6 = $20;
    9354  $21 = $4;
    9355  $22 = ((($21)) + 2|0);
    9356  $23 = HEAP16[$22>>1]|0;
    9357  $24 = $6;
    9358  $25 = (_uint16_to_bin($23,$24)|0);
    9359  $26 = $6;
    9360  $27 = (($26) + ($25)|0);
    9361  $6 = $27;
    9362  $28 = $4;
    9363  $29 = ((($28)) + 52|0);
    9364  $30 = HEAP32[$29>>2]|0;
    9365  $31 = $30&65535;
    9366  $32 = $6;
    9367  $33 = (_uint16_to_bin($31,$32)|0);
    9368  $34 = $6;
    9369  $35 = (($34) + ($33)|0);
    9370  $6 = $35;
    9371  $36 = $6;
    9372  $37 = $5;
    9373  $38 = $36;
    9374  $39 = $37;
    9375  $40 = (($38) - ($39))|0;
    9376  STACKTOP = sp;return ($40|0);
    9377 }
    9378 function _write_iseq_block($0,$1,$2,$3) {
    9379  $0 = $0|0;
    9380  $1 = $1|0;
    9381  $2 = $2|0;
    9382  $3 = $3|0;
    9383  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    9384  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    9385  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    9386  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, label = 0, sp = 0;
    9387  sp = STACKTOP;
    9388  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    9389  $4 = $0;
    9390  $5 = $1;
    9391  $6 = $2;
    9392  $7 = $3;
    9393  $10 = $6;
    9394  $8 = $10;
    9395  $11 = $5;
    9396  $12 = ((($11)) + 40|0);
    9397  $13 = HEAP32[$12>>2]|0;
    9398  $14 = $8;
    9399  $15 = (_uint32_to_bin($13,$14)|0);
    9400  $16 = $8;
    9401  $17 = (($16) + ($15)|0);
    9402  $8 = $17;
    9403  $18 = $8;
    9404  $19 = (_write_padding($18)|0);
    9405  $20 = $8;
    9406  $21 = (($20) + ($19)|0);
    9407  $8 = $21;
    9408  $22 = $7;
    9409  $23 = $22&255;
    9410  $24 = $23 & 6;
    9411  switch ($24|0) {
    9412  case 2:  {
    9413   $25 = (_bigendian_p_3()|0);
    9414   $26 = ($25|0)!=(0);
    9415   if (!($26)) {
    9416    $9 = 0;
    9417    while(1) {
    9418     $27 = $9;
    9419     $28 = $5;
    9420     $29 = ((($28)) + 40|0);
    9421     $30 = HEAP32[$29>>2]|0;
    9422     $31 = ($27>>>0)<($30>>>0);
    9423     if (!($31)) {
    9424      break;
    9425     }
    9426     $32 = $5;
    9427     $33 = ((($32)) + 8|0);
    9428     $34 = HEAP32[$33>>2]|0;
    9429     $35 = $9;
    9430     $36 = (($34) + ($35<<2)|0);
    9431     $37 = HEAP32[$36>>2]|0;
    9432     $38 = $8;
    9433     $39 = (_uint32_to_bin($37,$38)|0);
    9434     $40 = $8;
    9435     $41 = (($40) + ($39)|0);
    9436     $8 = $41;
    9437     $42 = $9;
    9438     $43 = (($42) + 1)|0;
    9439     $9 = $43;
    9440    }
    9441    $77 = $8;
    9442    $78 = $6;
    9443    $79 = $77;
    9444    $80 = $78;
    9445    $81 = (($79) - ($80))|0;
    9446    STACKTOP = sp;return ($81|0);
    9447   }
    9448   break;
    9449  }
    9450  case 4:  {
    9451   $44 = (_bigendian_p_3()|0);
    9452   $45 = ($44|0)!=(0);
    9453   if ($45) {
    9454    $9 = 0;
    9455    while(1) {
    9456     $46 = $9;
    9457     $47 = $5;
    9458     $48 = ((($47)) + 40|0);
    9459     $49 = HEAP32[$48>>2]|0;
    9460     $50 = ($46>>>0)<($49>>>0);
    9461     if (!($50)) {
    9462      break;
    9463     }
    9464     $51 = $5;
    9465     $52 = ((($51)) + 8|0);
    9466     $53 = HEAP32[$52>>2]|0;
    9467     $54 = $9;
    9468     $55 = (($53) + ($54<<2)|0);
    9469     $56 = HEAP32[$55>>2]|0;
    9470     $57 = $8;
    9471     $58 = (_uint32l_to_bin($56,$57)|0);
    9472     $59 = $8;
    9473     $60 = (($59) + ($58)|0);
    9474     $8 = $60;
    9475     $61 = $9;
    9476     $62 = (($61) + 1)|0;
    9477     $9 = $62;
    9478    }
    9479    $77 = $8;
    9480    $78 = $6;
    9481    $79 = $77;
    9482    $80 = $78;
    9483    $81 = (($79) - ($80))|0;
    9484    STACKTOP = sp;return ($81|0);
    9485   }
    9486   break;
    9487  }
    9488  case 6:  {
    9489   break;
    9490  }
    9491  default: {
    9492   $77 = $8;
    9493   $78 = $6;
    9494   $79 = $77;
    9495   $80 = $78;
    9496   $81 = (($79) - ($80))|0;
    9497   STACKTOP = sp;return ($81|0);
    9498  }
    9499  }
    9500  $63 = $8;
    9501  $64 = $5;
    9502  $65 = ((($64)) + 8|0);
    9503  $66 = HEAP32[$65>>2]|0;
    9504  $67 = $5;
    9505  $68 = ((($67)) + 40|0);
    9506  $69 = HEAP32[$68>>2]|0;
    9507  $70 = $69<<2;
    9508  _memcpy(($63|0),($66|0),($70|0))|0;
    9509  $71 = $5;
    9510  $72 = ((($71)) + 40|0);
    9511  $73 = HEAP32[$72>>2]|0;
    9512  $74 = $73<<2;
    9513  $75 = $8;
    9514  $76 = (($75) + ($74)|0);
    9515  $8 = $76;
    9516  $77 = $8;
    9517  $78 = $6;
    9518  $79 = $77;
    9519  $80 = $78;
    9520  $81 = (($79) - ($80))|0;
    9521  STACKTOP = sp;return ($81|0);
    9522 }
    9523 function _write_pool_block($0,$1,$2) {
    9524  $0 = $0|0;
    9525  $1 = $1|0;
    9526  $2 = $2|0;
    9527  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0;
    9528  var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    9529  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
    9530  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    9531  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    9532  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    9533  sp = STACKTOP;
    9534  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    9535  $$byval_copy1 = sp + 72|0;
    9536  $$byval_copy = sp + 64|0;
    9537  $9 = sp + 32|0;
    9538  $12 = sp + 16|0;
    9539  $13 = sp + 8|0;
    9540  $3 = $0;
    9541  $4 = $1;
    9542  $5 = $2;
    9543  $15 = $5;
    9544  $7 = $15;
    9545  $16 = $4;
    9546  $17 = ((($16)) + 44|0);
    9547  $18 = HEAP32[$17>>2]|0;
    9548  $19 = $7;
    9549  $20 = (_uint32_to_bin($18,$19)|0);
    9550  $21 = $7;
    9551  $22 = (($21) + ($20)|0);
    9552  $7 = $22;
    9553  $6 = 0;
    9554  while(1) {
    9555   $23 = $6;
    9556   $24 = $4;
    9557   $25 = ((($24)) + 44|0);
    9558   $26 = HEAP32[$25>>2]|0;
    9559   $27 = ($23>>>0)<($26>>>0);
    9560   if (!($27)) {
    9561    break;
    9562   }
    9563   $28 = $3;
    9564   $29 = (_mrb_gc_arena_save($28)|0);
    9565   $11 = $29;
    9566   $30 = $4;
    9567   $31 = ((($30)) + 12|0);
    9568   $32 = HEAP32[$31>>2]|0;
    9569   $33 = $6;
    9570   $34 = (($32) + ($33<<3)|0);
    9571   $35 = ((($34)) + 4|0);
    9572   $36 = HEAP32[$35>>2]|0;
    9573   switch ($36|0) {
    9574   case 3:  {
    9575    $37 = $7;
    9576    $38 = (_uint8_to_bin(1,$37)|0);
    9577    $39 = $7;
    9578    $40 = (($39) + ($38)|0);
    9579    $7 = $40;
    9580    $41 = $3;
    9581    $42 = $4;
    9582    $43 = ((($42)) + 12|0);
    9583    $44 = HEAP32[$43>>2]|0;
    9584    $45 = $6;
    9585    $46 = (($44) + ($45<<3)|0);
    9586    ;HEAP32[$$byval_copy>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$46+4>>2]|0;
    9587    _mrb_fixnum_to_str($12,$41,$$byval_copy,10);
    9588    ;HEAP32[$9>>2]=HEAP32[$12>>2]|0;HEAP32[$9+4>>2]=HEAP32[$12+4>>2]|0;
    9589    label = 7;
    9590    break;
    9591   }
    9592   case 6:  {
    9593    $47 = $7;
    9594    $48 = (_uint8_to_bin(2,$47)|0);
    9595    $49 = $7;
    9596    $50 = (($49) + ($48)|0);
    9597    $7 = $50;
    9598    $51 = $3;
    9599    $52 = $4;
    9600    $53 = ((($52)) + 12|0);
    9601    $54 = HEAP32[$53>>2]|0;
    9602    $55 = $6;
    9603    $56 = (($54) + ($55<<3)|0);
    9604    ;HEAP32[$$byval_copy1>>2]=HEAP32[$56>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$56+4>>2]|0;
    9605    _mrb_float_to_str($13,$51,$$byval_copy1,54496);
    9606    ;HEAP32[$9>>2]=HEAP32[$13>>2]|0;HEAP32[$9+4>>2]=HEAP32[$13+4>>2]|0;
    9607    label = 7;
    9608    break;
    9609   }
    9610   case 16:  {
    9611    $57 = $7;
    9612    $58 = (_uint8_to_bin(0,$57)|0);
    9613    $59 = $7;
    9614    $60 = (($59) + ($58)|0);
    9615    $7 = $60;
    9616    $61 = $4;
    9617    $62 = ((($61)) + 12|0);
    9618    $63 = HEAP32[$62>>2]|0;
    9619    $64 = $6;
    9620    $65 = (($63) + ($64<<3)|0);
    9621    ;HEAP32[$9>>2]=HEAP32[$65>>2]|0;HEAP32[$9+4>>2]=HEAP32[$65+4>>2]|0;
    9622    label = 7;
    9623    break;
    9624   }
    9625   default: {
    9626   }
    9627   }
    9628   if ((label|0) == 7) {
    9629    label = 0;
    9630    $66 = HEAP32[$9>>2]|0;
    9631    $67 = HEAP32[$66>>2]|0;
    9632    $68 = $67 >>> 11;
    9633    $69 = $68 & 8;
    9634    $70 = ($69|0)!=(0);
    9635    $71 = HEAP32[$9>>2]|0;
    9636    $72 = ((($71)) + 12|0);
    9637    if ($70) {
    9638     $75 = $72;
    9639    } else {
    9640     $73 = ((($72)) + 8|0);
    9641     $74 = HEAP32[$73>>2]|0;
    9642     $75 = $74;
    9643    }
    9644    $10 = $75;
    9645    $76 = HEAP32[$9>>2]|0;
    9646    $77 = HEAP32[$76>>2]|0;
    9647    $78 = $77 >>> 11;
    9648    $79 = $78 & 8;
    9649    $80 = ($79|0)!=(0);
    9650    $81 = HEAP32[$9>>2]|0;
    9651    if ($80) {
    9652     $82 = HEAP32[$81>>2]|0;
    9653     $83 = $82 >>> 11;
    9654     $84 = $83 & 496;
    9655     $85 = $84 >> 4;
    9656     $88 = $85;
    9657    } else {
    9658     $86 = ((($81)) + 12|0);
    9659     $87 = HEAP32[$86>>2]|0;
    9660     $88 = $87;
    9661    }
    9662    $14 = $88;
    9663    $89 = $14;
    9664    $90 = $89&65535;
    9665    $8 = $90;
    9666    $91 = $8;
    9667    $92 = $7;
    9668    $93 = (_uint16_to_bin($91,$92)|0);
    9669    $94 = $7;
    9670    $95 = (($94) + ($93)|0);
    9671    $7 = $95;
    9672    $96 = $7;
    9673    $97 = $10;
    9674    $98 = $8;
    9675    $99 = $98&65535;
    9676    _memcpy(($96|0),($97|0),($99|0))|0;
    9677    $100 = $8;
    9678    $101 = $100&65535;
    9679    $102 = $7;
    9680    $103 = (($102) + ($101)|0);
    9681    $7 = $103;
    9682    $104 = $3;
    9683    $105 = $11;
    9684    _mrb_gc_arena_restore($104,$105);
    9685   }
    9686   $106 = $6;
    9687   $107 = (($106) + 1)|0;
    9688   $6 = $107;
    9689  }
    9690  $108 = $7;
    9691  $109 = $5;
    9692  $110 = $108;
    9693  $111 = $109;
    9694  $112 = (($110) - ($111))|0;
    9695  STACKTOP = sp;return ($112|0);
    9696 }
    9697 function _write_syms_block($0,$1,$2) {
    9698  $0 = $0|0;
    9699  $1 = $1|0;
    9700  $2 = $2|0;
    9701  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    9702  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    9703  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0;
    9704  var $8 = 0, $9 = 0, label = 0, sp = 0;
    9705  sp = STACKTOP;
    9706  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    9707  $9 = sp;
    9708  $3 = $0;
    9709  $4 = $1;
    9710  $5 = $2;
    9711  $10 = $5;
    9712  $7 = $10;
    9713  $11 = $4;
    9714  $12 = ((($11)) + 48|0);
    9715  $13 = HEAP32[$12>>2]|0;
    9716  $14 = $7;
    9717  $15 = (_uint32_to_bin($13,$14)|0);
    9718  $16 = $7;
    9719  $17 = (($16) + ($15)|0);
    9720  $7 = $17;
    9721  $6 = 0;
    9722  while(1) {
    9723   $18 = $6;
    9724   $19 = $4;
    9725   $20 = ((($19)) + 48|0);
    9726   $21 = HEAP32[$20>>2]|0;
    9727   $22 = ($18>>>0)<($21>>>0);
    9728   if (!($22)) {
    9729    break;
    9730   }
    9731   $23 = $4;
    9732   $24 = ((($23)) + 16|0);
    9733   $25 = HEAP32[$24>>2]|0;
    9734   $26 = $6;
    9735   $27 = (($25) + ($26<<2)|0);
    9736   $28 = HEAP32[$27>>2]|0;
    9737   $29 = ($28|0)!=(0);
    9738   if ($29) {
    9739    $30 = $3;
    9740    $31 = $4;
    9741    $32 = ((($31)) + 16|0);
    9742    $33 = HEAP32[$32>>2]|0;
    9743    $34 = $6;
    9744    $35 = (($33) + ($34<<2)|0);
    9745    $36 = HEAP32[$35>>2]|0;
    9746    $37 = (_mrb_sym2name_len($30,$36,$9)|0);
    9747    $8 = $37;
    9748    $38 = HEAP32[$9>>2]|0;
    9749    $39 = $38&65535;
    9750    $40 = $7;
    9751    $41 = (_uint16_to_bin($39,$40)|0);
    9752    $42 = $7;
    9753    $43 = (($42) + ($41)|0);
    9754    $7 = $43;
    9755    $44 = $7;
    9756    $45 = $8;
    9757    $46 = HEAP32[$9>>2]|0;
    9758    _memcpy(($44|0),($45|0),($46|0))|0;
    9759    $47 = HEAP32[$9>>2]|0;
    9760    $48 = $47&65535;
    9761    $49 = $48&65535;
    9762    $50 = $7;
    9763    $51 = (($50) + ($49)|0);
    9764    $7 = $51;
    9765    $52 = $7;
    9766    $53 = ((($52)) + 1|0);
    9767    $7 = $53;
    9768    HEAP8[$52>>0] = 0;
    9769   } else {
    9770    $54 = $7;
    9771    $55 = (_uint16_to_bin(-1,$54)|0);
    9772    $56 = $7;
    9773    $57 = (($56) + ($55)|0);
    9774    $7 = $57;
    9775   }
    9776   $58 = $6;
    9777   $59 = (($58) + 1)|0;
    9778   $6 = $59;
    9779  }
    9780  $60 = $7;
    9781  $61 = $5;
    9782  $62 = $60;
    9783  $63 = $61;
    9784  $64 = (($62) - ($63))|0;
    9785  STACKTOP = sp;return ($64|0);
    9786 }
    9787 function _write_padding($0) {
    9788  $0 = $0|0;
    9789  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    9790  sp = STACKTOP;
    9791  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    9792  $1 = $0;
    9793  $2 = 4;
    9794  $4 = $1;
    9795  $5 = $4;
    9796  $6 = (0 - ($5))|0;
    9797  $7 = $6 & 3;
    9798  $3 = $7;
    9799  $8 = $3;
    9800  $9 = ($8>>>0)>(0);
    9801  if ($9) {
    9802   $10 = $1;
    9803   $11 = $3;
    9804   _memset(($10|0),0,($11|0))|0;
    9805  }
    9806  $12 = $3;
    9807  STACKTOP = sp;return ($12|0);
    9808 }
    9809 function _uint32l_to_bin($0,$1) {
    9810  $0 = $0|0;
    9811  $1 = $1|0;
    9812  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0;
    9813  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    9814  sp = STACKTOP;
    9815  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    9816  $2 = $0;
    9817  $3 = $1;
    9818  $4 = $2;
    9819  $5 = $4 >>> 24;
    9820  $6 = $5 & 255;
    9821  $7 = $6&255;
    9822  $8 = $3;
    9823  $9 = ((($8)) + 3|0);
    9824  HEAP8[$9>>0] = $7;
    9825  $10 = $2;
    9826  $11 = $10 >>> 16;
    9827  $12 = $11 & 255;
    9828  $13 = $12&255;
    9829  $14 = $3;
    9830  $15 = ((($14)) + 2|0);
    9831  HEAP8[$15>>0] = $13;
    9832  $16 = $2;
    9833  $17 = $16 >>> 8;
    9834  $18 = $17 & 255;
    9835  $19 = $18&255;
    9836  $20 = $3;
    9837  $21 = ((($20)) + 1|0);
    9838  HEAP8[$21>>0] = $19;
    9839  $22 = $2;
    9840  $23 = $22 & 255;
    9841  $24 = $23&255;
    9842  $25 = $3;
    9843  HEAP8[$25>>0] = $24;
    9844  STACKTOP = sp;return 4;
    9845 }
    9846 function _get_irep_header_size($0) {
    9847  $0 = $0|0;
    9848  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    9849  sp = STACKTOP;
    9850  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    9851  $1 = $0;
    9852  $2 = 0;
    9853  $3 = $2;
    9854  $4 = (($3) + 4)|0;
    9855  $2 = $4;
    9856  $5 = $2;
    9857  $6 = (($5) + 6)|0;
    9858  $2 = $6;
    9859  $7 = $2;
    9860  STACKTOP = sp;return ($7|0);
    9861 }
    9862 function _get_iseq_block_size($0,$1) {
    9863  $0 = $0|0;
    9864  $1 = $1|0;
    9865  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    9866  sp = STACKTOP;
    9867  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    9868  $2 = $0;
    9869  $3 = $1;
    9870  $4 = 0;
    9871  $5 = $4;
    9872  $6 = (($5) + 4)|0;
    9873  $4 = $6;
    9874  $7 = $4;
    9875  $8 = (($7) + 4)|0;
    9876  $4 = $8;
    9877  $9 = $3;
    9878  $10 = ((($9)) + 40|0);
    9879  $11 = HEAP32[$10>>2]|0;
    9880  $12 = $11<<2;
    9881  $13 = $4;
    9882  $14 = (($13) + ($12))|0;
    9883  $4 = $14;
    9884  $15 = $4;
    9885  STACKTOP = sp;return ($15|0);
    9886 }
    9887 function _get_pool_block_size($0,$1) {
    9888  $0 = $0|0;
    9889  $1 = $1|0;
    9890  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
    9891  var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
    9892  var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
    9893  var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
    9894  var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
    9895  var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    9896  sp = STACKTOP;
    9897  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    9898  $$byval_copy1 = sp + 72|0;
    9899  $$byval_copy = sp + 64|0;
    9900  $6 = sp + 40|0;
    9901  $8 = sp + 24|0;
    9902  $10 = sp + 8|0;
    9903  $2 = $0;
    9904  $3 = $1;
    9905  $4 = 0;
    9906  $13 = $4;
    9907  $14 = (($13) + 4)|0;
    9908  $4 = $14;
    9909  $15 = $3;
    9910  $16 = ((($15)) + 44|0);
    9911  $17 = HEAP32[$16>>2]|0;
    9912  $18 = ($17*3)|0;
    9913  $19 = $4;
    9914  $20 = (($19) + ($18))|0;
    9915  $4 = $20;
    9916  $5 = 0;
    9917  while(1) {
    9918   $21 = $5;
    9919   $22 = $3;
    9920   $23 = ((($22)) + 44|0);
    9921   $24 = HEAP32[$23>>2]|0;
    9922   $25 = ($21>>>0)<($24>>>0);
    9923   if (!($25)) {
    9924    break;
    9925   }
    9926   $26 = $2;
    9927   $27 = (_mrb_gc_arena_save($26)|0);
    9928   $7 = $27;
    9929   $28 = $3;
    9930   $29 = ((($28)) + 12|0);
    9931   $30 = HEAP32[$29>>2]|0;
    9932   $31 = $5;
    9933   $32 = (($30) + ($31<<3)|0);
    9934   $33 = ((($32)) + 4|0);
    9935   $34 = HEAP32[$33>>2]|0;
    9936   switch ($34|0) {
    9937   case 3:  {
    9938    $35 = $2;
    9939    $36 = $3;
    9940    $37 = ((($36)) + 12|0);
    9941    $38 = HEAP32[$37>>2]|0;
    9942    $39 = $5;
    9943    $40 = (($38) + ($39<<3)|0);
    9944    ;HEAP32[$$byval_copy>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$40+4>>2]|0;
    9945    _mrb_fixnum_to_str($8,$35,$$byval_copy,10);
    9946    ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
    9947    $41 = HEAP32[$6>>2]|0;
    9948    $42 = HEAP32[$41>>2]|0;
    9949    $43 = $42 >>> 11;
    9950    $44 = $43 & 8;
    9951    $45 = ($44|0)!=(0);
    9952    $46 = HEAP32[$6>>2]|0;
    9953    if ($45) {
    9954     $47 = HEAP32[$46>>2]|0;
    9955     $48 = $47 >>> 11;
    9956     $49 = $48 & 496;
    9957     $50 = $49 >> 4;
    9958     $53 = $50;
    9959    } else {
    9960     $51 = ((($46)) + 12|0);
    9961     $52 = HEAP32[$51>>2]|0;
    9962     $53 = $52;
    9963    }
    9964    $9 = $53;
    9965    $54 = $9;
    9966    $55 = $4;
    9967    $56 = (($55) + ($54))|0;
    9968    $4 = $56;
    9969    break;
    9970   }
    9971   case 6:  {
    9972    $57 = $2;
    9973    $58 = $3;
    9974    $59 = ((($58)) + 12|0);
    9975    $60 = HEAP32[$59>>2]|0;
    9976    $61 = $5;
    9977    $62 = (($60) + ($61<<3)|0);
    9978    ;HEAP32[$$byval_copy1>>2]=HEAP32[$62>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$62+4>>2]|0;
    9979    _mrb_float_to_str($10,$57,$$byval_copy1,54496);
    9980    ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
    9981    $63 = HEAP32[$6>>2]|0;
    9982    $64 = HEAP32[$63>>2]|0;
    9983    $65 = $64 >>> 11;
    9984    $66 = $65 & 8;
    9985    $67 = ($66|0)!=(0);
    9986    $68 = HEAP32[$6>>2]|0;
    9987    if ($67) {
    9988     $69 = HEAP32[$68>>2]|0;
    9989     $70 = $69 >>> 11;
    9990     $71 = $70 & 496;
    9991     $72 = $71 >> 4;
    9992     $75 = $72;
    9993    } else {
    9994     $73 = ((($68)) + 12|0);
    9995     $74 = HEAP32[$73>>2]|0;
    9996     $75 = $74;
    9997    }
    9998    $11 = $75;
    9999    $76 = $11;
    10000    $77 = $4;
    10001    $78 = (($77) + ($76))|0;
    10002    $4 = $78;
    10003    break;
    10004   }
    10005   case 16:  {
    10006    $79 = $3;
    10007    $80 = ((($79)) + 12|0);
    10008    $81 = HEAP32[$80>>2]|0;
    10009    $82 = $5;
    10010    $83 = (($81) + ($82<<3)|0);
    10011    $84 = HEAP32[$83>>2]|0;
    10012    $85 = HEAP32[$84>>2]|0;
    10013    $86 = $85 >>> 11;
    10014    $87 = $86 & 8;
    10015    $88 = ($87|0)!=(0);
    10016    $89 = $3;
    10017    $90 = ((($89)) + 12|0);
    10018    $91 = HEAP32[$90>>2]|0;
    10019    $92 = $5;
    10020    $93 = (($91) + ($92<<3)|0);
    10021    $94 = HEAP32[$93>>2]|0;
    10022    if ($88) {
    10023     $95 = HEAP32[$94>>2]|0;
    10024     $96 = $95 >>> 11;
    10025     $97 = $96 & 496;
    10026     $98 = $97 >> 4;
    10027     $101 = $98;
    10028    } else {
    10029     $99 = ((($94)) + 12|0);
    10030     $100 = HEAP32[$99>>2]|0;
    10031     $101 = $100;
    10032    }
    10033    $12 = $101;
    10034    $102 = $12;
    10035    $103 = $4;
    10036    $104 = (($103) + ($102))|0;
    10037    $4 = $104;
    10038    break;
    10039   }
    10040   default: {
    10041   }
    10042   }
    10043   $105 = $2;
    10044   $106 = $7;
    10045   _mrb_gc_arena_restore($105,$106);
    10046   $107 = $5;
    10047   $108 = (($107) + 1)|0;
    10048   $5 = $108;
    10049  }
    10050  $109 = $4;
    10051  STACKTOP = sp;return ($109|0);
    10052 }
    10053 function _get_syms_block_size($0,$1) {
    10054  $0 = $0|0;
    10055  $1 = $1|0;
    10056  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    10057  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    10058  sp = STACKTOP;
    10059  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    10060  $6 = sp;
    10061  $2 = $0;
    10062  $3 = $1;
    10063  $4 = 0;
    10064  $7 = $4;
    10065  $8 = (($7) + 4)|0;
    10066  $4 = $8;
    10067  $5 = 0;
    10068  while(1) {
    10069   $9 = $5;
    10070   $10 = $3;
    10071   $11 = ((($10)) + 48|0);
    10072   $12 = HEAP32[$11>>2]|0;
    10073   $13 = ($9>>>0)<($12>>>0);
    10074   $14 = $4;
    10075   if (!($13)) {
    10076    break;
    10077   }
    10078   $15 = (($14) + 2)|0;
    10079   $4 = $15;
    10080   $16 = $3;
    10081   $17 = ((($16)) + 16|0);
    10082   $18 = HEAP32[$17>>2]|0;
    10083   $19 = $5;
    10084   $20 = (($18) + ($19<<2)|0);
    10085   $21 = HEAP32[$20>>2]|0;
    10086   $22 = ($21|0)!=(0);
    10087   if ($22) {
    10088    $23 = $2;
    10089    $24 = $3;
    10090    $25 = ((($24)) + 16|0);
    10091    $26 = HEAP32[$25>>2]|0;
    10092    $27 = $5;
    10093    $28 = (($26) + ($27<<2)|0);
    10094    $29 = HEAP32[$28>>2]|0;
    10095    (_mrb_sym2name_len($23,$29,$6)|0);
    10096    $30 = HEAP32[$6>>2]|0;
    10097    $31 = (($30) + 1)|0;
    10098    $32 = $4;
    10099    $33 = (($32) + ($31))|0;
    10100    $4 = $33;
    10101   }
    10102   $34 = $5;
    10103   $35 = (($34) + 1)|0;
    10104   $5 = $35;
    10105  }
    10106  STACKTOP = sp;return ($14|0);
    10107 }
    10108 function _get_lv_record_size($0,$1) {
    10109  $0 = $0|0;
    10110  $1 = $1|0;
    10111  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    10112  var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    10113  sp = STACKTOP;
    10114  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    10115  $2 = $0;
    10116  $3 = $1;
    10117  $4 = 0;
    10118  $6 = $3;
    10119  $7 = HEAP16[$6>>1]|0;
    10120  $8 = $7&65535;
    10121  $9 = (($8) - 1)|0;
    10122  $10 = $9<<2;
    10123  $11 = $4;
    10124  $12 = (($11) + ($10))|0;
    10125  $4 = $12;
    10126  $5 = 0;
    10127  while(1) {
    10128   $13 = $5;
    10129   $14 = $3;
    10130   $15 = ((($14)) + 52|0);
    10131   $16 = HEAP32[$15>>2]|0;
    10132   $17 = ($13>>>0)<($16>>>0);
    10133   if (!($17)) {
    10134    break;
    10135   }
    10136   $18 = $2;
    10137   $19 = $3;
    10138   $20 = ((($19)) + 20|0);
    10139   $21 = HEAP32[$20>>2]|0;
    10140   $22 = $5;
    10141   $23 = (($21) + ($22<<2)|0);
    10142   $24 = HEAP32[$23>>2]|0;
    10143   $25 = (_get_lv_record_size($18,$24)|0);
    10144   $26 = $4;
    10145   $27 = (($26) + ($25))|0;
    10146   $4 = $27;
    10147   $28 = $5;
    10148   $29 = (($28) + 1)|0;
    10149   $5 = $29;
    10150  }
    10151  $30 = $4;
    10152  STACKTOP = sp;return ($30|0);
    10153 }
    10154 function _mrb_dump_irep_binary($0,$1,$2,$3) {
    10155  $0 = $0|0;
    10156  $1 = $1|0;
    10157  $2 = $2|0;
    10158  $3 = $3|0;
    10159  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    10160  var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    10161  sp = STACKTOP;
    10162  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    10163  $9 = sp + 8|0;
    10164  $10 = sp + 4|0;
    10165  $5 = $0;
    10166  $6 = $1;
    10167  $7 = $2;
    10168  $8 = $3;
    10169  HEAP32[$9>>2] = 0;
    10170  HEAP32[$10>>2] = 0;
    10171  $12 = $8;
    10172  $13 = ($12|0)==(0|0);
    10173  if ($13) {
    10174   $4 = -7;
    10175   $30 = $4;
    10176   STACKTOP = sp;return ($30|0);
    10177  }
    10178  $14 = $5;
    10179  $15 = $6;
    10180  $16 = $7;
    10181  $17 = (_dump_flags($16,0)|0);
    10182  $18 = (_dump_irep($14,$15,$17,$9,$10)|0);
    10183  $11 = $18;
    10184  $19 = $11;
    10185  $20 = ($19|0)==(0);
    10186  if ($20) {
    10187   $21 = HEAP32[$9>>2]|0;
    10188   $22 = HEAP32[$10>>2]|0;
    10189   $23 = $8;
    10190   $24 = (_fwrite($21,1,$22,$23)|0);
    10191   $25 = HEAP32[$10>>2]|0;
    10192   $26 = ($24|0)!=($25|0);
    10193   if ($26) {
    10194    $11 = -2;
    10195   }
    10196  }
    10197  $27 = $5;
    10198  $28 = HEAP32[$9>>2]|0;
    10199  _mrb_free($27,$28);
    10200  $29 = $11;
    10201  $4 = $29;
    10202  $30 = $4;
    10203  STACKTOP = sp;return ($30|0);
    10204 }
    10205 function _mrb_dump_irep_cfunc($0,$1,$2,$3,$4) {
    10206  $0 = $0|0;
    10207  $1 = $1|0;
    10208  $2 = $2|0;
    10209  $3 = $3|0;
    10210  $4 = $4|0;
    10211  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    10212  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    10213  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
    10214  var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0;
    10215  var $or$cond = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
    10216  sp = STACKTOP;
    10217  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    10218  $vararg_buffer10 = sp + 40|0;
    10219  $vararg_buffer6 = sp + 24|0;
    10220  $vararg_buffer4 = sp + 16|0;
    10221  $vararg_buffer2 = sp + 8|0;
    10222  $vararg_buffer = sp;
    10223  $11 = sp + 56|0;
    10224  $12 = sp + 52|0;
    10225  $6 = $0;
    10226  $7 = $1;
    10227  $8 = $2;
    10228  $9 = $3;
    10229  $10 = $4;
    10230  HEAP32[$11>>2] = 0;
    10231  HEAP32[$12>>2] = 0;
    10232  $13 = 0;
    10233  $15 = $9;
    10234  $16 = ($15|0)==(0|0);
    10235  $17 = $10;
    10236  $18 = ($17|0)==(0|0);
    10237  $or$cond = $16 | $18;
    10238  if (!($or$cond)) {
    10239   $19 = $10;
    10240   $20 = HEAP8[$19>>0]|0;
    10241   $21 = $20 << 24 >> 24;
    10242   $22 = ($21|0)==(0);
    10243   if (!($22)) {
    10244    $23 = $8;
    10245    $24 = (_dump_flags($23,2)|0);
    10246    $8 = $24;
    10247    $25 = $6;
    10248    $26 = $7;
    10249    $27 = $8;
    10250    $28 = (_dump_irep($25,$26,$27,$11,$12)|0);
    10251    $14 = $28;
    10252    $29 = $14;
    10253    $30 = ($29|0)==(0);
    10254    do {
    10255     if ($30) {
    10256      $31 = $8;
    10257      $32 = (_dump_bigendian_p($31)|0);
    10258      $33 = ($32<<24>>24)!=(0);
    10259      $34 = $9;
    10260      if ($33) {
    10261       $39 = (_fprintf($34,54583,$vararg_buffer2)|0);
    10262       $40 = ($39|0)<(0);
    10263       if ($40) {
    10264        $41 = $6;
    10265        $42 = HEAP32[$11>>2]|0;
    10266        _mrb_free($41,$42);
    10267        $5 = -2;
    10268        $84 = $5;
    10269        STACKTOP = sp;return ($84|0);
    10270       }
    10271      } else {
    10272       $35 = (_fprintf($34,54501,$vararg_buffer)|0);
    10273       $36 = ($35|0)<(0);
    10274       if ($36) {
    10275        $37 = $6;
    10276        $38 = HEAP32[$11>>2]|0;
    10277        _mrb_free($37,$38);
    10278        $5 = -2;
    10279        $84 = $5;
    10280        STACKTOP = sp;return ($84|0);
    10281       }
    10282      }
    10283      $43 = $9;
    10284      $44 = (_fprintf($43,54687,$vararg_buffer4)|0);
    10285      $45 = ($44|0)<(0);
    10286      if ($45) {
    10287       $46 = $6;
    10288       $47 = HEAP32[$11>>2]|0;
    10289       _mrb_free($46,$47);
    10290       $5 = -2;
    10291       $84 = $5;
    10292       STACKTOP = sp;return ($84|0);
    10293      }
    10294      $48 = $9;
    10295      $49 = $10;
    10296      HEAP32[$vararg_buffer6>>2] = 4;
    10297      $vararg_ptr8 = ((($vararg_buffer6)) + 4|0);
    10298      HEAP32[$vararg_ptr8>>2] = 4;
    10299      $vararg_ptr9 = ((($vararg_buffer6)) + 8|0);
    10300      HEAP32[$vararg_ptr9>>2] = $49;
    10301      $50 = (_fprintf($48,54708,$vararg_buffer6)|0);
    10302      $51 = ($50|0)<(0);
    10303      if ($51) {
    10304       $52 = $6;
    10305       $53 = HEAP32[$11>>2]|0;
    10306       _mrb_free($52,$53);
    10307       $5 = -2;
    10308       $84 = $5;
    10309       STACKTOP = sp;return ($84|0);
    10310      }
    10311      while(1) {
    10312       $54 = $13;
    10313       $55 = HEAP32[$12>>2]|0;
    10314       $56 = ($54>>>0)<($55>>>0);
    10315       if (!($56)) {
    10316        label = 20;
    10317        break;
    10318       }
    10319       $57 = $13;
    10320       $58 = (($57>>>0) % 16)&-1;
    10321       $59 = ($58|0)==(0);
    10322       if ($59) {
    10323        $60 = $9;
    10324        $61 = (_fputs(67789,$60)|0);
    10325        $62 = ($61|0)==(-1);
    10326        if ($62) {
    10327         label = 17;
    10328         break;
    10329        }
    10330       }
    10331       $65 = $9;
    10332       $66 = HEAP32[$11>>2]|0;
    10333       $67 = $13;
    10334       $68 = (($67) + 1)|0;
    10335       $13 = $68;
    10336       $69 = (($66) + ($67)|0);
    10337       $70 = HEAP8[$69>>0]|0;
    10338       $71 = $70&255;
    10339       HEAP32[$vararg_buffer10>>2] = $71;
    10340       $72 = (_fprintf($65,54833,$vararg_buffer10)|0);
    10341       $73 = ($72|0)<(0);
    10342       if ($73) {
    10343        label = 19;
    10344        break;
    10345       }
    10346      }
    10347      if ((label|0) == 17) {
    10348       $63 = $6;
    10349       $64 = HEAP32[$11>>2]|0;
    10350       _mrb_free($63,$64);
    10351       $5 = -2;
    10352       $84 = $5;
    10353       STACKTOP = sp;return ($84|0);
    10354      }
    10355      else if ((label|0) == 19) {
    10356       $74 = $6;
    10357       $75 = HEAP32[$11>>2]|0;
    10358       _mrb_free($74,$75);
    10359       $5 = -2;
    10360       $84 = $5;
    10361       STACKTOP = sp;return ($84|0);
    10362      }
    10363      else if ((label|0) == 20) {
    10364       $76 = $9;
    10365       $77 = (_fputs(54841,$76)|0);
    10366       $78 = ($77|0)==(-1);
    10367       if (!($78)) {
    10368        break;
    10369       }
    10370       $79 = $6;
    10371       $80 = HEAP32[$11>>2]|0;
    10372       _mrb_free($79,$80);
    10373       $5 = -2;
    10374       $84 = $5;
    10375       STACKTOP = sp;return ($84|0);
    10376      }
    10377     }
    10378    } while(0);
    10379    $81 = $6;
    10380    $82 = HEAP32[$11>>2]|0;
    10381    _mrb_free($81,$82);
    10382    $83 = $14;
    10383    $5 = $83;
    10384    $84 = $5;
    10385    STACKTOP = sp;return ($84|0);
    10386   }
    10387  }
    10388  $5 = -7;
    10389  $84 = $5;
    10390  STACKTOP = sp;return ($84|0);
    10391 }
    10392 function _dump_bigendian_p($0) {
    10393  $0 = $0|0;
    10394  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    10395  sp = STACKTOP;
    10396  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    10397  $2 = $0;
    10398  $3 = $2;
    10399  $4 = $3&255;
    10400  $5 = $4 & 6;
    10401  switch ($5|0) {
    10402  case 2:  {
    10403   $1 = 1;
    10404   break;
    10405  }
    10406  case 4:  {
    10407   $1 = 0;
    10408   break;
    10409  }
    10410  default: {
    10411   $6 = (_bigendian_p_3()|0);
    10412   $7 = $6&255;
    10413   $1 = $7;
    10414  }
    10415  }
    10416  $8 = $1;
    10417  STACKTOP = sp;return ($8|0);
    10418 }
    10419 function _mrb_float_to_str($0,$1,$2,$3) {
    10420  $0 = $0|0;
    10421  $1 = $1|0;
    10422  $2 = $2|0;
    10423  $3 = $3|0;
    10424  var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    10425  sp = STACKTOP;
    10426  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    10427  $6 = sp + 8|0;
    10428  $7 = sp;
    10429  $4 = $1;
    10430  $5 = $3;
    10431  $8 = $4;
    10432  HEAP32[$6>>2] = $8;
    10433  $9 = ((($6)) + 4|0);
    10434  $10 = $4;
    10435  _mrb_str_buf_new($7,$10,24);
    10436  ;HEAP32[$9>>2]=HEAP32[$7>>2]|0;HEAP32[$9+4>>2]=HEAP32[$7+4>>2]|0;
    10437  $11 = $5;
    10438  $12 = +HEAPF32[$2>>2];
    10439  $13 = (_fmt_core($6,$11,$12)|0);
    10440  $14 = ($13|0)<(0);
    10441  if ($14) {
    10442   $15 = $4;
    10443   $16 = $4;
    10444   $17 = (_mrb_class_get($16,69160)|0);
    10445   _mrb_raise($15,$17,54846);
    10446   // unreachable;
    10447  } else {
    10448   $18 = ((($6)) + 4|0);
    10449   ;HEAP32[$0>>2]=HEAP32[$18>>2]|0;HEAP32[$0+4>>2]=HEAP32[$18+4>>2]|0;
    10450   STACKTOP = sp;return;
    10451  }
    10452 }
    10453 function _fmt_core($0,$1,$2) {
    10454  $0 = $0|0;
    10455  $1 = $1|0;
    10456  $2 = +$2;
    10457  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    10458  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0.0;
    10459  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    10460  sp = STACKTOP;
    10461  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    10462  $4 = $0;
    10463  $5 = $1;
    10464  $6 = $2;
    10465  $8 = $5;
    10466  $9 = HEAP8[$8>>0]|0;
    10467  $10 = $9 << 24 >> 24;
    10468  $11 = ($10|0)!=(37);
    10469  if ($11) {
    10470   $3 = -1;
    10471   $45 = $3;
    10472   STACKTOP = sp;return ($45|0);
    10473  }
    10474  $12 = $5;
    10475  $13 = ((($12)) + 1|0);
    10476  $5 = $13;
    10477  $14 = $5;
    10478  $15 = HEAP8[$14>>0]|0;
    10479  $16 = $15 << 24 >> 24;
    10480  $17 = ($16|0)==(46);
    10481  L5: do {
    10482   if ($17) {
    10483    $18 = $5;
    10484    $19 = ((($18)) + 1|0);
    10485    $5 = $19;
    10486    $7 = 0;
    10487    while(1) {
    10488     $20 = $5;
    10489     $21 = HEAP8[$20>>0]|0;
    10490     $22 = $21 << 24 >> 24;
    10491     $23 = (($22) - 48)|0;
    10492     $24 = ($23>>>0)<(10);
    10493     if (!($24)) {
    10494      break L5;
    10495     }
    10496     $25 = $7;
    10497     $26 = ($25*10)|0;
    10498     $27 = $5;
    10499     $28 = HEAP8[$27>>0]|0;
    10500     $29 = $28 << 24 >> 24;
    10501     $30 = (($29) - 48)|0;
    10502     $31 = (($26) + ($30))|0;
    10503     $7 = $31;
    10504     $32 = $5;
    10505     $33 = ((($32)) + 1|0);
    10506     $5 = $33;
    10507    }
    10508   } else {
    10509    $7 = -1;
    10510   }
    10511  } while(0);
    10512  $34 = $5;
    10513  $35 = HEAP8[$34>>0]|0;
    10514  $36 = $35 << 24 >> 24;
    10515  switch ($36|0) {
    10516  case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101:  {
    10517   $37 = $4;
    10518   $38 = $6;
    10519   $39 = $38;
    10520   $40 = $7;
    10521   $41 = $5;
    10522   $42 = HEAP8[$41>>0]|0;
    10523   $43 = $42 << 24 >> 24;
    10524   $44 = (_fmt_fp($37,$39,0,$40,0,$43)|0);
    10525   $3 = $44;
    10526   $45 = $3;
    10527   STACKTOP = sp;return ($45|0);
    10528   break;
    10529  }
    10530  default: {
    10531   $3 = -1;
    10532   $45 = $3;
    10533   STACKTOP = sp;return ($45|0);
    10534  }
    10535  }
    10536  return (0)|0;
    10537 }
    10538 function _fmt_fp($0,$1,$2,$3,$4,$5) {
    10539  $0 = $0|0;
    10540  $1 = +$1;
    10541  $2 = $2|0;
    10542  $3 = $3|0;
    10543  $4 = $4|0;
    10544  $5 = $5|0;
    10545  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0;
    10546  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    10547  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0.0, $142 = 0.0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0;
    10548  var $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    10549  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0.0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    10550  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0.0;
    10551  var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
    10552  var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
    10553  var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
    10554  var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
    10555  var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
    10556  var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0.0;
    10557  var $318 = 0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0, $323 = 0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0;
    10558  var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0;
    10559  var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0;
    10560  var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0;
    10561  var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0;
    10562  var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0;
    10563  var $427 = 0, $428 = 0, $429 = 0, $43 = 0.0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0.0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0;
    10564  var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0;
    10565  var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0;
    10566  var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0.0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0;
    10567  var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0;
    10568  var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0.0, $535 = 0.0;
    10569  var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0.0, $550 = 0, $551 = 0, $552 = 0, $553 = 0;
    10570  var $554 = 0.0, $555 = 0.0, $556 = 0.0, $557 = 0.0, $558 = 0, $559 = 0, $56 = 0.0, $560 = 0, $561 = 0, $562 = 0.0, $563 = 0.0, $564 = 0.0, $565 = 0.0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0;
    10571  var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0;
    10572  var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0;
    10573  var $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0;
    10574  var $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0;
    10575  var $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0;
    10576  var $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0.0;
    10577  var $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0;
    10578  var $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0;
    10579  var $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0;
    10580  var $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0;
    10581  var $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0;
    10582  var $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0;
    10583  var $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0.0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0;
    10584  var $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0.0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0.0, $820 = 0, $821 = 0, $822 = 0, $823 = 0;
    10585  var $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0;
    10586  var $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0;
    10587  var $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0;
    10588  var $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0;
    10589  var $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0;
    10590  var $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0;
    10591  var $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0;
    10592  var $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0;
    10593  var $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, label = 0, sp = 0;
    10594  sp = STACKTOP;
    10595  STACKTOP = STACKTOP + 720|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(720|0);
    10596  $13 = sp + 152|0;
    10597  $19 = sp + 128|0;
    10598  $23 = sp + 692|0;
    10599  $27 = sp + 680|0;
    10600  $36 = sp + 16|0;
    10601  $7 = $0;
    10602  $8 = $1;
    10603  $9 = $2;
    10604  $10 = $3;
    10605  $11 = $4;
    10606  $12 = $5;
    10607  HEAP32[$19>>2] = 0;
    10608  $25 = 70736;
    10609  $48 = ((($27)) + 12|0);
    10610  $28 = $48;
    10611  $26 = 1;
    10612  $49 = $8;
    10613  $50 = (___DOUBLE_BITS($49)|0);
    10614  $51 = tempRet0;
    10615  $52 = (_bitshift64Lshr(($50|0),($51|0),63)|0);
    10616  $53 = tempRet0;
    10617  $54 = ($52|0)!=(0);
    10618  do {
    10619   if ($54) {
    10620    $55 = $8;
    10621    $56 = -$55;
    10622    $8 = $56;
    10623   } else {
    10624    $57 = $11;
    10625    $58 = $57 & 2048;
    10626    $59 = ($58|0)!=(0);
    10627    if ($59) {
    10628     $60 = $25;
    10629     $61 = ((($60)) + 3|0);
    10630     $25 = $61;
    10631     break;
    10632    }
    10633    $62 = $11;
    10634    $63 = $62 & 1;
    10635    $64 = ($63|0)!=(0);
    10636    $65 = $25;
    10637    if ($64) {
    10638     $66 = ((($65)) + 6|0);
    10639     $25 = $66;
    10640     break;
    10641    } else {
    10642     $67 = ((($65)) + 1|0);
    10643     $25 = $67;
    10644     $26 = 0;
    10645     break;
    10646    }
    10647   }
    10648  } while(0);
    10649  $68 = $8;
    10650  $69 = (___DOUBLE_BITS($68)|0);
    10651  $70 = tempRet0;
    10652  $71 = $70 & 2147483647;
    10653  $72 = ($71>>>0)<(2146435072);
    10654  $73 = ($69>>>0)<(0);
    10655  $74 = ($71|0)==(2146435072);
    10656  $75 = $74 & $73;
    10657  $76 = $72 | $75;
    10658  if (!($76)) {
    10659   $77 = $12;
    10660   $78 = $77 & 32;
    10661   $79 = ($78|0)!=(0);
    10662   $80 = $79 ? 70755 : 70759;
    10663   $30 = $80;
    10664   $81 = $8;
    10665   $82 = $8;
    10666   $83 = $81 != $82;
    10667   if ($83) {
    10668    $84 = $12;
    10669    $85 = $84 & 32;
    10670    $86 = ($85|0)!=(0);
    10671    $87 = $86 ? 72686 : 70763;
    10672    $30 = $87;
    10673   }
    10674   $88 = $7;
    10675   $89 = $9;
    10676   $90 = $26;
    10677   $91 = (3 + ($90))|0;
    10678   $92 = $11;
    10679   $93 = $92 & -65537;
    10680   _pad($88,32,$89,$91,$93);
    10681   $94 = $7;
    10682   $95 = $25;
    10683   $96 = $26;
    10684   _out($94,$95,$96);
    10685   $97 = $7;
    10686   $98 = $30;
    10687   _out($97,$98,3);
    10688   $99 = $7;
    10689   $100 = $9;
    10690   $101 = $26;
    10691   $102 = (3 + ($101))|0;
    10692   $103 = $11;
    10693   $104 = $103 ^ 8192;
    10694   _pad($99,32,$100,$102,$104);
    10695   $105 = $9;
    10696   $106 = $26;
    10697   $107 = (3 + ($106))|0;
    10698   $108 = ($105|0)>($107|0);
    10699   $109 = $9;
    10700   $110 = $26;
    10701   $111 = (3 + ($110))|0;
    10702   $112 = $108 ? $109 : $111;
    10703   $6 = $112;
    10704   $976 = $6;
    10705   STACKTOP = sp;return ($976|0);
    10706  }
    10707  $113 = $8;
    10708  $114 = (+_frexp($113,$19));
    10709  $115 = $114 * 2.0;
    10710  $8 = $115;
    10711  $116 = $8;
    10712  $117 = $116 != 0.0;
    10713  if ($117) {
    10714   $118 = HEAP32[$19>>2]|0;
    10715   $119 = (($118) + -1)|0;
    10716   HEAP32[$19>>2] = $119;
    10717  }
    10718  $120 = $12;
    10719  $121 = $120 | 32;
    10720  $122 = ($121|0)==(97);
    10721  if ($122) {
    10722   $31 = 8.0;
    10723   $123 = $12;
    10724   $124 = $123 & 32;
    10725   $125 = ($124|0)!=(0);
    10726   if ($125) {
    10727    $126 = $25;
    10728    $127 = ((($126)) + 9|0);
    10729    $25 = $127;
    10730   }
    10731   $128 = $26;
    10732   $129 = (($128) + 2)|0;
    10733   $26 = $129;
    10734   $130 = $10;
    10735   $131 = ($130|0)<(0);
    10736   $132 = $10;
    10737   $133 = ($132|0)>=(12);
    10738   $or$cond = $131 | $133;
    10739   if ($or$cond) {
    10740    $32 = 0;
    10741   } else {
    10742    $134 = $10;
    10743    $135 = (12 - ($134))|0;
    10744    $32 = $135;
    10745   }
    10746   $136 = $32;
    10747   $137 = ($136|0)!=(0);
    10748   do {
    10749    if ($137) {
    10750     while(1) {
    10751      $138 = $32;
    10752      $139 = (($138) + -1)|0;
    10753      $32 = $139;
    10754      $140 = ($138|0)!=(0);
    10755      if (!($140)) {
    10756       break;
    10757      }
    10758      $141 = $31;
    10759      $142 = $141 * 16.0;
    10760      $31 = $142;
    10761     }
    10762     $143 = $25;
    10763     $144 = HEAP8[$143>>0]|0;
    10764     $145 = $144 << 24 >> 24;
    10765     $146 = ($145|0)==(45);
    10766     if ($146) {
    10767      $147 = $8;
    10768      $148 = -$147;
    10769      $8 = $148;
    10770      $149 = $31;
    10771      $150 = $8;
    10772      $151 = $150 - $149;
    10773      $8 = $151;
    10774      $152 = $31;
    10775      $153 = $8;
    10776      $154 = $153 + $152;
    10777      $8 = $154;
    10778      $155 = $8;
    10779      $156 = -$155;
    10780      $8 = $156;
    10781      break;
    10782     } else {
    10783      $157 = $31;
    10784      $158 = $8;
    10785      $159 = $158 + $157;
    10786      $8 = $159;
    10787      $160 = $31;
    10788      $161 = $8;
    10789      $162 = $161 - $160;
    10790      $8 = $162;
    10791      break;
    10792     }
    10793    }
    10794   } while(0);
    10795   $163 = HEAP32[$19>>2]|0;
    10796   $164 = ($163|0)<(0);
    10797   $165 = HEAP32[$19>>2]|0;
    10798   $166 = (0 - ($165))|0;
    10799   $167 = $164 ? $166 : $165;
    10800   $168 = $28;
    10801   $169 = (_fmt_u($167,$168)|0);
    10802   $29 = $169;
    10803   $170 = $29;
    10804   $171 = $28;
    10805   $172 = ($170|0)==($171|0);
    10806   if ($172) {
    10807    $173 = $29;
    10808    $174 = ((($173)) + -1|0);
    10809    $29 = $174;
    10810    HEAP8[$174>>0] = 48;
    10811   }
    10812   $175 = HEAP32[$19>>2]|0;
    10813   $176 = ($175|0)<(0);
    10814   $177 = $176 ? 45 : 43;
    10815   $178 = $177&255;
    10816   $179 = $29;
    10817   $180 = ((($179)) + -1|0);
    10818   $29 = $180;
    10819   HEAP8[$180>>0] = $178;
    10820   $181 = $12;
    10821   $182 = (($181) + 15)|0;
    10822   $183 = $182&255;
    10823   $184 = $29;
    10824   $185 = ((($184)) + -1|0);
    10825   $29 = $185;
    10826   HEAP8[$185>>0] = $183;
    10827   $24 = $23;
    10828   while(1) {
    10829    $186 = $8;
    10830    $187 = (~~(($186)));
    10831    $33 = $187;
    10832    $188 = $33;
    10833    $189 = (70767 + ($188)|0);
    10834    $190 = HEAP8[$189>>0]|0;
    10835    $191 = $190 << 24 >> 24;
    10836    $192 = $12;
    10837    $193 = $192 & 32;
    10838    $194 = $191 | $193;
    10839    $195 = $194&255;
    10840    $196 = $24;
    10841    $197 = ((($196)) + 1|0);
    10842    $24 = $197;
    10843    HEAP8[$196>>0] = $195;
    10844    $198 = $8;
    10845    $199 = $33;
    10846    $200 = (+($199|0));
    10847    $201 = $198 - $200;
    10848    $202 = 16.0 * $201;
    10849    $8 = $202;
    10850    $203 = $24;
    10851    $204 = $203;
    10852    $205 = $23;
    10853    $206 = (($204) - ($205))|0;
    10854    $207 = ($206|0)==(1);
    10855    do {
    10856     if ($207) {
    10857      $208 = $8;
    10858      $209 = $208 != 0.0;
    10859      $210 = $10;
    10860      $211 = ($210|0)>(0);
    10861      $or$cond3 = $209 | $211;
    10862      if (!($or$cond3)) {
    10863       $212 = $11;
    10864       $213 = $212 & 8;
    10865       $214 = ($213|0)!=(0);
    10866       if (!($214)) {
    10867        break;
    10868       }
    10869      }
    10870      $215 = $24;
    10871      $216 = ((($215)) + 1|0);
    10872      $24 = $216;
    10873      HEAP8[$215>>0] = 46;
    10874     }
    10875    } while(0);
    10876    $217 = $8;
    10877    $218 = $217 != 0.0;
    10878    if (!($218)) {
    10879     break;
    10880    }
    10881   }
    10882   $219 = $10;
    10883   $220 = ($219|0)!=(0);
    10884   if ($220) {
    10885    $221 = $24;
    10886    $222 = $221;
    10887    $223 = $23;
    10888    $224 = (($222) - ($223))|0;
    10889    $225 = (($224) - 2)|0;
    10890    $226 = $10;
    10891    $227 = ($225|0)<($226|0);
    10892    if ($227) {
    10893     $228 = $10;
    10894     $229 = (($228) + 2)|0;
    10895     $230 = $28;
    10896     $231 = $29;
    10897     $232 = $230;
    10898     $233 = $231;
    10899     $234 = (($232) - ($233))|0;
    10900     $235 = (($229) + ($234))|0;
    10901     $22 = $235;
    10902    } else {
    10903     label = 37;
    10904    }
    10905   } else {
    10906    label = 37;
    10907   }
    10908   if ((label|0) == 37) {
    10909    $236 = $24;
    10910    $237 = $236;
    10911    $238 = $23;
    10912    $239 = (($237) - ($238))|0;
    10913    $240 = $28;
    10914    $241 = $29;
    10915    $242 = $240;
    10916    $243 = $241;
    10917    $244 = (($242) - ($243))|0;
    10918    $245 = (($239) + ($244))|0;
    10919    $22 = $245;
    10920   }
    10921   $246 = $7;
    10922   $247 = $9;
    10923   $248 = $26;
    10924   $249 = $22;
    10925   $250 = (($248) + ($249))|0;
    10926   $251 = $11;
    10927   _pad($246,32,$247,$250,$251);
    10928   $252 = $7;
    10929   $253 = $25;
    10930   $254 = $26;
    10931   _out($252,$253,$254);
    10932   $255 = $7;
    10933   $256 = $9;
    10934   $257 = $26;
    10935   $258 = $22;
    10936   $259 = (($257) + ($258))|0;
    10937   $260 = $11;
    10938   $261 = $260 ^ 65536;
    10939   _pad($255,48,$256,$259,$261);
    10940   $262 = $7;
    10941   $263 = $24;
    10942   $264 = $263;
    10943   $265 = $23;
    10944   $266 = (($264) - ($265))|0;
    10945   _out($262,$23,$266);
    10946   $267 = $7;
    10947   $268 = $22;
    10948   $269 = $28;
    10949   $270 = $29;
    10950   $271 = $269;
    10951   $272 = $270;
    10952   $273 = (($271) - ($272))|0;
    10953   $274 = (($268) - ($273))|0;
    10954   $275 = $24;
    10955   $276 = $275;
    10956   $277 = $23;
    10957   $278 = (($276) - ($277))|0;
    10958   $279 = (($274) - ($278))|0;
    10959   _pad($267,48,$279,0,0);
    10960   $280 = $7;
    10961   $281 = $29;
    10962   $282 = $28;
    10963   $283 = $29;
    10964   $284 = $282;
    10965   $285 = $283;
    10966   $286 = (($284) - ($285))|0;
    10967   _out($280,$281,$286);
    10968   $287 = $7;
    10969   $288 = $9;
    10970   $289 = $26;
    10971   $290 = $22;
    10972   $291 = (($289) + ($290))|0;
    10973   $292 = $11;
    10974   $293 = $292 ^ 8192;
    10975   _pad($287,32,$288,$291,$293);
    10976   $294 = $9;
    10977   $295 = $26;
    10978   $296 = $22;
    10979   $297 = (($295) + ($296))|0;
    10980   $298 = ($294|0)>($297|0);
    10981   if ($298) {
    10982    $299 = $9;
    10983    $303 = $299;
    10984   } else {
    10985    $300 = $26;
    10986    $301 = $22;
    10987    $302 = (($300) + ($301))|0;
    10988    $303 = $302;
    10989   }
    10990   $6 = $303;
    10991   $976 = $6;
    10992   STACKTOP = sp;return ($976|0);
    10993  }
    10994  $304 = $10;
    10995  $305 = ($304|0)<(0);
    10996  if ($305) {
    10997   $10 = 6;
    10998  }
    10999  $306 = $8;
    11000  $307 = $306 != 0.0;
    11001  if ($307) {
    11002   $308 = $8;
    11003   $309 = $308 * 268435456.0;
    11004   $8 = $309;
    11005   $310 = HEAP32[$19>>2]|0;
    11006   $311 = (($310) - 28)|0;
    11007   HEAP32[$19>>2] = $311;
    11008  }
    11009  $312 = HEAP32[$19>>2]|0;
    11010  $313 = ($312|0)<(0);
    11011  if ($313) {
    11012   $17 = $13;
    11013   $16 = $13;
    11014   $14 = $13;
    11015  } else {
    11016   $314 = ((($13)) + 504|0);
    11017   $315 = ((($314)) + -212|0);
    11018   $316 = ((($315)) + -4|0);
    11019   $17 = $316;
    11020   $16 = $316;
    11021   $14 = $316;
    11022  }
    11023  while(1) {
    11024   $317 = $8;
    11025   $318 = (~~(($317))>>>0);
    11026   $319 = $17;
    11027   HEAP32[$319>>2] = $318;
    11028   $320 = $8;
    11029   $321 = $17;
    11030   $322 = ((($321)) + 4|0);
    11031   $17 = $322;
    11032   $323 = HEAP32[$321>>2]|0;
    11033   $324 = (+($323>>>0));
    11034   $325 = $320 - $324;
    11035   $326 = 1.0E+9 * $325;
    11036   $8 = $326;
    11037   $327 = $8;
    11038   $328 = $327 != 0.0;
    11039   if (!($328)) {
    11040    break;
    11041   }
    11042  }
    11043  while(1) {
    11044   $329 = HEAP32[$19>>2]|0;
    11045   $330 = ($329|0)>(0);
    11046   if (!($330)) {
    11047    break;
    11048   }
    11049   $34 = 0;
    11050   $331 = HEAP32[$19>>2]|0;
    11051   $332 = (29)<($331|0);
    11052   $333 = HEAP32[$19>>2]|0;
    11053   $334 = $332 ? 29 : $333;
    11054   $35 = $334;
    11055   $335 = $17;
    11056   $336 = ((($335)) + -4|0);
    11057   $15 = $336;
    11058   while(1) {
    11059    $337 = $15;
    11060    $338 = $14;
    11061    $339 = ($337>>>0)>=($338>>>0);
    11062    if (!($339)) {
    11063     break;
    11064    }
    11065    $340 = $15;
    11066    $341 = HEAP32[$340>>2]|0;
    11067    $342 = $35;
    11068    $343 = (_bitshift64Shl(($341|0),0,($342|0))|0);
    11069    $344 = tempRet0;
    11070    $345 = $34;
    11071    $346 = (_i64Add(($343|0),($344|0),($345|0),0)|0);
    11072    $347 = tempRet0;
    11073    $348 = $36;
    11074    $349 = $348;
    11075    HEAP32[$349>>2] = $346;
    11076    $350 = (($348) + 4)|0;
    11077    $351 = $350;
    11078    HEAP32[$351>>2] = $347;
    11079    $352 = $36;
    11080    $353 = $352;
    11081    $354 = HEAP32[$353>>2]|0;
    11082    $355 = (($352) + 4)|0;
    11083    $356 = $355;
    11084    $357 = HEAP32[$356>>2]|0;
    11085    $358 = (___uremdi3(($354|0),($357|0),1000000000,0)|0);
    11086    $359 = tempRet0;
    11087    $360 = $15;
    11088    HEAP32[$360>>2] = $358;
    11089    $361 = $36;
    11090    $362 = $361;
    11091    $363 = HEAP32[$362>>2]|0;
    11092    $364 = (($361) + 4)|0;
    11093    $365 = $364;
    11094    $366 = HEAP32[$365>>2]|0;
    11095    $367 = (___udivdi3(($363|0),($366|0),1000000000,0)|0);
    11096    $368 = tempRet0;
    11097    $34 = $367;
    11098    $369 = $15;
    11099    $370 = ((($369)) + -4|0);
    11100    $15 = $370;
    11101   }
    11102   $371 = $34;
    11103   $372 = ($371|0)!=(0);
    11104   if ($372) {
    11105    $373 = $34;
    11106    $374 = $14;
    11107    $375 = ((($374)) + -4|0);
    11108    $14 = $375;
    11109    HEAP32[$375>>2] = $373;
    11110   }
    11111   while(1) {
    11112    $376 = $17;
    11113    $377 = $14;
    11114    $378 = ($376>>>0)>($377>>>0);
    11115    if (!($378)) {
    11116     break;
    11117    }
    11118    $379 = $17;
    11119    $380 = ((($379)) + -4|0);
    11120    $381 = HEAP32[$380>>2]|0;
    11121    $382 = ($381|0)!=(0);
    11122    $383 = $382 ^ 1;
    11123    if (!($383)) {
    11124     break;
    11125    }
    11126    $384 = $17;
    11127    $385 = ((($384)) + -4|0);
    11128    $17 = $385;
    11129   }
    11130   $386 = $35;
    11131   $387 = HEAP32[$19>>2]|0;
    11132   $388 = (($387) - ($386))|0;
    11133   HEAP32[$19>>2] = $388;
    11134  }
    11135  while(1) {
    11136   $389 = HEAP32[$19>>2]|0;
    11137   $390 = ($389|0)<(0);
    11138   if (!($390)) {
    11139    break;
    11140   }
    11141   $37 = 0;
    11142   $391 = HEAP32[$19>>2]|0;
    11143   $392 = (0 - ($391))|0;
    11144   $393 = (9)<($392|0);
    11145   $394 = HEAP32[$19>>2]|0;
    11146   $395 = (0 - ($394))|0;
    11147   $396 = $393 ? 9 : $395;
    11148   $39 = $396;
    11149   $397 = $10;
    11150   $398 = (($397) + 17)|0;
    11151   $399 = (($398) + 8)|0;
    11152   $400 = (($399|0) / 9)&-1;
    11153   $401 = (1 + ($400))|0;
    11154   $40 = $401;
    11155   $402 = $14;
    11156   $15 = $402;
    11157   while(1) {
    11158    $403 = $15;
    11159    $404 = $17;
    11160    $405 = ($403>>>0)<($404>>>0);
    11161    if (!($405)) {
    11162     break;
    11163    }
    11164    $406 = $15;
    11165    $407 = HEAP32[$406>>2]|0;
    11166    $408 = $39;
    11167    $409 = 1 << $408;
    11168    $410 = (($409) - 1)|0;
    11169    $411 = $407 & $410;
    11170    $41 = $411;
    11171    $412 = $15;
    11172    $413 = HEAP32[$412>>2]|0;
    11173    $414 = $39;
    11174    $415 = $413 >>> $414;
    11175    $416 = $37;
    11176    $417 = (($415) + ($416))|0;
    11177    $418 = $15;
    11178    HEAP32[$418>>2] = $417;
    11179    $419 = $39;
    11180    $420 = 1000000000 >> $419;
    11181    $421 = $41;
    11182    $422 = Math_imul($420, $421)|0;
    11183    $37 = $422;
    11184    $423 = $15;
    11185    $424 = ((($423)) + 4|0);
    11186    $15 = $424;
    11187   }
    11188   $425 = $14;
    11189   $426 = HEAP32[$425>>2]|0;
    11190   $427 = ($426|0)!=(0);
    11191   if (!($427)) {
    11192    $428 = $14;
    11193    $429 = ((($428)) + 4|0);
    11194    $14 = $429;
    11195   }
    11196   $430 = $37;
    11197   $431 = ($430|0)!=(0);
    11198   if ($431) {
    11199    $432 = $37;
    11200    $433 = $17;
    11201    $434 = ((($433)) + 4|0);
    11202    $17 = $434;
    11203    HEAP32[$433>>2] = $432;
    11204   }
    11205   $435 = $12;
    11206   $436 = $435 | 32;
    11207   $437 = ($436|0)==(102);
    11208   $438 = $16;
    11209   $439 = $14;
    11210   $440 = $437 ? $438 : $439;
    11211   $38 = $440;
    11212   $441 = $17;
    11213   $442 = $38;
    11214   $443 = $441;
    11215   $444 = $442;
    11216   $445 = (($443) - ($444))|0;
    11217   $446 = (($445|0) / 4)&-1;
    11218   $447 = $40;
    11219   $448 = ($446|0)>($447|0);
    11220   if ($448) {
    11221    $449 = $38;
    11222    $450 = $40;
    11223    $451 = (($449) + ($450<<2)|0);
    11224    $17 = $451;
    11225   }
    11226   $452 = $39;
    11227   $453 = HEAP32[$19>>2]|0;
    11228   $454 = (($453) + ($452))|0;
    11229   HEAP32[$19>>2] = $454;
    11230  }
    11231  $455 = $14;
    11232  $456 = $17;
    11233  $457 = ($455>>>0)<($456>>>0);
    11234  L105: do {
    11235   if ($457) {
    11236    $18 = 10;
    11237    $458 = $16;
    11238    $459 = $14;
    11239    $460 = $458;
    11240    $461 = $459;
    11241    $462 = (($460) - ($461))|0;
    11242    $463 = (($462|0) / 4)&-1;
    11243    $464 = ($463*9)|0;
    11244    $20 = $464;
    11245    while(1) {
    11246     $465 = $14;
    11247     $466 = HEAP32[$465>>2]|0;
    11248     $467 = $18;
    11249     $468 = ($466>>>0)>=($467>>>0);
    11250     if (!($468)) {
    11251      break L105;
    11252     }
    11253     $469 = $18;
    11254     $470 = ($469*10)|0;
    11255     $18 = $470;
    11256     $471 = $20;
    11257     $472 = (($471) + 1)|0;
    11258     $20 = $472;
    11259    }
    11260   } else {
    11261    $20 = 0;
    11262   }
    11263  } while(0);
    11264  $473 = $10;
    11265  $474 = $12;
    11266  $475 = $474 | 32;
    11267  $476 = ($475|0)!=(102);
    11268  $477 = $476&1;
    11269  $478 = $20;
    11270  $479 = Math_imul($477, $478)|0;
    11271  $480 = (($473) - ($479))|0;
    11272  $481 = $12;
    11273  $482 = $481 | 32;
    11274  $483 = ($482|0)==(103);
    11275  $484 = $10;
    11276  $485 = ($484|0)!=(0);
    11277  $486 = $483 ? $485 : 0;
    11278  $487 = $486&1;
    11279  $488 = (($480) - ($487))|0;
    11280  $21 = $488;
    11281  $489 = $21;
    11282  $490 = $17;
    11283  $491 = $16;
    11284  $492 = $490;
    11285  $493 = $491;
    11286  $494 = (($492) - ($493))|0;
    11287  $495 = (($494|0) / 4)&-1;
    11288  $496 = (($495) - 1)|0;
    11289  $497 = ($496*9)|0;
    11290  $498 = ($489|0)<($497|0);
    11291  if ($498) {
    11292   $499 = $16;
    11293   $500 = ((($499)) + 4|0);
    11294   $501 = $21;
    11295   $502 = (($501) + 9216)|0;
    11296   $503 = (($502|0) / 9)&-1;
    11297   $504 = (($503) - 1024)|0;
    11298   $505 = (($500) + ($504<<2)|0);
    11299   $15 = $505;
    11300   $506 = $21;
    11301   $507 = (($506) + 9216)|0;
    11302   $21 = $507;
    11303   $508 = $21;
    11304   $509 = (($508|0) % 9)&-1;
    11305   $21 = $509;
    11306   $18 = 10;
    11307   $510 = $21;
    11308   $511 = (($510) + 1)|0;
    11309   $21 = $511;
    11310   while(1) {
    11311    $512 = $21;
    11312    $513 = ($512|0)<(9);
    11313    if (!($513)) {
    11314     break;
    11315    }
    11316    $514 = $18;
    11317    $515 = ($514*10)|0;
    11318    $18 = $515;
    11319    $516 = $21;
    11320    $517 = (($516) + 1)|0;
    11321    $21 = $517;
    11322   }
    11323   $518 = $15;
    11324   $519 = HEAP32[$518>>2]|0;
    11325   $520 = $18;
    11326   $521 = (($519>>>0) % ($520>>>0))&-1;
    11327   $42 = $521;
    11328   $522 = $42;
    11329   $523 = ($522|0)!=(0);
    11330   if ($523) {
    11331    label = 82;
    11332   } else {
    11333    $524 = $15;
    11334    $525 = ((($524)) + 4|0);
    11335    $526 = $17;
    11336    $527 = ($525|0)!=($526|0);
    11337    if ($527) {
    11338     label = 82;
    11339    }
    11340   }
    11341   L120: do {
    11342    if ((label|0) == 82) {
    11343     $43 = 9007199254740992.0;
    11344     $528 = $15;
    11345     $529 = HEAP32[$528>>2]|0;
    11346     $530 = $18;
    11347     $531 = (($529>>>0) / ($530>>>0))&-1;
    11348     $532 = $531 & 1;
    11349     $533 = ($532|0)!=(0);
    11350     if ($533) {
    11351      $534 = $43;
    11352      $535 = $534 + 2.0;
    11353      $43 = $535;
    11354     }
    11355     $536 = $42;
    11356     $537 = $18;
    11357     $538 = (($537>>>0) / 2)&-1;
    11358     $539 = ($536>>>0)<($538>>>0);
    11359     do {
    11360      if ($539) {
    11361       $44 = 0.5;
    11362      } else {
    11363       $540 = $42;
    11364       $541 = $18;
    11365       $542 = (($541>>>0) / 2)&-1;
    11366       $543 = ($540|0)==($542|0);
    11367       if ($543) {
    11368        $544 = $15;
    11369        $545 = ((($544)) + 4|0);
    11370        $546 = $17;
    11371        $547 = ($545|0)==($546|0);
    11372        if ($547) {
    11373         $44 = 1.0;
    11374         break;
    11375        }
    11376       }
    11377       $44 = 1.5;
    11378      }
    11379     } while(0);
    11380     $548 = $26;
    11381     $549 = ($548|0)!=(0);
    11382     if ($549) {
    11383      $550 = $25;
    11384      $551 = HEAP8[$550>>0]|0;
    11385      $552 = $551 << 24 >> 24;
    11386      $553 = ($552|0)==(45);
    11387      if ($553) {
    11388       $554 = $43;
    11389       $555 = $554 * -1.0;
    11390       $43 = $555;
    11391       $556 = $44;
    11392       $557 = $556 * -1.0;
    11393       $44 = $557;
    11394      }
    11395     }
    11396     $558 = $42;
    11397     $559 = $15;
    11398     $560 = HEAP32[$559>>2]|0;
    11399     $561 = (($560) - ($558))|0;
    11400     HEAP32[$559>>2] = $561;
    11401     $562 = $43;
    11402     $563 = $44;
    11403     $564 = $562 + $563;
    11404     $565 = $43;
    11405     $566 = $564 != $565;
    11406     if ($566) {
    11407      $567 = $15;
    11408      $568 = HEAP32[$567>>2]|0;
    11409      $569 = $18;
    11410      $570 = (($568) + ($569))|0;
    11411      $571 = $15;
    11412      HEAP32[$571>>2] = $570;
    11413      while(1) {
    11414       $572 = $15;
    11415       $573 = HEAP32[$572>>2]|0;
    11416       $574 = ($573>>>0)>(999999999);
    11417       if (!($574)) {
    11418        break;
    11419       }
    11420       $575 = $15;
    11421       $576 = ((($575)) + -4|0);
    11422       $15 = $576;
    11423       HEAP32[$575>>2] = 0;
    11424       $577 = $15;
    11425       $578 = $14;
    11426       $579 = ($577>>>0)<($578>>>0);
    11427       if ($579) {
    11428        $580 = $14;
    11429        $581 = ((($580)) + -4|0);
    11430        $14 = $581;
    11431        HEAP32[$581>>2] = 0;
    11432       }
    11433       $582 = $15;
    11434       $583 = HEAP32[$582>>2]|0;
    11435       $584 = (($583) + 1)|0;
    11436       HEAP32[$582>>2] = $584;
    11437      }
    11438      $18 = 10;
    11439      $585 = $16;
    11440      $586 = $14;
    11441      $587 = $585;
    11442      $588 = $586;
    11443      $589 = (($587) - ($588))|0;
    11444      $590 = (($589|0) / 4)&-1;
    11445      $591 = ($590*9)|0;
    11446      $20 = $591;
    11447      while(1) {
    11448       $592 = $14;
    11449       $593 = HEAP32[$592>>2]|0;
    11450       $594 = $18;
    11451       $595 = ($593>>>0)>=($594>>>0);
    11452       if (!($595)) {
    11453        break L120;
    11454       }
    11455       $596 = $18;
    11456       $597 = ($596*10)|0;
    11457       $18 = $597;
    11458       $598 = $20;
    11459       $599 = (($598) + 1)|0;
    11460       $20 = $599;
    11461      }
    11462     }
    11463    }
    11464   } while(0);
    11465   $600 = $17;
    11466   $601 = $15;
    11467   $602 = ((($601)) + 4|0);
    11468   $603 = ($600>>>0)>($602>>>0);
    11469   if ($603) {
    11470    $604 = $15;
    11471    $605 = ((($604)) + 4|0);
    11472    $17 = $605;
    11473   }
    11474  }
    11475  while(1) {
    11476   $606 = $17;
    11477   $607 = $14;
    11478   $608 = ($606>>>0)>($607>>>0);
    11479   if (!($608)) {
    11480    break;
    11481   }
    11482   $609 = $17;
    11483   $610 = ((($609)) + -4|0);
    11484   $611 = HEAP32[$610>>2]|0;
    11485   $612 = ($611|0)!=(0);
    11486   $613 = $612 ^ 1;
    11487   if (!($613)) {
    11488    break;
    11489   }
    11490   $614 = $17;
    11491   $615 = ((($614)) + -4|0);
    11492   $17 = $615;
    11493  }
    11494  $616 = $12;
    11495  $617 = $616 | 32;
    11496  $618 = ($617|0)==(103);
    11497  do {
    11498   if ($618) {
    11499    $619 = $10;
    11500    $620 = ($619|0)!=(0);
    11501    if (!($620)) {
    11502     $621 = $10;
    11503     $622 = (($621) + 1)|0;
    11504     $10 = $622;
    11505    }
    11506    $623 = $10;
    11507    $624 = $20;
    11508    $625 = ($623|0)>($624|0);
    11509    $626 = $20;
    11510    $627 = ($626|0)>=(-4);
    11511    $or$cond6 = $625 & $627;
    11512    $628 = $12;
    11513    if ($or$cond6) {
    11514     $629 = (($628) + -1)|0;
    11515     $12 = $629;
    11516     $630 = $20;
    11517     $631 = (($630) + 1)|0;
    11518     $632 = $10;
    11519     $633 = (($632) - ($631))|0;
    11520     $10 = $633;
    11521    } else {
    11522     $634 = (($628) - 2)|0;
    11523     $12 = $634;
    11524     $635 = $10;
    11525     $636 = (($635) + -1)|0;
    11526     $10 = $636;
    11527    }
    11528    $637 = $11;
    11529    $638 = $637 & 8;
    11530    $639 = ($638|0)!=(0);
    11531    if (!($639)) {
    11532     $640 = $17;
    11533     $641 = $14;
    11534     $642 = ($640>>>0)>($641>>>0);
    11535     L165: do {
    11536      if ($642) {
    11537       $643 = $17;
    11538       $644 = ((($643)) + -4|0);
    11539       $645 = HEAP32[$644>>2]|0;
    11540       $646 = ($645|0)!=(0);
    11541       if ($646) {
    11542        $18 = 10;
    11543        $21 = 0;
    11544        while(1) {
    11545         $647 = $17;
    11546         $648 = ((($647)) + -4|0);
    11547         $649 = HEAP32[$648>>2]|0;
    11548         $650 = $18;
    11549         $651 = (($649>>>0) % ($650>>>0))&-1;
    11550         $652 = ($651|0)==(0);
    11551         if (!($652)) {
    11552          break L165;
    11553         }
    11554         $653 = $18;
    11555         $654 = ($653*10)|0;
    11556         $18 = $654;
    11557         $655 = $21;
    11558         $656 = (($655) + 1)|0;
    11559         $21 = $656;
    11560        }
    11561       } else {
    11562        label = 119;
    11563       }
    11564      } else {
    11565       label = 119;
    11566      }
    11567     } while(0);
    11568     if ((label|0) == 119) {
    11569      $21 = 9;
    11570     }
    11571     $657 = $12;
    11572     $658 = $657 | 32;
    11573     $659 = ($658|0)==(102);
    11574     $660 = $10;
    11575     $661 = $17;
    11576     $662 = $16;
    11577     $663 = $661;
    11578     $664 = $662;
    11579     $665 = (($663) - ($664))|0;
    11580     $666 = (($665|0) / 4)&-1;
    11581     $667 = (($666) - 1)|0;
    11582     $668 = ($667*9)|0;
    11583     if ($659) {
    11584      $669 = $21;
    11585      $670 = (($668) - ($669))|0;
    11586      $671 = (0)>($670|0);
    11587      if ($671) {
    11588       $683 = 0;
    11589      } else {
    11590       $672 = $17;
    11591       $673 = $16;
    11592       $674 = $672;
    11593       $675 = $673;
    11594       $676 = (($674) - ($675))|0;
    11595       $677 = (($676|0) / 4)&-1;
    11596       $678 = (($677) - 1)|0;
    11597       $679 = ($678*9)|0;
    11598       $680 = $21;
    11599       $681 = (($679) - ($680))|0;
    11600       $683 = $681;
    11601      }
    11602      $682 = ($660|0)<($683|0);
    11603      do {
    11604       if ($682) {
    11605        $684 = $10;
    11606        $706 = $684;
    11607       } else {
    11608        $685 = $17;
    11609        $686 = $16;
    11610        $687 = $685;
    11611        $688 = $686;
    11612        $689 = (($687) - ($688))|0;
    11613        $690 = (($689|0) / 4)&-1;
    11614        $691 = (($690) - 1)|0;
    11615        $692 = ($691*9)|0;
    11616        $693 = $21;
    11617        $694 = (($692) - ($693))|0;
    11618        $695 = (0)>($694|0);
    11619        if ($695) {
    11620         $706 = 0;
    11621         break;
    11622        }
    11623        $696 = $17;
    11624        $697 = $16;
    11625        $698 = $696;
    11626        $699 = $697;
    11627        $700 = (($698) - ($699))|0;
    11628        $701 = (($700|0) / 4)&-1;
    11629        $702 = (($701) - 1)|0;
    11630        $703 = ($702*9)|0;
    11631        $704 = $21;
    11632        $705 = (($703) - ($704))|0;
    11633        $706 = $705;
    11634       }
    11635      } while(0);
    11636      $10 = $706;
    11637      break;
    11638     } else {
    11639      $707 = $20;
    11640      $708 = (($668) + ($707))|0;
    11641      $709 = $21;
    11642      $710 = (($708) - ($709))|0;
    11643      $711 = (0)>($710|0);
    11644      if ($711) {
    11645       $725 = 0;
    11646      } else {
    11647       $712 = $17;
    11648       $713 = $16;
    11649       $714 = $712;
    11650       $715 = $713;
    11651       $716 = (($714) - ($715))|0;
    11652       $717 = (($716|0) / 4)&-1;
    11653       $718 = (($717) - 1)|0;
    11654       $719 = ($718*9)|0;
    11655       $720 = $20;
    11656       $721 = (($719) + ($720))|0;
    11657       $722 = $21;
    11658       $723 = (($721) - ($722))|0;
    11659       $725 = $723;
    11660      }
    11661      $724 = ($660|0)<($725|0);
    11662      do {
    11663       if ($724) {
    11664        $726 = $10;
    11665        $752 = $726;
    11666       } else {
    11667        $727 = $17;
    11668        $728 = $16;
    11669        $729 = $727;
    11670        $730 = $728;
    11671        $731 = (($729) - ($730))|0;
    11672        $732 = (($731|0) / 4)&-1;
    11673        $733 = (($732) - 1)|0;
    11674        $734 = ($733*9)|0;
    11675        $735 = $20;
    11676        $736 = (($734) + ($735))|0;
    11677        $737 = $21;
    11678        $738 = (($736) - ($737))|0;
    11679        $739 = (0)>($738|0);
    11680        if ($739) {
    11681         $752 = 0;
    11682         break;
    11683        }
    11684        $740 = $17;
    11685        $741 = $16;
    11686        $742 = $740;
    11687        $743 = $741;
    11688        $744 = (($742) - ($743))|0;
    11689        $745 = (($744|0) / 4)&-1;
    11690        $746 = (($745) - 1)|0;
    11691        $747 = ($746*9)|0;
    11692        $748 = $20;
    11693        $749 = (($747) + ($748))|0;
    11694        $750 = $21;
    11695        $751 = (($749) - ($750))|0;
    11696        $752 = $751;
    11697       }
    11698      } while(0);
    11699      $10 = $752;
    11700      break;
    11701     }
    11702    }
    11703   }
    11704  } while(0);
    11705  $753 = $10;
    11706  $754 = (1 + ($753))|0;
    11707  $755 = $10;
    11708  $756 = ($755|0)!=(0);
    11709  if ($756) {
    11710   $761 = 1;
    11711  } else {
    11712   $757 = $11;
    11713   $758 = $757 & 8;
    11714   $759 = ($758|0)!=(0);
    11715   $761 = $759;
    11716  }
    11717  $760 = $761&1;
    11718  $762 = (($754) + ($760))|0;
    11719  $22 = $762;
    11720  $763 = $12;
    11721  $764 = $763 | 32;
    11722  $765 = ($764|0)==(102);
    11723  $766 = $20;
    11724  if ($765) {
    11725   $767 = ($766|0)>(0);
    11726   if ($767) {
    11727    $768 = $20;
    11728    $769 = $22;
    11729    $770 = (($769) + ($768))|0;
    11730    $22 = $770;
    11731   }
    11732  } else {
    11733   $771 = ($766|0)<(0);
    11734   $772 = $20;
    11735   $773 = (0 - ($772))|0;
    11736   $774 = $771 ? $773 : $772;
    11737   $775 = $28;
    11738   $776 = (_fmt_u($774,$775)|0);
    11739   $29 = $776;
    11740   while(1) {
    11741    $777 = $28;
    11742    $778 = $29;
    11743    $779 = $777;
    11744    $780 = $778;
    11745    $781 = (($779) - ($780))|0;
    11746    $782 = ($781|0)<(2);
    11747    if (!($782)) {
    11748     break;
    11749    }
    11750    $783 = $29;
    11751    $784 = ((($783)) + -1|0);
    11752    $29 = $784;
    11753    HEAP8[$784>>0] = 48;
    11754   }
    11755   $785 = $20;
    11756   $786 = ($785|0)<(0);
    11757   $787 = $786 ? 45 : 43;
    11758   $788 = $787&255;
    11759   $789 = $29;
    11760   $790 = ((($789)) + -1|0);
    11761   $29 = $790;
    11762   HEAP8[$790>>0] = $788;
    11763   $791 = $12;
    11764   $792 = $791&255;
    11765   $793 = $29;
    11766   $794 = ((($793)) + -1|0);
    11767   $29 = $794;
    11768   HEAP8[$794>>0] = $792;
    11769   $795 = $28;
    11770   $796 = $29;
    11771   $797 = $795;
    11772   $798 = $796;
    11773   $799 = (($797) - ($798))|0;
    11774   $800 = $22;
    11775   $801 = (($800) + ($799))|0;
    11776   $22 = $801;
    11777  }
    11778  $802 = $7;
    11779  $803 = $9;
    11780  $804 = $26;
    11781  $805 = $22;
    11782  $806 = (($804) + ($805))|0;
    11783  $807 = $11;
    11784  _pad($802,32,$803,$806,$807);
    11785  $808 = $7;
    11786  $809 = $25;
    11787  $810 = $26;
    11788  _out($808,$809,$810);
    11789  $811 = $7;
    11790  $812 = $9;
    11791  $813 = $26;
    11792  $814 = $22;
    11793  $815 = (($813) + ($814))|0;
    11794  $816 = $11;
    11795  $817 = $816 ^ 65536;
    11796  _pad($811,48,$812,$815,$817);
    11797  $818 = $12;
    11798  $819 = $818 | 32;
    11799  $820 = ($819|0)==(102);
    11800  if ($820) {
    11801   $821 = $14;
    11802   $822 = $16;
    11803   $823 = ($821>>>0)>($822>>>0);
    11804   if ($823) {
    11805    $824 = $16;
    11806    $14 = $824;
    11807   }
    11808   $825 = $14;
    11809   $15 = $825;
    11810   while(1) {
    11811    $826 = $15;
    11812    $827 = $16;
    11813    $828 = ($826>>>0)<=($827>>>0);
    11814    if (!($828)) {
    11815     break;
    11816    }
    11817    $829 = $15;
    11818    $830 = HEAP32[$829>>2]|0;
    11819    $831 = ((($23)) + 9|0);
    11820    $832 = (_fmt_u($830,$831)|0);
    11821    $45 = $832;
    11822    $833 = $15;
    11823    $834 = $14;
    11824    $835 = ($833|0)!=($834|0);
    11825    L214: do {
    11826     if ($835) {
    11827      while(1) {
    11828       $836 = $45;
    11829       $837 = ($836>>>0)>($23>>>0);
    11830       if (!($837)) {
    11831        break L214;
    11832       }
    11833       $838 = $45;
    11834       $839 = ((($838)) + -1|0);
    11835       $45 = $839;
    11836       HEAP8[$839>>0] = 48;
    11837      }
    11838     } else {
    11839      $840 = $45;
    11840      $841 = ((($23)) + 9|0);
    11841      $842 = ($840|0)==($841|0);
    11842      if ($842) {
    11843       $843 = $45;
    11844       $844 = ((($843)) + -1|0);
    11845       $45 = $844;
    11846       HEAP8[$844>>0] = 48;
    11847      }
    11848     }
    11849    } while(0);
    11850    $845 = $7;
    11851    $846 = $45;
    11852    $847 = ((($23)) + 9|0);
    11853    $848 = $45;
    11854    $849 = $847;
    11855    $850 = $848;
    11856    $851 = (($849) - ($850))|0;
    11857    _out($845,$846,$851);
    11858    $852 = $15;
    11859    $853 = ((($852)) + 4|0);
    11860    $15 = $853;
    11861   }
    11862   $854 = $10;
    11863   $855 = ($854|0)!=(0);
    11864   if ($855) {
    11865    label = 157;
    11866   } else {
    11867    $856 = $11;
    11868    $857 = $856 & 8;
    11869    $858 = ($857|0)!=(0);
    11870    if ($858) {
    11871     label = 157;
    11872    }
    11873   }
    11874   if ((label|0) == 157) {
    11875    $859 = $7;
    11876    _out($859,70783,1);
    11877   }
    11878   while(1) {
    11879    $860 = $15;
    11880    $861 = $17;
    11881    $862 = ($860>>>0)<($861>>>0);
    11882    $863 = $10;
    11883    $864 = ($863|0)>(0);
    11884    $865 = $862 ? $864 : 0;
    11885    if (!($865)) {
    11886     break;
    11887    }
    11888    $866 = $15;
    11889    $867 = HEAP32[$866>>2]|0;
    11890    $868 = ((($23)) + 9|0);
    11891    $869 = (_fmt_u($867,$868)|0);
    11892    $46 = $869;
    11893    while(1) {
    11894     $870 = $46;
    11895     $871 = ($870>>>0)>($23>>>0);
    11896     if (!($871)) {
    11897      break;
    11898     }
    11899     $872 = $46;
    11900     $873 = ((($872)) + -1|0);
    11901     $46 = $873;
    11902     HEAP8[$873>>0] = 48;
    11903    }
    11904    $874 = $7;
    11905    $875 = $46;
    11906    $876 = $10;
    11907    $877 = (9)<($876|0);
    11908    $878 = $10;
    11909    $879 = $877 ? 9 : $878;
    11910    _out($874,$875,$879);
    11911    $880 = $15;
    11912    $881 = ((($880)) + 4|0);
    11913    $15 = $881;
    11914    $882 = $10;
    11915    $883 = (($882) - 9)|0;
    11916    $10 = $883;
    11917   }
    11918   $884 = $7;
    11919   $885 = $10;
    11920   $886 = (($885) + 9)|0;
    11921   _pad($884,48,$886,9,0);
    11922  } else {
    11923   $887 = $17;
    11924   $888 = $14;
    11925   $889 = ($887>>>0)<=($888>>>0);
    11926   if ($889) {
    11927    $890 = $14;
    11928    $891 = ((($890)) + 4|0);
    11929    $17 = $891;
    11930   }
    11931   $892 = $14;
    11932   $15 = $892;
    11933   while(1) {
    11934    $893 = $15;
    11935    $894 = $17;
    11936    $895 = ($893>>>0)<($894>>>0);
    11937    $896 = $10;
    11938    $897 = ($896|0)>=(0);
    11939    $898 = $895 ? $897 : 0;
    11940    if (!($898)) {
    11941     break;
    11942    }
    11943    $899 = $15;
    11944    $900 = HEAP32[$899>>2]|0;
    11945    $901 = ((($23)) + 9|0);
    11946    $902 = (_fmt_u($900,$901)|0);
    11947    $47 = $902;
    11948    $903 = $47;
    11949    $904 = ((($23)) + 9|0);
    11950    $905 = ($903|0)==($904|0);
    11951    if ($905) {
    11952     $906 = $47;
    11953     $907 = ((($906)) + -1|0);
    11954     $47 = $907;
    11955     HEAP8[$907>>0] = 48;
    11956    }
    11957    $908 = $15;
    11958    $909 = $14;
    11959    $910 = ($908|0)!=($909|0);
    11960    L244: do {
    11961     if ($910) {
    11962      while(1) {
    11963       $911 = $47;
    11964       $912 = ($911>>>0)>($23>>>0);
    11965       if (!($912)) {
    11966        break L244;
    11967       }
    11968       $913 = $47;
    11969       $914 = ((($913)) + -1|0);
    11970       $47 = $914;
    11971       HEAP8[$914>>0] = 48;
    11972      }
    11973     } else {
    11974      $915 = $7;
    11975      $916 = $47;
    11976      $917 = ((($916)) + 1|0);
    11977      $47 = $917;
    11978      _out($915,$916,1);
    11979      $918 = $10;
    11980      $919 = ($918|0)>(0);
    11981      if (!($919)) {
    11982       $920 = $11;
    11983       $921 = $920 & 8;
    11984       $922 = ($921|0)!=(0);
    11985       if (!($922)) {
    11986        break;
    11987       }
    11988      }
    11989      $923 = $7;
    11990      _out($923,70783,1);
    11991     }
    11992    } while(0);
    11993    $924 = $7;
    11994    $925 = $47;
    11995    $926 = ((($23)) + 9|0);
    11996    $927 = $47;
    11997    $928 = $926;
    11998    $929 = $927;
    11999    $930 = (($928) - ($929))|0;
    12000    $931 = $10;
    12001    $932 = ($930|0)<($931|0);
    12002    if ($932) {
    12003     $933 = ((($23)) + 9|0);
    12004     $934 = $47;
    12005     $935 = $933;
    12006     $936 = $934;
    12007     $937 = (($935) - ($936))|0;
    12008     $939 = $937;
    12009    } else {
    12010     $938 = $10;
    12011     $939 = $938;
    12012    }
    12013    _out($924,$925,$939);
    12014    $940 = ((($23)) + 9|0);
    12015    $941 = $47;
    12016    $942 = $940;
    12017    $943 = $941;
    12018    $944 = (($942) - ($943))|0;
    12019    $945 = $10;
    12020    $946 = (($945) - ($944))|0;
    12021    $10 = $946;
    12022    $947 = $15;
    12023    $948 = ((($947)) + 4|0);
    12024    $15 = $948;
    12025   }
    12026   $949 = $7;
    12027   $950 = $10;
    12028   $951 = (($950) + 18)|0;
    12029   _pad($949,48,$951,18,0);
    12030   $952 = $7;
    12031   $953 = $29;
    12032   $954 = $28;
    12033   $955 = $29;
    12034   $956 = $954;
    12035   $957 = $955;
    12036   $958 = (($956) - ($957))|0;
    12037   _out($952,$953,$958);
    12038  }
    12039  $959 = $7;
    12040  $960 = $9;
    12041  $961 = $26;
    12042  $962 = $22;
    12043  $963 = (($961) + ($962))|0;
    12044  $964 = $11;
    12045  $965 = $964 ^ 8192;
    12046  _pad($959,32,$960,$963,$965);
    12047  $966 = $9;
    12048  $967 = $26;
    12049  $968 = $22;
    12050  $969 = (($967) + ($968))|0;
    12051  $970 = ($966|0)>($969|0);
    12052  if ($970) {
    12053   $971 = $9;
    12054   $975 = $971;
    12055  } else {
    12056   $972 = $26;
    12057   $973 = $22;
    12058   $974 = (($972) + ($973))|0;
    12059   $975 = $974;
    12060  }
    12061  $6 = $975;
    12062  $976 = $6;
    12063  STACKTOP = sp;return ($976|0);
    12064 }
    12065 function ___FLOAT_BITS($0) {
    12066  $0 = +$0;
    12067  var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, label = 0, sp = 0;
    12068  sp = STACKTOP;
    12069  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12070  $2 = sp;
    12071  $1 = $0;
    12072  $3 = $1;
    12073  HEAPF32[$2>>2] = $3;
    12074  $4 = HEAP32[$2>>2]|0;
    12075  STACKTOP = sp;return ($4|0);
    12076 }
    12077 function ___DOUBLE_BITS($0) {
    12078  $0 = +$0;
    12079  var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12080  sp = STACKTOP;
    12081  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12082  $2 = sp;
    12083  $1 = $0;
    12084  $3 = $1;
    12085  HEAPF64[$2>>3] = $3;
    12086  $4 = $2;
    12087  $5 = $4;
    12088  $6 = HEAP32[$5>>2]|0;
    12089  $7 = (($4) + 4)|0;
    12090  $8 = $7;
    12091  $9 = HEAP32[$8>>2]|0;
    12092  tempRet0 = ($9);
    12093  STACKTOP = sp;return ($6|0);
    12094 }
    12095 function _pad($0,$1,$2,$3,$4) {
    12096  $0 = $0|0;
    12097  $1 = $1|0;
    12098  $2 = $2|0;
    12099  $3 = $3|0;
    12100  $4 = $4|0;
    12101  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    12102  var $30 = 0, $31 = 0, $32 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12103  sp = STACKTOP;
    12104  STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0);
    12105  $10 = sp + 16|0;
    12106  $5 = $0;
    12107  $6 = $1;
    12108  $7 = $2;
    12109  $8 = $3;
    12110  $9 = $4;
    12111  $11 = $9;
    12112  $12 = $11 & 73728;
    12113  $13 = ($12|0)!=(0);
    12114  if ($13) {
    12115   STACKTOP = sp;return;
    12116  }
    12117  $14 = $8;
    12118  $15 = $7;
    12119  $16 = ($14|0)>=($15|0);
    12120  if ($16) {
    12121   STACKTOP = sp;return;
    12122  }
    12123  $17 = $7;
    12124  $18 = $8;
    12125  $19 = (($17) - ($18))|0;
    12126  $8 = $19;
    12127  $20 = $6;
    12128  $21 = $20 << 24 >> 24;
    12129  $22 = $21&255;
    12130  $23 = $8;
    12131  $24 = ($23|0)>(256);
    12132  $25 = $8;
    12133  $26 = $24 ? 256 : $25;
    12134  _memset(($10|0),($22|0),($26|0))|0;
    12135  while(1) {
    12136   $27 = $8;
    12137   $28 = ($27|0)>=(256);
    12138   $29 = $5;
    12139   if (!($28)) {
    12140    break;
    12141   }
    12142   _out($29,$10,256);
    12143   $30 = $8;
    12144   $31 = (($30) - 256)|0;
    12145   $8 = $31;
    12146  }
    12147  $32 = $8;
    12148  _out($29,$10,$32);
    12149  STACKTOP = sp;return;
    12150 }
    12151 function _out($0,$1,$2) {
    12152  $0 = $0|0;
    12153  $1 = $1|0;
    12154  $2 = $2|0;
    12155  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12156  sp = STACKTOP;
    12157  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    12158  $$byval_copy = sp + 24|0;
    12159  $6 = sp;
    12160  $3 = $0;
    12161  $4 = $1;
    12162  $5 = $2;
    12163  $7 = $3;
    12164  $8 = HEAP32[$7>>2]|0;
    12165  $9 = $3;
    12166  $10 = ((($9)) + 4|0);
    12167  $11 = $4;
    12168  $12 = $5;
    12169  ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    12170  _mrb_str_cat($6,$8,$$byval_copy,$11,$12);
    12171  STACKTOP = sp;return;
    12172 }
    12173 function _fmt_u($0,$1) {
    12174  $0 = $0|0;
    12175  $1 = $1|0;
    12176  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12177  sp = STACKTOP;
    12178  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12179  $2 = $0;
    12180  $3 = $1;
    12181  while(1) {
    12182   $4 = $2;
    12183   $5 = ($4|0)!=(0);
    12184   if (!($5)) {
    12185    break;
    12186   }
    12187   $6 = $2;
    12188   $7 = (($6>>>0) % 10)&-1;
    12189   $8 = (48 + ($7))|0;
    12190   $9 = $8&255;
    12191   $10 = $3;
    12192   $11 = ((($10)) + -1|0);
    12193   $3 = $11;
    12194   HEAP8[$11>>0] = $9;
    12195   $12 = $2;
    12196   $13 = (($12>>>0) / 10)&-1;
    12197   $2 = $13;
    12198  }
    12199  $14 = $3;
    12200  STACKTOP = sp;return ($14|0);
    12201 }
    12202 function _mrb_realloc_simple($0,$1,$2) {
    12203  $0 = $0|0;
    12204  $1 = $1|0;
    12205  $2 = $2|0;
    12206  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    12207  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    12208  sp = STACKTOP;
    12209  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12210  $3 = $0;
    12211  $4 = $1;
    12212  $5 = $2;
    12213  $7 = $3;
    12214  $8 = ((($7)) + 4|0);
    12215  $9 = HEAP32[$8>>2]|0;
    12216  $10 = $3;
    12217  $11 = $4;
    12218  $12 = $5;
    12219  $13 = $3;
    12220  $14 = ((($13)) + 8|0);
    12221  $15 = HEAP32[$14>>2]|0;
    12222  $16 = (FUNCTION_TABLE_iiiii[$9 & 255]($10,$11,$12,$15)|0);
    12223  $6 = $16;
    12224  $17 = $6;
    12225  $18 = ($17|0)==(0|0);
    12226  $19 = $5;
    12227  $20 = ($19>>>0)>(0);
    12228  $or$cond = $18 & $20;
    12229  if (!($or$cond)) {
    12230   $36 = $6;
    12231   STACKTOP = sp;return ($36|0);
    12232  }
    12233  $21 = $3;
    12234  $22 = ((($21)) + 92|0);
    12235  $23 = HEAP32[$22>>2]|0;
    12236  $24 = ($23|0)!=(0|0);
    12237  if (!($24)) {
    12238   $36 = $6;
    12239   STACKTOP = sp;return ($36|0);
    12240  }
    12241  $25 = $3;
    12242  _mrb_full_gc($25);
    12243  $26 = $3;
    12244  $27 = ((($26)) + 4|0);
    12245  $28 = HEAP32[$27>>2]|0;
    12246  $29 = $3;
    12247  $30 = $4;
    12248  $31 = $5;
    12249  $32 = $3;
    12250  $33 = ((($32)) + 8|0);
    12251  $34 = HEAP32[$33>>2]|0;
    12252  $35 = (FUNCTION_TABLE_iiiii[$28 & 255]($29,$30,$31,$34)|0);
    12253  $6 = $35;
    12254  $36 = $6;
    12255  STACKTOP = sp;return ($36|0);
    12256 }
    12257 function _mrb_full_gc($0) {
    12258  $0 = $0|0;
    12259  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    12260  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    12261  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12262  sp = STACKTOP;
    12263  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12264  $1 = $0;
    12265  $3 = $1;
    12266  $4 = ((($3)) + 92|0);
    12267  $2 = $4;
    12268  $5 = $2;
    12269  $6 = ((($5)) + 452|0);
    12270  $7 = HEAP8[$6>>0]|0;
    12271  $8 = $7 & 1;
    12272  $9 = ($8<<24>>24)!=(0);
    12273  if ($9) {
    12274   STACKTOP = sp;return;
    12275  }
    12276  $10 = $2;
    12277  $11 = ((($10)) + 452|0);
    12278  $12 = HEAP8[$11>>0]|0;
    12279  $13 = ($12&255) >>> 2;
    12280  $14 = $13 & 1;
    12281  $15 = ($14<<24>>24)!=(0);
    12282  if ($15) {
    12283   $16 = $1;
    12284   $17 = $2;
    12285   _clear_all_old($16,$17);
    12286   $18 = $2;
    12287   $19 = ((($18)) + 452|0);
    12288   $20 = HEAP8[$19>>0]|0;
    12289   $21 = $20 & -3;
    12290   $22 = $21 | 2;
    12291   HEAP8[$19>>0] = $22;
    12292  } else {
    12293   $23 = $2;
    12294   $24 = ((($23)) + 420|0);
    12295   $25 = HEAP32[$24>>2]|0;
    12296   $26 = ($25|0)!=(0);
    12297   if ($26) {
    12298    $27 = $1;
    12299    $28 = $2;
    12300    _incremental_gc_until($27,$28,0);
    12301   }
    12302  }
    12303  $29 = $1;
    12304  $30 = $2;
    12305  _incremental_gc_until($29,$30,0);
    12306  $31 = $2;
    12307  $32 = ((($31)) + 436|0);
    12308  $33 = HEAP32[$32>>2]|0;
    12309  $34 = (($33>>>0) / 100)&-1;
    12310  $35 = $2;
    12311  $36 = ((($35)) + 444|0);
    12312  $37 = HEAP32[$36>>2]|0;
    12313  $38 = Math_imul($34, $37)|0;
    12314  $39 = $2;
    12315  $40 = ((($39)) + 440|0);
    12316  HEAP32[$40>>2] = $38;
    12317  $41 = $2;
    12318  $42 = ((($41)) + 452|0);
    12319  $43 = HEAP8[$42>>0]|0;
    12320  $44 = ($43&255) >>> 2;
    12321  $45 = $44 & 1;
    12322  $46 = ($45<<24>>24)!=(0);
    12323  if (!($46)) {
    12324   STACKTOP = sp;return;
    12325  }
    12326  $47 = $2;
    12327  $48 = ((($47)) + 436|0);
    12328  $49 = HEAP32[$48>>2]|0;
    12329  $50 = (($49>>>0) / 100)&-1;
    12330  $51 = ($50*200)|0;
    12331  $52 = $2;
    12332  $53 = ((($52)) + 456|0);
    12333  HEAP32[$53>>2] = $51;
    12334  $54 = $2;
    12335  $55 = ((($54)) + 452|0);
    12336  $56 = HEAP8[$55>>0]|0;
    12337  $57 = $56 & -3;
    12338  HEAP8[$55>>0] = $57;
    12339  STACKTOP = sp;return;
    12340 }
    12341 function _clear_all_old($0,$1) {
    12342  $0 = $0|0;
    12343  $1 = $1|0;
    12344  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    12345  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0;
    12346  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12347  sp = STACKTOP;
    12348  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12349  $2 = $0;
    12350  $3 = $1;
    12351  $5 = $3;
    12352  $6 = ((($5)) + 452|0);
    12353  $7 = HEAP8[$6>>0]|0;
    12354  $8 = ($7&255) >>> 2;
    12355  $9 = $8 & 1;
    12356  $4 = $9;
    12357  $10 = $3;
    12358  $11 = ((($10)) + 452|0);
    12359  $12 = HEAP8[$11>>0]|0;
    12360  $13 = ($12&255) >>> 2;
    12361  $14 = $13 & 1;
    12362  $15 = $14&255;
    12363  $16 = ($15|0)!=(0);
    12364  if ($16) {
    12365   $17 = $3;
    12366   $18 = ((($17)) + 452|0);
    12367   $19 = HEAP8[$18>>0]|0;
    12368   $20 = ($19&255) >>> 1;
    12369   $21 = $20 & 1;
    12370   $22 = $21&255;
    12371   $23 = ($22|0)!=(0);
    12372   if ($23) {
    12373    $24 = $2;
    12374    $25 = $3;
    12375    _incremental_gc_until($24,$25,0);
    12376   }
    12377  }
    12378  $26 = $3;
    12379  $27 = ((($26)) + 452|0);
    12380  $28 = HEAP8[$27>>0]|0;
    12381  $29 = $28 & -5;
    12382  HEAP8[$27>>0] = $29;
    12383  $30 = $2;
    12384  $31 = $3;
    12385  _prepare_incremental_sweep($30,$31);
    12386  $32 = $2;
    12387  $33 = $3;
    12388  _incremental_gc_until($32,$33,0);
    12389  $34 = $4;
    12390  $35 = $3;
    12391  $36 = ((($35)) + 452|0);
    12392  $37 = HEAP8[$36>>0]|0;
    12393  $38 = $34 & 1;
    12394  $39 = ($38 << 2)&255;
    12395  $40 = $37 & -5;
    12396  $41 = $40 | $39;
    12397  HEAP8[$36>>0] = $41;
    12398  $42 = $3;
    12399  $43 = ((($42)) + 428|0);
    12400  HEAP32[$43>>2] = 0;
    12401  $44 = $3;
    12402  $45 = ((($44)) + 432|0);
    12403  HEAP32[$45>>2] = 0;
    12404  STACKTOP = sp;return;
    12405 }
    12406 function _incremental_gc_until($0,$1,$2) {
    12407  $0 = $0|0;
    12408  $1 = $1|0;
    12409  $2 = $2|0;
    12410  var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12411  sp = STACKTOP;
    12412  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12413  $3 = $0;
    12414  $4 = $1;
    12415  $5 = $2;
    12416  while(1) {
    12417   $6 = $3;
    12418   $7 = $4;
    12419   (_incremental_gc($6,$7,-1)|0);
    12420   $8 = $4;
    12421   $9 = ((($8)) + 420|0);
    12422   $10 = HEAP32[$9>>2]|0;
    12423   $11 = $5;
    12424   $12 = ($10|0)!=($11|0);
    12425   if (!($12)) {
    12426    break;
    12427   }
    12428  }
    12429  STACKTOP = sp;return;
    12430 }
    12431 function _incremental_gc($0,$1,$2) {
    12432  $0 = $0|0;
    12433  $1 = $1|0;
    12434  $2 = $2|0;
    12435  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    12436  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12437  sp = STACKTOP;
    12438  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    12439  $4 = $0;
    12440  $5 = $1;
    12441  $6 = $2;
    12442  $8 = $5;
    12443  $9 = ((($8)) + 420|0);
    12444  $10 = HEAP32[$9>>2]|0;
    12445  switch ($10|0) {
    12446  case 0:  {
    12447   $11 = $4;
    12448   $12 = $5;
    12449   _root_scan_phase($11,$12);
    12450   $13 = $5;
    12451   $14 = ((($13)) + 420|0);
    12452   HEAP32[$14>>2] = 1;
    12453   $15 = $5;
    12454   $16 = ((($15)) + 424|0);
    12455   $17 = HEAP32[$16>>2]|0;
    12456   $18 = $17 ^ 3;
    12457   $19 = $5;
    12458   $20 = ((($19)) + 424|0);
    12459   HEAP32[$20>>2] = $18;
    12460   $3 = 0;
    12461   $40 = $3;
    12462   STACKTOP = sp;return ($40|0);
    12463   break;
    12464  }
    12465  case 1:  {
    12466   $21 = $5;
    12467   $22 = ((($21)) + 428|0);
    12468   $23 = HEAP32[$22>>2]|0;
    12469   $24 = ($23|0)!=(0|0);
    12470   $25 = $4;
    12471   $26 = $5;
    12472   if ($24) {
    12473    $27 = $6;
    12474    $28 = (_incremental_marking_phase($25,$26,$27)|0);
    12475    $3 = $28;
    12476    $40 = $3;
    12477    STACKTOP = sp;return ($40|0);
    12478   } else {
    12479    _final_marking_phase($25,$26);
    12480    $29 = $4;
    12481    $30 = $5;
    12482    _prepare_incremental_sweep($29,$30);
    12483    $3 = 0;
    12484    $40 = $3;
    12485    STACKTOP = sp;return ($40|0);
    12486   }
    12487   break;
    12488  }
    12489  case 2:  {
    12490   $7 = 0;
    12491   $31 = $4;
    12492   $32 = $5;
    12493   $33 = $6;
    12494   $34 = (_incremental_sweep_phase($31,$32,$33)|0);
    12495   $7 = $34;
    12496   $35 = $7;
    12497   $36 = ($35|0)==(0);
    12498   if ($36) {
    12499    $37 = $5;
    12500    $38 = ((($37)) + 420|0);
    12501    HEAP32[$38>>2] = 0;
    12502   }
    12503   $39 = $7;
    12504   $3 = $39;
    12505   $40 = $3;
    12506   STACKTOP = sp;return ($40|0);
    12507   break;
    12508  }
    12509  default: {
    12510   $3 = 0;
    12511   $40 = $3;
    12512   STACKTOP = sp;return ($40|0);
    12513  }
    12514  }
    12515  return (0)|0;
    12516 }
    12517 function _root_scan_phase($0,$1) {
    12518  $0 = $0|0;
    12519  $1 = $1|0;
    12520  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    12521  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    12522  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    12523  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12524  sp = STACKTOP;
    12525  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12526  $2 = $0;
    12527  $3 = $1;
    12528  $6 = $3;
    12529  $7 = ((($6)) + 452|0);
    12530  $8 = HEAP8[$7>>0]|0;
    12531  $9 = ($8&255) >>> 2;
    12532  $10 = $9 & 1;
    12533  $11 = $10&255;
    12534  $12 = ($11|0)!=(0);
    12535  if ($12) {
    12536   $13 = $3;
    12537   $14 = ((($13)) + 452|0);
    12538   $15 = HEAP8[$14>>0]|0;
    12539   $16 = ($15&255) >>> 1;
    12540   $17 = $16 & 1;
    12541   $18 = ($17<<24>>24)!=(0);
    12542   if ($18) {
    12543    label = 3;
    12544   }
    12545  } else {
    12546   label = 3;
    12547  }
    12548  if ((label|0) == 3) {
    12549   $19 = $3;
    12550   $20 = ((($19)) + 428|0);
    12551   HEAP32[$20>>2] = 0;
    12552   $21 = $3;
    12553   $22 = ((($21)) + 432|0);
    12554   HEAP32[$22>>2] = 0;
    12555  }
    12556  $23 = $2;
    12557  _mrb_gc_mark_gv($23);
    12558  $4 = 0;
    12559  $24 = $3;
    12560  $25 = ((($24)) + 416|0);
    12561  $26 = HEAP32[$25>>2]|0;
    12562  $5 = $26;
    12563  while(1) {
    12564   $27 = $4;
    12565   $28 = $5;
    12566   $29 = ($27>>>0)<($28>>>0);
    12567   $30 = $2;
    12568   if (!($29)) {
    12569    break;
    12570   }
    12571   $31 = $3;
    12572   $32 = ((($31)) + 16|0);
    12573   $33 = $4;
    12574   $34 = (($32) + ($33<<2)|0);
    12575   $35 = HEAP32[$34>>2]|0;
    12576   _mrb_gc_mark($30,$35);
    12577   $36 = $4;
    12578   $37 = (($36) + 1)|0;
    12579   $4 = $37;
    12580  }
    12581  $38 = $2;
    12582  $39 = ((($38)) + 32|0);
    12583  $40 = HEAP32[$39>>2]|0;
    12584  _mrb_gc_mark($30,$40);
    12585  $41 = $2;
    12586  $42 = $2;
    12587  $43 = ((($42)) + 28|0);
    12588  $44 = HEAP32[$43>>2]|0;
    12589  _mrb_gc_mark($41,$44);
    12590  $45 = $2;
    12591  $46 = $2;
    12592  $47 = ((($46)) + 20|0);
    12593  $48 = HEAP32[$47>>2]|0;
    12594  _mrb_gc_mark($45,$48);
    12595  $49 = $2;
    12596  $50 = $2;
    12597  $51 = ((($50)) + 576|0);
    12598  $52 = HEAP32[$51>>2]|0;
    12599  _mrb_gc_mark($49,$52);
    12600  $53 = $2;
    12601  $54 = $2;
    12602  $55 = ((($54)) + 16|0);
    12603  $56 = HEAP32[$55>>2]|0;
    12604  _mark_context($53,$56);
    12605  $57 = $2;
    12606  $58 = ((($57)) + 16|0);
    12607  $59 = HEAP32[$58>>2]|0;
    12608  $60 = ((($59)) + 48|0);
    12609  $61 = HEAP32[$60>>2]|0;
    12610  $62 = ($61|0)!=(0|0);
    12611  if ($62) {
    12612   $63 = $2;
    12613   $64 = $2;
    12614   $65 = ((($64)) + 16|0);
    12615   $66 = HEAP32[$65>>2]|0;
    12616   $67 = ((($66)) + 48|0);
    12617   $68 = HEAP32[$67>>2]|0;
    12618   _mrb_gc_mark($63,$68);
    12619  }
    12620  $69 = $2;
    12621  $70 = ((($69)) + 16|0);
    12622  $71 = HEAP32[$70>>2]|0;
    12623  $72 = $2;
    12624  $73 = ((($72)) + 12|0);
    12625  $74 = HEAP32[$73>>2]|0;
    12626  $75 = ($71|0)!=($74|0);
    12627  if (!($75)) {
    12628   STACKTOP = sp;return;
    12629  }
    12630  $76 = $2;
    12631  $77 = $2;
    12632  $78 = ((($77)) + 12|0);
    12633  $79 = HEAP32[$78>>2]|0;
    12634  _mark_context($76,$79);
    12635  STACKTOP = sp;return;
    12636 }
    12637 function _incremental_marking_phase($0,$1,$2) {
    12638  $0 = $0|0;
    12639  $1 = $1|0;
    12640  $2 = $2|0;
    12641  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    12642  var label = 0, sp = 0;
    12643  sp = STACKTOP;
    12644  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12645  $3 = $0;
    12646  $4 = $1;
    12647  $5 = $2;
    12648  $6 = 0;
    12649  while(1) {
    12650   $7 = $4;
    12651   $8 = ((($7)) + 428|0);
    12652   $9 = HEAP32[$8>>2]|0;
    12653   $10 = ($9|0)!=(0|0);
    12654   if (!($10)) {
    12655    label = 5;
    12656    break;
    12657   }
    12658   $11 = $6;
    12659   $12 = $5;
    12660   $13 = ($11>>>0)<($12>>>0);
    12661   if (!($13)) {
    12662    label = 5;
    12663    break;
    12664   }
    12665   $14 = $3;
    12666   $15 = $4;
    12667   $16 = $4;
    12668   $17 = ((($16)) + 428|0);
    12669   $18 = HEAP32[$17>>2]|0;
    12670   $19 = (_gc_gray_mark($14,$15,$18)|0);
    12671   $20 = $6;
    12672   $21 = (($20) + ($19))|0;
    12673   $6 = $21;
    12674  }
    12675  if ((label|0) == 5) {
    12676   $22 = $6;
    12677   STACKTOP = sp;return ($22|0);
    12678  }
    12679  return (0)|0;
    12680 }
    12681 function _final_marking_phase($0,$1) {
    12682  $0 = $0|0;
    12683  $1 = $1|0;
    12684  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12685  sp = STACKTOP;
    12686  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12687  $2 = $0;
    12688  $3 = $1;
    12689  $4 = $2;
    12690  $5 = $2;
    12691  $6 = ((($5)) + 16|0);
    12692  $7 = HEAP32[$6>>2]|0;
    12693  _mark_context_stack($4,$7);
    12694  $8 = $2;
    12695  $9 = $3;
    12696  _gc_mark_gray_list($8,$9);
    12697  $10 = $3;
    12698  $11 = ((($10)) + 432|0);
    12699  $12 = HEAP32[$11>>2]|0;
    12700  $13 = $3;
    12701  $14 = ((($13)) + 428|0);
    12702  HEAP32[$14>>2] = $12;
    12703  $15 = $3;
    12704  $16 = ((($15)) + 432|0);
    12705  HEAP32[$16>>2] = 0;
    12706  $17 = $2;
    12707  $18 = $3;
    12708  _gc_mark_gray_list($17,$18);
    12709  STACKTOP = sp;return;
    12710 }
    12711 function _prepare_incremental_sweep($0,$1) {
    12712  $0 = $0|0;
    12713  $1 = $1|0;
    12714  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    12715  sp = STACKTOP;
    12716  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    12717  $2 = $0;
    12718  $3 = $1;
    12719  $4 = $3;
    12720  $5 = ((($4)) + 420|0);
    12721  HEAP32[$5>>2] = 2;
    12722  $6 = $3;
    12723  $7 = HEAP32[$6>>2]|0;
    12724  $8 = $3;
    12725  $9 = ((($8)) + 4|0);
    12726  HEAP32[$9>>2] = $7;
    12727  $10 = $3;
    12728  $11 = ((($10)) + 12|0);
    12729  $12 = HEAP32[$11>>2]|0;
    12730  $13 = $3;
    12731  $14 = ((($13)) + 436|0);
    12732  HEAP32[$14>>2] = $12;
    12733  STACKTOP = sp;return;
    12734 }
    12735 function _incremental_sweep_phase($0,$1,$2) {
    12736  $0 = $0|0;
    12737  $1 = $1|0;
    12738  $2 = $2|0;
    12739  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    12740  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    12741  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    12742  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    12743  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
    12744  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
    12745  var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
    12746  var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
    12747  var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
    12748  sp = STACKTOP;
    12749  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    12750  $3 = $0;
    12751  $4 = $1;
    12752  $5 = $2;
    12753  $14 = $4;
    12754  $15 = ((($14)) + 4|0);
    12755  $16 = HEAP32[$15>>2]|0;
    12756  $6 = $16;
    12757  $7 = 0;
    12758  while(1) {
    12759   $17 = $6;
    12760   $18 = ($17|0)!=(0|0);
    12761   if ($18) {
    12762    $19 = $7;
    12763    $20 = $5;
    12764    $21 = ($19>>>0)<($20>>>0);
    12765    $165 = $21;
    12766   } else {
    12767    $165 = 0;
    12768   }
    12769   $22 = $6;
    12770   if (!($165)) {
    12771    break;
    12772   }
    12773   $23 = ((($22)) + 24|0);
    12774   $8 = $23;
    12775   $24 = $8;
    12776   $25 = ((($24)) + 1536|0);
    12777   $9 = $25;
    12778   $10 = 0;
    12779   $11 = 1;
    12780   $26 = $6;
    12781   $27 = HEAP32[$26>>2]|0;
    12782   $28 = ($27|0)==(0|0);
    12783   $29 = $28&1;
    12784   $30 = $29&255;
    12785   $12 = $30;
    12786   $31 = $4;
    12787   $32 = ((($31)) + 452|0);
    12788   $33 = HEAP8[$32>>0]|0;
    12789   $34 = ($33&255) >>> 2;
    12790   $35 = $34 & 1;
    12791   $36 = $35&255;
    12792   $37 = ($36|0)!=(0);
    12793   if ($37) {
    12794    $38 = $4;
    12795    $39 = ((($38)) + 452|0);
    12796    $40 = HEAP8[$39>>0]|0;
    12797    $41 = ($40&255) >>> 1;
    12798    $42 = $41 & 1;
    12799    $43 = ($42<<24>>24)!=(0);
    12800    if (!($43)) {
    12801     $44 = $6;
    12802     $45 = ((($44)) + 20|0);
    12803     $46 = HEAP8[$45>>0]|0;
    12804     $47 = $46 & 1;
    12805     $48 = $47&255;
    12806     $49 = ($48|0)!=(0);
    12807     if ($49) {
    12808      $50 = $9;
    12809      $8 = $50;
    12810      $11 = 0;
    12811     }
    12812    }
    12813   }
    12814   while(1) {
    12815    $51 = $8;
    12816    $52 = $9;
    12817    $53 = ($51>>>0)<($52>>>0);
    12818    if (!($53)) {
    12819     break;
    12820    }
    12821    $54 = $8;
    12822    $55 = HEAP32[$54>>2]|0;
    12823    $56 = $55 >>> 8;
    12824    $57 = $56 & 7;
    12825    $58 = $4;
    12826    $59 = ((($58)) + 424|0);
    12827    $60 = HEAP32[$59>>2]|0;
    12828    $61 = $60 ^ 3;
    12829    $62 = $57 & $61;
    12830    $63 = $62 & 3;
    12831    $64 = ($63|0)!=(0);
    12832    if ($64) {
    12833     label = 12;
    12834    } else {
    12835     $65 = $8;
    12836     $66 = HEAP32[$65>>2]|0;
    12837     $67 = $66 & 255;
    12838     $68 = ($67|0)==(1);
    12839     if ($68) {
    12840      label = 12;
    12841     } else {
    12842      $83 = $4;
    12843      $84 = ((($83)) + 452|0);
    12844      $85 = HEAP8[$84>>0]|0;
    12845      $86 = ($85&255) >>> 2;
    12846      $87 = $86 & 1;
    12847      $88 = ($87<<24>>24)!=(0);
    12848      if (!($88)) {
    12849       $89 = $4;
    12850       $90 = ((($89)) + 424|0);
    12851       $91 = HEAP32[$90>>2]|0;
    12852       $92 = $8;
    12853       $93 = HEAP32[$92>>2]|0;
    12854       $94 = $91 & 7;
    12855       $95 = $94 << 8;
    12856       $96 = $93 & -1793;
    12857       $97 = $96 | $95;
    12858       HEAP32[$92>>2] = $97;
    12859      }
    12860      $11 = 0;
    12861     }
    12862    }
    12863    if ((label|0) == 12) {
    12864     label = 0;
    12865     $69 = $8;
    12866     $70 = HEAP32[$69>>2]|0;
    12867     $71 = $70 & 255;
    12868     $72 = ($71|0)!=(1);
    12869     if ($72) {
    12870      $73 = $3;
    12871      $74 = $8;
    12872      _obj_free($73,$74);
    12873      $75 = $6;
    12874      $76 = HEAP32[$75>>2]|0;
    12875      $77 = $8;
    12876      $78 = ((($77)) + 12|0);
    12877      HEAP32[$78>>2] = $76;
    12878      $79 = $8;
    12879      $80 = $6;
    12880      HEAP32[$80>>2] = $79;
    12881      $81 = $10;
    12882      $82 = (($81) + 1)|0;
    12883      $10 = $82;
    12884     }
    12885    }
    12886    $98 = $8;
    12887    $99 = ((($98)) + 24|0);
    12888    $8 = $99;
    12889   }
    12890   $100 = $11;
    12891   $101 = $100&255;
    12892   $102 = ($101|0)!=(0);
    12893   $103 = $10;
    12894   $104 = ($103>>>0)<(64);
    12895   $or$cond = $102 & $104;
    12896   if ($or$cond) {
    12897    $105 = $6;
    12898    $106 = ((($105)) + 8|0);
    12899    $107 = HEAP32[$106>>2]|0;
    12900    $13 = $107;
    12901    $108 = $4;
    12902    $109 = $6;
    12903    _unlink_heap_page($108,$109);
    12904    $110 = $4;
    12905    $111 = $6;
    12906    _unlink_free_heap_page($110,$111);
    12907    $112 = $3;
    12908    $113 = $6;
    12909    _mrb_free($112,$113);
    12910    $114 = $13;
    12911    $6 = $114;
    12912   } else {
    12913    $115 = $12;
    12914    $116 = $115&255;
    12915    $117 = ($116|0)!=(0);
    12916    $118 = $10;
    12917    $119 = ($118>>>0)>(0);
    12918    $or$cond3 = $117 & $119;
    12919    if ($or$cond3) {
    12920     $120 = $4;
    12921     $121 = $6;
    12922     _link_free_heap_page($120,$121);
    12923    }
    12924    $122 = $6;
    12925    $123 = HEAP32[$122>>2]|0;
    12926    $124 = ($123|0)==(0|0);
    12927    if ($124) {
    12928     $125 = $4;
    12929     $126 = ((($125)) + 452|0);
    12930     $127 = HEAP8[$126>>0]|0;
    12931     $128 = ($127&255) >>> 2;
    12932     $129 = $128 & 1;
    12933     $130 = $129&255;
    12934     $131 = ($130|0)!=(0);
    12935     if ($131) {
    12936      $132 = $4;
    12937      $133 = ((($132)) + 452|0);
    12938      $134 = HEAP8[$133>>0]|0;
    12939      $135 = ($134&255) >>> 1;
    12940      $136 = $135 & 1;
    12941      $137 = ($136<<24>>24)!=(0);
    12942      if ($137) {
    12943       label = 26;
    12944      } else {
    12945       $138 = $6;
    12946       $139 = ((($138)) + 20|0);
    12947       $140 = HEAP8[$139>>0]|0;
    12948       $141 = $140 & -2;
    12949       $142 = $141 | 1;
    12950       HEAP8[$139>>0] = $142;
    12951      }
    12952     } else {
    12953      label = 26;
    12954     }
    12955    } else {
    12956     label = 26;
    12957    }
    12958    if ((label|0) == 26) {
    12959     label = 0;
    12960     $143 = $6;
    12961     $144 = ((($143)) + 20|0);
    12962     $145 = HEAP8[$144>>0]|0;
    12963     $146 = $145 & -2;
    12964     HEAP8[$144>>0] = $146;
    12965    }
    12966    $147 = $6;
    12967    $148 = ((($147)) + 8|0);
    12968    $149 = HEAP32[$148>>2]|0;
    12969    $6 = $149;
    12970   }
    12971   $150 = $7;
    12972   $151 = (($150) + 64)|0;
    12973   $7 = $151;
    12974   $152 = $10;
    12975   $153 = $4;
    12976   $154 = ((($153)) + 12|0);
    12977   $155 = HEAP32[$154>>2]|0;
    12978   $156 = (($155) - ($152))|0;
    12979   HEAP32[$154>>2] = $156;
    12980   $157 = $10;
    12981   $158 = $4;
    12982   $159 = ((($158)) + 436|0);
    12983   $160 = HEAP32[$159>>2]|0;
    12984   $161 = (($160) - ($157))|0;
    12985   HEAP32[$159>>2] = $161;
    12986  }
    12987  $162 = $4;
    12988  $163 = ((($162)) + 4|0);
    12989  HEAP32[$163>>2] = $22;
    12990  $164 = $7;
    12991  STACKTOP = sp;return ($164|0);
    12992 }
    12993 function _obj_free($0,$1) {
    12994  $0 = $0|0;
    12995  $1 = $1|0;
    12996  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
    12997  var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
    12998  var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
    12999  var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
    13000  var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
    13001  var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    13002  sp = STACKTOP;
    13003  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    13004  $2 = $0;
    13005  $3 = $1;
    13006  $8 = $3;
    13007  $9 = HEAP32[$8>>2]|0;
    13008  $10 = $9 & 255;
    13009  L1: do {
    13010   switch ($10|0) {
    13011   case 18: case 8:  {
    13012    $11 = $2;
    13013    $12 = $3;
    13014    _mrb_gc_free_iv($11,$12);
    13015    break;
    13016   }
    13017   case 12: case 10: case 9:  {
    13018    $13 = $2;
    13019    $14 = $3;
    13020    _mrb_gc_free_mt($13,$14);
    13021    $15 = $2;
    13022    $16 = $3;
    13023    _mrb_gc_free_iv($15,$16);
    13024    break;
    13025   }
    13026   case 11:  {
    13027    $17 = $3;
    13028    $18 = HEAP32[$17>>2]|0;
    13029    $19 = $18 >>> 11;
    13030    $20 = $19 & 1048576;
    13031    $21 = ($20|0)!=(0);
    13032    if ($21) {
    13033     $22 = $2;
    13034     $23 = $3;
    13035     _mrb_gc_free_mt($22,$23);
    13036    }
    13037    break;
    13038   }
    13039   case 20:  {
    13040    $24 = $3;
    13041    $4 = $24;
    13042    $25 = $4;
    13043    $26 = ((($25)) + 20|0);
    13044    $27 = HEAP32[$26>>2]|0;
    13045    $28 = ($27|0)>=(0);
    13046    if (!($28)) {
    13047     $29 = $2;
    13048     $30 = $4;
    13049     $31 = ((($30)) + 12|0);
    13050     $32 = HEAP32[$31>>2]|0;
    13051     _mrb_free($29,$32);
    13052     $33 = $4;
    13053     $34 = ((($33)) + 12|0);
    13054     HEAP32[$34>>2] = 0;
    13055    }
    13056    break;
    13057   }
    13058   case 22:  {
    13059    $35 = $3;
    13060    $36 = ((($35)) + 12|0);
    13061    $37 = HEAP32[$36>>2]|0;
    13062    $5 = $37;
    13063    $38 = $5;
    13064    $39 = $2;
    13065    $40 = ((($39)) + 16|0);
    13066    $41 = HEAP32[$40>>2]|0;
    13067    $42 = ($38|0)!=($41|0);
    13068    if ($42) {
    13069     $43 = $2;
    13070     $44 = $5;
    13071     _mrb_free_context($43,$44);
    13072    }
    13073    break;
    13074   }
    13075   case 14:  {
    13076    $45 = $3;
    13077    $46 = HEAP32[$45>>2]|0;
    13078    $47 = $46 >>> 11;
    13079    $48 = $47 & 256;
    13080    $49 = ($48|0)!=(0);
    13081    $50 = $2;
    13082    $51 = $3;
    13083    if ($49) {
    13084     $52 = ((($51)) + 16|0);
    13085     $53 = HEAP32[$52>>2]|0;
    13086     _mrb_ary_decref($50,$53);
    13087     break L1;
    13088    } else {
    13089     $54 = ((($51)) + 20|0);
    13090     $55 = HEAP32[$54>>2]|0;
    13091     _mrb_free($50,$55);
    13092     break L1;
    13093    }
    13094    break;
    13095   }
    13096   case 15:  {
    13097    $56 = $2;
    13098    $57 = $3;
    13099    _mrb_gc_free_iv($56,$57);
    13100    $58 = $2;
    13101    $59 = $3;
    13102    _mrb_gc_free_hash($58,$59);
    13103    break;
    13104   }
    13105   case 16:  {
    13106    $60 = $2;
    13107    $61 = $3;
    13108    _mrb_gc_free_str($60,$61);
    13109    break;
    13110   }
    13111   case 13:  {
    13112    $62 = $3;
    13113    $6 = $62;
    13114    $63 = $6;
    13115    $64 = HEAP32[$63>>2]|0;
    13116    $65 = $64 >>> 11;
    13117    $66 = $65 & 128;
    13118    $67 = ($66|0)!=(0);
    13119    if (!($67)) {
    13120     $68 = $6;
    13121     $69 = ((($68)) + 12|0);
    13122     $70 = HEAP32[$69>>2]|0;
    13123     $71 = ($70|0)!=(0|0);
    13124     if ($71) {
    13125      $72 = $2;
    13126      $73 = $6;
    13127      $74 = ((($73)) + 12|0);
    13128      $75 = HEAP32[$74>>2]|0;
    13129      _mrb_irep_decref($72,$75);
    13130     }
    13131    }
    13132    break;
    13133   }
    13134   case 17:  {
    13135    $76 = $2;
    13136    $77 = $3;
    13137    $78 = ((($77)) + 12|0);
    13138    $79 = HEAP32[$78>>2]|0;
    13139    _mrb_free($76,$79);
    13140    break;
    13141   }
    13142   case 21:  {
    13143    $80 = $3;
    13144    $7 = $80;
    13145    $81 = $7;
    13146    $82 = ((($81)) + 16|0);
    13147    $83 = HEAP32[$82>>2]|0;
    13148    $84 = ($83|0)!=(0|0);
    13149    if ($84) {
    13150     $85 = $7;
    13151     $86 = ((($85)) + 16|0);
    13152     $87 = HEAP32[$86>>2]|0;
    13153     $88 = ((($87)) + 4|0);
    13154     $89 = HEAP32[$88>>2]|0;
    13155     $90 = ($89|0)!=(0|0);
    13156     if ($90) {
    13157      $91 = $7;
    13158      $92 = ((($91)) + 16|0);
    13159      $93 = HEAP32[$92>>2]|0;
    13160      $94 = ((($93)) + 4|0);
    13161      $95 = HEAP32[$94>>2]|0;
    13162      $96 = $2;
    13163      $97 = $7;
    13164      $98 = ((($97)) + 20|0);
    13165      $99 = HEAP32[$98>>2]|0;
    13166      FUNCTION_TABLE_vii[$95 & 511]($96,$99);
    13167     }
    13168    }
    13169    $100 = $2;
    13170    $101 = $3;
    13171    _mrb_gc_free_iv($100,$101);
    13172    break;
    13173   }
    13174   case 6: case 4: case 3: case 2:  {
    13175    STACKTOP = sp;return;
    13176    break;
    13177   }
    13178   default: {
    13179   }
    13180   }
    13181  } while(0);
    13182  $102 = $3;
    13183  $103 = HEAP32[$102>>2]|0;
    13184  $104 = $103 & -256;
    13185  $105 = $104 | 1;
    13186  HEAP32[$102>>2] = $105;
    13187  STACKTOP = sp;return;
    13188 }
    13189 function _unlink_heap_page($0,$1) {
    13190  $0 = $0|0;
    13191  $1 = $1|0;
    13192  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    13193  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    13194  sp = STACKTOP;
    13195  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    13196  $2 = $0;
    13197  $3 = $1;
    13198  $4 = $3;
    13199  $5 = ((($4)) + 4|0);
    13200  $6 = HEAP32[$5>>2]|0;
    13201  $7 = ($6|0)!=(0|0);
    13202  if ($7) {
    13203   $8 = $3;
    13204   $9 = ((($8)) + 8|0);
    13205   $10 = HEAP32[$9>>2]|0;
    13206   $11 = $3;
    13207   $12 = ((($11)) + 4|0);
    13208   $13 = HEAP32[$12>>2]|0;
    13209   $14 = ((($13)) + 8|0);
    13210   HEAP32[$14>>2] = $10;
    13211  }
    13212  $15 = $3;
    13213  $16 = ((($15)) + 8|0);
    13214  $17 = HEAP32[$16>>2]|0;
    13215  $18 = ($17|0)!=(0|0);
    13216  if ($18) {
    13217   $19 = $3;
    13218   $20 = ((($19)) + 4|0);
    13219   $21 = HEAP32[$20>>2]|0;
    13220   $22 = $3;
    13221   $23 = ((($22)) + 8|0);
    13222   $24 = HEAP32[$23>>2]|0;
    13223   $25 = ((($24)) + 4|0);
    13224   HEAP32[$25>>2] = $21;
    13225  }
    13226  $26 = $2;
    13227  $27 = HEAP32[$26>>2]|0;
    13228  $28 = $3;
    13229  $29 = ($27|0)==($28|0);
    13230  if (!($29)) {
    13231   $34 = $3;
    13232   $35 = ((($34)) + 4|0);
    13233   HEAP32[$35>>2] = 0;
    13234   $36 = $3;
    13235   $37 = ((($36)) + 8|0);
    13236   HEAP32[$37>>2] = 0;
    13237   STACKTOP = sp;return;
    13238  }
    13239  $30 = $3;
    13240  $31 = ((($30)) + 8|0);
    13241  $32 = HEAP32[$31>>2]|0;
    13242  $33 = $2;
    13243  HEAP32[$33>>2] = $32;
    13244  $34 = $3;
    13245  $35 = ((($34)) + 4|0);
    13246  HEAP32[$35>>2] = 0;
    13247  $36 = $3;
    13248  $37 = ((($36)) + 8|0);
    13249  HEAP32[$37>>2] = 0;
    13250  STACKTOP = sp;return;
    13251 }
    13252 function _unlink_free_heap_page($0,$1) {
    13253  $0 = $0|0;
    13254  $1 = $1|0;
    13255  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    13256  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    13257  sp = STACKTOP;
    13258  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    13259  $2 = $0;
    13260  $3 = $1;
    13261  $4 = $3;
    13262  $5 = ((($4)) + 16|0);
    13263  $6 = HEAP32[$5>>2]|0;
    13264  $7 = ($6|0)!=(0|0);
    13265  if ($7) {
    13266   $8 = $3;
    13267   $9 = ((($8)) + 12|0);
    13268   $10 = HEAP32[$9>>2]|0;
    13269   $11 = $3;
    13270   $12 = ((($11)) + 16|0);
    13271   $13 = HEAP32[$12>>2]|0;
    13272   $14 = ((($13)) + 12|0);
    13273   HEAP32[$14>>2] = $10;
    13274  }
    13275  $15 = $3;
    13276  $16 = ((($15)) + 12|0);
    13277  $17 = HEAP32[$16>>2]|0;
    13278  $18 = ($17|0)!=(0|0);
    13279  if ($18) {
    13280   $19 = $3;
    13281   $20 = ((($19)) + 16|0);
    13282   $21 = HEAP32[$20>>2]|0;
    13283   $22 = $3;
    13284   $23 = ((($22)) + 12|0);
    13285   $24 = HEAP32[$23>>2]|0;
    13286   $25 = ((($24)) + 16|0);
    13287   HEAP32[$25>>2] = $21;
    13288  }
    13289  $26 = $2;
    13290  $27 = ((($26)) + 8|0);
    13291  $28 = HEAP32[$27>>2]|0;
    13292  $29 = $3;
    13293  $30 = ($28|0)==($29|0);
    13294  if (!($30)) {
    13295   $36 = $3;
    13296   $37 = ((($36)) + 16|0);
    13297   HEAP32[$37>>2] = 0;
    13298   $38 = $3;
    13299   $39 = ((($38)) + 12|0);
    13300   HEAP32[$39>>2] = 0;
    13301   STACKTOP = sp;return;
    13302  }
    13303  $31 = $3;
    13304  $32 = ((($31)) + 12|0);
    13305  $33 = HEAP32[$32>>2]|0;
    13306  $34 = $2;
    13307  $35 = ((($34)) + 8|0);
    13308  HEAP32[$35>>2] = $33;
    13309  $36 = $3;
    13310  $37 = ((($36)) + 16|0);
    13311  HEAP32[$37>>2] = 0;
    13312  $38 = $3;
    13313  $39 = ((($38)) + 12|0);
    13314  HEAP32[$39>>2] = 0;
    13315  STACKTOP = sp;return;
    13316 }
    13317 function _mrb_free($0,$1) {
    13318  $0 = $0|0;
    13319  $1 = $1|0;
    13320  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    13321  sp = STACKTOP;
    13322  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    13323  $2 = $0;
    13324  $3 = $1;
    13325  $4 = $2;
    13326  $5 = ((($4)) + 4|0);
    13327  $6 = HEAP32[$5>>2]|0;
    13328  $7 = $2;
    13329  $8 = $3;
    13330  $9 = $2;
    13331  $10 = ((($9)) + 8|0);
    13332  $11 = HEAP32[$10>>2]|0;
    13333  (FUNCTION_TABLE_iiiii[$6 & 255]($7,$8,0,$11)|0);
    13334  STACKTOP = sp;return;
    13335 }
    13336 function _link_free_heap_page($0,$1) {
    13337  $0 = $0|0;
    13338  $1 = $1|0;
    13339  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    13340  var sp = 0;
    13341  sp = STACKTOP;
    13342  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    13343  $2 = $0;
    13344  $3 = $1;
    13345  $4 = $2;
    13346  $5 = ((($4)) + 8|0);
    13347  $6 = HEAP32[$5>>2]|0;
    13348  $7 = $3;
    13349  $8 = ((($7)) + 12|0);
    13350  HEAP32[$8>>2] = $6;
    13351  $9 = $2;
    13352  $10 = ((($9)) + 8|0);
    13353  $11 = HEAP32[$10>>2]|0;
    13354  $12 = ($11|0)!=(0|0);
    13355  if ($12) {
    13356   $13 = $3;
    13357   $14 = $2;
    13358   $15 = ((($14)) + 8|0);
    13359   $16 = HEAP32[$15>>2]|0;
    13360   $17 = ((($16)) + 16|0);
    13361   HEAP32[$17>>2] = $13;
    13362  }
    13363  $18 = $3;
    13364  $19 = $2;
    13365  $20 = ((($19)) + 8|0);
    13366  HEAP32[$20>>2] = $18;
    13367  STACKTOP = sp;return;
    13368 }
    13369 function _mark_context_stack($0,$1) {
    13370  $0 = $0|0;
    13371  $1 = $1|0;
    13372  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    13373  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    13374  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    13375  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    13376  sp = STACKTOP;
    13377  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    13378  $6 = sp + 8|0;
    13379  $7 = sp;
    13380  $2 = $0;
    13381  $3 = $1;
    13382  $8 = $3;
    13383  $9 = ((($8)) + 4|0);
    13384  $10 = HEAP32[$9>>2]|0;
    13385  $11 = $3;
    13386  $12 = ((($11)) + 8|0);
    13387  $13 = HEAP32[$12>>2]|0;
    13388  $14 = $10;
    13389  $15 = $13;
    13390  $16 = (($14) - ($15))|0;
    13391  $17 = (($16|0) / 8)&-1;
    13392  $5 = $17;
    13393  $18 = $3;
    13394  $19 = ((($18)) + 16|0);
    13395  $20 = HEAP32[$19>>2]|0;
    13396  $21 = ($20|0)!=(0|0);
    13397  if ($21) {
    13398   $22 = $3;
    13399   $23 = ((($22)) + 16|0);
    13400   $24 = HEAP32[$23>>2]|0;
    13401   $25 = ((($24)) + 12|0);
    13402   $26 = HEAP32[$25>>2]|0;
    13403   $27 = $5;
    13404   $28 = (($27) + ($26))|0;
    13405   $5 = $28;
    13406  }
    13407  $29 = $3;
    13408  $30 = ((($29)) + 8|0);
    13409  $31 = HEAP32[$30>>2]|0;
    13410  $32 = $5;
    13411  $33 = (($31) + ($32<<3)|0);
    13412  $34 = $3;
    13413  $35 = ((($34)) + 12|0);
    13414  $36 = HEAP32[$35>>2]|0;
    13415  $37 = ($33>>>0)>($36>>>0);
    13416  if ($37) {
    13417   $38 = $3;
    13418   $39 = ((($38)) + 12|0);
    13419   $40 = HEAP32[$39>>2]|0;
    13420   $41 = $3;
    13421   $42 = ((($41)) + 8|0);
    13422   $43 = HEAP32[$42>>2]|0;
    13423   $44 = $40;
    13424   $45 = $43;
    13425   $46 = (($44) - ($45))|0;
    13426   $47 = (($46|0) / 8)&-1;
    13427   $5 = $47;
    13428  }
    13429  $4 = 0;
    13430  while(1) {
    13431   $48 = $4;
    13432   $49 = $5;
    13433   $50 = ($48>>>0)<($49>>>0);
    13434   if (!($50)) {
    13435    break;
    13436   }
    13437   $51 = $3;
    13438   $52 = ((($51)) + 8|0);
    13439   $53 = HEAP32[$52>>2]|0;
    13440   $54 = $4;
    13441   $55 = (($53) + ($54<<3)|0);
    13442   ;HEAP32[$6>>2]=HEAP32[$55>>2]|0;HEAP32[$6+4>>2]=HEAP32[$55+4>>2]|0;
    13443   $56 = ((($6)) + 4|0);
    13444   $57 = HEAP32[$56>>2]|0;
    13445   $58 = ($57>>>0)<(8);
    13446   do {
    13447    if (!($58)) {
    13448     $59 = HEAP32[$6>>2]|0;
    13449     $60 = HEAP32[$59>>2]|0;
    13450     $61 = $60 & 255;
    13451     $62 = ($61|0)==(1);
    13452     if ($62) {
    13453      $63 = $3;
    13454      $64 = ((($63)) + 8|0);
    13455      $65 = HEAP32[$64>>2]|0;
    13456      $66 = $4;
    13457      $67 = (($65) + ($66<<3)|0);
    13458      _mrb_nil_value_55($7);
    13459      ;HEAP32[$67>>2]=HEAP32[$7>>2]|0;HEAP32[$67+4>>2]=HEAP32[$7+4>>2]|0;
    13460      break;
    13461     } else {
    13462      $68 = $2;
    13463      $69 = HEAP32[$6>>2]|0;
    13464      _mrb_gc_mark($68,$69);
    13465      break;
    13466     }
    13467    }
    13468   } while(0);
    13469   $70 = $4;
    13470   $71 = (($70) + 1)|0;
    13471   $4 = $71;
    13472  }
    13473  STACKTOP = sp;return;
    13474 }
    13475 function _gc_mark_gray_list($0,$1) {
    13476  $0 = $0|0;
    13477  $1 = $1|0;
    13478  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
    13479  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    13480  sp = STACKTOP;
    13481  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    13482  $2 = $0;
    13483  $3 = $1;
    13484  while(1) {
    13485   $4 = $3;
    13486   $5 = ((($4)) + 428|0);
    13487   $6 = HEAP32[$5>>2]|0;
    13488   $7 = ($6|0)!=(0|0);
    13489   if (!($7)) {
    13490    break;
    13491   }
    13492   $8 = $3;
    13493   $9 = ((($8)) + 428|0);
    13494   $10 = HEAP32[$9>>2]|0;
    13495   $11 = HEAP32[$10>>2]|0;
    13496   $12 = $11 >>> 8;
    13497   $13 = $12 & 7;
    13498   $14 = ($13|0)==(0);
    13499   if ($14) {
    13500    $15 = $2;
    13501    $16 = $3;
    13502    $17 = $3;
    13503    $18 = ((($17)) + 428|0);
    13504    $19 = HEAP32[$18>>2]|0;
    13505    _gc_mark_children($15,$16,$19);
    13506    continue;
    13507   } else {
    13508    $20 = $3;
    13509    $21 = ((($20)) + 428|0);
    13510    $22 = HEAP32[$21>>2]|0;
    13511    $23 = ((($22)) + 8|0);
    13512    $24 = HEAP32[$23>>2]|0;
    13513    $25 = $3;
    13514    $26 = ((($25)) + 428|0);
    13515    HEAP32[$26>>2] = $24;
    13516    continue;
    13517   }
    13518  }
    13519  STACKTOP = sp;return;
    13520 }
    13521 function _gc_mark_children($0,$1,$2) {
    13522  $0 = $0|0;
    13523  $1 = $1|0;
    13524  $2 = $2|0;
    13525  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    13526  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    13527  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    13528  var $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    13529  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
    13530  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    13531  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    13532  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    13533  sp = STACKTOP;
    13534  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    13535  $3 = $0;
    13536  $4 = $1;
    13537  $5 = $2;
    13538  $17 = $5;
    13539  $18 = HEAP32[$17>>2]|0;
    13540  $19 = $18 & -1793;
    13541  $20 = $19 | 1024;
    13542  HEAP32[$17>>2] = $20;
    13543  $21 = $5;
    13544  $22 = ((($21)) + 8|0);
    13545  $23 = HEAP32[$22>>2]|0;
    13546  $24 = $4;
    13547  $25 = ((($24)) + 428|0);
    13548  HEAP32[$25>>2] = $23;
    13549  $26 = $3;
    13550  $27 = $5;
    13551  $28 = ((($27)) + 4|0);
    13552  $29 = HEAP32[$28>>2]|0;
    13553  _mrb_gc_mark($26,$29);
    13554  $30 = $5;
    13555  $31 = HEAP32[$30>>2]|0;
    13556  $32 = $31 & 255;
    13557  switch ($32|0) {
    13558  case 11:  {
    13559   $33 = $5;
    13560   $6 = $33;
    13561   $34 = $6;
    13562   $35 = HEAP32[$34>>2]|0;
    13563   $36 = $35 >>> 11;
    13564   $37 = $36 & 1048576;
    13565   $38 = ($37|0)!=(0);
    13566   if ($38) {
    13567    $39 = $3;
    13568    $40 = $6;
    13569    _mrb_gc_mark_mt($39,$40);
    13570   }
    13571   $41 = $3;
    13572   $42 = $5;
    13573   $43 = ((($42)) + 20|0);
    13574   $44 = HEAP32[$43>>2]|0;
    13575   _mrb_gc_mark($41,$44);
    13576   STACKTOP = sp;return;
    13577   break;
    13578  }
    13579  case 12: case 10: case 9:  {
    13580   $45 = $5;
    13581   $7 = $45;
    13582   $46 = $3;
    13583   $47 = $7;
    13584   _mrb_gc_mark_mt($46,$47);
    13585   $48 = $3;
    13586   $49 = $7;
    13587   $50 = ((($49)) + 20|0);
    13588   $51 = HEAP32[$50>>2]|0;
    13589   _mrb_gc_mark($48,$51);
    13590   break;
    13591  }
    13592  case 18: case 21: case 8:  {
    13593   break;
    13594  }
    13595  case 13:  {
    13596   $54 = $5;
    13597   $8 = $54;
    13598   $55 = $3;
    13599   $56 = $8;
    13600   $57 = ((($56)) + 20|0);
    13601   $58 = HEAP32[$57>>2]|0;
    13602   _mrb_gc_mark($55,$58);
    13603   $59 = $3;
    13604   $60 = $8;
    13605   $61 = ((($60)) + 16|0);
    13606   $62 = HEAP32[$61>>2]|0;
    13607   _mrb_gc_mark($59,$62);
    13608   STACKTOP = sp;return;
    13609   break;
    13610  }
    13611  case 20:  {
    13612   $63 = $5;
    13613   $9 = $63;
    13614   $64 = $9;
    13615   $65 = ((($64)) + 20|0);
    13616   $66 = HEAP32[$65>>2]|0;
    13617   $67 = ($66|0)>=(0);
    13618   if ($67) {
    13619    STACKTOP = sp;return;
    13620   }
    13621   $68 = $9;
    13622   $69 = HEAP32[$68>>2]|0;
    13623   $70 = $69 >>> 11;
    13624   $11 = $70;
    13625   $10 = 0;
    13626   while(1) {
    13627    $71 = $10;
    13628    $72 = $11;
    13629    $73 = ($71|0)<($72|0);
    13630    if (!($73)) {
    13631     break;
    13632    }
    13633    $74 = $9;
    13634    $75 = ((($74)) + 12|0);
    13635    $76 = HEAP32[$75>>2]|0;
    13636    $77 = $10;
    13637    $78 = (($76) + ($77<<3)|0);
    13638    $79 = ((($78)) + 4|0);
    13639    $80 = HEAP32[$79>>2]|0;
    13640    $81 = ($80>>>0)<(8);
    13641    if (!($81)) {
    13642     $82 = $3;
    13643     $83 = $9;
    13644     $84 = ((($83)) + 12|0);
    13645     $85 = HEAP32[$84>>2]|0;
    13646     $86 = $10;
    13647     $87 = (($85) + ($86<<3)|0);
    13648     $88 = HEAP32[$87>>2]|0;
    13649     _mrb_gc_mark($82,$88);
    13650    }
    13651    $89 = $10;
    13652    $90 = (($89) + 1)|0;
    13653    $10 = $90;
    13654   }
    13655   STACKTOP = sp;return;
    13656   break;
    13657  }
    13658  case 22:  {
    13659   $91 = $5;
    13660   $92 = ((($91)) + 12|0);
    13661   $93 = HEAP32[$92>>2]|0;
    13662   $12 = $93;
    13663   $94 = $12;
    13664   $95 = ($94|0)!=(0|0);
    13665   if (!($95)) {
    13666    STACKTOP = sp;return;
    13667   }
    13668   $96 = $3;
    13669   $97 = $12;
    13670   _mark_context($96,$97);
    13671   STACKTOP = sp;return;
    13672   break;
    13673  }
    13674  case 14:  {
    13675   $98 = $5;
    13676   $13 = $98;
    13677   $14 = 0;
    13678   $99 = $13;
    13679   $100 = ((($99)) + 12|0);
    13680   $101 = HEAP32[$100>>2]|0;
    13681   $15 = $101;
    13682   while(1) {
    13683    $102 = $14;
    13684    $103 = $15;
    13685    $104 = ($102>>>0)<($103>>>0);
    13686    if (!($104)) {
    13687     break;
    13688    }
    13689    $105 = $13;
    13690    $106 = ((($105)) + 20|0);
    13691    $107 = HEAP32[$106>>2]|0;
    13692    $108 = $14;
    13693    $109 = (($107) + ($108<<3)|0);
    13694    $110 = ((($109)) + 4|0);
    13695    $111 = HEAP32[$110>>2]|0;
    13696    $112 = ($111>>>0)<(8);
    13697    if (!($112)) {
    13698     $113 = $3;
    13699     $114 = $13;
    13700     $115 = ((($114)) + 20|0);
    13701     $116 = HEAP32[$115>>2]|0;
    13702     $117 = $14;
    13703     $118 = (($116) + ($117<<3)|0);
    13704     $119 = HEAP32[$118>>2]|0;
    13705     _mrb_gc_mark($113,$119);
    13706    }
    13707    $120 = $14;
    13708    $121 = (($120) + 1)|0;
    13709    $14 = $121;
    13710   }
    13711   STACKTOP = sp;return;
    13712   break;
    13713  }
    13714  case 15:  {
    13715   $122 = $3;
    13716   $123 = $5;
    13717   _mrb_gc_mark_iv($122,$123);
    13718   $124 = $3;
    13719   $125 = $5;
    13720   _mrb_gc_mark_hash($124,$125);
    13721   STACKTOP = sp;return;
    13722   break;
    13723  }
    13724  case 17:  {
    13725   $126 = $5;
    13726   $16 = $126;
    13727   $127 = $16;
    13728   $128 = ((($127)) + 12|0);
    13729   $129 = HEAP32[$128>>2]|0;
    13730   $130 = ($129|0)!=(0|0);
    13731   if (!($130)) {
    13732    STACKTOP = sp;return;
    13733   }
    13734   $131 = $16;
    13735   $132 = ((($131)) + 12|0);
    13736   $133 = HEAP32[$132>>2]|0;
    13737   $134 = ((($133)) + 4|0);
    13738   $135 = HEAP32[$134>>2]|0;
    13739   $136 = ($135>>>0)<(8);
    13740   if (!($136)) {
    13741    $137 = $3;
    13742    $138 = $16;
    13743    $139 = ((($138)) + 12|0);
    13744    $140 = HEAP32[$139>>2]|0;
    13745    $141 = HEAP32[$140>>2]|0;
    13746    _mrb_gc_mark($137,$141);
    13747   }
    13748   $142 = $16;
    13749   $143 = ((($142)) + 12|0);
    13750   $144 = HEAP32[$143>>2]|0;
    13751   $145 = ((($144)) + 8|0);
    13752   $146 = ((($145)) + 4|0);
    13753   $147 = HEAP32[$146>>2]|0;
    13754   $148 = ($147>>>0)<(8);
    13755   if ($148) {
    13756    STACKTOP = sp;return;
    13757   }
    13758   $149 = $3;
    13759   $150 = $16;
    13760   $151 = ((($150)) + 12|0);
    13761   $152 = HEAP32[$151>>2]|0;
    13762   $153 = ((($152)) + 8|0);
    13763   $154 = HEAP32[$153>>2]|0;
    13764   _mrb_gc_mark($149,$154);
    13765   STACKTOP = sp;return;
    13766   break;
    13767  }
    13768  default: {
    13769   STACKTOP = sp;return;
    13770  }
    13771  }
    13772  $52 = $3;
    13773  $53 = $5;
    13774  _mrb_gc_mark_iv($52,$53);
    13775  STACKTOP = sp;return;
    13776 }
    13777 function _mrb_gc_mark($0,$1) {
    13778  $0 = $0|0;
    13779  $1 = $1|0;
    13780  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    13781  sp = STACKTOP;
    13782  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    13783  $2 = $0;
    13784  $3 = $1;
    13785  $4 = $3;
    13786  $5 = ($4|0)==(0|0);
    13787  if ($5) {
    13788   STACKTOP = sp;return;
    13789  }
    13790  $6 = $3;
    13791  $7 = HEAP32[$6>>2]|0;
    13792  $8 = $7 >>> 8;
    13793  $9 = $8 & 7;
    13794  $10 = $9 & 3;
    13795  $11 = ($10|0)!=(0);
    13796  if (!($11)) {
    13797   STACKTOP = sp;return;
    13798  }
    13799  $12 = $2;
    13800  $13 = $2;
    13801  $14 = ((($13)) + 92|0);
    13802  $15 = $3;
    13803  _add_gray_list($12,$14,$15);
    13804  STACKTOP = sp;return;
    13805 }
    13806 function _mark_context($0,$1) {
    13807  $0 = $0|0;
    13808  $1 = $1|0;
    13809  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    13810  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    13811  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    13812  var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    13813  sp = STACKTOP;
    13814  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    13815  $2 = $0;
    13816  $3 = $1;
    13817  $5 = 0;
    13818  $7 = $2;
    13819  $8 = $3;
    13820  _mark_context_stack($7,$8);
    13821  $9 = $3;
    13822  $10 = ((($9)) + 20|0);
    13823  $11 = HEAP32[$10>>2]|0;
    13824  $12 = ($11|0)!=(0|0);
    13825  L1: do {
    13826   if ($12) {
    13827    $13 = $3;
    13828    $14 = ((($13)) + 20|0);
    13829    $15 = HEAP32[$14>>2]|0;
    13830    $6 = $15;
    13831    while(1) {
    13832     $16 = $6;
    13833     $17 = $3;
    13834     $18 = ((($17)) + 16|0);
    13835     $19 = HEAP32[$18>>2]|0;
    13836     $20 = ($16>>>0)<=($19>>>0);
    13837     if (!($20)) {
    13838      break L1;
    13839     }
    13840     $21 = $6;
    13841     $22 = ((($21)) + 20|0);
    13842     $23 = HEAP32[$22>>2]|0;
    13843     $24 = $5;
    13844     $25 = ($23|0)>($24|0);
    13845     if ($25) {
    13846      $26 = $6;
    13847      $27 = ((($26)) + 20|0);
    13848      $28 = HEAP32[$27>>2]|0;
    13849      $5 = $28;
    13850     }
    13851     $29 = $2;
    13852     $30 = $6;
    13853     $31 = ((($30)) + 24|0);
    13854     $32 = HEAP32[$31>>2]|0;
    13855     _mrb_gc_mark($29,$32);
    13856     $33 = $2;
    13857     $34 = $6;
    13858     $35 = ((($34)) + 4|0);
    13859     $36 = HEAP32[$35>>2]|0;
    13860     _mrb_gc_mark($33,$36);
    13861     $37 = $2;
    13862     $38 = $6;
    13863     $39 = ((($38)) + 44|0);
    13864     $40 = HEAP32[$39>>2]|0;
    13865     _mrb_gc_mark($37,$40);
    13866     $41 = $6;
    13867     $42 = ((($41)) + 48|0);
    13868     $6 = $42;
    13869    }
    13870   }
    13871  } while(0);
    13872  $4 = 0;
    13873  while(1) {
    13874   $43 = $4;
    13875   $44 = $5;
    13876   $45 = ($43|0)<($44|0);
    13877   if (!($45)) {
    13878    break;
    13879   }
    13880   $46 = $2;
    13881   $47 = $3;
    13882   $48 = ((($47)) + 36|0);
    13883   $49 = HEAP32[$48>>2]|0;
    13884   $50 = $4;
    13885   $51 = (($49) + ($50<<2)|0);
    13886   $52 = HEAP32[$51>>2]|0;
    13887   _mrb_gc_mark($46,$52);
    13888   $53 = $4;
    13889   $54 = (($53) + 1)|0;
    13890   $4 = $54;
    13891  }
    13892  $55 = $3;
    13893  $56 = HEAP32[$55>>2]|0;
    13894  $57 = ($56|0)!=(0|0);
    13895  if (!($57)) {
    13896   STACKTOP = sp;return;
    13897  }
    13898  $58 = $3;
    13899  $59 = HEAP32[$58>>2]|0;
    13900  $60 = ((($59)) + 48|0);
    13901  $61 = HEAP32[$60>>2]|0;
    13902  $62 = ($61|0)!=(0|0);
    13903  if (!($62)) {
    13904   STACKTOP = sp;return;
    13905  }
    13906  $63 = $2;
    13907  $64 = $3;
    13908  $65 = HEAP32[$64>>2]|0;
    13909  $66 = ((($65)) + 48|0);
    13910  $67 = HEAP32[$66>>2]|0;
    13911  _mrb_gc_mark($63,$67);
    13912  STACKTOP = sp;return;
    13913 }
    13914 function _add_gray_list($0,$1,$2) {
    13915  $0 = $0|0;
    13916  $1 = $1|0;
    13917  $2 = $2|0;
    13918  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    13919  sp = STACKTOP;
    13920  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    13921  $3 = $0;
    13922  $4 = $1;
    13923  $5 = $2;
    13924  $6 = $5;
    13925  $7 = HEAP32[$6>>2]|0;
    13926  $8 = $7 & -1793;
    13927  HEAP32[$6>>2] = $8;
    13928  $9 = $4;
    13929  $10 = ((($9)) + 428|0);
    13930  $11 = HEAP32[$10>>2]|0;
    13931  $12 = $5;
    13932  $13 = ((($12)) + 8|0);
    13933  HEAP32[$13>>2] = $11;
    13934  $14 = $5;
    13935  $15 = $4;
    13936  $16 = ((($15)) + 428|0);
    13937  HEAP32[$16>>2] = $14;
    13938  STACKTOP = sp;return;
    13939 }
    13940 function _mrb_nil_value_55($0) {
    13941  $0 = $0|0;
    13942  var $1 = 0, $2 = 0, label = 0, sp = 0;
    13943  sp = STACKTOP;
    13944  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    13945  $1 = sp;
    13946  $2 = ((($1)) + 4|0);
    13947  HEAP32[$2>>2] = 0;
    13948  HEAP32[$1>>2] = 0;
    13949  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    13950  STACKTOP = sp;return;
    13951 }
    13952 function _gc_gray_mark($0,$1,$2) {
    13953  $0 = $0|0;
    13954  $1 = $1|0;
    13955  $2 = $2|0;
    13956  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    13957  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    13958  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    13959  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    13960  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    13961  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    13962  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    13963  sp = STACKTOP;
    13964  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    13965  $3 = $0;
    13966  $4 = $1;
    13967  $5 = $2;
    13968  $6 = 0;
    13969  $12 = $3;
    13970  $13 = $4;
    13971  $14 = $5;
    13972  _gc_mark_children($12,$13,$14);
    13973  $15 = $5;
    13974  $16 = HEAP32[$15>>2]|0;
    13975  $17 = $16 & 255;
    13976  switch ($17|0) {
    13977  case 11:  {
    13978   $18 = $6;
    13979   $19 = (($18) + 1)|0;
    13980   $6 = $19;
    13981   $140 = $6;
    13982   STACKTOP = sp;return ($140|0);
    13983   break;
    13984  }
    13985  case 10: case 12: case 9:  {
    13986   $20 = $5;
    13987   $7 = $20;
    13988   $21 = $3;
    13989   $22 = $5;
    13990   $23 = (_mrb_gc_mark_iv_size($21,$22)|0);
    13991   $24 = $6;
    13992   $25 = (($24) + ($23))|0;
    13993   $6 = $25;
    13994   $26 = $3;
    13995   $27 = $7;
    13996   $28 = (_mrb_gc_mark_mt_size($26,$27)|0);
    13997   $29 = $6;
    13998   $30 = (($29) + ($28))|0;
    13999   $6 = $30;
    14000   $31 = $6;
    14001   $32 = (($31) + 1)|0;
    14002   $6 = $32;
    14003   $140 = $6;
    14004   STACKTOP = sp;return ($140|0);
    14005   break;
    14006  }
    14007  case 18: case 21: case 8:  {
    14008   $33 = $3;
    14009   $34 = $5;
    14010   $35 = (_mrb_gc_mark_iv_size($33,$34)|0);
    14011   $36 = $6;
    14012   $37 = (($36) + ($35))|0;
    14013   $6 = $37;
    14014   $140 = $6;
    14015   STACKTOP = sp;return ($140|0);
    14016   break;
    14017  }
    14018  case 20:  {
    14019   $38 = $5;
    14020   $39 = HEAP32[$38>>2]|0;
    14021   $40 = $39 >>> 11;
    14022   $41 = $6;
    14023   $42 = (($41) + ($40))|0;
    14024   $6 = $42;
    14025   $140 = $6;
    14026   STACKTOP = sp;return ($140|0);
    14027   break;
    14028  }
    14029  case 22:  {
    14030   $43 = $5;
    14031   $44 = ((($43)) + 12|0);
    14032   $45 = HEAP32[$44>>2]|0;
    14033   $8 = $45;
    14034   $46 = $8;
    14035   $47 = ($46|0)!=(0|0);
    14036   if (!($47)) {
    14037    $140 = $6;
    14038    STACKTOP = sp;return ($140|0);
    14039   }
    14040   $48 = $8;
    14041   $49 = ((($48)) + 4|0);
    14042   $50 = HEAP32[$49>>2]|0;
    14043   $51 = $8;
    14044   $52 = ((($51)) + 8|0);
    14045   $53 = HEAP32[$52>>2]|0;
    14046   $54 = $50;
    14047   $55 = $53;
    14048   $56 = (($54) - ($55))|0;
    14049   $57 = (($56|0) / 8)&-1;
    14050   $9 = $57;
    14051   $58 = $8;
    14052   $59 = ((($58)) + 16|0);
    14053   $60 = HEAP32[$59>>2]|0;
    14054   $61 = ($60|0)!=(0|0);
    14055   if ($61) {
    14056    $62 = $8;
    14057    $63 = ((($62)) + 16|0);
    14058    $64 = HEAP32[$63>>2]|0;
    14059    $65 = ((($64)) + 12|0);
    14060    $66 = HEAP32[$65>>2]|0;
    14061    $67 = $9;
    14062    $68 = (($67) + ($66))|0;
    14063    $9 = $68;
    14064   }
    14065   $69 = $8;
    14066   $70 = ((($69)) + 8|0);
    14067   $71 = HEAP32[$70>>2]|0;
    14068   $72 = $9;
    14069   $73 = (($71) + ($72<<3)|0);
    14070   $74 = $8;
    14071   $75 = ((($74)) + 12|0);
    14072   $76 = HEAP32[$75>>2]|0;
    14073   $77 = ($73>>>0)>($76>>>0);
    14074   if ($77) {
    14075    $78 = $8;
    14076    $79 = ((($78)) + 12|0);
    14077    $80 = HEAP32[$79>>2]|0;
    14078    $81 = $8;
    14079    $82 = ((($81)) + 8|0);
    14080    $83 = HEAP32[$82>>2]|0;
    14081    $84 = $80;
    14082    $85 = $83;
    14083    $86 = (($84) - ($85))|0;
    14084    $87 = (($86|0) / 8)&-1;
    14085    $9 = $87;
    14086   }
    14087   $88 = $9;
    14088   $89 = $6;
    14089   $90 = (($89) + ($88))|0;
    14090   $6 = $90;
    14091   $91 = $8;
    14092   $92 = ((($91)) + 16|0);
    14093   $93 = HEAP32[$92>>2]|0;
    14094   $94 = ($93|0)!=(0|0);
    14095   if ($94) {
    14096    $95 = $8;
    14097    $96 = ((($95)) + 16|0);
    14098    $97 = HEAP32[$96>>2]|0;
    14099    $98 = ((($97)) + 20|0);
    14100    $99 = HEAP32[$98>>2]|0;
    14101    $102 = $99;
    14102   } else {
    14103    $102 = 0;
    14104   }
    14105   $100 = $6;
    14106   $101 = (($100) + ($102))|0;
    14107   $6 = $101;
    14108   $103 = $8;
    14109   $104 = ((($103)) + 20|0);
    14110   $105 = HEAP32[$104>>2]|0;
    14111   $106 = ($105|0)!=(0|0);
    14112   L23: do {
    14113    if ($106) {
    14114     $9 = 0;
    14115     $107 = $8;
    14116     $108 = ((($107)) + 20|0);
    14117     $109 = HEAP32[$108>>2]|0;
    14118     $10 = $109;
    14119     while(1) {
    14120      $110 = $10;
    14121      $111 = $8;
    14122      $112 = ((($111)) + 16|0);
    14123      $113 = HEAP32[$112>>2]|0;
    14124      $114 = ($110>>>0)<=($113>>>0);
    14125      if (!($114)) {
    14126       break L23;
    14127      }
    14128      $115 = $9;
    14129      $116 = (($115) + 1)|0;
    14130      $9 = $116;
    14131      $117 = $10;
    14132      $118 = ((($117)) + 48|0);
    14133      $10 = $118;
    14134     }
    14135    }
    14136   } while(0);
    14137   $119 = $9;
    14138   $120 = $6;
    14139   $121 = (($120) + ($119))|0;
    14140   $6 = $121;
    14141   $140 = $6;
    14142   STACKTOP = sp;return ($140|0);
    14143   break;
    14144  }
    14145  case 14:  {
    14146   $122 = $5;
    14147   $11 = $122;
    14148   $123 = $11;
    14149   $124 = ((($123)) + 12|0);
    14150   $125 = HEAP32[$124>>2]|0;
    14151   $126 = $6;
    14152   $127 = (($126) + ($125))|0;
    14153   $6 = $127;
    14154   $140 = $6;
    14155   STACKTOP = sp;return ($140|0);
    14156   break;
    14157  }
    14158  case 15:  {
    14159   $128 = $3;
    14160   $129 = $5;
    14161   $130 = (_mrb_gc_mark_iv_size($128,$129)|0);
    14162   $131 = $6;
    14163   $132 = (($131) + ($130))|0;
    14164   $6 = $132;
    14165   $133 = $3;
    14166   $134 = $5;
    14167   $135 = (_mrb_gc_mark_hash_size($133,$134)|0);
    14168   $136 = $6;
    14169   $137 = (($136) + ($135))|0;
    14170   $6 = $137;
    14171   $140 = $6;
    14172   STACKTOP = sp;return ($140|0);
    14173   break;
    14174  }
    14175  case 17: case 13:  {
    14176   $138 = $6;
    14177   $139 = (($138) + 2)|0;
    14178   $6 = $139;
    14179   $140 = $6;
    14180   STACKTOP = sp;return ($140|0);
    14181   break;
    14182  }
    14183  default: {
    14184   $140 = $6;
    14185   STACKTOP = sp;return ($140|0);
    14186  }
    14187  }
    14188  return (0)|0;
    14189 }
    14190 function _mrb_realloc($0,$1,$2) {
    14191  $0 = $0|0;
    14192  $1 = $1|0;
    14193  $2 = $2|0;
    14194  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    14195  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    14196  sp = STACKTOP;
    14197  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    14198  $$byval_copy = sp + 24|0;
    14199  $7 = sp;
    14200  $3 = $0;
    14201  $4 = $1;
    14202  $5 = $2;
    14203  $8 = $3;
    14204  $9 = $4;
    14205  $10 = $5;
    14206  $11 = (_mrb_realloc_simple($8,$9,$10)|0);
    14207  $6 = $11;
    14208  $12 = $6;
    14209  $13 = ($12|0)==(0|0);
    14210  $14 = $5;
    14211  $15 = ($14|0)!=(0);
    14212  $or$cond = $13 & $15;
    14213  $16 = $3;
    14214  $17 = ((($16)) + 92|0);
    14215  $18 = ((($17)) + 452|0);
    14216  $19 = HEAP8[$18>>0]|0;
    14217  if (!($or$cond)) {
    14218   $33 = $19 & -9;
    14219   HEAP8[$18>>0] = $33;
    14220   $34 = $6;
    14221   STACKTOP = sp;return ($34|0);
    14222  }
    14223  $20 = ($19&255) >>> 3;
    14224  $21 = $20 & 1;
    14225  $22 = ($21<<24>>24)!=(0);
    14226  if ($22) {
    14227   $34 = $6;
    14228   STACKTOP = sp;return ($34|0);
    14229  } else {
    14230   $23 = $3;
    14231   $24 = ((($23)) + 92|0);
    14232   $25 = ((($24)) + 452|0);
    14233   $26 = HEAP8[$25>>0]|0;
    14234   $27 = $26 & -9;
    14235   $28 = $27 | 8;
    14236   HEAP8[$25>>0] = $28;
    14237   $29 = $3;
    14238   $30 = $3;
    14239   $31 = ((($30)) + 576|0);
    14240   $32 = HEAP32[$31>>2]|0;
    14241   _mrb_obj_value($7,$32);
    14242   ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    14243   _mrb_exc_raise($29,$$byval_copy);
    14244   // unreachable;
    14245  }
    14246  return (0)|0;
    14247 }
    14248 function _mrb_obj_value($0,$1) {
    14249  $0 = $0|0;
    14250  $1 = $1|0;
    14251  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    14252  sp = STACKTOP;
    14253  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14254  $3 = sp;
    14255  $2 = $1;
    14256  $4 = $2;
    14257  $5 = HEAP32[$4>>2]|0;
    14258  $6 = $5 & 255;
    14259  $7 = ((($3)) + 4|0);
    14260  HEAP32[$7>>2] = $6;
    14261  $8 = $2;
    14262  HEAP32[$3>>2] = $8;
    14263  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    14264  STACKTOP = sp;return;
    14265 }
    14266 function _mrb_malloc($0,$1) {
    14267  $0 = $0|0;
    14268  $1 = $1|0;
    14269  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    14270  sp = STACKTOP;
    14271  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14272  $2 = $0;
    14273  $3 = $1;
    14274  $4 = $2;
    14275  $5 = $3;
    14276  $6 = (_mrb_realloc($4,0,$5)|0);
    14277  STACKTOP = sp;return ($6|0);
    14278 }
    14279 function _mrb_malloc_simple($0,$1) {
    14280  $0 = $0|0;
    14281  $1 = $1|0;
    14282  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    14283  sp = STACKTOP;
    14284  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14285  $2 = $0;
    14286  $3 = $1;
    14287  $4 = $2;
    14288  $5 = $3;
    14289  $6 = (_mrb_realloc_simple($4,0,$5)|0);
    14290  STACKTOP = sp;return ($6|0);
    14291 }
    14292 function _mrb_calloc($0,$1,$2) {
    14293  $0 = $0|0;
    14294  $1 = $1|0;
    14295  $2 = $2|0;
    14296  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    14297  var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    14298  sp = STACKTOP;
    14299  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    14300  $3 = $0;
    14301  $4 = $1;
    14302  $5 = $2;
    14303  $8 = $4;
    14304  $9 = ($8>>>0)>(0);
    14305  $10 = $5;
    14306  $11 = ($10>>>0)>(0);
    14307  $or$cond = $9 & $11;
    14308  if ($or$cond) {
    14309   $12 = $4;
    14310   $13 = $5;
    14311   $14 = (4294967295 / ($13>>>0))&-1;
    14312   $15 = ($12>>>0)<=($14>>>0);
    14313   if ($15) {
    14314    $16 = $4;
    14315    $17 = $5;
    14316    $18 = Math_imul($16, $17)|0;
    14317    $7 = $18;
    14318    $19 = $3;
    14319    $20 = $7;
    14320    $21 = (_mrb_malloc($19,$20)|0);
    14321    $6 = $21;
    14322    $22 = $6;
    14323    $23 = $7;
    14324    _memset(($22|0),0,($23|0))|0;
    14325    $24 = $6;
    14326    STACKTOP = sp;return ($24|0);
    14327   }
    14328  }
    14329  $6 = 0;
    14330  $24 = $6;
    14331  STACKTOP = sp;return ($24|0);
    14332 }
    14333 function _mrb_gc_init($0,$1) {
    14334  $0 = $0|0;
    14335  $1 = $1|0;
    14336  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    14337  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    14338  sp = STACKTOP;
    14339  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14340  $2 = $0;
    14341  $3 = $1;
    14342  $4 = $3;
    14343  $5 = ((($4)) + 424|0);
    14344  HEAP32[$5>>2] = 1;
    14345  $6 = $3;
    14346  HEAP32[$6>>2] = 0;
    14347  $7 = $3;
    14348  $8 = ((($7)) + 8|0);
    14349  HEAP32[$8>>2] = 0;
    14350  $9 = $2;
    14351  $10 = $3;
    14352  _add_heap($9,$10);
    14353  $11 = $3;
    14354  $12 = ((($11)) + 444|0);
    14355  HEAP32[$12>>2] = 200;
    14356  $13 = $3;
    14357  $14 = ((($13)) + 448|0);
    14358  HEAP32[$14>>2] = 200;
    14359  $15 = $3;
    14360  $16 = ((($15)) + 452|0);
    14361  $17 = HEAP8[$16>>0]|0;
    14362  $18 = $17 & -5;
    14363  $19 = $18 | 4;
    14364  HEAP8[$16>>0] = $19;
    14365  $20 = $3;
    14366  $21 = ((($20)) + 452|0);
    14367  $22 = HEAP8[$21>>0]|0;
    14368  $23 = $22 & -3;
    14369  $24 = $23 | 2;
    14370  HEAP8[$21>>0] = $24;
    14371  STACKTOP = sp;return;
    14372 }
    14373 function _add_heap($0,$1) {
    14374  $0 = $0|0;
    14375  $1 = $1|0;
    14376  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    14377  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    14378  sp = STACKTOP;
    14379  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    14380  $2 = $0;
    14381  $3 = $1;
    14382  $8 = $2;
    14383  $9 = (_mrb_calloc($8,1,1560)|0);
    14384  $4 = $9;
    14385  $7 = 0;
    14386  $10 = $4;
    14387  $11 = ((($10)) + 24|0);
    14388  $5 = $11;
    14389  $12 = $5;
    14390  $13 = ((($12)) + 1536|0);
    14391  $6 = $13;
    14392  while(1) {
    14393   $14 = $5;
    14394   $15 = $6;
    14395   $16 = ($14>>>0)<($15>>>0);
    14396   if (!($16)) {
    14397    break;
    14398   }
    14399   $17 = $5;
    14400   $18 = HEAP32[$17>>2]|0;
    14401   $19 = $18 & -256;
    14402   $20 = $19 | 1;
    14403   HEAP32[$17>>2] = $20;
    14404   $21 = $7;
    14405   $22 = $5;
    14406   $23 = ((($22)) + 12|0);
    14407   HEAP32[$23>>2] = $21;
    14408   $24 = $5;
    14409   $7 = $24;
    14410   $25 = $5;
    14411   $26 = ((($25)) + 24|0);
    14412   $5 = $26;
    14413  }
    14414  $27 = $7;
    14415  $28 = $4;
    14416  HEAP32[$28>>2] = $27;
    14417  $29 = $3;
    14418  $30 = $4;
    14419  _link_heap_page($29,$30);
    14420  $31 = $3;
    14421  $32 = $4;
    14422  _link_free_heap_page($31,$32);
    14423  STACKTOP = sp;return;
    14424 }
    14425 function _link_heap_page($0,$1) {
    14426  $0 = $0|0;
    14427  $1 = $1|0;
    14428  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    14429  sp = STACKTOP;
    14430  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14431  $2 = $0;
    14432  $3 = $1;
    14433  $4 = $2;
    14434  $5 = HEAP32[$4>>2]|0;
    14435  $6 = $3;
    14436  $7 = ((($6)) + 8|0);
    14437  HEAP32[$7>>2] = $5;
    14438  $8 = $2;
    14439  $9 = HEAP32[$8>>2]|0;
    14440  $10 = ($9|0)!=(0|0);
    14441  if ($10) {
    14442   $11 = $3;
    14443   $12 = $2;
    14444   $13 = HEAP32[$12>>2]|0;
    14445   $14 = ((($13)) + 4|0);
    14446   HEAP32[$14>>2] = $11;
    14447  }
    14448  $15 = $3;
    14449  $16 = $2;
    14450  HEAP32[$16>>2] = $15;
    14451  STACKTOP = sp;return;
    14452 }
    14453 function _free_heap($0,$1) {
    14454  $0 = $0|0;
    14455  $1 = $1|0;
    14456  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    14457  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    14458  sp = STACKTOP;
    14459  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    14460  $2 = $0;
    14461  $3 = $1;
    14462  $8 = $3;
    14463  $9 = HEAP32[$8>>2]|0;
    14464  $4 = $9;
    14465  while(1) {
    14466   $10 = $4;
    14467   $11 = ($10|0)!=(0|0);
    14468   if (!($11)) {
    14469    break;
    14470   }
    14471   $12 = $4;
    14472   $5 = $12;
    14473   $13 = $4;
    14474   $14 = ((($13)) + 8|0);
    14475   $15 = HEAP32[$14>>2]|0;
    14476   $4 = $15;
    14477   $16 = $5;
    14478   $17 = ((($16)) + 24|0);
    14479   $6 = $17;
    14480   $18 = $6;
    14481   $19 = ((($18)) + 1536|0);
    14482   $7 = $19;
    14483   while(1) {
    14484    $20 = $6;
    14485    $21 = $7;
    14486    $22 = ($20>>>0)<($21>>>0);
    14487    if (!($22)) {
    14488     break;
    14489    }
    14490    $23 = $6;
    14491    $24 = HEAP32[$23>>2]|0;
    14492    $25 = $24 & 255;
    14493    $26 = ($25|0)!=(1);
    14494    if ($26) {
    14495     $27 = $2;
    14496     $28 = $6;
    14497     _obj_free($27,$28);
    14498    }
    14499    $29 = $6;
    14500    $30 = ((($29)) + 24|0);
    14501    $6 = $30;
    14502   }
    14503   $31 = $2;
    14504   $32 = $5;
    14505   _mrb_free($31,$32);
    14506  }
    14507  STACKTOP = sp;return;
    14508 }
    14509 function _mrb_gc_destroy($0,$1) {
    14510  $0 = $0|0;
    14511  $1 = $1|0;
    14512  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    14513  sp = STACKTOP;
    14514  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14515  $2 = $0;
    14516  $3 = $1;
    14517  $4 = $2;
    14518  $5 = $3;
    14519  _free_heap($4,$5);
    14520  STACKTOP = sp;return;
    14521 }
    14522 function _mrb_gc_protect($0,$1) {
    14523  $0 = $0|0;
    14524  $1 = $1|0;
    14525  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    14526  sp = STACKTOP;
    14527  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14528  $2 = $0;
    14529  $3 = ((($1)) + 4|0);
    14530  $4 = HEAP32[$3>>2]|0;
    14531  $5 = ($4>>>0)<(8);
    14532  if ($5) {
    14533   STACKTOP = sp;return;
    14534  }
    14535  $6 = $2;
    14536  $7 = $2;
    14537  $8 = ((($7)) + 92|0);
    14538  $9 = HEAP32[$1>>2]|0;
    14539  _gc_protect($6,$8,$9);
    14540  STACKTOP = sp;return;
    14541 }
    14542 function _gc_protect($0,$1,$2) {
    14543  $0 = $0|0;
    14544  $1 = $1|0;
    14545  $2 = $2|0;
    14546  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    14547  var label = 0, sp = 0;
    14548  sp = STACKTOP;
    14549  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14550  $3 = $0;
    14551  $4 = $1;
    14552  $5 = $2;
    14553  $6 = $4;
    14554  $7 = ((($6)) + 416|0);
    14555  $8 = HEAP32[$7>>2]|0;
    14556  $9 = ($8|0)>=(100);
    14557  if ($9) {
    14558   $10 = $4;
    14559   $11 = ((($10)) + 416|0);
    14560   HEAP32[$11>>2] = 96;
    14561   $12 = $3;
    14562   $13 = $3;
    14563   $14 = (_mrb_class_get($13,68266)|0);
    14564   _mrb_raise($12,$14,54868);
    14565   // unreachable;
    14566  } else {
    14567   $15 = $5;
    14568   $16 = $4;
    14569   $17 = ((($16)) + 16|0);
    14570   $18 = $4;
    14571   $19 = ((($18)) + 416|0);
    14572   $20 = HEAP32[$19>>2]|0;
    14573   $21 = (($20) + 1)|0;
    14574   HEAP32[$19>>2] = $21;
    14575   $22 = (($17) + ($20<<2)|0);
    14576   HEAP32[$22>>2] = $15;
    14577   STACKTOP = sp;return;
    14578  }
    14579 }
    14580 function _mrb_obj_alloc($0,$1,$2) {
    14581  $0 = $0|0;
    14582  $1 = $1|0;
    14583  $2 = $2|0;
    14584  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    14585  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    14586  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    14587  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    14588  sp = STACKTOP;
    14589  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    14590  $3 = $0;
    14591  $4 = $1;
    14592  $5 = $2;
    14593  $8 = $3;
    14594  $9 = ((($8)) + 92|0);
    14595  $7 = $9;
    14596  $10 = $7;
    14597  $11 = ((($10)) + 440|0);
    14598  $12 = HEAP32[$11>>2]|0;
    14599  $13 = $7;
    14600  $14 = ((($13)) + 12|0);
    14601  $15 = HEAP32[$14>>2]|0;
    14602  $16 = ($12>>>0)<($15>>>0);
    14603  if ($16) {
    14604   $17 = $3;
    14605   _mrb_incremental_gc($17);
    14606  }
    14607  $18 = $7;
    14608  $19 = ((($18)) + 8|0);
    14609  $20 = HEAP32[$19>>2]|0;
    14610  $21 = ($20|0)==(0|0);
    14611  if ($21) {
    14612   $22 = $3;
    14613   $23 = $7;
    14614   _add_heap($22,$23);
    14615  }
    14616  $24 = $7;
    14617  $25 = ((($24)) + 8|0);
    14618  $26 = HEAP32[$25>>2]|0;
    14619  $27 = HEAP32[$26>>2]|0;
    14620  $6 = $27;
    14621  $28 = $6;
    14622  $29 = ((($28)) + 12|0);
    14623  $30 = HEAP32[$29>>2]|0;
    14624  $31 = $7;
    14625  $32 = ((($31)) + 8|0);
    14626  $33 = HEAP32[$32>>2]|0;
    14627  HEAP32[$33>>2] = $30;
    14628  $34 = $7;
    14629  $35 = ((($34)) + 8|0);
    14630  $36 = HEAP32[$35>>2]|0;
    14631  $37 = HEAP32[$36>>2]|0;
    14632  $38 = ($37|0)==(0|0);
    14633  if ($38) {
    14634   $39 = $7;
    14635   $40 = $7;
    14636   $41 = ((($40)) + 8|0);
    14637   $42 = HEAP32[$41>>2]|0;
    14638   _unlink_free_heap_page($39,$42);
    14639  }
    14640  $43 = $7;
    14641  $44 = ((($43)) + 12|0);
    14642  $45 = HEAP32[$44>>2]|0;
    14643  $46 = (($45) + 1)|0;
    14644  HEAP32[$44>>2] = $46;
    14645  $47 = $3;
    14646  $48 = $7;
    14647  $49 = $6;
    14648  _gc_protect($47,$48,$49);
    14649  $50 = $6;
    14650  ;HEAP32[$50>>2]=HEAP32[72724>>2]|0;HEAP32[$50+4>>2]=HEAP32[72724+4>>2]|0;HEAP32[$50+8>>2]=HEAP32[72724+8>>2]|0;HEAP32[$50+12>>2]=HEAP32[72724+12>>2]|0;HEAP32[$50+16>>2]=HEAP32[72724+16>>2]|0;HEAP32[$50+20>>2]=HEAP32[72724+20>>2]|0;
    14651  $51 = $4;
    14652  $52 = $6;
    14653  $53 = HEAP32[$52>>2]|0;
    14654  $54 = $51 & 255;
    14655  $55 = $53 & -256;
    14656  $56 = $55 | $54;
    14657  HEAP32[$52>>2] = $56;
    14658  $57 = $5;
    14659  $58 = $6;
    14660  $59 = ((($58)) + 4|0);
    14661  HEAP32[$59>>2] = $57;
    14662  $60 = $7;
    14663  $61 = ((($60)) + 424|0);
    14664  $62 = HEAP32[$61>>2]|0;
    14665  $63 = $6;
    14666  $64 = HEAP32[$63>>2]|0;
    14667  $65 = $62 & 7;
    14668  $66 = $65 << 8;
    14669  $67 = $64 & -1793;
    14670  $68 = $67 | $66;
    14671  HEAP32[$63>>2] = $68;
    14672  $69 = $6;
    14673  STACKTOP = sp;return ($69|0);
    14674 }
    14675 function _mrb_incremental_gc($0) {
    14676  $0 = $0|0;
    14677  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    14678  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    14679  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    14680  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
    14681  var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, label = 0, sp = 0;
    14682  sp = STACKTOP;
    14683  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14684  $1 = $0;
    14685  $3 = $1;
    14686  $4 = ((($3)) + 92|0);
    14687  $2 = $4;
    14688  $5 = $2;
    14689  $6 = ((($5)) + 452|0);
    14690  $7 = HEAP8[$6>>0]|0;
    14691  $8 = $7 & 1;
    14692  $9 = ($8<<24>>24)!=(0);
    14693  if ($9) {
    14694   STACKTOP = sp;return;
    14695  }
    14696  $10 = $2;
    14697  $11 = ((($10)) + 452|0);
    14698  $12 = HEAP8[$11>>0]|0;
    14699  $13 = ($12&255) >>> 2;
    14700  $14 = $13 & 1;
    14701  $15 = $14&255;
    14702  $16 = ($15|0)!=(0);
    14703  if ($16) {
    14704   $17 = $2;
    14705   $18 = ((($17)) + 452|0);
    14706   $19 = HEAP8[$18>>0]|0;
    14707   $20 = ($19&255) >>> 1;
    14708   $21 = $20 & 1;
    14709   $22 = ($21<<24>>24)!=(0);
    14710   if ($22) {
    14711    label = 5;
    14712   } else {
    14713    $23 = $1;
    14714    $24 = $2;
    14715    _incremental_gc_until($23,$24,0);
    14716   }
    14717  } else {
    14718   label = 5;
    14719  }
    14720  if ((label|0) == 5) {
    14721   $25 = $1;
    14722   $26 = $2;
    14723   _incremental_gc_step($25,$26);
    14724  }
    14725  $27 = $2;
    14726  $28 = ((($27)) + 420|0);
    14727  $29 = HEAP32[$28>>2]|0;
    14728  $30 = ($29|0)==(0);
    14729  if (!($30)) {
    14730   STACKTOP = sp;return;
    14731  }
    14732  $31 = $2;
    14733  $32 = ((($31)) + 436|0);
    14734  $33 = HEAP32[$32>>2]|0;
    14735  $34 = (($33>>>0) / 100)&-1;
    14736  $35 = $2;
    14737  $36 = ((($35)) + 444|0);
    14738  $37 = HEAP32[$36>>2]|0;
    14739  $38 = Math_imul($34, $37)|0;
    14740  $39 = $2;
    14741  $40 = ((($39)) + 440|0);
    14742  HEAP32[$40>>2] = $38;
    14743  $41 = $2;
    14744  $42 = ((($41)) + 440|0);
    14745  $43 = HEAP32[$42>>2]|0;
    14746  $44 = ($43>>>0)<(1024);
    14747  if ($44) {
    14748   $45 = $2;
    14749   $46 = ((($45)) + 440|0);
    14750   HEAP32[$46>>2] = 1024;
    14751  }
    14752  $47 = $2;
    14753  $48 = ((($47)) + 452|0);
    14754  $49 = HEAP8[$48>>0]|0;
    14755  $50 = ($49&255) >>> 2;
    14756  $51 = $50 & 1;
    14757  $52 = $51&255;
    14758  $53 = ($52|0)!=(0);
    14759  if ($53) {
    14760   $54 = $2;
    14761   $55 = ((($54)) + 452|0);
    14762   $56 = HEAP8[$55>>0]|0;
    14763   $57 = ($56&255) >>> 1;
    14764   $58 = $57 & 1;
    14765   $59 = $58&255;
    14766   $60 = ($59|0)!=(0);
    14767   if ($60) {
    14768    $61 = $2;
    14769    $62 = ((($61)) + 436|0);
    14770    $63 = HEAP32[$62>>2]|0;
    14771    $64 = (($63>>>0) / 100)&-1;
    14772    $65 = ($64*200)|0;
    14773    $66 = $2;
    14774    $67 = ((($66)) + 456|0);
    14775    HEAP32[$67>>2] = $65;
    14776    $68 = $2;
    14777    $69 = ((($68)) + 452|0);
    14778    $70 = HEAP8[$69>>0]|0;
    14779    $71 = $70 & -3;
    14780    HEAP8[$69>>0] = $71;
    14781    STACKTOP = sp;return;
    14782   }
    14783  }
    14784  $72 = $2;
    14785  $73 = ((($72)) + 452|0);
    14786  $74 = HEAP8[$73>>0]|0;
    14787  $75 = ($74&255) >>> 2;
    14788  $76 = $75 & 1;
    14789  $77 = $76&255;
    14790  $78 = ($77|0)!=(0);
    14791  if (!($78)) {
    14792   STACKTOP = sp;return;
    14793  }
    14794  $79 = $2;
    14795  $80 = ((($79)) + 452|0);
    14796  $81 = HEAP8[$80>>0]|0;
    14797  $82 = ($81&255) >>> 1;
    14798  $83 = $82 & 1;
    14799  $84 = ($83<<24>>24)!=(0);
    14800  if ($84) {
    14801   STACKTOP = sp;return;
    14802  }
    14803  $85 = $2;
    14804  $86 = ((($85)) + 12|0);
    14805  $87 = HEAP32[$86>>2]|0;
    14806  $88 = $2;
    14807  $89 = ((($88)) + 456|0);
    14808  $90 = HEAP32[$89>>2]|0;
    14809  $91 = ($87>>>0)>($90>>>0);
    14810  if (!($91)) {
    14811   STACKTOP = sp;return;
    14812  }
    14813  $92 = $1;
    14814  $93 = $2;
    14815  _clear_all_old($92,$93);
    14816  $94 = $2;
    14817  $95 = ((($94)) + 452|0);
    14818  $96 = HEAP8[$95>>0]|0;
    14819  $97 = $96 & -3;
    14820  $98 = $97 | 2;
    14821  HEAP8[$95>>0] = $98;
    14822  STACKTOP = sp;return;
    14823 }
    14824 function _incremental_gc_step($0,$1) {
    14825  $0 = $0|0;
    14826  $1 = $1|0;
    14827  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    14828  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    14829  sp = STACKTOP;
    14830  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14831  $2 = $0;
    14832  $3 = $1;
    14833  $4 = 0;
    14834  $5 = 0;
    14835  $6 = $3;
    14836  $7 = ((($6)) + 448|0);
    14837  $8 = HEAP32[$7>>2]|0;
    14838  $9 = ($8*10)|0;
    14839  $4 = $9;
    14840  while(1) {
    14841   $10 = $5;
    14842   $11 = $4;
    14843   $12 = ($10>>>0)<($11>>>0);
    14844   if (!($12)) {
    14845    break;
    14846   }
    14847   $13 = $2;
    14848   $14 = $3;
    14849   $15 = $4;
    14850   $16 = (_incremental_gc($13,$14,$15)|0);
    14851   $17 = $5;
    14852   $18 = (($17) + ($16))|0;
    14853   $5 = $18;
    14854   $19 = $3;
    14855   $20 = ((($19)) + 420|0);
    14856   $21 = HEAP32[$20>>2]|0;
    14857   $22 = ($21|0)==(0);
    14858   if ($22) {
    14859    break;
    14860   }
    14861  }
    14862  $23 = $3;
    14863  $24 = ((($23)) + 12|0);
    14864  $25 = HEAP32[$24>>2]|0;
    14865  $26 = (($25) + 1024)|0;
    14866  $27 = $3;
    14867  $28 = ((($27)) + 440|0);
    14868  HEAP32[$28>>2] = $26;
    14869  STACKTOP = sp;return;
    14870 }
    14871 function _mrb_gc_arena_save($0) {
    14872  $0 = $0|0;
    14873  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    14874  sp = STACKTOP;
    14875  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14876  $1 = $0;
    14877  $2 = $1;
    14878  $3 = ((($2)) + 92|0);
    14879  $4 = ((($3)) + 416|0);
    14880  $5 = HEAP32[$4>>2]|0;
    14881  STACKTOP = sp;return ($5|0);
    14882 }
    14883 function _mrb_gc_arena_restore($0,$1) {
    14884  $0 = $0|0;
    14885  $1 = $1|0;
    14886  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    14887  sp = STACKTOP;
    14888  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14889  $2 = $0;
    14890  $3 = $1;
    14891  $5 = $2;
    14892  $6 = ((($5)) + 92|0);
    14893  $4 = $6;
    14894  $7 = $3;
    14895  $8 = $4;
    14896  $9 = ((($8)) + 416|0);
    14897  HEAP32[$9>>2] = $7;
    14898  STACKTOP = sp;return;
    14899 }
    14900 function _mrb_field_write_barrier($0,$1,$2) {
    14901  $0 = $0|0;
    14902  $1 = $1|0;
    14903  $2 = $2|0;
    14904  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    14905  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    14906  var $9 = 0, label = 0, sp = 0;
    14907  sp = STACKTOP;
    14908  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14909  $3 = $0;
    14910  $4 = $1;
    14911  $5 = $2;
    14912  $7 = $3;
    14913  $8 = ((($7)) + 92|0);
    14914  $6 = $8;
    14915  $9 = $4;
    14916  $10 = HEAP32[$9>>2]|0;
    14917  $11 = $10 >>> 8;
    14918  $12 = $11 & 7;
    14919  $13 = $12 & 4;
    14920  $14 = ($13|0)!=(0);
    14921  if (!($14)) {
    14922   STACKTOP = sp;return;
    14923  }
    14924  $15 = $5;
    14925  $16 = HEAP32[$15>>2]|0;
    14926  $17 = $16 >>> 8;
    14927  $18 = $17 & 7;
    14928  $19 = $18 & 3;
    14929  $20 = ($19|0)!=(0);
    14930  if (!($20)) {
    14931   STACKTOP = sp;return;
    14932  }
    14933  $21 = $6;
    14934  $22 = ((($21)) + 452|0);
    14935  $23 = HEAP8[$22>>0]|0;
    14936  $24 = ($23&255) >>> 2;
    14937  $25 = $24 & 1;
    14938  $26 = $25&255;
    14939  $27 = ($26|0)!=(0);
    14940  if (!($27)) {
    14941   $28 = $6;
    14942   $29 = ((($28)) + 420|0);
    14943   $30 = HEAP32[$29>>2]|0;
    14944   $31 = ($30|0)==(1);
    14945   if (!($31)) {
    14946    $35 = $6;
    14947    $36 = ((($35)) + 424|0);
    14948    $37 = HEAP32[$36>>2]|0;
    14949    $38 = $4;
    14950    $39 = HEAP32[$38>>2]|0;
    14951    $40 = $37 & 7;
    14952    $41 = $40 << 8;
    14953    $42 = $39 & -1793;
    14954    $43 = $42 | $41;
    14955    HEAP32[$38>>2] = $43;
    14956    STACKTOP = sp;return;
    14957   }
    14958  }
    14959  $32 = $3;
    14960  $33 = $6;
    14961  $34 = $5;
    14962  _add_gray_list($32,$33,$34);
    14963  STACKTOP = sp;return;
    14964 }
    14965 function _mrb_write_barrier($0,$1) {
    14966  $0 = $0|0;
    14967  $1 = $1|0;
    14968  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    14969  var $8 = 0, $9 = 0, label = 0, sp = 0;
    14970  sp = STACKTOP;
    14971  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    14972  $2 = $0;
    14973  $3 = $1;
    14974  $5 = $2;
    14975  $6 = ((($5)) + 92|0);
    14976  $4 = $6;
    14977  $7 = $3;
    14978  $8 = HEAP32[$7>>2]|0;
    14979  $9 = $8 >>> 8;
    14980  $10 = $9 & 7;
    14981  $11 = $10 & 4;
    14982  $12 = ($11|0)!=(0);
    14983  if (!($12)) {
    14984   STACKTOP = sp;return;
    14985  }
    14986  $13 = $3;
    14987  $14 = HEAP32[$13>>2]|0;
    14988  $15 = $14 & -1793;
    14989  HEAP32[$13>>2] = $15;
    14990  $16 = $4;
    14991  $17 = ((($16)) + 432|0);
    14992  $18 = HEAP32[$17>>2]|0;
    14993  $19 = $3;
    14994  $20 = ((($19)) + 8|0);
    14995  HEAP32[$20>>2] = $18;
    14996  $21 = $3;
    14997  $22 = $4;
    14998  $23 = ((($22)) + 432|0);
    14999  HEAP32[$23>>2] = $21;
    15000  STACKTOP = sp;return;
    15001 }
    15002 function _mrb_init_gc($0) {
    15003  $0 = $0|0;
    15004  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    15005  var $8 = 0, $9 = 0, label = 0, sp = 0;
    15006  sp = STACKTOP;
    15007  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15008  $1 = $0;
    15009  $3 = $1;
    15010  $4 = (_mrb_define_module($3,54889)|0);
    15011  $2 = $4;
    15012  $5 = $1;
    15013  $6 = $2;
    15014  _mrb_define_class_method($5,$6,54892,8,0);
    15015  $7 = $1;
    15016  $8 = $2;
    15017  _mrb_define_class_method($7,$8,54898,9,0);
    15018  $9 = $1;
    15019  $10 = $2;
    15020  _mrb_define_class_method($9,$10,54905,10,0);
    15021  $11 = $1;
    15022  $12 = $2;
    15023  _mrb_define_class_method($11,$12,54913,11,0);
    15024  $13 = $1;
    15025  $14 = $2;
    15026  _mrb_define_class_method($13,$14,54928,12,262144);
    15027  $15 = $1;
    15028  $16 = $2;
    15029  _mrb_define_class_method($15,$16,54944,13,0);
    15030  $17 = $1;
    15031  $18 = $2;
    15032  _mrb_define_class_method($17,$18,54955,14,262144);
    15033  $19 = $1;
    15034  $20 = $2;
    15035  _mrb_define_class_method($19,$20,54967,15,262144);
    15036  $21 = $1;
    15037  $22 = $2;
    15038  _mrb_define_class_method($21,$22,54986,16,0);
    15039  STACKTOP = sp;return;
    15040 }
    15041 function _gc_start($0,$1,$2) {
    15042  $0 = $0|0;
    15043  $1 = $1|0;
    15044  $2 = $2|0;
    15045  var $3 = 0, $4 = 0, label = 0, sp = 0;
    15046  sp = STACKTOP;
    15047  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15048  $3 = $1;
    15049  $4 = $3;
    15050  _mrb_full_gc($4);
    15051  _mrb_nil_value_55($0);
    15052  STACKTOP = sp;return;
    15053 }
    15054 function _gc_enable($0,$1,$2) {
    15055  $0 = $0|0;
    15056  $1 = $1|0;
    15057  $2 = $2|0;
    15058  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15059  sp = STACKTOP;
    15060  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15061  $3 = $1;
    15062  $5 = $3;
    15063  $6 = ((($5)) + 92|0);
    15064  $7 = ((($6)) + 452|0);
    15065  $8 = HEAP8[$7>>0]|0;
    15066  $9 = $8 & 1;
    15067  $4 = $9;
    15068  $10 = $3;
    15069  $11 = ((($10)) + 92|0);
    15070  $12 = ((($11)) + 452|0);
    15071  $13 = HEAP8[$12>>0]|0;
    15072  $14 = $13 & -2;
    15073  HEAP8[$12>>0] = $14;
    15074  $15 = $4;
    15075  _mrb_bool_value($0,$15);
    15076  STACKTOP = sp;return;
    15077 }
    15078 function _gc_disable($0,$1,$2) {
    15079  $0 = $0|0;
    15080  $1 = $1|0;
    15081  $2 = $2|0;
    15082  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15083  sp = STACKTOP;
    15084  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15085  $3 = $1;
    15086  $5 = $3;
    15087  $6 = ((($5)) + 92|0);
    15088  $7 = ((($6)) + 452|0);
    15089  $8 = HEAP8[$7>>0]|0;
    15090  $9 = $8 & 1;
    15091  $4 = $9;
    15092  $10 = $3;
    15093  $11 = ((($10)) + 92|0);
    15094  $12 = ((($11)) + 452|0);
    15095  $13 = HEAP8[$12>>0]|0;
    15096  $14 = $13 & -2;
    15097  $15 = $14 | 1;
    15098  HEAP8[$12>>0] = $15;
    15099  $16 = $4;
    15100  _mrb_bool_value($0,$16);
    15101  STACKTOP = sp;return;
    15102 }
    15103 function _gc_interval_ratio_get($0,$1,$2) {
    15104  $0 = $0|0;
    15105  $1 = $1|0;
    15106  $2 = $2|0;
    15107  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    15108  sp = STACKTOP;
    15109  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15110  $3 = $1;
    15111  $4 = $3;
    15112  $5 = ((($4)) + 92|0);
    15113  $6 = ((($5)) + 444|0);
    15114  $7 = HEAP32[$6>>2]|0;
    15115  _mrb_fixnum_value($0,$7);
    15116  STACKTOP = sp;return;
    15117 }
    15118 function _gc_interval_ratio_set($0,$1,$2) {
    15119  $0 = $0|0;
    15120  $1 = $1|0;
    15121  $2 = $2|0;
    15122  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    15123  sp = STACKTOP;
    15124  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15125  $vararg_buffer = sp;
    15126  $4 = sp + 4|0;
    15127  $3 = $1;
    15128  $5 = $3;
    15129  HEAP32[$vararg_buffer>>2] = $4;
    15130  (_mrb_get_args($5,64797,$vararg_buffer)|0);
    15131  $6 = HEAP32[$4>>2]|0;
    15132  $7 = $3;
    15133  $8 = ((($7)) + 92|0);
    15134  $9 = ((($8)) + 444|0);
    15135  HEAP32[$9>>2] = $6;
    15136  _mrb_nil_value_55($0);
    15137  STACKTOP = sp;return;
    15138 }
    15139 function _gc_step_ratio_get($0,$1,$2) {
    15140  $0 = $0|0;
    15141  $1 = $1|0;
    15142  $2 = $2|0;
    15143  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    15144  sp = STACKTOP;
    15145  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15146  $3 = $1;
    15147  $4 = $3;
    15148  $5 = ((($4)) + 92|0);
    15149  $6 = ((($5)) + 448|0);
    15150  $7 = HEAP32[$6>>2]|0;
    15151  _mrb_fixnum_value($0,$7);
    15152  STACKTOP = sp;return;
    15153 }
    15154 function _gc_step_ratio_set($0,$1,$2) {
    15155  $0 = $0|0;
    15156  $1 = $1|0;
    15157  $2 = $2|0;
    15158  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    15159  sp = STACKTOP;
    15160  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15161  $vararg_buffer = sp;
    15162  $4 = sp + 4|0;
    15163  $3 = $1;
    15164  $5 = $3;
    15165  HEAP32[$vararg_buffer>>2] = $4;
    15166  (_mrb_get_args($5,64797,$vararg_buffer)|0);
    15167  $6 = HEAP32[$4>>2]|0;
    15168  $7 = $3;
    15169  $8 = ((($7)) + 92|0);
    15170  $9 = ((($8)) + 448|0);
    15171  HEAP32[$9>>2] = $6;
    15172  _mrb_nil_value_55($0);
    15173  STACKTOP = sp;return;
    15174 }
    15175 function _gc_generational_mode_set($0,$1,$2) {
    15176  $0 = $0|0;
    15177  $1 = $1|0;
    15178  $2 = $2|0;
    15179  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0;
    15180  var sp = 0;
    15181  sp = STACKTOP;
    15182  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15183  $vararg_buffer = sp;
    15184  $4 = sp + 8|0;
    15185  $3 = $1;
    15186  $5 = $3;
    15187  HEAP32[$vararg_buffer>>2] = $4;
    15188  (_mrb_get_args($5,55358,$vararg_buffer)|0);
    15189  $6 = $3;
    15190  $7 = ((($6)) + 92|0);
    15191  $8 = ((($7)) + 452|0);
    15192  $9 = HEAP8[$8>>0]|0;
    15193  $10 = ($9&255) >>> 2;
    15194  $11 = $10 & 1;
    15195  $12 = $11&255;
    15196  $13 = HEAP8[$4>>0]|0;
    15197  $14 = $13&255;
    15198  $15 = ($12|0)!=($14|0);
    15199  if (!($15)) {
    15200   $20 = HEAP8[$4>>0]|0;
    15201   _mrb_bool_value($0,$20);
    15202   STACKTOP = sp;return;
    15203  }
    15204  $16 = $3;
    15205  $17 = $3;
    15206  $18 = ((($17)) + 92|0);
    15207  $19 = HEAP8[$4>>0]|0;
    15208  _change_gen_gc_mode($16,$18,$19);
    15209  $20 = HEAP8[$4>>0]|0;
    15210  _mrb_bool_value($0,$20);
    15211  STACKTOP = sp;return;
    15212 }
    15213 function _gc_generational_mode_get($0,$1,$2) {
    15214  $0 = $0|0;
    15215  $1 = $1|0;
    15216  $2 = $2|0;
    15217  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15218  sp = STACKTOP;
    15219  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15220  $3 = $1;
    15221  $4 = $3;
    15222  $5 = ((($4)) + 92|0);
    15223  $6 = ((($5)) + 452|0);
    15224  $7 = HEAP8[$6>>0]|0;
    15225  $8 = ($7&255) >>> 2;
    15226  $9 = $8 & 1;
    15227  _mrb_bool_value($0,$9);
    15228  STACKTOP = sp;return;
    15229 }
    15230 function _mrb_bool_value($0,$1) {
    15231  $0 = $0|0;
    15232  $1 = $1|0;
    15233  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    15234  sp = STACKTOP;
    15235  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15236  $3 = sp;
    15237  $2 = $1;
    15238  $4 = $2;
    15239  $5 = $4&255;
    15240  $6 = ($5|0)!=(0);
    15241  $7 = $6 ? 2 : 0;
    15242  $8 = ((($3)) + 4|0);
    15243  HEAP32[$8>>2] = $7;
    15244  HEAP32[$3>>2] = 1;
    15245  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    15246  STACKTOP = sp;return;
    15247 }
    15248 function _change_gen_gc_mode($0,$1,$2) {
    15249  $0 = $0|0;
    15250  $1 = $1|0;
    15251  $2 = $2|0;
    15252  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    15253  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    15254  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    15255  sp = STACKTOP;
    15256  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15257  $3 = $0;
    15258  $4 = $1;
    15259  $5 = $2;
    15260  $6 = $4;
    15261  $7 = ((($6)) + 452|0);
    15262  $8 = HEAP8[$7>>0]|0;
    15263  $9 = ($8&255) >>> 2;
    15264  $10 = $9 & 1;
    15265  $11 = $10&255;
    15266  $12 = ($11|0)==(0);
    15267  $13 = $5;
    15268  $14 = ($13<<24>>24)!=(0);
    15269  $or$cond = $12 | $14;
    15270  if ($or$cond) {
    15271   $21 = $4;
    15272   $22 = ((($21)) + 452|0);
    15273   $23 = HEAP8[$22>>0]|0;
    15274   $24 = ($23&255) >>> 2;
    15275   $25 = $24 & 1;
    15276   $26 = ($25<<24>>24)!=(0);
    15277   if (!($26)) {
    15278    $27 = $5;
    15279    $28 = $27&255;
    15280    $29 = ($28|0)!=(0);
    15281    if ($29) {
    15282     $30 = $3;
    15283     $31 = $4;
    15284     _incremental_gc_until($30,$31,0);
    15285     $32 = $4;
    15286     $33 = ((($32)) + 436|0);
    15287     $34 = HEAP32[$33>>2]|0;
    15288     $35 = (($34>>>0) / 100)&-1;
    15289     $36 = ($35*200)|0;
    15290     $37 = $4;
    15291     $38 = ((($37)) + 456|0);
    15292     HEAP32[$38>>2] = $36;
    15293     $39 = $4;
    15294     $40 = ((($39)) + 452|0);
    15295     $41 = HEAP8[$40>>0]|0;
    15296     $42 = $41 & -3;
    15297     HEAP8[$40>>0] = $42;
    15298    }
    15299   }
    15300  } else {
    15301   $15 = $3;
    15302   $16 = $4;
    15303   _clear_all_old($15,$16);
    15304   $17 = $4;
    15305   $18 = ((($17)) + 452|0);
    15306   $19 = HEAP8[$18>>0]|0;
    15307   $20 = $19 & -3;
    15308   HEAP8[$18>>0] = $20;
    15309  }
    15310  $43 = $5;
    15311  $44 = $4;
    15312  $45 = ((($44)) + 452|0);
    15313  $46 = HEAP8[$45>>0]|0;
    15314  $47 = $43 & 1;
    15315  $48 = ($47 << 2)&255;
    15316  $49 = $46 & -5;
    15317  $50 = $49 | $48;
    15318  HEAP8[$45>>0] = $50;
    15319  STACKTOP = sp;return;
    15320 }
    15321 function _mrb_fixnum_value($0,$1) {
    15322  $0 = $0|0;
    15323  $1 = $1|0;
    15324  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    15325  sp = STACKTOP;
    15326  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15327  $3 = sp;
    15328  $2 = $1;
    15329  $4 = ((($3)) + 4|0);
    15330  HEAP32[$4>>2] = 3;
    15331  $5 = $2;
    15332  HEAP32[$3>>2] = $5;
    15333  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    15334  STACKTOP = sp;return;
    15335 }
    15336 function _kh_alloc_ht($0,$1) {
    15337  $0 = $0|0;
    15338  $1 = $1|0;
    15339  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    15340  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    15341  var $9 = 0, label = 0, sp = 0;
    15342  sp = STACKTOP;
    15343  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    15344  $2 = $0;
    15345  $3 = $1;
    15346  $7 = $3;
    15347  $8 = HEAP32[$7>>2]|0;
    15348  $4 = $8;
    15349  $5 = 20;
    15350  $9 = $2;
    15351  $10 = $4;
    15352  $11 = $10;
    15353  $12 = (($11>>>0) / 4)&-1;
    15354  $13 = $5;
    15355  $14 = $4;
    15356  $15 = Math_imul($13, $14)|0;
    15357  $16 = (($12) + ($15))|0;
    15358  $17 = (_mrb_malloc($9,$16)|0);
    15359  $6 = $17;
    15360  $18 = $3;
    15361  $19 = ((($18)) + 8|0);
    15362  HEAP32[$19>>2] = 0;
    15363  $20 = $3;
    15364  $21 = ((($20)) + 4|0);
    15365  HEAP32[$21>>2] = 0;
    15366  $22 = $6;
    15367  $23 = $3;
    15368  $24 = ((($23)) + 16|0);
    15369  HEAP32[$24>>2] = $22;
    15370  $25 = $6;
    15371  $26 = $4;
    15372  $27 = $26<<3;
    15373  $28 = (($25) + ($27)|0);
    15374  $29 = $3;
    15375  $30 = ((($29)) + 20|0);
    15376  HEAP32[$30>>2] = $28;
    15377  $31 = $6;
    15378  $32 = $5;
    15379  $33 = $4;
    15380  $34 = Math_imul($32, $33)|0;
    15381  $35 = (($31) + ($34)|0);
    15382  $36 = $3;
    15383  $37 = ((($36)) + 12|0);
    15384  HEAP32[$37>>2] = $35;
    15385  $38 = $3;
    15386  $39 = ((($38)) + 12|0);
    15387  $40 = HEAP32[$39>>2]|0;
    15388  $41 = $4;
    15389  $42 = (($41>>>0) / 4)&-1;
    15390  _kh_fill_flags($40,-86,$42);
    15391  STACKTOP = sp;return;
    15392 }
    15393 function _kh_fill_flags($0,$1,$2) {
    15394  $0 = $0|0;
    15395  $1 = $1|0;
    15396  $2 = $2|0;
    15397  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15398  sp = STACKTOP;
    15399  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15400  $3 = $0;
    15401  $4 = $1;
    15402  $5 = $2;
    15403  while(1) {
    15404   $6 = $5;
    15405   $7 = (($6) + -1)|0;
    15406   $5 = $7;
    15407   $8 = ($6>>>0)>(0);
    15408   if (!($8)) {
    15409    break;
    15410   }
    15411   $9 = $4;
    15412   $10 = $3;
    15413   $11 = ((($10)) + 1|0);
    15414   $3 = $11;
    15415   HEAP8[$10>>0] = $9;
    15416  }
    15417  STACKTOP = sp;return;
    15418 }
    15419 function _kh_init_ht_size($0,$1) {
    15420  $0 = $0|0;
    15421  $1 = $1|0;
    15422  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    15423  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15424  sp = STACKTOP;
    15425  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15426  $2 = $0;
    15427  $3 = $1;
    15428  $5 = $2;
    15429  $6 = (_mrb_calloc($5,1,24)|0);
    15430  $4 = $6;
    15431  $7 = $3;
    15432  $8 = ($7>>>0)<(8);
    15433  if ($8) {
    15434   $3 = 8;
    15435  }
    15436  $9 = $3;
    15437  $10 = (($9) + -1)|0;
    15438  $3 = $10;
    15439  $11 = $3;
    15440  $12 = $11 >>> 1;
    15441  $13 = $3;
    15442  $14 = $13 | $12;
    15443  $3 = $14;
    15444  $15 = $3;
    15445  $16 = $15 >>> 2;
    15446  $17 = $3;
    15447  $18 = $17 | $16;
    15448  $3 = $18;
    15449  $19 = $3;
    15450  $20 = $19 >>> 4;
    15451  $21 = $3;
    15452  $22 = $21 | $20;
    15453  $3 = $22;
    15454  $23 = $3;
    15455  $24 = $23 >>> 8;
    15456  $25 = $3;
    15457  $26 = $25 | $24;
    15458  $3 = $26;
    15459  $27 = $3;
    15460  $28 = $27 >>> 16;
    15461  $29 = $3;
    15462  $30 = $29 | $28;
    15463  $3 = $30;
    15464  $31 = $3;
    15465  $32 = (($31) + 1)|0;
    15466  $3 = $32;
    15467  $33 = $3;
    15468  $34 = $4;
    15469  HEAP32[$34>>2] = $33;
    15470  $35 = $2;
    15471  $36 = $4;
    15472  _kh_alloc_ht($35,$36);
    15473  $37 = $4;
    15474  STACKTOP = sp;return ($37|0);
    15475 }
    15476 function _kh_init_ht($0) {
    15477  $0 = $0|0;
    15478  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    15479  sp = STACKTOP;
    15480  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15481  $1 = $0;
    15482  $2 = $1;
    15483  $3 = (_kh_init_ht_size($2,8)|0);
    15484  STACKTOP = sp;return ($3|0);
    15485 }
    15486 function _kh_destroy_ht($0,$1) {
    15487  $0 = $0|0;
    15488  $1 = $1|0;
    15489  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15490  sp = STACKTOP;
    15491  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15492  $2 = $0;
    15493  $3 = $1;
    15494  $4 = $3;
    15495  $5 = ($4|0)!=(0|0);
    15496  if (!($5)) {
    15497   STACKTOP = sp;return;
    15498  }
    15499  $6 = $2;
    15500  $7 = $3;
    15501  $8 = ((($7)) + 16|0);
    15502  $9 = HEAP32[$8>>2]|0;
    15503  _mrb_free($6,$9);
    15504  $10 = $2;
    15505  $11 = $3;
    15506  _mrb_free($10,$11);
    15507  STACKTOP = sp;return;
    15508 }
    15509 function _kh_clear_ht($0,$1) {
    15510  $0 = $0|0;
    15511  $1 = $1|0;
    15512  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15513  sp = STACKTOP;
    15514  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    15515  $2 = $0;
    15516  $3 = $1;
    15517  $4 = $3;
    15518  $5 = ($4|0)!=(0|0);
    15519  if (!($5)) {
    15520   STACKTOP = sp;return;
    15521  }
    15522  $6 = $3;
    15523  $7 = ((($6)) + 12|0);
    15524  $8 = HEAP32[$7>>2]|0;
    15525  $9 = ($8|0)!=(0|0);
    15526  if (!($9)) {
    15527   STACKTOP = sp;return;
    15528  }
    15529  $10 = $3;
    15530  $11 = ((($10)) + 12|0);
    15531  $12 = HEAP32[$11>>2]|0;
    15532  $13 = $3;
    15533  $14 = HEAP32[$13>>2]|0;
    15534  $15 = (($14>>>0) / 4)&-1;
    15535  _kh_fill_flags($12,-86,$15);
    15536  $16 = $3;
    15537  $17 = ((($16)) + 8|0);
    15538  HEAP32[$17>>2] = 0;
    15539  $18 = $3;
    15540  $19 = ((($18)) + 4|0);
    15541  HEAP32[$19>>2] = 0;
    15542  STACKTOP = sp;return;
    15543 }
    15544 function _kh_get_ht($0,$1,$2) {
    15545  $0 = $0|0;
    15546  $1 = $1|0;
    15547  $2 = $2|0;
    15548  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    15549  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
    15550  var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
    15551  var $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15552  sp = STACKTOP;
    15553  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    15554  $$byval_copy2 = sp + 40|0;
    15555  $$byval_copy1 = sp + 32|0;
    15556  $$byval_copy = sp + 24|0;
    15557  $4 = $0;
    15558  $5 = $1;
    15559  $8 = $4;
    15560  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    15561  $9 = (_mrb_hash_ht_hash_func($8,$$byval_copy)|0);
    15562  $10 = $5;
    15563  $11 = HEAP32[$10>>2]|0;
    15564  $12 = (($11) - 1)|0;
    15565  $13 = $9 & $12;
    15566  $6 = $13;
    15567  $7 = 0;
    15568  while(1) {
    15569   $14 = $5;
    15570   $15 = ((($14)) + 12|0);
    15571   $16 = HEAP32[$15>>2]|0;
    15572   $17 = $6;
    15573   $18 = (($17>>>0) / 4)&-1;
    15574   $19 = (($16) + ($18)|0);
    15575   $20 = HEAP8[$19>>0]|0;
    15576   $21 = $20&255;
    15577   $22 = $6;
    15578   $23 = (($22>>>0) % 4)&-1;
    15579   $24 = (55004 + ($23)|0);
    15580   $25 = HEAP8[$24>>0]|0;
    15581   $26 = $25&255;
    15582   $27 = $21 & $26;
    15583   $28 = ($27|0)!=(0);
    15584   $29 = $28 ^ 1;
    15585   $30 = $5;
    15586   if (!($29)) {
    15587    label = 7;
    15588    break;
    15589   }
    15590   $31 = ((($30)) + 12|0);
    15591   $32 = HEAP32[$31>>2]|0;
    15592   $33 = $6;
    15593   $34 = (($33>>>0) / 4)&-1;
    15594   $35 = (($32) + ($34)|0);
    15595   $36 = HEAP8[$35>>0]|0;
    15596   $37 = $36&255;
    15597   $38 = $6;
    15598   $39 = (($38>>>0) % 4)&-1;
    15599   $40 = (55008 + ($39)|0);
    15600   $41 = HEAP8[$40>>0]|0;
    15601   $42 = $41&255;
    15602   $43 = $37 & $42;
    15603   $44 = ($43|0)!=(0);
    15604   if (!($44)) {
    15605    $45 = $4;
    15606    $46 = $5;
    15607    $47 = ((($46)) + 16|0);
    15608    $48 = HEAP32[$47>>2]|0;
    15609    $49 = $6;
    15610    $50 = (($48) + ($49<<3)|0);
    15611    ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0;
    15612    ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    15613    $51 = (_mrb_hash_ht_hash_equal($45,$$byval_copy1,$$byval_copy2)|0);
    15614    $52 = ($51|0)!=(0);
    15615    if ($52) {
    15616     label = 5;
    15617     break;
    15618    }
    15619   }
    15620   $54 = $6;
    15621   $55 = $7;
    15622   $56 = (($55) + 1)|0;
    15623   $7 = $56;
    15624   $57 = (($54) + ($56))|0;
    15625   $58 = $5;
    15626   $59 = HEAP32[$58>>2]|0;
    15627   $60 = (($59) - 1)|0;
    15628   $61 = $57 & $60;
    15629   $6 = $61;
    15630  }
    15631  if ((label|0) == 5) {
    15632   $53 = $6;
    15633   $3 = $53;
    15634   $63 = $3;
    15635   STACKTOP = sp;return ($63|0);
    15636  }
    15637  else if ((label|0) == 7) {
    15638   $62 = HEAP32[$30>>2]|0;
    15639   $3 = $62;
    15640   $63 = $3;
    15641   STACKTOP = sp;return ($63|0);
    15642  }
    15643  return (0)|0;
    15644 }
    15645 function _mrb_hash_ht_hash_func($0,$1) {
    15646  $0 = $0|0;
    15647  $1 = $1|0;
    15648  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    15649  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    15650  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0;
    15651  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
    15652  var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    15653  sp = STACKTOP;
    15654  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    15655  $$byval_copy = sp + 56|0;
    15656  $vararg_buffer = sp;
    15657  $5 = sp + 32|0;
    15658  $10 = sp + 8|0;
    15659  $3 = $0;
    15660  $11 = ((($1)) + 4|0);
    15661  $12 = HEAP32[$11>>2]|0;
    15662  $4 = $12;
    15663  $13 = $4;
    15664  switch ($13|0) {
    15665  case 16:  {
    15666   $14 = HEAP32[$1>>2]|0;
    15667   $15 = HEAP32[$14>>2]|0;
    15668   $16 = $15 >>> 11;
    15669   $17 = $16 & 8;
    15670   $18 = ($17|0)!=(0);
    15671   $19 = HEAP32[$1>>2]|0;
    15672   $20 = ((($19)) + 12|0);
    15673   if ($18) {
    15674    $23 = $20;
    15675   } else {
    15676    $21 = ((($20)) + 8|0);
    15677    $22 = HEAP32[$21>>2]|0;
    15678    $23 = $22;
    15679   }
    15680   $6 = $23;
    15681   $24 = HEAP32[$1>>2]|0;
    15682   $25 = HEAP32[$24>>2]|0;
    15683   $26 = $25 >>> 11;
    15684   $27 = $26 & 8;
    15685   $28 = ($27|0)!=(0);
    15686   $29 = HEAP32[$1>>2]|0;
    15687   if ($28) {
    15688    $30 = HEAP32[$29>>2]|0;
    15689    $31 = $30 >>> 11;
    15690    $32 = $31 & 496;
    15691    $33 = $32 >> 4;
    15692    $36 = $33;
    15693   } else {
    15694    $34 = ((($29)) + 12|0);
    15695    $35 = HEAP32[$34>>2]|0;
    15696    $36 = $35;
    15697   }
    15698   $8 = $36;
    15699   $9 = 0;
    15700   $7 = 0;
    15701   while(1) {
    15702    $37 = $7;
    15703    $38 = $8;
    15704    $39 = ($37|0)<($38|0);
    15705    $40 = $9;
    15706    if (!($39)) {
    15707     break;
    15708    }
    15709    $41 = $40 << 5;
    15710    $42 = $9;
    15711    $43 = (($41) - ($42))|0;
    15712    $44 = $6;
    15713    $45 = ((($44)) + 1|0);
    15714    $6 = $45;
    15715    $46 = HEAP8[$44>>0]|0;
    15716    $47 = $46 << 24 >> 24;
    15717    $48 = (($43) + ($47))|0;
    15718    $9 = $48;
    15719    $49 = $7;
    15720    $50 = (($49) + 1)|0;
    15721    $7 = $50;
    15722   }
    15723   $2 = $40;
    15724   $89 = $2;
    15725   STACKTOP = sp;return ($89|0);
    15726   break;
    15727  }
    15728  case 4:  {
    15729   $51 = HEAP32[$1>>2]|0;
    15730   $9 = $51;
    15731   $52 = $9;
    15732   $53 = $9;
    15733   $54 = $53 << 2;
    15734   $55 = $52 ^ $54;
    15735   $56 = $9;
    15736   $57 = $56 >>> 2;
    15737   $58 = $55 ^ $57;
    15738   $2 = $58;
    15739   $89 = $2;
    15740   STACKTOP = sp;return ($89|0);
    15741   break;
    15742  }
    15743  case 3:  {
    15744   $59 = HEAP32[$1>>2]|0;
    15745   $60 = (+($59|0));
    15746   $61 = (_mrb_float_id($60)|0);
    15747   $9 = $61;
    15748   $62 = $9;
    15749   $63 = $9;
    15750   $64 = $63 << 2;
    15751   $65 = $62 ^ $64;
    15752   $66 = $9;
    15753   $67 = $66 >>> 2;
    15754   $68 = $65 ^ $67;
    15755   $2 = $68;
    15756   $89 = $2;
    15757   STACKTOP = sp;return ($89|0);
    15758   break;
    15759  }
    15760  case 6:  {
    15761   $69 = +HEAPF32[$1>>2];
    15762   $70 = (_mrb_float_id($69)|0);
    15763   $9 = $70;
    15764   $71 = $9;
    15765   $72 = $9;
    15766   $73 = $72 << 2;
    15767   $74 = $71 ^ $73;
    15768   $75 = $9;
    15769   $76 = $75 >>> 2;
    15770   $77 = $74 ^ $76;
    15771   $2 = $77;
    15772   $89 = $2;
    15773   STACKTOP = sp;return ($89|0);
    15774   break;
    15775  }
    15776  default: {
    15777   $78 = $3;
    15778   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    15779   _mrb_funcall($10,$78,$$byval_copy,68413,0,$vararg_buffer);
    15780   ;HEAP32[$5>>2]=HEAP32[$10>>2]|0;HEAP32[$5+4>>2]=HEAP32[$10+4>>2]|0;
    15781   $79 = $4;
    15782   $80 = HEAP32[$5>>2]|0;
    15783   $81 = $79 ^ $80;
    15784   $9 = $81;
    15785   $82 = $9;
    15786   $83 = $9;
    15787   $84 = $83 << 2;
    15788   $85 = $82 ^ $84;
    15789   $86 = $9;
    15790   $87 = $86 >>> 2;
    15791   $88 = $85 ^ $87;
    15792   $2 = $88;
    15793   $89 = $2;
    15794   STACKTOP = sp;return ($89|0);
    15795  }
    15796  }
    15797  return (0)|0;
    15798 }
    15799 function _mrb_hash_ht_hash_equal($0,$1,$2) {
    15800  $0 = $0|0;
    15801  $1 = $1|0;
    15802  $2 = $2|0;
    15803  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    15804  var $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    15805  var $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    15806  sp = STACKTOP;
    15807  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    15808  $$byval_copy3 = sp + 40|0;
    15809  $$byval_copy2 = sp + 32|0;
    15810  $$byval_copy1 = sp + 24|0;
    15811  $$byval_copy = sp + 16|0;
    15812  $4 = $0;
    15813  $6 = ((($1)) + 4|0);
    15814  $7 = HEAP32[$6>>2]|0;
    15815  $5 = $7;
    15816  $8 = $5;
    15817  L1: do {
    15818   switch ($8|0) {
    15819   case 16:  {
    15820    $9 = $4;
    15821    ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    15822    ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    15823    $10 = (_mrb_str_equal($9,$$byval_copy,$$byval_copy1)|0);
    15824    $11 = $10&255;
    15825    $3 = $11;
    15826    break;
    15827   }
    15828   case 4:  {
    15829    $12 = ((($2)) + 4|0);
    15830    $13 = HEAP32[$12>>2]|0;
    15831    $14 = ($13|0)!=(4);
    15832    if ($14) {
    15833     $3 = 0;
    15834     break L1;
    15835    } else {
    15836     $15 = HEAP32[$1>>2]|0;
    15837     $16 = HEAP32[$2>>2]|0;
    15838     $17 = ($15|0)==($16|0);
    15839     $18 = $17&1;
    15840     $3 = $18;
    15841     break L1;
    15842    }
    15843    break;
    15844   }
    15845   case 3:  {
    15846    $19 = ((($2)) + 4|0);
    15847    $20 = HEAP32[$19>>2]|0;
    15848    switch ($20|0) {
    15849    case 3:  {
    15850     $21 = HEAP32[$1>>2]|0;
    15851     $22 = HEAP32[$2>>2]|0;
    15852     $23 = ($21|0)==($22|0);
    15853     $24 = $23&1;
    15854     $3 = $24;
    15855     break L1;
    15856     break;
    15857    }
    15858    case 6:  {
    15859     $25 = HEAP32[$1>>2]|0;
    15860     $26 = (+($25|0));
    15861     $27 = +HEAPF32[$2>>2];
    15862     $28 = $26 == $27;
    15863     $29 = $28&1;
    15864     $3 = $29;
    15865     break L1;
    15866     break;
    15867    }
    15868    default: {
    15869     $3 = 0;
    15870     break L1;
    15871    }
    15872    }
    15873    break;
    15874   }
    15875   case 6:  {
    15876    $30 = ((($2)) + 4|0);
    15877    $31 = HEAP32[$30>>2]|0;
    15878    switch ($31|0) {
    15879    case 3:  {
    15880     $32 = +HEAPF32[$1>>2];
    15881     $33 = HEAP32[$2>>2]|0;
    15882     $34 = (+($33|0));
    15883     $35 = $32 == $34;
    15884     $36 = $35&1;
    15885     $3 = $36;
    15886     break L1;
    15887     break;
    15888    }
    15889    case 6:  {
    15890     $37 = +HEAPF32[$1>>2];
    15891     $38 = +HEAPF32[$2>>2];
    15892     $39 = $37 == $38;
    15893     $40 = $39&1;
    15894     $3 = $40;
    15895     break L1;
    15896     break;
    15897    }
    15898    default: {
    15899     $3 = 0;
    15900     break L1;
    15901    }
    15902    }
    15903    break;
    15904   }
    15905   default: {
    15906    $41 = $4;
    15907    ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;
    15908    ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    15909    $42 = (_mrb_eql($41,$$byval_copy2,$$byval_copy3)|0);
    15910    $43 = $42&255;
    15911    $3 = $43;
    15912   }
    15913   }
    15914  } while(0);
    15915  $44 = $3;
    15916  STACKTOP = sp;return ($44|0);
    15917 }
    15918 function _kh_resize_ht($0,$1,$2) {
    15919  $0 = $0|0;
    15920  $1 = $1|0;
    15921  $2 = $2|0;
    15922  var $$ = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    15923  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    15924  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    15925  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
    15926  var $82 = 0, $83 = 0, $84 = 0, $9 = 0, label = 0, sp = 0;
    15927  sp = STACKTOP;
    15928  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    15929  $$byval_copy = sp + 64|0;
    15930  $6 = sp + 24|0;
    15931  $3 = $0;
    15932  $4 = $1;
    15933  $5 = $2;
    15934  $13 = $5;
    15935  $14 = ($13>>>0)<(8);
    15936  $$ = $14 ? 8 : $2;
    15937  $5 = $$;
    15938  $15 = $5;
    15939  $16 = (($15) + -1)|0;
    15940  $5 = $16;
    15941  $17 = $5;
    15942  $18 = $17 >>> 1;
    15943  $19 = $5;
    15944  $20 = $19 | $18;
    15945  $5 = $20;
    15946  $21 = $5;
    15947  $22 = $21 >>> 2;
    15948  $23 = $5;
    15949  $24 = $23 | $22;
    15950  $5 = $24;
    15951  $25 = $5;
    15952  $26 = $25 >>> 4;
    15953  $27 = $5;
    15954  $28 = $27 | $26;
    15955  $5 = $28;
    15956  $29 = $5;
    15957  $30 = $29 >>> 8;
    15958  $31 = $5;
    15959  $32 = $31 | $30;
    15960  $5 = $32;
    15961  $33 = $5;
    15962  $34 = $33 >>> 16;
    15963  $35 = $5;
    15964  $36 = $35 | $34;
    15965  $5 = $36;
    15966  $37 = $5;
    15967  $38 = (($37) + 1)|0;
    15968  $5 = $38;
    15969  $39 = $4;
    15970  $40 = ((($39)) + 12|0);
    15971  $41 = HEAP32[$40>>2]|0;
    15972  $7 = $41;
    15973  $42 = $4;
    15974  $43 = ((($42)) + 16|0);
    15975  $44 = HEAP32[$43>>2]|0;
    15976  $8 = $44;
    15977  $45 = $4;
    15978  $46 = ((($45)) + 20|0);
    15979  $47 = HEAP32[$46>>2]|0;
    15980  $9 = $47;
    15981  $48 = $4;
    15982  $49 = HEAP32[$48>>2]|0;
    15983  $10 = $49;
    15984  $50 = $5;
    15985  HEAP32[$6>>2] = $50;
    15986  $51 = $3;
    15987  _kh_alloc_ht($51,$6);
    15988  $11 = 0;
    15989  while(1) {
    15990   $52 = $11;
    15991   $53 = $10;
    15992   $54 = ($52>>>0)<($53>>>0);
    15993   if (!($54)) {
    15994    break;
    15995   }
    15996   $55 = $7;
    15997   $56 = $11;
    15998   $57 = (($56>>>0) / 4)&-1;
    15999   $58 = (($55) + ($57)|0);
    16000   $59 = HEAP8[$58>>0]|0;
    16001   $60 = $59&255;
    16002   $61 = $11;
    16003   $62 = (($61>>>0) % 4)&-1;
    16004   $63 = (55012 + ($62)|0);
    16005   $64 = HEAP8[$63>>0]|0;
    16006   $65 = $64&255;
    16007   $66 = $60 & $65;
    16008   $67 = ($66|0)!=(0);
    16009   if (!($67)) {
    16010    $68 = $3;
    16011    $69 = $8;
    16012    $70 = $11;
    16013    $71 = (($69) + ($70<<3)|0);
    16014    ;HEAP32[$$byval_copy>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$71+4>>2]|0;
    16015    $72 = (_kh_put_ht($68,$6,$$byval_copy,0)|0);
    16016    $12 = $72;
    16017    $73 = ((($6)) + 20|0);
    16018    $74 = HEAP32[$73>>2]|0;
    16019    $75 = $12;
    16020    $76 = (($74) + (($75*12)|0)|0);
    16021    $77 = $9;
    16022    $78 = $11;
    16023    $79 = (($77) + (($78*12)|0)|0);
    16024    ;HEAP32[$76>>2]=HEAP32[$79>>2]|0;HEAP32[$76+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$76+8>>2]=HEAP32[$79+8>>2]|0;
    16025   }
    16026   $80 = $11;
    16027   $81 = (($80) + 1)|0;
    16028   $11 = $81;
    16029  }
    16030  $82 = $4;
    16031  ;HEAP32[$82>>2]=HEAP32[$6>>2]|0;HEAP32[$82+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$82+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$82+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$82+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$82+20>>2]=HEAP32[$6+20>>2]|0;
    16032  $83 = $3;
    16033  $84 = $8;
    16034  _mrb_free($83,$84);
    16035  STACKTOP = sp;return;
    16036 }
    16037 function _kh_put_ht($0,$1,$2,$3) {
    16038  $0 = $0|0;
    16039  $1 = $1|0;
    16040  $2 = $2|0;
    16041  $3 = $3|0;
    16042  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
    16043  var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
    16044  var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
    16045  var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
    16046  var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
    16047  var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
    16048  var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
    16049  var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    16050  sp = STACKTOP;
    16051  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    16052  $$byval_copy2 = sp + 48|0;
    16053  $$byval_copy1 = sp + 40|0;
    16054  $$byval_copy = sp + 32|0;
    16055  $5 = $0;
    16056  $6 = $1;
    16057  $7 = $3;
    16058  $10 = 0;
    16059  $11 = $6;
    16060  $12 = ((($11)) + 8|0);
    16061  $13 = HEAP32[$12>>2]|0;
    16062  $14 = $6;
    16063  $15 = HEAP32[$14>>2]|0;
    16064  $16 = $15 >>> 2;
    16065  $17 = $6;
    16066  $18 = HEAP32[$17>>2]|0;
    16067  $19 = $18 >>> 1;
    16068  $20 = $16 | $19;
    16069  $21 = ($13>>>0)>=($20>>>0);
    16070  if ($21) {
    16071   $22 = $5;
    16072   $23 = $6;
    16073   $24 = $6;
    16074   $25 = HEAP32[$24>>2]|0;
    16075   $26 = $25<<1;
    16076   _kh_resize_ht($22,$23,$26);
    16077  }
    16078  $27 = $5;
    16079  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    16080  $28 = (_mrb_hash_ht_hash_func($27,$$byval_copy)|0);
    16081  $29 = $6;
    16082  $30 = HEAP32[$29>>2]|0;
    16083  $31 = (($30) - 1)|0;
    16084  $32 = $28 & $31;
    16085  $8 = $32;
    16086  $33 = $6;
    16087  $34 = HEAP32[$33>>2]|0;
    16088  $9 = $34;
    16089  while(1) {
    16090   $35 = $6;
    16091   $36 = ((($35)) + 12|0);
    16092   $37 = HEAP32[$36>>2]|0;
    16093   $38 = $8;
    16094   $39 = (($38>>>0) / 4)&-1;
    16095   $40 = (($37) + ($39)|0);
    16096   $41 = HEAP8[$40>>0]|0;
    16097   $42 = $41&255;
    16098   $43 = $8;
    16099   $44 = (($43>>>0) % 4)&-1;
    16100   $45 = (55004 + ($44)|0);
    16101   $46 = HEAP8[$45>>0]|0;
    16102   $47 = $46&255;
    16103   $48 = $42 & $47;
    16104   $49 = ($48|0)!=(0);
    16105   $50 = $49 ^ 1;
    16106   if (!($50)) {
    16107    break;
    16108   }
    16109   $51 = $6;
    16110   $52 = ((($51)) + 12|0);
    16111   $53 = HEAP32[$52>>2]|0;
    16112   $54 = $8;
    16113   $55 = (($54>>>0) / 4)&-1;
    16114   $56 = (($53) + ($55)|0);
    16115   $57 = HEAP8[$56>>0]|0;
    16116   $58 = $57&255;
    16117   $59 = $8;
    16118   $60 = (($59>>>0) % 4)&-1;
    16119   $61 = (55008 + ($60)|0);
    16120   $62 = HEAP8[$61>>0]|0;
    16121   $63 = $62&255;
    16122   $64 = $58 & $63;
    16123   $65 = ($64|0)!=(0);
    16124   if ($65) {
    16125    $78 = $9;
    16126    $79 = $6;
    16127    $80 = HEAP32[$79>>2]|0;
    16128    $81 = ($78|0)==($80|0);
    16129    if ($81) {
    16130     $82 = $8;
    16131     $9 = $82;
    16132    }
    16133   } else {
    16134    $66 = $5;
    16135    $67 = $6;
    16136    $68 = ((($67)) + 16|0);
    16137    $69 = HEAP32[$68>>2]|0;
    16138    $70 = $8;
    16139    $71 = (($69) + ($70<<3)|0);
    16140    ;HEAP32[$$byval_copy1>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$71+4>>2]|0;
    16141    ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    16142    $72 = (_mrb_hash_ht_hash_equal($66,$$byval_copy1,$$byval_copy2)|0);
    16143    $73 = ($72|0)!=(0);
    16144    if ($73) {
    16145     label = 7;
    16146     break;
    16147    }
    16148   }
    16149   $83 = $8;
    16150   $84 = $10;
    16151   $85 = (($84) + 1)|0;
    16152   $10 = $85;
    16153   $86 = (($83) + ($85))|0;
    16154   $87 = $6;
    16155   $88 = HEAP32[$87>>2]|0;
    16156   $89 = (($88) - 1)|0;
    16157   $90 = $86 & $89;
    16158   $8 = $90;
    16159  }
    16160  if ((label|0) == 7) {
    16161   $74 = $7;
    16162   $75 = ($74|0)!=(0|0);
    16163   if ($75) {
    16164    $76 = $7;
    16165    HEAP32[$76>>2] = 0;
    16166   }
    16167   $77 = $8;
    16168   $4 = $77;
    16169   $154 = $4;
    16170   STACKTOP = sp;return ($154|0);
    16171  }
    16172  $91 = $9;
    16173  $92 = $6;
    16174  $93 = HEAP32[$92>>2]|0;
    16175  $94 = ($91|0)!=($93|0);
    16176  $95 = $6;
    16177  $96 = ((($95)) + 16|0);
    16178  $97 = HEAP32[$96>>2]|0;
    16179  if ($94) {
    16180   $98 = $9;
    16181   $99 = (($97) + ($98<<3)|0);
    16182   ;HEAP32[$99>>2]=HEAP32[$2>>2]|0;HEAP32[$99+4>>2]=HEAP32[$2+4>>2]|0;
    16183   $100 = $9;
    16184   $101 = (($100>>>0) % 4)&-1;
    16185   $102 = (55008 + ($101)|0);
    16186   $103 = HEAP8[$102>>0]|0;
    16187   $104 = $103&255;
    16188   $105 = $104 ^ -1;
    16189   $106 = $6;
    16190   $107 = ((($106)) + 12|0);
    16191   $108 = HEAP32[$107>>2]|0;
    16192   $109 = $9;
    16193   $110 = (($109>>>0) / 4)&-1;
    16194   $111 = (($108) + ($110)|0);
    16195   $112 = HEAP8[$111>>0]|0;
    16196   $113 = $112&255;
    16197   $114 = $113 & $105;
    16198   $115 = $114&255;
    16199   HEAP8[$111>>0] = $115;
    16200   $116 = $6;
    16201   $117 = ((($116)) + 4|0);
    16202   $118 = HEAP32[$117>>2]|0;
    16203   $119 = (($118) + 1)|0;
    16204   HEAP32[$117>>2] = $119;
    16205   $120 = $7;
    16206   $121 = ($120|0)!=(0|0);
    16207   if ($121) {
    16208    $122 = $7;
    16209    HEAP32[$122>>2] = 2;
    16210   }
    16211   $123 = $9;
    16212   $4 = $123;
    16213   $154 = $4;
    16214   STACKTOP = sp;return ($154|0);
    16215  } else {
    16216   $124 = $8;
    16217   $125 = (($97) + ($124<<3)|0);
    16218   ;HEAP32[$125>>2]=HEAP32[$2>>2]|0;HEAP32[$125+4>>2]=HEAP32[$2+4>>2]|0;
    16219   $126 = $8;
    16220   $127 = (($126>>>0) % 4)&-1;
    16221   $128 = (55004 + ($127)|0);
    16222   $129 = HEAP8[$128>>0]|0;
    16223   $130 = $129&255;
    16224   $131 = $130 ^ -1;
    16225   $132 = $6;
    16226   $133 = ((($132)) + 12|0);
    16227   $134 = HEAP32[$133>>2]|0;
    16228   $135 = $8;
    16229   $136 = (($135>>>0) / 4)&-1;
    16230   $137 = (($134) + ($136)|0);
    16231   $138 = HEAP8[$137>>0]|0;
    16232   $139 = $138&255;
    16233   $140 = $139 & $131;
    16234   $141 = $140&255;
    16235   HEAP8[$137>>0] = $141;
    16236   $142 = $6;
    16237   $143 = ((($142)) + 4|0);
    16238   $144 = HEAP32[$143>>2]|0;
    16239   $145 = (($144) + 1)|0;
    16240   HEAP32[$143>>2] = $145;
    16241   $146 = $6;
    16242   $147 = ((($146)) + 8|0);
    16243   $148 = HEAP32[$147>>2]|0;
    16244   $149 = (($148) + 1)|0;
    16245   HEAP32[$147>>2] = $149;
    16246   $150 = $7;
    16247   $151 = ($150|0)!=(0|0);
    16248   if ($151) {
    16249    $152 = $7;
    16250    HEAP32[$152>>2] = 1;
    16251   }
    16252   $153 = $8;
    16253   $4 = $153;
    16254   $154 = $4;
    16255   STACKTOP = sp;return ($154|0);
    16256  }
    16257  return (0)|0;
    16258 }
    16259 function _kh_del_ht($0,$1,$2) {
    16260  $0 = $0|0;
    16261  $1 = $1|0;
    16262  $2 = $2|0;
    16263  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    16264  var $8 = 0, $9 = 0, label = 0, sp = 0;
    16265  sp = STACKTOP;
    16266  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16267  $3 = $0;
    16268  $4 = $1;
    16269  $5 = $2;
    16270  $6 = $5;
    16271  $7 = (($6>>>0) % 4)&-1;
    16272  $8 = (55008 + ($7)|0);
    16273  $9 = HEAP8[$8>>0]|0;
    16274  $10 = $9&255;
    16275  $11 = $4;
    16276  $12 = ((($11)) + 12|0);
    16277  $13 = HEAP32[$12>>2]|0;
    16278  $14 = $5;
    16279  $15 = (($14>>>0) / 4)&-1;
    16280  $16 = (($13) + ($15)|0);
    16281  $17 = HEAP8[$16>>0]|0;
    16282  $18 = $17&255;
    16283  $19 = $18 | $10;
    16284  $20 = $19&255;
    16285  HEAP8[$16>>0] = $20;
    16286  $21 = $4;
    16287  $22 = ((($21)) + 4|0);
    16288  $23 = HEAP32[$22>>2]|0;
    16289  $24 = (($23) + -1)|0;
    16290  HEAP32[$22>>2] = $24;
    16291  STACKTOP = sp;return;
    16292 }
    16293 function _mrb_gc_mark_hash($0,$1) {
    16294  $0 = $0|0;
    16295  $1 = $1|0;
    16296  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    16297  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    16298  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    16299  sp = STACKTOP;
    16300  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    16301  $6 = sp + 8|0;
    16302  $7 = sp;
    16303  $2 = $0;
    16304  $3 = $1;
    16305  $8 = $3;
    16306  $9 = ((($8)) + 16|0);
    16307  $10 = HEAP32[$9>>2]|0;
    16308  $5 = $10;
    16309  $11 = $5;
    16310  $12 = ($11|0)!=(0|0);
    16311  if (!($12)) {
    16312   STACKTOP = sp;return;
    16313  }
    16314  $4 = 0;
    16315  while(1) {
    16316   $13 = $4;
    16317   $14 = $5;
    16318   $15 = HEAP32[$14>>2]|0;
    16319   $16 = ($13|0)!=($15|0);
    16320   if (!($16)) {
    16321    break;
    16322   }
    16323   $17 = $5;
    16324   $18 = ((($17)) + 12|0);
    16325   $19 = HEAP32[$18>>2]|0;
    16326   $20 = $4;
    16327   $21 = (($20>>>0) / 4)&-1;
    16328   $22 = (($19) + ($21)|0);
    16329   $23 = HEAP8[$22>>0]|0;
    16330   $24 = $23&255;
    16331   $25 = $4;
    16332   $26 = (($25>>>0) % 4)&-1;
    16333   $27 = (55012 + ($26)|0);
    16334   $28 = HEAP8[$27>>0]|0;
    16335   $29 = $28&255;
    16336   $30 = $24 & $29;
    16337   $31 = ($30|0)!=(0);
    16338   if (!($31)) {
    16339    $32 = $5;
    16340    $33 = ((($32)) + 16|0);
    16341    $34 = HEAP32[$33>>2]|0;
    16342    $35 = $4;
    16343    $36 = (($34) + ($35<<3)|0);
    16344    ;HEAP32[$6>>2]=HEAP32[$36>>2]|0;HEAP32[$6+4>>2]=HEAP32[$36+4>>2]|0;
    16345    $37 = $5;
    16346    $38 = ((($37)) + 20|0);
    16347    $39 = HEAP32[$38>>2]|0;
    16348    $40 = $4;
    16349    $41 = (($39) + (($40*12)|0)|0);
    16350    ;HEAP32[$7>>2]=HEAP32[$41>>2]|0;HEAP32[$7+4>>2]=HEAP32[$41+4>>2]|0;
    16351    $42 = ((($6)) + 4|0);
    16352    $43 = HEAP32[$42>>2]|0;
    16353    $44 = ($43>>>0)<(8);
    16354    if (!($44)) {
    16355     $45 = $2;
    16356     $46 = HEAP32[$6>>2]|0;
    16357     _mrb_gc_mark($45,$46);
    16358    }
    16359    $47 = ((($7)) + 4|0);
    16360    $48 = HEAP32[$47>>2]|0;
    16361    $49 = ($48>>>0)<(8);
    16362    if (!($49)) {
    16363     $50 = $2;
    16364     $51 = HEAP32[$7>>2]|0;
    16365     _mrb_gc_mark($50,$51);
    16366    }
    16367   }
    16368   $52 = $4;
    16369   $53 = (($52) + 1)|0;
    16370   $4 = $53;
    16371  }
    16372  STACKTOP = sp;return;
    16373 }
    16374 function _mrb_gc_mark_hash_size($0,$1) {
    16375  $0 = $0|0;
    16376  $1 = $1|0;
    16377  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    16378  sp = STACKTOP;
    16379  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16380  $3 = $0;
    16381  $4 = $1;
    16382  $5 = $4;
    16383  $6 = ((($5)) + 16|0);
    16384  $7 = HEAP32[$6>>2]|0;
    16385  $8 = ($7|0)!=(0|0);
    16386  if ($8) {
    16387   $9 = $4;
    16388   $10 = ((($9)) + 16|0);
    16389   $11 = HEAP32[$10>>2]|0;
    16390   $12 = ((($11)) + 4|0);
    16391   $13 = HEAP32[$12>>2]|0;
    16392   $14 = $13<<1;
    16393   $2 = $14;
    16394   $15 = $2;
    16395   STACKTOP = sp;return ($15|0);
    16396  } else {
    16397   $2 = 0;
    16398   $15 = $2;
    16399   STACKTOP = sp;return ($15|0);
    16400  }
    16401  return (0)|0;
    16402 }
    16403 function _mrb_gc_free_hash($0,$1) {
    16404  $0 = $0|0;
    16405  $1 = $1|0;
    16406  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    16407  sp = STACKTOP;
    16408  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16409  $2 = $0;
    16410  $3 = $1;
    16411  $4 = $3;
    16412  $5 = ((($4)) + 16|0);
    16413  $6 = HEAP32[$5>>2]|0;
    16414  $7 = ($6|0)!=(0|0);
    16415  if (!($7)) {
    16416   STACKTOP = sp;return;
    16417  }
    16418  $8 = $2;
    16419  $9 = $3;
    16420  $10 = ((($9)) + 16|0);
    16421  $11 = HEAP32[$10>>2]|0;
    16422  _kh_destroy_ht($8,$11);
    16423  STACKTOP = sp;return;
    16424 }
    16425 function _mrb_hash_new_capa($0,$1,$2) {
    16426  $0 = $0|0;
    16427  $1 = $1|0;
    16428  $2 = $2|0;
    16429  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    16430  var $8 = 0, $9 = 0, label = 0, sp = 0;
    16431  sp = STACKTOP;
    16432  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16433  $3 = $1;
    16434  $4 = $2;
    16435  $6 = $3;
    16436  $7 = $3;
    16437  $8 = ((($7)) + 56|0);
    16438  $9 = HEAP32[$8>>2]|0;
    16439  $10 = (_mrb_obj_alloc($6,15,$9)|0);
    16440  $5 = $10;
    16441  $11 = $3;
    16442  $12 = (_kh_init_ht($11)|0);
    16443  $13 = $5;
    16444  $14 = ((($13)) + 16|0);
    16445  HEAP32[$14>>2] = $12;
    16446  $15 = $4;
    16447  $16 = ($15|0)>(0);
    16448  if ($16) {
    16449   $17 = $3;
    16450   $18 = $5;
    16451   $19 = ((($18)) + 16|0);
    16452   $20 = HEAP32[$19>>2]|0;
    16453   $21 = $4;
    16454   _kh_resize_ht($17,$20,$21);
    16455  }
    16456  $22 = $5;
    16457  $23 = ((($22)) + 12|0);
    16458  HEAP32[$23>>2] = 0;
    16459  $24 = $5;
    16460  _mrb_obj_value_86($0,$24);
    16461  STACKTOP = sp;return;
    16462 }
    16463 function _mrb_obj_value_86($0,$1) {
    16464  $0 = $0|0;
    16465  $1 = $1|0;
    16466  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    16467  sp = STACKTOP;
    16468  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16469  $3 = sp;
    16470  $2 = $1;
    16471  $4 = $2;
    16472  $5 = HEAP32[$4>>2]|0;
    16473  $6 = $5 & 255;
    16474  $7 = ((($3)) + 4|0);
    16475  HEAP32[$7>>2] = $6;
    16476  $8 = $2;
    16477  HEAP32[$3>>2] = $8;
    16478  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    16479  STACKTOP = sp;return;
    16480 }
    16481 function _mrb_hash_get($0,$1,$2,$3) {
    16482  $0 = $0|0;
    16483  $1 = $1|0;
    16484  $2 = $2|0;
    16485  $3 = $3|0;
    16486  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    16487  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    16488  sp = STACKTOP;
    16489  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    16490  $$byval_copy4 = sp + 64|0;
    16491  $$byval_copy3 = sp + 56|0;
    16492  $$byval_copy2 = sp + 48|0;
    16493  $$byval_copy = sp + 40|0;
    16494  $vararg_buffer = sp;
    16495  $7 = sp + 16|0;
    16496  $4 = $1;
    16497  $8 = HEAP32[$2>>2]|0;
    16498  $9 = ((($8)) + 16|0);
    16499  $10 = HEAP32[$9>>2]|0;
    16500  $5 = $10;
    16501  $11 = $5;
    16502  $12 = ($11|0)!=(0|0);
    16503  if ($12) {
    16504   $13 = $4;
    16505   $14 = $5;
    16506   ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    16507   $15 = (_kh_get_ht($13,$14,$$byval_copy)|0);
    16508   $6 = $15;
    16509   $16 = $6;
    16510   $17 = $5;
    16511   $18 = HEAP32[$17>>2]|0;
    16512   $19 = ($16|0)!=($18|0);
    16513   if ($19) {
    16514    $20 = $5;
    16515    $21 = ((($20)) + 20|0);
    16516    $22 = HEAP32[$21>>2]|0;
    16517    $23 = $6;
    16518    $24 = (($22) + (($23*12)|0)|0);
    16519    ;HEAP32[$0>>2]=HEAP32[$24>>2]|0;HEAP32[$0+4>>2]=HEAP32[$24+4>>2]|0;
    16520    STACKTOP = sp;return;
    16521   }
    16522  }
    16523  $25 = HEAP32[$2>>2]|0;
    16524  $26 = HEAP32[$25>>2]|0;
    16525  $27 = $26 >>> 11;
    16526  $28 = $27 & 256;
    16527  $29 = ($28|0)!=(0);
    16528  $30 = $4;
    16529  $31 = $4;
    16530  if ($29) {
    16531   $32 = $4;
    16532   $33 = (_mrb_intern_static($32,55016,6)|0);
    16533   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    16534   _mrb_iv_get($7,$31,$$byval_copy2,$33);
    16535   ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    16536   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    16537   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$3>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$3+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$3+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$3+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$3+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$3+7>>0]|0;
    16538   ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
    16539   _mrb_funcall($0,$30,$$byval_copy3,69604,2,$vararg_buffer);
    16540   STACKTOP = sp;return;
    16541  } else {
    16542   $34 = (_mrb_intern_static($31,55016,6)|0);
    16543   ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
    16544   _mrb_iv_get($0,$30,$$byval_copy4,$34);
    16545   STACKTOP = sp;return;
    16546  }
    16547 }
    16548 function _mrb_hash_set($0,$1,$2,$3) {
    16549  $0 = $0|0;
    16550  $1 = $1|0;
    16551  $2 = $2|0;
    16552  $3 = $3|0;
    16553  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    16554  var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    16555  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0;
    16556  var $9 = 0, label = 0, sp = 0;
    16557  sp = STACKTOP;
    16558  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    16559  $$byval_copy2 = sp + 48|0;
    16560  $$byval_copy1 = sp + 40|0;
    16561  $$byval_copy = sp + 32|0;
    16562  $7 = sp + 12|0;
    16563  $9 = sp;
    16564  $4 = $0;
    16565  $10 = $4;
    16566  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    16567  _mrb_hash_modify($10,$$byval_copy);
    16568  $11 = HEAP32[$1>>2]|0;
    16569  $12 = ((($11)) + 16|0);
    16570  $13 = HEAP32[$12>>2]|0;
    16571  $5 = $13;
    16572  $14 = $5;
    16573  $15 = ($14|0)!=(0|0);
    16574  if (!($15)) {
    16575   $16 = $4;
    16576   $17 = (_kh_init_ht($16)|0);
    16577   $18 = HEAP32[$1>>2]|0;
    16578   $19 = ((($18)) + 16|0);
    16579   HEAP32[$19>>2] = $17;
    16580   $5 = $17;
    16581  }
    16582  $20 = $4;
    16583  $21 = $5;
    16584  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    16585  $22 = (_kh_put_ht($20,$21,$$byval_copy1,$7)|0);
    16586  $6 = $22;
    16587  $23 = $5;
    16588  $24 = ((($23)) + 20|0);
    16589  $25 = HEAP32[$24>>2]|0;
    16590  $26 = $6;
    16591  $27 = (($25) + (($26*12)|0)|0);
    16592  ;HEAP32[$27>>2]=HEAP32[$3>>2]|0;HEAP32[$27+4>>2]=HEAP32[$3+4>>2]|0;
    16593  $28 = HEAP32[$7>>2]|0;
    16594  $29 = ($28|0)!=(0);
    16595  if ($29) {
    16596   $30 = $4;
    16597   $31 = (_mrb_gc_arena_save($30)|0);
    16598   $8 = $31;
    16599   $32 = $5;
    16600   $33 = ((($32)) + 16|0);
    16601   $34 = HEAP32[$33>>2]|0;
    16602   $35 = $6;
    16603   $36 = (($34) + ($35<<3)|0);
    16604   $37 = $4;
    16605   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    16606   _mrb_hash_ht_key($9,$37,$$byval_copy2);
    16607   ;HEAP32[$36>>2]=HEAP32[$9>>2]|0;HEAP32[$36+4>>2]=HEAP32[$9+4>>2]|0;
    16608   ;HEAP32[$2>>2]=HEAP32[$36>>2]|0;HEAP32[$2+4>>2]=HEAP32[$36+4>>2]|0;
    16609   $38 = $4;
    16610   $39 = $8;
    16611   _mrb_gc_arena_restore($38,$39);
    16612   $40 = $5;
    16613   $41 = ((($40)) + 4|0);
    16614   $42 = HEAP32[$41>>2]|0;
    16615   $43 = (($42) - 1)|0;
    16616   $44 = $5;
    16617   $45 = ((($44)) + 20|0);
    16618   $46 = HEAP32[$45>>2]|0;
    16619   $47 = $6;
    16620   $48 = (($46) + (($47*12)|0)|0);
    16621   $49 = ((($48)) + 8|0);
    16622   HEAP32[$49>>2] = $43;
    16623  }
    16624  $50 = ((($2)) + 4|0);
    16625  $51 = HEAP32[$50>>2]|0;
    16626  $52 = ($51>>>0)<(8);
    16627  if (!($52)) {
    16628   $53 = $4;
    16629   $54 = HEAP32[$1>>2]|0;
    16630   $55 = HEAP32[$2>>2]|0;
    16631   _mrb_field_write_barrier($53,$54,$55);
    16632  }
    16633  $56 = ((($3)) + 4|0);
    16634  $57 = HEAP32[$56>>2]|0;
    16635  $58 = ($57>>>0)<(8);
    16636  if ($58) {
    16637   STACKTOP = sp;return;
    16638  }
    16639  $59 = $4;
    16640  $60 = HEAP32[$1>>2]|0;
    16641  $61 = HEAP32[$3>>2]|0;
    16642  _mrb_field_write_barrier($59,$60,$61);
    16643  STACKTOP = sp;return;
    16644 }
    16645 function _mrb_hash_modify($0,$1) {
    16646  $0 = $0|0;
    16647  $1 = $1|0;
    16648  var $$byval_copy = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    16649  sp = STACKTOP;
    16650  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16651  $$byval_copy = sp + 8|0;
    16652  $2 = $0;
    16653  $3 = $2;
    16654  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    16655  (_mrb_hash_tbl($3,$$byval_copy)|0);
    16656  STACKTOP = sp;return;
    16657 }
    16658 function _mrb_hash_ht_key($0,$1,$2) {
    16659  $0 = $0|0;
    16660  $1 = $1|0;
    16661  $2 = $2|0;
    16662  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    16663  var $9 = 0, label = 0, sp = 0;
    16664  sp = STACKTOP;
    16665  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    16666  $$byval_copy = sp + 16|0;
    16667  $4 = sp;
    16668  $3 = $1;
    16669  $5 = ((($2)) + 4|0);
    16670  $6 = HEAP32[$5>>2]|0;
    16671  $7 = ($6|0)==(16);
    16672  if ($7) {
    16673   $8 = HEAP32[$2>>2]|0;
    16674   $9 = HEAP32[$8>>2]|0;
    16675   $10 = $9 >>> 11;
    16676   $11 = $10 & 4;
    16677   $12 = ($11|0)!=(0);
    16678   if (!($12)) {
    16679    $13 = $3;
    16680    ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    16681    _mrb_str_dup($4,$13,$$byval_copy);
    16682    ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;
    16683    $14 = HEAP32[$2>>2]|0;
    16684    $15 = HEAP32[$14>>2]|0;
    16685    $16 = $15 >>> 11;
    16686    $17 = $16 | 4;
    16687    $18 = HEAP32[$14>>2]|0;
    16688    $19 = $17 & 2097151;
    16689    $20 = $19 << 11;
    16690    $21 = $18 & 2047;
    16691    $22 = $21 | $20;
    16692    HEAP32[$14>>2] = $22;
    16693   }
    16694  }
    16695  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    16696  STACKTOP = sp;return;
    16697 }
    16698 function _mrb_hash_tbl($0,$1) {
    16699  $0 = $0|0;
    16700  $1 = $1|0;
    16701  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    16702  sp = STACKTOP;
    16703  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16704  $3 = $0;
    16705  $5 = HEAP32[$1>>2]|0;
    16706  $6 = ((($5)) + 16|0);
    16707  $7 = HEAP32[$6>>2]|0;
    16708  $4 = $7;
    16709  $8 = $4;
    16710  $9 = ($8|0)!=(0|0);
    16711  if ($9) {
    16712   $14 = $4;
    16713   $2 = $14;
    16714   $15 = $2;
    16715   STACKTOP = sp;return ($15|0);
    16716  } else {
    16717   $10 = $3;
    16718   $11 = (_kh_init_ht($10)|0);
    16719   $12 = HEAP32[$1>>2]|0;
    16720   $13 = ((($12)) + 16|0);
    16721   HEAP32[$13>>2] = $11;
    16722   $2 = $11;
    16723   $15 = $2;
    16724   STACKTOP = sp;return ($15|0);
    16725  }
    16726  return (0)|0;
    16727 }
    16728 function _mrb_hash_delete_key($0,$1,$2,$3) {
    16729  $0 = $0|0;
    16730  $1 = $1|0;
    16731  $2 = $2|0;
    16732  $3 = $3|0;
    16733  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    16734  var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    16735  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    16736  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    16737  sp = STACKTOP;
    16738  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    16739  $$byval_copy = sp + 32|0;
    16740  $7 = sp + 8|0;
    16741  $4 = $1;
    16742  $9 = HEAP32[$2>>2]|0;
    16743  $10 = ((($9)) + 16|0);
    16744  $11 = HEAP32[$10>>2]|0;
    16745  $5 = $11;
    16746  $12 = $5;
    16747  $13 = ($12|0)!=(0|0);
    16748  if ($13) {
    16749   $14 = $4;
    16750   $15 = $5;
    16751   ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    16752   $16 = (_kh_get_ht($14,$15,$$byval_copy)|0);
    16753   $6 = $16;
    16754   $17 = $6;
    16755   $18 = $5;
    16756   $19 = HEAP32[$18>>2]|0;
    16757   $20 = ($17|0)!=($19|0);
    16758   if ($20) {
    16759    $21 = $5;
    16760    $22 = ((($21)) + 20|0);
    16761    $23 = HEAP32[$22>>2]|0;
    16762    $24 = $6;
    16763    $25 = (($23) + (($24*12)|0)|0);
    16764    ;HEAP32[$7>>2]=HEAP32[$25>>2]|0;HEAP32[$7+4>>2]=HEAP32[$25+4>>2]|0;
    16765    $26 = $5;
    16766    $27 = ((($26)) + 20|0);
    16767    $28 = HEAP32[$27>>2]|0;
    16768    $29 = $6;
    16769    $30 = (($28) + (($29*12)|0)|0);
    16770    $31 = ((($30)) + 8|0);
    16771    $32 = HEAP32[$31>>2]|0;
    16772    $8 = $32;
    16773    $33 = $4;
    16774    $34 = $5;
    16775    $35 = $6;
    16776    _kh_del_ht($33,$34,$35);
    16777    $6 = 0;
    16778    while(1) {
    16779     $36 = $6;
    16780     $37 = $5;
    16781     $38 = HEAP32[$37>>2]|0;
    16782     $39 = ($36|0)!=($38|0);
    16783     if (!($39)) {
    16784      break;
    16785     }
    16786     $40 = $5;
    16787     $41 = ((($40)) + 12|0);
    16788     $42 = HEAP32[$41>>2]|0;
    16789     $43 = $6;
    16790     $44 = (($43>>>0) / 4)&-1;
    16791     $45 = (($42) + ($44)|0);
    16792     $46 = HEAP8[$45>>0]|0;
    16793     $47 = $46&255;
    16794     $48 = $6;
    16795     $49 = (($48>>>0) % 4)&-1;
    16796     $50 = (55012 + ($49)|0);
    16797     $51 = HEAP8[$50>>0]|0;
    16798     $52 = $51&255;
    16799     $53 = $47 & $52;
    16800     $54 = ($53|0)!=(0);
    16801     if (!($54)) {
    16802      $55 = $5;
    16803      $56 = ((($55)) + 20|0);
    16804      $57 = HEAP32[$56>>2]|0;
    16805      $58 = $6;
    16806      $59 = (($57) + (($58*12)|0)|0);
    16807      $60 = ((($59)) + 8|0);
    16808      $61 = HEAP32[$60>>2]|0;
    16809      $62 = $8;
    16810      $63 = ($61|0)>($62|0);
    16811      if ($63) {
    16812       $64 = $5;
    16813       $65 = ((($64)) + 20|0);
    16814       $66 = HEAP32[$65>>2]|0;
    16815       $67 = $6;
    16816       $68 = (($66) + (($67*12)|0)|0);
    16817       $69 = ((($68)) + 8|0);
    16818       $70 = HEAP32[$69>>2]|0;
    16819       $71 = (($70) + -1)|0;
    16820       HEAP32[$69>>2] = $71;
    16821      }
    16822     }
    16823     $72 = $6;
    16824     $73 = (($72) + 1)|0;
    16825     $6 = $73;
    16826    }
    16827    ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    16828    STACKTOP = sp;return;
    16829   }
    16830  }
    16831  _mrb_nil_value_91($0);
    16832  STACKTOP = sp;return;
    16833 }
    16834 function _mrb_nil_value_91($0) {
    16835  $0 = $0|0;
    16836  var $1 = 0, $2 = 0, label = 0, sp = 0;
    16837  sp = STACKTOP;
    16838  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16839  $1 = sp;
    16840  $2 = ((($1)) + 4|0);
    16841  HEAP32[$2>>2] = 0;
    16842  HEAP32[$1>>2] = 0;
    16843  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    16844  STACKTOP = sp;return;
    16845 }
    16846 function _mrb_hash_clear($0,$1,$2) {
    16847  $0 = $0|0;
    16848  $1 = $1|0;
    16849  $2 = $2|0;
    16850  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    16851  sp = STACKTOP;
    16852  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16853  $3 = $1;
    16854  $5 = HEAP32[$2>>2]|0;
    16855  $6 = ((($5)) + 16|0);
    16856  $7 = HEAP32[$6>>2]|0;
    16857  $4 = $7;
    16858  $8 = $4;
    16859  $9 = ($8|0)!=(0|0);
    16860  if ($9) {
    16861   $10 = $3;
    16862   $11 = $4;
    16863   _kh_clear_ht($10,$11);
    16864  }
    16865  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    16866  STACKTOP = sp;return;
    16867 }
    16868 function _mrb_hash_empty_p($0,$1,$2) {
    16869  $0 = $0|0;
    16870  $1 = $1|0;
    16871  $2 = $2|0;
    16872  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    16873  sp = STACKTOP;
    16874  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16875  $3 = $1;
    16876  $5 = HEAP32[$2>>2]|0;
    16877  $6 = ((($5)) + 16|0);
    16878  $7 = HEAP32[$6>>2]|0;
    16879  $4 = $7;
    16880  $8 = $4;
    16881  $9 = ($8|0)!=(0|0);
    16882  if ($9) {
    16883   $10 = $4;
    16884   $11 = ((($10)) + 4|0);
    16885   $12 = HEAP32[$11>>2]|0;
    16886   $13 = ($12|0)==(0);
    16887   $14 = $13&1;
    16888   $15 = $14&255;
    16889   _mrb_bool_value_92($0,$15);
    16890   STACKTOP = sp;return;
    16891  } else {
    16892   _mrb_true_value($0);
    16893   STACKTOP = sp;return;
    16894  }
    16895 }
    16896 function _mrb_bool_value_92($0,$1) {
    16897  $0 = $0|0;
    16898  $1 = $1|0;
    16899  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    16900  sp = STACKTOP;
    16901  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16902  $3 = sp;
    16903  $2 = $1;
    16904  $4 = $2;
    16905  $5 = $4&255;
    16906  $6 = ($5|0)!=(0);
    16907  $7 = $6 ? 2 : 0;
    16908  $8 = ((($3)) + 4|0);
    16909  HEAP32[$8>>2] = $7;
    16910  HEAP32[$3>>2] = 1;
    16911  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    16912  STACKTOP = sp;return;
    16913 }
    16914 function _mrb_true_value($0) {
    16915  $0 = $0|0;
    16916  var $1 = 0, $2 = 0, label = 0, sp = 0;
    16917  sp = STACKTOP;
    16918  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    16919  $1 = sp;
    16920  $2 = ((($1)) + 4|0);
    16921  HEAP32[$2>>2] = 2;
    16922  HEAP32[$1>>2] = 1;
    16923  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    16924  STACKTOP = sp;return;
    16925 }
    16926 function _mrb_hash_keys($0,$1,$2) {
    16927  $0 = $0|0;
    16928  $1 = $1|0;
    16929  $2 = $2|0;
    16930  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    16931  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    16932  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    16933  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    16934  sp = STACKTOP;
    16935  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    16936  $$byval_copy1 = sp + 80|0;
    16937  $$byval_copy = sp + 72|0;
    16938  $6 = sp + 48|0;
    16939  $8 = sp + 32|0;
    16940  $9 = sp + 24|0;
    16941  $10 = sp + 16|0;
    16942  $11 = sp;
    16943  $3 = $1;
    16944  $12 = HEAP32[$2>>2]|0;
    16945  $13 = ((($12)) + 16|0);
    16946  $14 = HEAP32[$13>>2]|0;
    16947  $4 = $14;
    16948  $15 = $4;
    16949  $16 = ($15|0)!=(0|0);
    16950  if ($16) {
    16951   $17 = $4;
    16952   $18 = ((($17)) + 4|0);
    16953   $19 = HEAP32[$18>>2]|0;
    16954   $20 = ($19|0)==(0);
    16955   if (!($20)) {
    16956    $22 = $3;
    16957    $23 = $4;
    16958    $24 = ((($23)) + 4|0);
    16959    $25 = HEAP32[$24>>2]|0;
    16960    _mrb_ary_new_capa($8,$22,$25);
    16961    ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
    16962    $26 = $3;
    16963    $27 = $4;
    16964    $28 = ((($27)) + 4|0);
    16965    $29 = HEAP32[$28>>2]|0;
    16966    $30 = (($29) - 1)|0;
    16967    _mrb_nil_value_91($9);
    16968    ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    16969    ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
    16970    _mrb_ary_set($26,$$byval_copy,$30,$$byval_copy1);
    16971    $31 = HEAP32[$6>>2]|0;
    16972    $32 = ((($31)) + 20|0);
    16973    $33 = HEAP32[$32>>2]|0;
    16974    $7 = $33;
    16975    $5 = 0;
    16976    while(1) {
    16977     $34 = $5;
    16978     $35 = $4;
    16979     $36 = HEAP32[$35>>2]|0;
    16980     $37 = ($34|0)!=($36|0);
    16981     if (!($37)) {
    16982      break;
    16983     }
    16984     $38 = $4;
    16985     $39 = ((($38)) + 12|0);
    16986     $40 = HEAP32[$39>>2]|0;
    16987     $41 = $5;
    16988     $42 = (($41>>>0) / 4)&-1;
    16989     $43 = (($40) + ($42)|0);
    16990     $44 = HEAP8[$43>>0]|0;
    16991     $45 = $44&255;
    16992     $46 = $5;
    16993     $47 = (($46>>>0) % 4)&-1;
    16994     $48 = (55012 + ($47)|0);
    16995     $49 = HEAP8[$48>>0]|0;
    16996     $50 = $49&255;
    16997     $51 = $45 & $50;
    16998     $52 = ($51|0)!=(0);
    16999     if (!($52)) {
    17000      $53 = $4;
    17001      $54 = ((($53)) + 16|0);
    17002      $55 = HEAP32[$54>>2]|0;
    17003      $56 = $5;
    17004      $57 = (($55) + ($56<<3)|0);
    17005      ;HEAP32[$10>>2]=HEAP32[$57>>2]|0;HEAP32[$10+4>>2]=HEAP32[$57+4>>2]|0;
    17006      $58 = $4;
    17007      $59 = ((($58)) + 20|0);
    17008      $60 = HEAP32[$59>>2]|0;
    17009      $61 = $5;
    17010      $62 = (($60) + (($61*12)|0)|0);
    17011      ;HEAP32[$11>>2]=HEAP32[$62>>2]|0;HEAP32[$11+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$62+8>>2]|0;
    17012      $63 = $7;
    17013      $64 = ((($11)) + 8|0);
    17014      $65 = HEAP32[$64>>2]|0;
    17015      $66 = (($63) + ($65<<3)|0);
    17016      ;HEAP32[$66>>2]=HEAP32[$10>>2]|0;HEAP32[$66+4>>2]=HEAP32[$10+4>>2]|0;
    17017     }
    17018     $67 = $5;
    17019     $68 = (($67) + 1)|0;
    17020     $5 = $68;
    17021    }
    17022    ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
    17023    STACKTOP = sp;return;
    17024   }
    17025  }
    17026  $21 = $3;
    17027  _mrb_ary_new($0,$21);
    17028  STACKTOP = sp;return;
    17029 }
    17030 function _mrb_init_hash($0) {
    17031  $0 = $0|0;
    17032  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    17033  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    17034  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    17035  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    17036  sp = STACKTOP;
    17037  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    17038  $1 = $0;
    17039  $3 = $1;
    17040  $4 = $1;
    17041  $5 = ((($4)) + 32|0);
    17042  $6 = HEAP32[$5>>2]|0;
    17043  $7 = (_mrb_define_class($3,65286,$6)|0);
    17044  $2 = $7;
    17045  $8 = $1;
    17046  $9 = ((($8)) + 56|0);
    17047  HEAP32[$9>>2] = $7;
    17048  $10 = $2;
    17049  $11 = HEAP32[$10>>2]|0;
    17050  $12 = $11 >>> 11;
    17051  $13 = $12 & -256;
    17052  $14 = $13 | 15;
    17053  $15 = $2;
    17054  $16 = HEAP32[$15>>2]|0;
    17055  $17 = $14 & 2097151;
    17056  $18 = $17 << 11;
    17057  $19 = $16 & 2047;
    17058  $20 = $19 | $18;
    17059  HEAP32[$15>>2] = $20;
    17060  $21 = $1;
    17061  $22 = $2;
    17062  _mrb_define_method($21,$22,69083,17,262144);
    17063  $23 = $1;
    17064  $24 = $2;
    17065  _mrb_define_method($23,$24,64619,18,524288);
    17066  $25 = $1;
    17067  $26 = $2;
    17068  _mrb_define_method($25,$26,64623,19,0);
    17069  $27 = $1;
    17070  $28 = $2;
    17071  _mrb_define_method($27,$28,55023,20,4096);
    17072  $29 = $1;
    17073  $30 = $2;
    17074  _mrb_define_method($29,$30,55031,21,262144);
    17075  $31 = $1;
    17076  $32 = $2;
    17077  _mrb_define_method($31,$32,55040,22,0);
    17078  $33 = $1;
    17079  $34 = $2;
    17080  _mrb_define_method($33,$34,55053,23,262144);
    17081  $35 = $1;
    17082  $36 = $2;
    17083  _mrb_define_method($35,$36,55067,24,262144);
    17084  $37 = $1;
    17085  $38 = $2;
    17086  _mrb_define_method($37,$38,64646,25,0);
    17087  $39 = $1;
    17088  $40 = $2;
    17089  _mrb_define_method($39,$40,55076,26,262144);
    17090  $41 = $1;
    17091  $42 = $2;
    17092  _mrb_define_method($41,$42,55085,27,262144);
    17093  $43 = $1;
    17094  $44 = $2;
    17095  _mrb_define_method($43,$44,69243,26,262144);
    17096  $45 = $1;
    17097  $46 = $2;
    17098  _mrb_define_method($45,$46,69252,28,8192);
    17099  $47 = $1;
    17100  $48 = $2;
    17101  _mrb_define_method($47,$48,55096,26,262144);
    17102  $49 = $1;
    17103  $50 = $2;
    17104  _mrb_define_method($49,$50,55101,29,0);
    17105  $51 = $1;
    17106  $52 = $2;
    17107  _mrb_define_method($51,$52,64664,30,0);
    17108  $53 = $1;
    17109  $54 = $2;
    17110  _mrb_define_method($53,$54,69268,26,262144);
    17111  $55 = $1;
    17112  $56 = $2;
    17113  _mrb_define_method($55,$56,64712,31,0);
    17114  $57 = $1;
    17115  $58 = $2;
    17116  _mrb_define_method($57,$58,68395,32,0);
    17117  $59 = $1;
    17118  $60 = $2;
    17119  _mrb_define_method($59,$60,64718,30,0);
    17120  $61 = $1;
    17121  $62 = $2;
    17122  _mrb_define_method($61,$62,55106,18,524288);
    17123  $63 = $1;
    17124  $64 = $2;
    17125  _mrb_define_method($63,$64,55112,27,262144);
    17126  $65 = $1;
    17127  $66 = $2;
    17128  _mrb_define_method($65,$66,55119,33,0);
    17129  $67 = $1;
    17130  $68 = $2;
    17131  _mrb_define_method($67,$68,65291,34,0);
    17132  STACKTOP = sp;return;
    17133 }
    17134 function _mrb_hash_aget($0,$1,$2) {
    17135  $0 = $0|0;
    17136  $1 = $1|0;
    17137  $2 = $2|0;
    17138  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    17139  sp = STACKTOP;
    17140  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    17141  $$byval_copy1 = sp + 32|0;
    17142  $$byval_copy = sp + 24|0;
    17143  $vararg_buffer = sp;
    17144  $4 = sp + 8|0;
    17145  $3 = $1;
    17146  $5 = $3;
    17147  HEAP32[$vararg_buffer>>2] = $4;
    17148  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    17149  $6 = $3;
    17150  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17151  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    17152  _mrb_hash_get($0,$6,$$byval_copy,$$byval_copy1);
    17153  STACKTOP = sp;return;
    17154 }
    17155 function _mrb_hash_aset($0,$1,$2) {
    17156  $0 = $0|0;
    17157  $1 = $1|0;
    17158  $2 = $2|0;
    17159  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    17160  sp = STACKTOP;
    17161  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    17162  $$byval_copy3 = sp + 48|0;
    17163  $$byval_copy2 = sp + 40|0;
    17164  $$byval_copy = sp + 32|0;
    17165  $vararg_buffer = sp;
    17166  $4 = sp + 16|0;
    17167  $5 = sp + 8|0;
    17168  $3 = $1;
    17169  $6 = $3;
    17170  HEAP32[$vararg_buffer>>2] = $4;
    17171  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    17172  HEAP32[$vararg_ptr1>>2] = $5;
    17173  (_mrb_get_args($6,55135,$vararg_buffer)|0);
    17174  $7 = $3;
    17175  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17176  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    17177  ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
    17178  _mrb_hash_set($7,$$byval_copy,$$byval_copy2,$$byval_copy3);
    17179  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    17180  STACKTOP = sp;return;
    17181 }
    17182 function _mrb_hash_default($0,$1,$2) {
    17183  $0 = $0|0;
    17184  $1 = $1|0;
    17185  $2 = $2|0;
    17186  var $$byval_copy = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    17187  var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
    17188  sp = STACKTOP;
    17189  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    17190  $$byval_copy7 = sp + 64|0;
    17191  $$byval_copy6 = sp + 56|0;
    17192  $$byval_copy = sp + 48|0;
    17193  $vararg_buffer2 = sp + 8|0;
    17194  $vararg_buffer = sp;
    17195  $4 = sp + 32|0;
    17196  $5 = sp + 72|0;
    17197  $6 = sp + 24|0;
    17198  $3 = $1;
    17199  $7 = $3;
    17200  HEAP32[$vararg_buffer>>2] = $4;
    17201  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    17202  HEAP32[$vararg_ptr1>>2] = $5;
    17203  (_mrb_get_args($7,55131,$vararg_buffer)|0);
    17204  $8 = HEAP32[$2>>2]|0;
    17205  $9 = HEAP32[$8>>2]|0;
    17206  $10 = $9 >>> 11;
    17207  $11 = $10 & 256;
    17208  $12 = ($11|0)!=(0);
    17209  if (!($12)) {
    17210   $19 = $3;
    17211   $20 = $3;
    17212   $21 = (_mrb_intern_static($20,55016,6)|0);
    17213   ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
    17214   _mrb_iv_get($0,$19,$$byval_copy7,$21);
    17215   STACKTOP = sp;return;
    17216  }
    17217  $13 = HEAP8[$5>>0]|0;
    17218  $14 = ($13<<24>>24)!=(0);
    17219  if ($14) {
    17220   $15 = $3;
    17221   $16 = $3;
    17222   $17 = $3;
    17223   $18 = (_mrb_intern_static($17,55016,6)|0);
    17224   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17225   _mrb_iv_get($6,$16,$$byval_copy,$18);
    17226   ;HEAP8[$vararg_buffer2>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$2+7>>0]|0;
    17227   $vararg_ptr5 = ((($vararg_buffer2)) + 8|0);
    17228   ;HEAP8[$vararg_ptr5>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_ptr5+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_ptr5+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_ptr5+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_ptr5+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_ptr5+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_ptr5+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_ptr5+7>>0]=HEAP8[$4+7>>0]|0;
    17229   ;HEAP32[$$byval_copy6>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$6+4>>2]|0;
    17230   _mrb_funcall($0,$15,$$byval_copy6,69604,2,$vararg_buffer2);
    17231   STACKTOP = sp;return;
    17232  } else {
    17233   _mrb_nil_value_91($0);
    17234   STACKTOP = sp;return;
    17235  }
    17236 }
    17237 function _mrb_hash_set_default($0,$1,$2) {
    17238  $0 = $0|0;
    17239  $1 = $1|0;
    17240  $2 = $2|0;
    17241  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
    17242  var label = 0, sp = 0;
    17243  sp = STACKTOP;
    17244  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    17245  $$byval_copy2 = sp + 40|0;
    17246  $$byval_copy1 = sp + 32|0;
    17247  $$byval_copy = sp + 24|0;
    17248  $vararg_buffer = sp;
    17249  $4 = sp + 8|0;
    17250  $3 = $1;
    17251  $5 = $3;
    17252  HEAP32[$vararg_buffer>>2] = $4;
    17253  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    17254  $6 = $3;
    17255  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17256  _mrb_hash_modify($6,$$byval_copy);
    17257  $7 = $3;
    17258  $8 = $3;
    17259  $9 = (_mrb_intern_static($8,55016,6)|0);
    17260  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    17261  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    17262  _mrb_iv_set($7,$$byval_copy1,$9,$$byval_copy2);
    17263  $10 = HEAP32[$2>>2]|0;
    17264  $11 = HEAP32[$10>>2]|0;
    17265  $12 = $11 >>> 11;
    17266  $13 = $12 & -257;
    17267  $14 = HEAP32[$10>>2]|0;
    17268  $15 = $13 & 2097151;
    17269  $16 = $15 << 11;
    17270  $17 = $14 & 2047;
    17271  $18 = $17 | $16;
    17272  HEAP32[$10>>2] = $18;
    17273  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    17274  STACKTOP = sp;return;
    17275 }
    17276 function _mrb_hash_default_proc($0,$1,$2) {
    17277  $0 = $0|0;
    17278  $1 = $1|0;
    17279  $2 = $2|0;
    17280  var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    17281  sp = STACKTOP;
    17282  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    17283  $$byval_copy = sp + 8|0;
    17284  $3 = $1;
    17285  $4 = HEAP32[$2>>2]|0;
    17286  $5 = HEAP32[$4>>2]|0;
    17287  $6 = $5 >>> 11;
    17288  $7 = $6 & 256;
    17289  $8 = ($7|0)!=(0);
    17290  if ($8) {
    17291   $9 = $3;
    17292   $10 = $3;
    17293   $11 = (_mrb_intern_static($10,55016,6)|0);
    17294   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17295   _mrb_iv_get($0,$9,$$byval_copy,$11);
    17296   STACKTOP = sp;return;
    17297  } else {
    17298   _mrb_nil_value_91($0);
    17299   STACKTOP = sp;return;
    17300  }
    17301 }
    17302 function _mrb_hash_set_default_proc($0,$1,$2) {
    17303  $0 = $0|0;
    17304  $1 = $1|0;
    17305  $2 = $2|0;
    17306  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
    17307  var label = 0, sp = 0;
    17308  sp = STACKTOP;
    17309  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    17310  $$byval_copy2 = sp + 40|0;
    17311  $$byval_copy1 = sp + 32|0;
    17312  $$byval_copy = sp + 24|0;
    17313  $vararg_buffer = sp;
    17314  $4 = sp + 8|0;
    17315  $3 = $1;
    17316  $5 = $3;
    17317  HEAP32[$vararg_buffer>>2] = $4;
    17318  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    17319  $6 = $3;
    17320  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17321  _mrb_hash_modify($6,$$byval_copy);
    17322  $7 = $3;
    17323  $8 = $3;
    17324  $9 = (_mrb_intern_static($8,55016,6)|0);
    17325  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    17326  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    17327  _mrb_iv_set($7,$$byval_copy1,$9,$$byval_copy2);
    17328  $10 = HEAP32[$2>>2]|0;
    17329  $11 = HEAP32[$10>>2]|0;
    17330  $12 = $11 >>> 11;
    17331  $13 = $12 | 256;
    17332  $14 = HEAP32[$10>>2]|0;
    17333  $15 = $13 & 2097151;
    17334  $16 = $15 << 11;
    17335  $17 = $14 & 2047;
    17336  $18 = $17 | $16;
    17337  HEAP32[$10>>2] = $18;
    17338  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    17339  STACKTOP = sp;return;
    17340 }
    17341 function _mrb_hash_delete($0,$1,$2) {
    17342  $0 = $0|0;
    17343  $1 = $1|0;
    17344  $2 = $2|0;
    17345  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    17346  sp = STACKTOP;
    17347  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    17348  $$byval_copy1 = sp + 32|0;
    17349  $$byval_copy = sp + 24|0;
    17350  $vararg_buffer = sp;
    17351  $4 = sp + 8|0;
    17352  $3 = $1;
    17353  $5 = $3;
    17354  HEAP32[$vararg_buffer>>2] = $4;
    17355  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    17356  $6 = $3;
    17357  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17358  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    17359  _mrb_hash_delete_key($0,$6,$$byval_copy,$$byval_copy1);
    17360  STACKTOP = sp;return;
    17361 }
    17362 function _mrb_hash_has_key($0,$1,$2) {
    17363  $0 = $0|0;
    17364  $1 = $1|0;
    17365  $2 = $2|0;
    17366  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    17367  var $vararg_buffer = 0, label = 0, sp = 0;
    17368  sp = STACKTOP;
    17369  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    17370  $$byval_copy = sp + 32|0;
    17371  $vararg_buffer = sp;
    17372  $4 = sp + 16|0;
    17373  $3 = $1;
    17374  $7 = $3;
    17375  HEAP32[$vararg_buffer>>2] = $4;
    17376  (_mrb_get_args($7,69199,$vararg_buffer)|0);
    17377  $8 = HEAP32[$2>>2]|0;
    17378  $9 = ((($8)) + 16|0);
    17379  $10 = HEAP32[$9>>2]|0;
    17380  $5 = $10;
    17381  $11 = $5;
    17382  $12 = ($11|0)!=(0|0);
    17383  if ($12) {
    17384   $13 = $3;
    17385   $14 = $5;
    17386   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    17387   $15 = (_kh_get_ht($13,$14,$$byval_copy)|0);
    17388   $6 = $15;
    17389   $16 = $6;
    17390   $17 = $5;
    17391   $18 = HEAP32[$17>>2]|0;
    17392   $19 = ($16|0)!=($18|0);
    17393   $20 = $19&1;
    17394   $21 = $20&255;
    17395   _mrb_bool_value_92($0,$21);
    17396   STACKTOP = sp;return;
    17397  } else {
    17398   _mrb_false_value($0);
    17399   STACKTOP = sp;return;
    17400  }
    17401 }
    17402 function _mrb_hash_has_value($0,$1,$2) {
    17403  $0 = $0|0;
    17404  $1 = $1|0;
    17405  $2 = $2|0;
    17406  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    17407  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    17408  var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    17409  sp = STACKTOP;
    17410  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    17411  $$byval_copy1 = sp + 40|0;
    17412  $$byval_copy = sp + 32|0;
    17413  $vararg_buffer = sp;
    17414  $4 = sp + 16|0;
    17415  $3 = $1;
    17416  $7 = $3;
    17417  HEAP32[$vararg_buffer>>2] = $4;
    17418  (_mrb_get_args($7,69199,$vararg_buffer)|0);
    17419  $8 = HEAP32[$2>>2]|0;
    17420  $9 = ((($8)) + 16|0);
    17421  $10 = HEAP32[$9>>2]|0;
    17422  $5 = $10;
    17423  $11 = $5;
    17424  $12 = ($11|0)!=(0|0);
    17425  L1: do {
    17426   if ($12) {
    17427    $6 = 0;
    17428    while(1) {
    17429     $13 = $6;
    17430     $14 = $5;
    17431     $15 = HEAP32[$14>>2]|0;
    17432     $16 = ($13|0)!=($15|0);
    17433     if (!($16)) {
    17434      break L1;
    17435     }
    17436     $17 = $5;
    17437     $18 = ((($17)) + 12|0);
    17438     $19 = HEAP32[$18>>2]|0;
    17439     $20 = $6;
    17440     $21 = (($20>>>0) / 4)&-1;
    17441     $22 = (($19) + ($21)|0);
    17442     $23 = HEAP8[$22>>0]|0;
    17443     $24 = $23&255;
    17444     $25 = $6;
    17445     $26 = (($25>>>0) % 4)&-1;
    17446     $27 = (55012 + ($26)|0);
    17447     $28 = HEAP8[$27>>0]|0;
    17448     $29 = $28&255;
    17449     $30 = $24 & $29;
    17450     $31 = ($30|0)!=(0);
    17451     if (!($31)) {
    17452      $32 = $3;
    17453      $33 = $5;
    17454      $34 = ((($33)) + 20|0);
    17455      $35 = HEAP32[$34>>2]|0;
    17456      $36 = $6;
    17457      $37 = (($35) + (($36*12)|0)|0);
    17458      ;HEAP32[$$byval_copy>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$37+4>>2]|0;
    17459      ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    17460      $38 = (_mrb_equal($32,$$byval_copy,$$byval_copy1)|0);
    17461      $39 = ($38<<24>>24)!=(0);
    17462      if ($39) {
    17463       break;
    17464      }
    17465     }
    17466     $40 = $6;
    17467     $41 = (($40) + 1)|0;
    17468     $6 = $41;
    17469    }
    17470    _mrb_true_value($0);
    17471    STACKTOP = sp;return;
    17472   }
    17473  } while(0);
    17474  _mrb_false_value($0);
    17475  STACKTOP = sp;return;
    17476 }
    17477 function _mrb_hash_init($0,$1,$2) {
    17478  $0 = $0|0;
    17479  $1 = $1|0;
    17480  $2 = $2|0;
    17481  var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    17482  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    17483  sp = STACKTOP;
    17484  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    17485  $$byval_copy4 = sp + 64|0;
    17486  $$byval_copy3 = sp + 56|0;
    17487  $$byval_copy = sp + 48|0;
    17488  $vararg_buffer = sp;
    17489  $4 = sp + 32|0;
    17490  $5 = sp + 24|0;
    17491  $6 = sp + 72|0;
    17492  $7 = sp + 16|0;
    17493  $3 = $1;
    17494  _mrb_nil_value_91($7);
    17495  ;HEAP32[$5>>2]=HEAP32[$7>>2]|0;HEAP32[$5+4>>2]=HEAP32[$7+4>>2]|0;
    17496  $8 = $3;
    17497  HEAP32[$vararg_buffer>>2] = $4;
    17498  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    17499  HEAP32[$vararg_ptr1>>2] = $5;
    17500  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    17501  HEAP32[$vararg_ptr2>>2] = $6;
    17502  (_mrb_get_args($8,55126,$vararg_buffer)|0);
    17503  $9 = $3;
    17504  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17505  _mrb_hash_modify($9,$$byval_copy);
    17506  $10 = ((($4)) + 4|0);
    17507  $11 = HEAP32[$10>>2]|0;
    17508  $12 = ($11|0)==(0);
    17509  if ($12) {
    17510   $13 = HEAP32[$4>>2]|0;
    17511   $14 = ($13|0)!=(0);
    17512   if ($14) {
    17513    label = 3;
    17514   }
    17515  } else {
    17516   label = 3;
    17517  }
    17518  do {
    17519   if ((label|0) == 3) {
    17520    $15 = HEAP8[$6>>0]|0;
    17521    $16 = ($15<<24>>24)!=(0);
    17522    if ($16) {
    17523     $17 = $3;
    17524     $18 = $3;
    17525     $19 = (_mrb_class_get($18,69160)|0);
    17526     _mrb_raise($17,$19,65128);
    17527     // unreachable;
    17528    } else {
    17529     $20 = HEAP32[$2>>2]|0;
    17530     $21 = HEAP32[$20>>2]|0;
    17531     $22 = $21 >>> 11;
    17532     $23 = $22 | 256;
    17533     $24 = HEAP32[$20>>2]|0;
    17534     $25 = $23 & 2097151;
    17535     $26 = $25 << 11;
    17536     $27 = $24 & 2047;
    17537     $28 = $27 | $26;
    17538     HEAP32[$20>>2] = $28;
    17539     ;HEAP32[$5>>2]=HEAP32[$4>>2]|0;HEAP32[$5+4>>2]=HEAP32[$4+4>>2]|0;
    17540     break;
    17541    }
    17542   }
    17543  } while(0);
    17544  $29 = $3;
    17545  $30 = $3;
    17546  $31 = (_mrb_intern_static($30,55016,6)|0);
    17547  ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    17548  ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
    17549  _mrb_iv_set($29,$$byval_copy3,$31,$$byval_copy4);
    17550  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    17551  STACKTOP = sp;return;
    17552 }
    17553 function _mrb_hash_size_m($0,$1,$2) {
    17554  $0 = $0|0;
    17555  $1 = $1|0;
    17556  $2 = $2|0;
    17557  var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    17558  sp = STACKTOP;
    17559  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    17560  $3 = $1;
    17561  $5 = HEAP32[$2>>2]|0;
    17562  $6 = ((($5)) + 16|0);
    17563  $7 = HEAP32[$6>>2]|0;
    17564  $4 = $7;
    17565  $8 = $4;
    17566  $9 = ($8|0)!=(0|0);
    17567  if ($9) {
    17568   $10 = $4;
    17569   $11 = ((($10)) + 4|0);
    17570   $12 = HEAP32[$11>>2]|0;
    17571   _mrb_fixnum_value_116($0,$12);
    17572   STACKTOP = sp;return;
    17573  } else {
    17574   _mrb_fixnum_value_116($0,0);
    17575   STACKTOP = sp;return;
    17576  }
    17577 }
    17578 function _mrb_hash_shift($0,$1,$2) {
    17579  $0 = $0|0;
    17580  $1 = $1|0;
    17581  $2 = $2|0;
    17582  var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
    17583  var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    17584  var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
    17585  var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    17586  sp = STACKTOP;
    17587  STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
    17588  $$byval_copy10 = sp + 144|0;
    17589  $$byval_copy9 = sp + 136|0;
    17590  $$byval_copy8 = sp + 128|0;
    17591  $$byval_copy7 = sp + 120|0;
    17592  $$byval_copy6 = sp + 112|0;
    17593  $$byval_copy5 = sp + 104|0;
    17594  $$byval_copy4 = sp + 96|0;
    17595  $$byval_copy3 = sp + 88|0;
    17596  $$byval_copy2 = sp + 80|0;
    17597  $$byval_copy = sp + 72|0;
    17598  $vararg_buffer = sp;
    17599  $6 = sp + 48|0;
    17600  $7 = sp + 40|0;
    17601  $8 = sp + 32|0;
    17602  $9 = sp + 24|0;
    17603  $10 = sp + 16|0;
    17604  $3 = $1;
    17605  $11 = HEAP32[$2>>2]|0;
    17606  $12 = ((($11)) + 16|0);
    17607  $13 = HEAP32[$12>>2]|0;
    17608  $4 = $13;
    17609  $14 = $3;
    17610  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    17611  _mrb_hash_modify($14,$$byval_copy);
    17612  $15 = $4;
    17613  $16 = ($15|0)!=(0|0);
    17614  L1: do {
    17615   if ($16) {
    17616    $17 = $4;
    17617    $18 = ((($17)) + 4|0);
    17618    $19 = HEAP32[$18>>2]|0;
    17619    $20 = ($19>>>0)>(0);
    17620    if ($20) {
    17621     $5 = 0;
    17622     while(1) {
    17623      $21 = $5;
    17624      $22 = $4;
    17625      $23 = HEAP32[$22>>2]|0;
    17626      $24 = ($21|0)!=($23|0);
    17627      if (!($24)) {
    17628       break L1;
    17629      }
    17630      $25 = $4;
    17631      $26 = ((($25)) + 12|0);
    17632      $27 = HEAP32[$26>>2]|0;
    17633      $28 = $5;
    17634      $29 = (($28>>>0) / 4)&-1;
    17635      $30 = (($27) + ($29)|0);
    17636      $31 = HEAP8[$30>>0]|0;
    17637      $32 = $31&255;
    17638      $33 = $5;
    17639      $34 = (($33>>>0) % 4)&-1;
    17640      $35 = (55012 + ($34)|0);
    17641      $36 = HEAP8[$35>>0]|0;
    17642      $37 = $36&255;
    17643      $38 = $32 & $37;
    17644      $39 = ($38|0)!=(0);
    17645      if (!($39)) {
    17646       break;
    17647      }
    17648      $49 = $5;
    17649      $50 = (($49) + 1)|0;
    17650      $5 = $50;
    17651     }
    17652     $40 = $4;
    17653     $41 = ((($40)) + 16|0);
    17654     $42 = HEAP32[$41>>2]|0;
    17655     $43 = $5;
    17656     $44 = (($42) + ($43<<3)|0);
    17657     ;HEAP32[$6>>2]=HEAP32[$44>>2]|0;HEAP32[$6+4>>2]=HEAP32[$44+4>>2]|0;
    17658     $45 = $3;
    17659     ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;
    17660     _mrb_gc_protect($45,$$byval_copy2);
    17661     $46 = $3;
    17662     ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    17663     ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;
    17664     _mrb_hash_delete_key($8,$46,$$byval_copy3,$$byval_copy4);
    17665     ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;
    17666     $47 = $3;
    17667     ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
    17668     _mrb_gc_protect($47,$$byval_copy5);
    17669     $48 = $3;
    17670     ;HEAP32[$$byval_copy6>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$6+4>>2]|0;
    17671     ;HEAP32[$$byval_copy7>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$7+4>>2]|0;
    17672     _mrb_assoc_new($0,$48,$$byval_copy6,$$byval_copy7);
    17673     STACKTOP = sp;return;
    17674    }
    17675   }
    17676  } while(0);
    17677  $51 = HEAP32[$2>>2]|0;
    17678  $52 = HEAP32[$51>>2]|0;
    17679  $53 = $52 >>> 11;
    17680  $54 = $53 & 256;
    17681  $55 = ($54|0)!=(0);
    17682  $56 = $3;
    17683  $57 = $3;
    17684  if ($55) {
    17685   $58 = $3;
    17686   $59 = (_mrb_intern_static($58,55016,6)|0);
    17687   ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
    17688   _mrb_iv_get($9,$57,$$byval_copy8,$59);
    17689   _mrb_nil_value_91($10);
    17690   ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    17691   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    17692   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$10+7>>0]|0;
    17693   ;HEAP32[$$byval_copy9>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$9+4>>2]|0;
    17694   _mrb_funcall($0,$56,$$byval_copy9,69604,2,$vararg_buffer);
    17695   STACKTOP = sp;return;
    17696  } else {
    17697   $60 = (_mrb_intern_static($57,55016,6)|0);
    17698   ;HEAP32[$$byval_copy10>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$2+4>>2]|0;
    17699   _mrb_iv_get($0,$56,$$byval_copy10,$60);
    17700   STACKTOP = sp;return;
    17701  }
    17702 }
    17703 function _mrb_hash_dup($0,$1,$2) {
    17704  $0 = $0|0;
    17705  $1 = $1|0;
    17706  $2 = $2|0;
    17707  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    17708  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    17709  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    17710  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    17711  sp = STACKTOP;
    17712  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    17713  $$byval_copy1 = sp + 48|0;
    17714  $$byval_copy = sp + 40|0;
    17715  $10 = sp;
    17716  $3 = $1;
    17717  $11 = HEAP32[$2>>2]|0;
    17718  $12 = ((($11)) + 16|0);
    17719  $13 = HEAP32[$12>>2]|0;
    17720  $5 = $13;
    17721  $14 = $3;
    17722  $15 = $3;
    17723  $16 = ((($15)) + 56|0);
    17724  $17 = HEAP32[$16>>2]|0;
    17725  $18 = (_mrb_obj_alloc($14,15,$17)|0);
    17726  $4 = $18;
    17727  $19 = $3;
    17728  $20 = (_kh_init_ht($19)|0);
    17729  $21 = $4;
    17730  $22 = ((($21)) + 16|0);
    17731  HEAP32[$22>>2] = $20;
    17732  $23 = $5;
    17733  $24 = ((($23)) + 4|0);
    17734  $25 = HEAP32[$24>>2]|0;
    17735  $26 = ($25>>>0)>(0);
    17736  if (!($26)) {
    17737   $74 = $4;
    17738   _mrb_obj_value_86($0,$74);
    17739   STACKTOP = sp;return;
    17740  }
    17741  $27 = $4;
    17742  $28 = ((($27)) + 16|0);
    17743  $29 = HEAP32[$28>>2]|0;
    17744  $6 = $29;
    17745  $7 = 0;
    17746  while(1) {
    17747   $30 = $7;
    17748   $31 = $5;
    17749   $32 = HEAP32[$31>>2]|0;
    17750   $33 = ($30|0)!=($32|0);
    17751   if (!($33)) {
    17752    break;
    17753   }
    17754   $34 = $5;
    17755   $35 = ((($34)) + 12|0);
    17756   $36 = HEAP32[$35>>2]|0;
    17757   $37 = $7;
    17758   $38 = (($37>>>0) / 4)&-1;
    17759   $39 = (($36) + ($38)|0);
    17760   $40 = HEAP8[$39>>0]|0;
    17761   $41 = $40&255;
    17762   $42 = $7;
    17763   $43 = (($42>>>0) % 4)&-1;
    17764   $44 = (55012 + ($43)|0);
    17765   $45 = HEAP8[$44>>0]|0;
    17766   $46 = $45&255;
    17767   $47 = $41 & $46;
    17768   $48 = ($47|0)!=(0);
    17769   if (!($48)) {
    17770    $49 = $3;
    17771    $50 = (_mrb_gc_arena_save($49)|0);
    17772    $9 = $50;
    17773    $51 = $3;
    17774    $52 = $6;
    17775    $53 = $3;
    17776    $54 = $5;
    17777    $55 = ((($54)) + 16|0);
    17778    $56 = HEAP32[$55>>2]|0;
    17779    $57 = $7;
    17780    $58 = (($56) + ($57<<3)|0);
    17781    ;HEAP32[$$byval_copy>>2]=HEAP32[$58>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$58+4>>2]|0;
    17782    _mrb_hash_ht_key($10,$53,$$byval_copy);
    17783    ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
    17784    $59 = (_kh_put_ht($51,$52,$$byval_copy1,0)|0);
    17785    $8 = $59;
    17786    $60 = $3;
    17787    $61 = $9;
    17788    _mrb_gc_arena_restore($60,$61);
    17789    $62 = $6;
    17790    $63 = ((($62)) + 20|0);
    17791    $64 = HEAP32[$63>>2]|0;
    17792    $65 = $8;
    17793    $66 = (($64) + (($65*12)|0)|0);
    17794    $67 = $5;
    17795    $68 = ((($67)) + 20|0);
    17796    $69 = HEAP32[$68>>2]|0;
    17797    $70 = $7;
    17798    $71 = (($69) + (($70*12)|0)|0);
    17799    ;HEAP32[$66>>2]=HEAP32[$71>>2]|0;HEAP32[$66+4>>2]=HEAP32[$71+4>>2]|0;HEAP32[$66+8>>2]=HEAP32[$71+8>>2]|0;
    17800   }
    17801   $72 = $7;
    17802   $73 = (($72) + 1)|0;
    17803   $7 = $73;
    17804  }
    17805  $74 = $4;
    17806  _mrb_obj_value_86($0,$74);
    17807  STACKTOP = sp;return;
    17808 }
    17809 function _mrb_hash_values($0,$1,$2) {
    17810  $0 = $0|0;
    17811  $1 = $1|0;
    17812  $2 = $2|0;
    17813  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    17814  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    17815  var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    17816  sp = STACKTOP;
    17817  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    17818  $$byval_copy1 = sp + 56|0;
    17819  $$byval_copy = sp + 48|0;
    17820  $6 = sp + 24|0;
    17821  $7 = sp + 16|0;
    17822  $8 = sp;
    17823  $3 = $1;
    17824  $9 = HEAP32[$2>>2]|0;
    17825  $10 = ((($9)) + 16|0);
    17826  $11 = HEAP32[$10>>2]|0;
    17827  $4 = $11;
    17828  $12 = $4;
    17829  $13 = ($12|0)!=(0|0);
    17830  $14 = $3;
    17831  if (!($13)) {
    17832   _mrb_ary_new($0,$14);
    17833   STACKTOP = sp;return;
    17834  }
    17835  $15 = $4;
    17836  $16 = ((($15)) + 4|0);
    17837  $17 = HEAP32[$16>>2]|0;
    17838  _mrb_ary_new_capa($7,$14,$17);
    17839  ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
    17840  $5 = 0;
    17841  while(1) {
    17842   $18 = $5;
    17843   $19 = $4;
    17844   $20 = HEAP32[$19>>2]|0;
    17845   $21 = ($18|0)!=($20|0);
    17846   if (!($21)) {
    17847    break;
    17848   }
    17849   $22 = $4;
    17850   $23 = ((($22)) + 12|0);
    17851   $24 = HEAP32[$23>>2]|0;
    17852   $25 = $5;
    17853   $26 = (($25>>>0) / 4)&-1;
    17854   $27 = (($24) + ($26)|0);
    17855   $28 = HEAP8[$27>>0]|0;
    17856   $29 = $28&255;
    17857   $30 = $5;
    17858   $31 = (($30>>>0) % 4)&-1;
    17859   $32 = (55012 + ($31)|0);
    17860   $33 = HEAP8[$32>>0]|0;
    17861   $34 = $33&255;
    17862   $35 = $29 & $34;
    17863   $36 = ($35|0)!=(0);
    17864   if (!($36)) {
    17865    $37 = $4;
    17866    $38 = ((($37)) + 20|0);
    17867    $39 = HEAP32[$38>>2]|0;
    17868    $40 = $5;
    17869    $41 = (($39) + (($40*12)|0)|0);
    17870    ;HEAP32[$8>>2]=HEAP32[$41>>2]|0;HEAP32[$8+4>>2]=HEAP32[$41+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$41+8>>2]|0;
    17871    $42 = $3;
    17872    $43 = ((($8)) + 8|0);
    17873    $44 = HEAP32[$43>>2]|0;
    17874    ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    17875    ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
    17876    _mrb_ary_set($42,$$byval_copy,$44,$$byval_copy1);
    17877   }
    17878   $45 = $5;
    17879   $46 = (($45) + 1)|0;
    17880   $5 = $46;
    17881  }
    17882  ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
    17883  STACKTOP = sp;return;
    17884 }
    17885 function _mrb_hash_to_hash($0,$1,$2) {
    17886  $0 = $0|0;
    17887  $1 = $1|0;
    17888  $2 = $2|0;
    17889  var $3 = 0, label = 0, sp = 0;
    17890  sp = STACKTOP;
    17891  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    17892  $3 = $1;
    17893  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    17894  STACKTOP = sp;return;
    17895 }
    17896 function _mrb_fixnum_value_116($0,$1) {
    17897  $0 = $0|0;
    17898  $1 = $1|0;
    17899  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    17900  sp = STACKTOP;
    17901  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    17902  $3 = sp;
    17903  $2 = $1;
    17904  $4 = ((($3)) + 4|0);
    17905  HEAP32[$4>>2] = 3;
    17906  $5 = $2;
    17907  HEAP32[$3>>2] = $5;
    17908  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    17909  STACKTOP = sp;return;
    17910 }
    17911 function _mrb_false_value($0) {
    17912  $0 = $0|0;
    17913  var $1 = 0, $2 = 0, label = 0, sp = 0;
    17914  sp = STACKTOP;
    17915  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    17916  $1 = sp;
    17917  $2 = ((($1)) + 4|0);
    17918  HEAP32[$2>>2] = 0;
    17919  HEAP32[$1>>2] = 1;
    17920  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    17921  STACKTOP = sp;return;
    17922 }
    17923 function _mrb_to_flo($0,$1) {
    17924  $0 = $0|0;
    17925  $1 = $1|0;
    17926  var $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
    17927  sp = STACKTOP;
    17928  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    17929  $3 = $0;
    17930  $4 = ((($1)) + 4|0);
    17931  $5 = HEAP32[$4>>2]|0;
    17932  switch ($5|0) {
    17933  case 3:  {
    17934   $6 = HEAP32[$1>>2]|0;
    17935   $7 = (+($6|0));
    17936   $2 = $7;
    17937   $12 = $2;
    17938   STACKTOP = sp;return (+$12);
    17939   break;
    17940  }
    17941  case 6:  {
    17942   $11 = +HEAPF32[$1>>2];
    17943   $2 = $11;
    17944   $12 = $2;
    17945   STACKTOP = sp;return (+$12);
    17946   break;
    17947  }
    17948  default: {
    17949   $8 = $3;
    17950   $9 = $3;
    17951   $10 = (_mrb_class_get($9,69204)|0);
    17952   _mrb_raise($8,$10,55138);
    17953   // unreachable;
    17954  }
    17955  }
    17956  return +(0.0);
    17957 }
    17958 function _mrb_float_value($0,$1,$2) {
    17959  $0 = $0|0;
    17960  $1 = $1|0;
    17961  $2 = +$2;
    17962  var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0;
    17963  sp = STACKTOP;
    17964  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    17965  $5 = sp;
    17966  $3 = $1;
    17967  $4 = $2;
    17968  $6 = ((($5)) + 4|0);
    17969  HEAP32[$6>>2] = 6;
    17970  $7 = $4;
    17971  HEAPF32[$5>>2] = $7;
    17972  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    17973  STACKTOP = sp;return;
    17974 }
    17975 function _mrb_fixnum_mul($0,$1,$2,$3) {
    17976  $0 = $0|0;
    17977  $1 = $1|0;
    17978  $2 = $2|0;
    17979  $3 = $3|0;
    17980  var $$byval_copy = 0, $$old6 = 0, $$old8 = 0.0, $$old9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    17981  var $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0;
    17982  var $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0;
    17983  var label = 0, sp = 0;
    17984  sp = STACKTOP;
    17985  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    17986  $$byval_copy = sp + 16|0;
    17987  $4 = $1;
    17988  $8 = HEAP32[$2>>2]|0;
    17989  $5 = $8;
    17990  $9 = ((($3)) + 4|0);
    17991  $10 = HEAP32[$9>>2]|0;
    17992  $11 = ($10|0)==(3);
    17993  if (!($11)) {
    17994   $48 = $4;
    17995   $49 = $5;
    17996   $50 = (+($49|0));
    17997   $51 = $4;
    17998   ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    17999   $52 = (+_mrb_to_flo($51,$$byval_copy));
    18000   $53 = $50 * $52;
    18001   _mrb_float_value($0,$48,$53);
    18002   STACKTOP = sp;return;
    18003  }
    18004  $12 = $5;
    18005  $13 = ($12|0)==(0);
    18006  if ($13) {
    18007   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    18008   STACKTOP = sp;return;
    18009  }
    18010  $14 = HEAP32[$3>>2]|0;
    18011  $7 = $14;
    18012  $15 = $5;
    18013  $16 = ($15|0)<(32768);
    18014  $17 = $5;
    18015  $18 = ($17|0)>=(-32768);
    18016  $or$cond = $16 & $18;
    18017  $19 = $7;
    18018  $20 = ($19|0)<(32768);
    18019  $or$cond3 = $or$cond & $20;
    18020  $21 = $7;
    18021  $22 = ($21|0)>=(-32768);
    18022  $or$cond5 = $or$cond3 & $22;
    18023  $23 = $5;
    18024  $24 = $7;
    18025  $25 = Math_imul($23, $24)|0;
    18026  if ($or$cond5) {
    18027   _mrb_fixnum_value_125($0,$25);
    18028   STACKTOP = sp;return;
    18029  }
    18030  $26 = (+($25|0));
    18031  $6 = $26;
    18032  $27 = $5;
    18033  $28 = ($27|0)!=(0);
    18034  $29 = $6;
    18035  if ($28) {
    18036   $30 = $5;
    18037   $31 = (+($30|0));
    18038   $32 = $29 / $31;
    18039   $33 = $7;
    18040   $34 = (+($33|0));
    18041   $35 = $32 == $34;
    18042   $36 = $6;
    18043   $37 = $36 <= 2147483648.0;
    18044   $or$cond7 = $35 & $37;
    18045   $38 = $6;
    18046   $39 = $38 >= -2147483648.0;
    18047   $or$cond10 = $or$cond7 & $39;
    18048   if ($or$cond10) {
    18049    label = 10;
    18050   } else {
    18051    label = 9;
    18052   }
    18053  } else {
    18054   $$old6 = $29 <= 2147483648.0;
    18055   $$old8 = $6;
    18056   $$old9 = $$old8 >= -2147483648.0;
    18057   $or$cond12 = $$old6 & $$old9;
    18058   if ($or$cond12) {
    18059    label = 10;
    18060   } else {
    18061    label = 9;
    18062   }
    18063  }
    18064  if ((label|0) == 9) {
    18065   $40 = $4;
    18066   $41 = $5;
    18067   $42 = (+($41|0));
    18068   $43 = $7;
    18069   $44 = (+($43|0));
    18070   $45 = $42 * $44;
    18071   _mrb_float_value($0,$40,$45);
    18072   STACKTOP = sp;return;
    18073  }
    18074  else if ((label|0) == 10) {
    18075   $46 = $6;
    18076   $47 = (~~(($46)));
    18077   _mrb_fixnum_value_125($0,$47);
    18078   STACKTOP = sp;return;
    18079  }
    18080 }
    18081 function _mrb_fixnum_value_125($0,$1) {
    18082  $0 = $0|0;
    18083  $1 = $1|0;
    18084  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    18085  sp = STACKTOP;
    18086  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    18087  $3 = sp;
    18088  $2 = $1;
    18089  $4 = ((($3)) + 4|0);
    18090  HEAP32[$4>>2] = 3;
    18091  $5 = $2;
    18092  HEAP32[$3>>2] = $5;
    18093  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    18094  STACKTOP = sp;return;
    18095 }
    18096 function _mrb_flo_to_fixnum($0,$1,$2) {
    18097  $0 = $0|0;
    18098  $1 = $1|0;
    18099  $2 = $2|0;
    18100  var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    18101  var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    18102  sp = STACKTOP;
    18103  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    18104  $3 = $1;
    18105  $6 = ((($2)) + 4|0);
    18106  $7 = HEAP32[$6>>2]|0;
    18107  $8 = ($7|0)==(6);
    18108  if (!($8)) {
    18109   $9 = $3;
    18110   $10 = $3;
    18111   $11 = (_mrb_class_get($10,69204)|0);
    18112   _mrb_raise($9,$11,55138);
    18113   // unreachable;
    18114  }
    18115  $12 = +HEAPF32[$2>>2];
    18116  $5 = $12;
    18117  $13 = $5;
    18118  $14 = (___FLOAT_BITS_126($13)|0);
    18119  $15 = $14 & 2147483647;
    18120  $16 = ($15|0)==(2139095040);
    18121  if ($16) {
    18122   $17 = $3;
    18123   $18 = $3;
    18124   $19 = (_mrb_class_get($18,55154)|0);
    18125   $20 = $5;
    18126   $21 = $20 < 0.0;
    18127   $22 = $21 ? 55171 : 55181;
    18128   _mrb_raise($17,$19,$22);
    18129   // unreachable;
    18130  }
    18131  $23 = $5;
    18132  $24 = (___FLOAT_BITS_126($23)|0);
    18133  $25 = $24 & 2147483647;
    18134  $26 = ($25>>>0)>(2139095040);
    18135  if ($26) {
    18136   $27 = $3;
    18137   $28 = $3;
    18138   $29 = (_mrb_class_get($28,55154)|0);
    18139   _mrb_raise($27,$29,55190);
    18140   // unreachable;
    18141  } else {
    18142   $30 = $5;
    18143   $31 = (~~(($30)));
    18144   $4 = $31;
    18145   $32 = $4;
    18146   _mrb_fixnum_value_125($0,$32);
    18147   STACKTOP = sp;return;
    18148  }
    18149 }
    18150 function ___FLOAT_BITS_126($0) {
    18151  $0 = +$0;
    18152  var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, label = 0, sp = 0;
    18153  sp = STACKTOP;
    18154  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    18155  $2 = sp;
    18156  $1 = $0;
    18157  $3 = $1;
    18158  HEAPF32[$2>>2] = $3;
    18159  $4 = HEAP32[$2>>2]|0;
    18160  STACKTOP = sp;return ($4|0);
    18161 }
    18162 function ___DOUBLE_BITS_127($0) {
    18163  $0 = +$0;
    18164  var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    18165  sp = STACKTOP;
    18166  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    18167  $2 = sp;
    18168  $1 = $0;
    18169  $3 = $1;
    18170  HEAPF64[$2>>3] = $3;
    18171  $4 = $2;
    18172  $5 = $4;
    18173  $6 = HEAP32[$5>>2]|0;
    18174  $7 = (($4) + 4)|0;
    18175  $8 = $7;
    18176  $9 = HEAP32[$8>>2]|0;
    18177  tempRet0 = ($9);
    18178  STACKTOP = sp;return ($6|0);
    18179 }
    18180 function _mrb_fixnum_plus($0,$1,$2,$3) {
    18181  $0 = $0|0;
    18182  $1 = $1|0;
    18183  $2 = $2|0;
    18184  $3 = $3|0;
    18185  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0;
    18186  var $29 = 0, $30 = 0.0, $31 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    18187  sp = STACKTOP;
    18188  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    18189  $$byval_copy = sp + 16|0;
    18190  $7 = sp;
    18191  $4 = $1;
    18192  $8 = HEAP32[$2>>2]|0;
    18193  $5 = $8;
    18194  $9 = ((($3)) + 4|0);
    18195  $10 = HEAP32[$9>>2]|0;
    18196  $11 = ($10|0)==(3);
    18197  if (!($11)) {
    18198   $26 = $4;
    18199   $27 = $5;
    18200   $28 = (+($27|0));
    18201   $29 = $4;
    18202   ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    18203   $30 = (+_mrb_to_flo($29,$$byval_copy));
    18204   $31 = $28 + $30;
    18205   _mrb_float_value($0,$26,$31);
    18206   STACKTOP = sp;return;
    18207  }
    18208  $12 = $5;
    18209  $13 = ($12|0)==(0);
    18210  if ($13) {
    18211   ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    18212   STACKTOP = sp;return;
    18213  }
    18214  $14 = HEAP32[$3>>2]|0;
    18215  $6 = $14;
    18216  $15 = $5;
    18217  $16 = $6;
    18218  $17 = (_mrb_int_add_overflow($15,$16,$7)|0);
    18219  $18 = ($17<<24>>24)!=(0);
    18220  if ($18) {
    18221   $19 = $4;
    18222   $20 = $5;
    18223   $21 = (+($20|0));
    18224   $22 = $6;
    18225   $23 = (+($22|0));
    18226   $24 = $21 + $23;
    18227   _mrb_float_value($0,$19,$24);
    18228   STACKTOP = sp;return;
    18229  } else {
    18230   $25 = HEAP32[$7>>2]|0;
    18231   _mrb_fixnum_value_125($0,$25);
    18232   STACKTOP = sp;return;
    18233  }
    18234 }
    18235 function _mrb_int_add_overflow($0,$1,$2) {
    18236  $0 = $0|0;
    18237  $1 = $1|0;
    18238  $2 = $2|0;
    18239  var $$arith = 0, $$ispos = 0, $$negcheck = 0, $$negtemp = 0, $$poscheck = 0, $$postemp = 0, $$select = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0;
    18240  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    18241  sp = STACKTOP;
    18242  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    18243  $3 = $0;
    18244  $4 = $1;
    18245  $5 = $2;
    18246  $8 = $3;
    18247  $9 = $4;
    18248  $$arith = (($8) + ($9))|0;
    18249  $$postemp = (($8) + -2147483648)|0;
    18250  $$negtemp = (($8) + 2147483647)|0;
    18251  $$poscheck = ($$arith|0)<($$postemp|0);
    18252  $$negcheck = ($$arith|0)>($$negtemp|0);
    18253  $$ispos = ($8|0)>=(0);
    18254  $$select = $$ispos ? $$poscheck : $$negcheck;
    18255  $7 = $$arith;
    18256  $10 = $7;
    18257  $11 = ($10|0)>(2147483647);
    18258  $or$cond = $$select | $11;
    18259  if ($or$cond) {
    18260   $15 = 1;
    18261  } else {
    18262   $12 = $7;
    18263   $13 = ($12|0)<(-2147483648);
    18264   $15 = $13;
    18265  }
    18266  $14 = $15&1;
    18267  $16 = $14&255;
    18268  $6 = $16;
    18269  $17 = $7;
    18270  $18 = $5;
    18271  HEAP32[$18>>2] = $17;
    18272  $19 = $6;
    18273  STACKTOP = sp;return ($19|0);
    18274 }
    18275 function _mrb_fixnum_minus($0,$1,$2,$3) {
    18276  $0 = $0|0;
    18277  $1 = $1|0;
    18278  $2 = $2|0;
    18279  $3 = $3|0;
    18280  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0;
    18281  var $29 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    18282  sp = STACKTOP;
    18283  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    18284  $$byval_copy = sp + 16|0;
    18285  $7 = sp;
    18286  $4 = $1;
    18287  $8 = HEAP32[$2>>2]|0;
    18288  $5 = $8;
    18289  $9 = ((($3)) + 4|0);
    18290  $10 = HEAP32[$9>>2]|0;
    18291  $11 = ($10|0)==(3);
    18292  if (!($11)) {
    18293   $24 = $4;
    18294   $25 = $5;
    18295   $26 = (+($25|0));
    18296   $27 = $4;
    18297   ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    18298   $28 = (+_mrb_to_flo($27,$$byval_copy));
    18299   $29 = $26 - $28;
    18300   _mrb_float_value($0,$24,$29);
    18301   STACKTOP = sp;return;
    18302  }
    18303  $12 = HEAP32[$3>>2]|0;
    18304  $6 = $12;
    18305  $13 = $5;
    18306  $14 = $6;
    18307  $15 = (_mrb_int_sub_overflow($13,$14,$7)|0);
    18308  $16 = ($15<<24>>24)!=(0);
    18309  if ($16) {
    18310   $17 = $4;
    18311   $18 = $5;
    18312   $19 = (+($18|0));
    18313   $20 = $6;
    18314   $21 = (+($20|0));
    18315   $22 = $19 - $21;
    18316   _mrb_float_value($0,$17,$22);
    18317   STACKTOP = sp;return;
    18318  } else {
    18319   $23 = HEAP32[$7>>2]|0;
    18320   _mrb_fixnum_value_125($0,$23);
    18321   STACKTOP = sp;return;
    18322  }
    18323 }
    18324 function _mrb_int_sub_overflow($0,$1,$2) {
    18325  $0 = $0|0;
    18326  $1 = $1|0;
    18327  $2 = $2|0;
    18328  var $$arith = 0, $$ispos = 0, $$negcheck = 0, $$negtemp = 0, $$poscheck = 0, $$postemp = 0, $$select = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0;
    18329  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    18330  sp = STACKTOP;
    18331  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    18332  $3 = $0;
    18333  $4 = $1;
    18334  $5 = $2;
    18335  $8 = $3;
    18336  $9 = $4;
    18337  $$arith = (($8) - ($9))|0;
    18338  $$postemp = (($8) + -2147483647)|0;
    18339  $$negtemp = (($8) + -2147483648)|0;
    18340  $$poscheck = ($$arith|0)<($$postemp|0);
    18341  $$negcheck = ($$arith|0)>($$negtemp|0);
    18342  $$ispos = ($8|0)>=(0);
    18343  $$select = $$ispos ? $$poscheck : $$negcheck;
    18344  $7 = $$arith;
    18345  $10 = $7;
    18346  $11 = ($10|0)>(2147483647);
    18347  $or$cond = $$select | $11;
    18348  if ($or$cond) {
    18349   $15 = 1;
    18350  } else {
    18351   $12 = $7;
    18352   $13 = ($12|0)<(-2147483648);
    18353   $15 = $13;
    18354  }
    18355  $14 = $15&1;
    18356  $16 = $14&255;
    18357  $6 = $16;
    18358  $17 = $7;
    18359  $18 = $5;
    18360  HEAP32[$18>>2] = $17;
    18361  $19 = $6;
    18362  STACKTOP = sp;return ($19|0);
    18363 }
    18364 function _mrb_fixnum_to_str($0,$1,$2,$3) {
    18365  $0 = $0|0;
    18366  $1 = $1|0;
    18367  $2 = $2|0;
    18368  $3 = $3|0;
    18369  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    18370  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    18371  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
    18372  sp = STACKTOP;
    18373  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    18374  $vararg_buffer = sp;
    18375  $6 = sp + 32|0;
    18376  $9 = sp + 8|0;
    18377  $4 = $1;
    18378  $5 = $3;
    18379  $10 = ((($6)) + 33|0);
    18380  $7 = $10;
    18381  $11 = HEAP32[$2>>2]|0;
    18382  $8 = $11;
    18383  $12 = $5;
    18384  $13 = ($12|0)<(2);
    18385  $14 = $5;
    18386  $15 = (36)<($14|0);
    18387  $or$cond = $13 | $15;
    18388  if ($or$cond) {
    18389   $16 = $4;
    18390   $17 = $4;
    18391   $18 = (_mrb_class_get($17,69160)|0);
    18392   $19 = $5;
    18393   _mrb_fixnum_value_125($9,$19);
    18394   ;HEAP8[$vararg_buffer>>0]=HEAP8[$9>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$9+7>>0]|0;
    18395   _mrb_raisef($16,$18,55194,$vararg_buffer);
    18396   // unreachable;
    18397  }
    18398  $20 = $8;
    18399  $21 = ($20|0)==(0);
    18400  if ($21) {
    18401   $22 = $7;
    18402   $23 = ((($22)) + -1|0);
    18403   $7 = $23;
    18404   HEAP8[$23>>0] = 48;
    18405   $51 = $4;
    18406   $52 = $7;
    18407   $53 = ((($6)) + 33|0);
    18408   $54 = $7;
    18409   $55 = $53;
    18410   $56 = $54;
    18411   $57 = (($55) - ($56))|0;
    18412   _mrb_str_new($0,$51,$52,$57);
    18413   STACKTOP = sp;return;
    18414  }
    18415  $24 = $8;
    18416  $25 = ($24|0)<(0);
    18417  if (!($25)) {
    18418   while(1) {
    18419    $40 = $8;
    18420    $41 = $5;
    18421    $42 = (($40|0) % ($41|0))&-1;
    18422    $43 = (55645 + ($42)|0);
    18423    $44 = HEAP8[$43>>0]|0;
    18424    $45 = $7;
    18425    $46 = ((($45)) + -1|0);
    18426    $7 = $46;
    18427    HEAP8[$46>>0] = $44;
    18428    $47 = $5;
    18429    $48 = $8;
    18430    $49 = (($48|0) / ($47|0))&-1;
    18431    $8 = $49;
    18432    $50 = ($49|0)!=(0);
    18433    if (!($50)) {
    18434     break;
    18435    }
    18436   }
    18437   $51 = $4;
    18438   $52 = $7;
    18439   $53 = ((($6)) + 33|0);
    18440   $54 = $7;
    18441   $55 = $53;
    18442   $56 = $54;
    18443   $57 = (($55) - ($56))|0;
    18444   _mrb_str_new($0,$51,$52,$57);
    18445   STACKTOP = sp;return;
    18446  }
    18447  while(1) {
    18448   $26 = $8;
    18449   $27 = $5;
    18450   $28 = (($26|0) % ($27|0))&-1;
    18451   $29 = (0 - ($28))|0;
    18452   $30 = (55645 + ($29)|0);
    18453   $31 = HEAP8[$30>>0]|0;
    18454   $32 = $7;
    18455   $33 = ((($32)) + -1|0);
    18456   $7 = $33;
    18457   HEAP8[$33>>0] = $31;
    18458   $34 = $5;
    18459   $35 = $8;
    18460   $36 = (($35|0) / ($34|0))&-1;
    18461   $8 = $36;
    18462   $37 = ($36|0)!=(0);
    18463   if (!($37)) {
    18464    break;
    18465   }
    18466  }
    18467  $38 = $7;
    18468  $39 = ((($38)) + -1|0);
    18469  $7 = $39;
    18470  HEAP8[$39>>0] = 45;
    18471  $51 = $4;
    18472  $52 = $7;
    18473  $53 = ((($6)) + 33|0);
    18474  $54 = $7;
    18475  $55 = $53;
    18476  $56 = $54;
    18477  $57 = (($55) - ($56))|0;
    18478  _mrb_str_new($0,$51,$52,$57);
    18479  STACKTOP = sp;return;
    18480 }
    18481 function _mrb_init_numeric($0) {
    18482  $0 = $0|0;
    18483  var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
    18484  var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    18485  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    18486  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
    18487  var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
    18488  var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
    18489  var $99 = 0, label = 0, sp = 0;
    18490  sp = STACKTOP;
    18491  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    18492  $$byval_copy1 = sp + 48|0;
    18493  $$byval_copy = sp + 40|0;
    18494  $6 = sp + 8|0;
    18495  $7 = sp;
    18496  $1 = $0;
    18497  $8 = $1;
    18498  $9 = $1;
    18499  $10 = ((($9)) + 32|0);
    18500  $11 = HEAP32[$10>>2]|0;
    18501  $12 = (_mrb_define_class($8,55211,$11)|0);
    18502  $2 = $12;
    18503  $13 = $1;
    18504  $14 = $2;
    18505  _mrb_define_method($13,$14,59540,35,262144);
    18506  $15 = $1;
    18507  $16 = $2;
    18508  _mrb_define_method($15,$16,59549,36,262144);
    18509  $17 = $1;
    18510  $18 = $2;
    18511  _mrb_define_method($17,$18,55219,36,262144);
    18512  $19 = $1;
    18513  $20 = $2;
    18514  _mrb_define_method($19,$20,69156,37,262144);
    18515  $21 = $1;
    18516  $22 = $2;
    18517  $23 = (_mrb_define_class($21,55360,$22)|0);
    18518  $3 = $23;
    18519  $24 = $1;
    18520  $25 = $3;
    18521  _mrb_undef_class_method($24,$25,67982);
    18522  $26 = $1;
    18523  $27 = $3;
    18524  _mrb_define_method($26,$27,56301,38,0);
    18525  $28 = $1;
    18526  $29 = $3;
    18527  _mrb_define_method($28,$29,55521,38,0);
    18528  $30 = $1;
    18529  $31 = $3;
    18530  $32 = (_mrb_define_class($30,55429,$31)|0);
    18531  $4 = $32;
    18532  $33 = $1;
    18533  $34 = ((($33)) + 64|0);
    18534  HEAP32[$34>>2] = $32;
    18535  $35 = $1;
    18536  $36 = $4;
    18537  _mrb_define_method($35,$36,64614,39,262144);
    18538  $37 = $1;
    18539  $38 = $4;
    18540  _mrb_define_method($37,$38,69660,40,262144);
    18541  $39 = $1;
    18542  $40 = $4;
    18543  _mrb_define_method($39,$40,68856,41,262144);
    18544  $41 = $1;
    18545  $42 = $4;
    18546  _mrb_define_method($41,$42,59551,42,262144);
    18547  $43 = $1;
    18548  $44 = $4;
    18549  _mrb_define_method($43,$44,69201,43,262144);
    18550  $45 = $1;
    18551  $46 = $4;
    18552  _mrb_define_method($45,$46,59559,44,0);
    18553  $47 = $1;
    18554  $48 = $4;
    18555  _mrb_define_method($47,$48,69093,45,262144);
    18556  $49 = $1;
    18557  $50 = $4;
    18558  _mrb_define_method($49,$50,59553,46,262144);
    18559  $51 = $1;
    18560  $52 = $4;
    18561  _mrb_define_method($51,$52,59555,47,262144);
    18562  $53 = $1;
    18563  $54 = $4;
    18564  _mrb_define_method($53,$54,64616,48,262144);
    18565  $55 = $1;
    18566  $56 = $4;
    18567  _mrb_define_method($55,$56,59537,49,262144);
    18568  $57 = $1;
    18569  $58 = $4;
    18570  _mrb_define_method($57,$58,69289,50,262144);
    18571  $59 = $1;
    18572  $60 = $4;
    18573  _mrb_define_method($59,$60,68413,51,0);
    18574  $61 = $1;
    18575  $62 = $4;
    18576  _mrb_define_method($61,$62,56296,52,0);
    18577  $63 = $1;
    18578  $64 = $4;
    18579  _mrb_define_method($63,$64,69276,53,0);
    18580  $65 = $1;
    18581  $66 = $4;
    18582  _mrb_define_method($65,$66,69281,53,0);
    18583  $67 = $1;
    18584  $68 = $4;
    18585  _mrb_define_method($67,$68,55223,54,262144);
    18586  $69 = $1;
    18587  $70 = $2;
    18588  $71 = (_mrb_define_class($69,55477,$70)|0);
    18589  $5 = $71;
    18590  $72 = $1;
    18591  $73 = ((($72)) + 60|0);
    18592  HEAP32[$73>>2] = $71;
    18593  $74 = $1;
    18594  $75 = $5;
    18595  _mrb_undef_class_method($74,$75,67982);
    18596  $76 = $1;
    18597  $77 = $5;
    18598  _mrb_define_method($76,$77,64614,55,262144);
    18599  $78 = $1;
    18600  $79 = $5;
    18601  _mrb_define_method($78,$79,69660,56,262144);
    18602  $80 = $1;
    18603  $81 = $5;
    18604  _mrb_define_method($80,$81,68856,57,262144);
    18605  $82 = $1;
    18606  $83 = $5;
    18607  _mrb_define_method($82,$83,59551,58,262144);
    18608  $84 = $1;
    18609  $85 = $5;
    18610  _mrb_define_method($84,$85,69201,59,262144);
    18611  $86 = $1;
    18612  $87 = $5;
    18613  _mrb_define_method($86,$87,55230,60,0);
    18614  $88 = $1;
    18615  $89 = $5;
    18616  _mrb_define_method($88,$89,55235,61,0);
    18617  $90 = $1;
    18618  $91 = $5;
    18619  _mrb_define_method($90,$91,55243,62,0);
    18620  $92 = $1;
    18621  $93 = $5;
    18622  _mrb_define_method($92,$93,55249,63,0);
    18623  $94 = $1;
    18624  $95 = $5;
    18625  _mrb_define_method($94,$95,55259,64,8192);
    18626  $96 = $1;
    18627  $97 = $5;
    18628  _mrb_define_method($96,$97,56296,65,0);
    18629  $98 = $1;
    18630  $99 = $5;
    18631  _mrb_define_method($98,$99,56301,66,0);
    18632  $100 = $1;
    18633  $101 = $5;
    18634  _mrb_define_method($100,$101,55521,66,0);
    18635  $102 = $1;
    18636  $103 = $5;
    18637  _mrb_define_method($102,$103,55265,66,0);
    18638  $104 = $1;
    18639  $105 = $5;
    18640  _mrb_define_method($104,$105,55223,67,262144);
    18641  $106 = $1;
    18642  $107 = $5;
    18643  _mrb_define_method($106,$107,69289,68,262144);
    18644  $108 = $1;
    18645  $109 = $5;
    18646  _mrb_define_method($108,$109,69276,69,0);
    18647  $110 = $1;
    18648  $111 = $5;
    18649  _mrb_define_method($110,$111,69281,69,0);
    18650  $112 = $1;
    18651  $113 = $5;
    18652  _mrb_define_method($112,$113,55274,70,0);
    18653  $114 = $1;
    18654  $115 = $5;
    18655  $116 = $1;
    18656  _mrb_float_value($6,$116,inf);
    18657  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    18658  _mrb_define_const($114,$115,55279,$$byval_copy);
    18659  $117 = $1;
    18660  $118 = $5;
    18661  $119 = $1;
    18662  _mrb_float_value($7,$119,nan);
    18663  ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
    18664  _mrb_define_const($117,$118,70763,$$byval_copy1);
    18665  STACKTOP = sp;return;
    18666 }
    18667 function _num_pow($0,$1,$2) {
    18668  $0 = $0|0;
    18669  $1 = $1|0;
    18670  $2 = $2|0;
    18671  var $$byval_copy = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0;
    18672  var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, $or$cond = 0;
    18673  var $or$cond3 = 0, $or$cond5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    18674  sp = STACKTOP;
    18675  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    18676  $$byval_copy6 = sp + 40|0;
    18677  $$byval_copy = sp + 32|0;
    18678  $vararg_buffer = sp;
    18679  $4 = sp + 16|0;
    18680  $3 = $1;
    18681  $7 = $3;
    18682  HEAP32[$vararg_buffer>>2] = $4;
    18683  (_mrb_get_args($7,69199,$vararg_buffer)|0);
    18684  $8 = $3;
    18685  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    18686  $9 = (+_mrb_to_flo($8,$$byval_copy));
    18687  $6 = $9;
    18688  $10 = $3;
    18689  ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0;
    18690  $11 = (+_mrb_to_flo($10,$$byval_copy6));
    18691  $12 = $11;
    18692  $13 = $6;
    18693  $14 = $13;
    18694  $15 = (+Math_pow((+$12),(+$14)));
    18695  $16 = $15;
    18696  $5 = $16;
    18697  $17 = ((($2)) + 4|0);
    18698  $18 = HEAP32[$17>>2]|0;
    18699  $19 = ($18|0)==(3);
    18700  do {
    18701   if ($19) {
    18702    $20 = ((($4)) + 4|0);
    18703    $21 = HEAP32[$20>>2]|0;
    18704    $22 = ($21|0)==(3);
    18705    $23 = $5;
    18706    $24 = $23 <= 2147483648.0;
    18707    $or$cond = $22 & $24;
    18708    $25 = $5;
    18709    $26 = $25 >= -2147483648.0;
    18710    $or$cond3 = $or$cond & $26;
    18711    $27 = $6;
    18712    $28 = $27 > 0.0;
    18713    $or$cond5 = $or$cond3 & $28;
    18714    if ($or$cond5) {
    18715     $29 = $5;
    18716     $30 = $29 < 0.0;
    18717     if (!($30)) {
    18718      $31 = $5;
    18719      $32 = $31 > 0.0;
    18720      if (!($32)) {
    18721       break;
    18722      }
    18723      $33 = $5;
    18724      $34 = (~~(($33)));
    18725      $35 = ($34|0)>(0);
    18726      if (!($35)) {
    18727       break;
    18728      }
    18729     }
    18730     $36 = $5;
    18731     $37 = (~~(($36)));
    18732     _mrb_fixnum_value_125($0,$37);
    18733     STACKTOP = sp;return;
    18734    }
    18735   }
    18736  } while(0);
    18737  $38 = $3;
    18738  $39 = $5;
    18739  _mrb_float_value($0,$38,$39);
    18740  STACKTOP = sp;return;
    18741 }
    18742 function _num_div($0,$1,$2) {
    18743  $0 = $0|0;
    18744  $1 = $1|0;
    18745  $2 = $2|0;
    18746  var $$byval_copy = 0, $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
    18747  sp = STACKTOP;
    18748  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    18749  $$byval_copy = sp + 16|0;
    18750  $vararg_buffer = sp;
    18751  $4 = sp + 4|0;
    18752  $3 = $1;
    18753  $5 = $3;
    18754  HEAP32[$vararg_buffer>>2] = $4;
    18755  (_mrb_get_args($5,55326,$vararg_buffer)|0);
    18756  $6 = $3;
    18757  $7 = $3;
    18758  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    18759  $8 = (+_mrb_to_flo($7,$$byval_copy));
    18760  $9 = +HEAPF32[$4>>2];
    18761  $10 = $8 / $9;
    18762  _mrb_float_value($0,$6,$10);
    18763  STACKTOP = sp;return;
    18764 }
    18765 function _num_cmp($0,$1,$2) {
    18766  $0 = $0|0;
    18767  $1 = $1|0;
    18768  $2 = $2|0;
    18769  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0;
    18770  var label = 0, sp = 0;
    18771  sp = STACKTOP;
    18772  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    18773  $$byval_copy = sp + 32|0;
    18774  $vararg_buffer = sp;
    18775  $4 = sp + 16|0;
    18776  $3 = $1;
    18777  $7 = $3;
    18778  HEAP32[$vararg_buffer>>2] = $4;
    18779  (_mrb_get_args($7,69199,$vararg_buffer)|0);
    18780  $8 = $3;
    18781  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    18782  $9 = (+_mrb_to_flo($8,$$byval_copy));
    18783  $5 = $9;
    18784  $10 = ((($4)) + 4|0);
    18785  $11 = HEAP32[$10>>2]|0;
    18786  switch ($11|0) {
    18787  case 3:  {
    18788   $12 = HEAP32[$4>>2]|0;
    18789   $13 = (+($12|0));
    18790   $6 = $13;
    18791   break;
    18792  }
    18793  case 6:  {
    18794   $14 = +HEAPF32[$4>>2];
    18795   $6 = $14;
    18796   break;
    18797  }
    18798  default: {
    18799   _mrb_nil_value_168($0);
    18800   STACKTOP = sp;return;
    18801  }
    18802  }
    18803  $15 = $5;
    18804  $16 = $6;
    18805  $17 = $15 > $16;
    18806  if ($17) {
    18807   _mrb_fixnum_value_125($0,1);
    18808   STACKTOP = sp;return;
    18809  }
    18810  $18 = $5;
    18811  $19 = $6;
    18812  $20 = $18 < $19;
    18813  if ($20) {
    18814   _mrb_fixnum_value_125($0,-1);
    18815   STACKTOP = sp;return;
    18816  } else {
    18817   _mrb_fixnum_value_125($0,0);
    18818   STACKTOP = sp;return;
    18819  }
    18820 }
    18821 function _int_to_i($0,$1,$2) {
    18822  $0 = $0|0;
    18823  $1 = $1|0;
    18824  $2 = $2|0;
    18825  var $3 = 0, label = 0, sp = 0;
    18826  sp = STACKTOP;
    18827  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    18828  $3 = $1;
    18829  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    18830  STACKTOP = sp;return;
    18831 }
    18832 function _fix_plus($0,$1,$2) {
    18833  $0 = $0|0;
    18834  $1 = $1|0;
    18835  $2 = $2|0;
    18836  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    18837  sp = STACKTOP;
    18838  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    18839  $$byval_copy1 = sp + 32|0;
    18840  $$byval_copy = sp + 24|0;
    18841  $vararg_buffer = sp;
    18842  $4 = sp + 8|0;
    18843  $3 = $1;
    18844  $5 = $3;
    18845  HEAP32[$vararg_buffer>>2] = $4;
    18846  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    18847  $6 = $3;
    18848  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    18849  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    18850  _mrb_fixnum_plus($0,$6,$$byval_copy,$$byval_copy1);
    18851  STACKTOP = sp;return;
    18852 }
    18853 function _fix_minus($0,$1,$2) {
    18854  $0 = $0|0;
    18855  $1 = $1|0;
    18856  $2 = $2|0;
    18857  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    18858  sp = STACKTOP;
    18859  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    18860  $$byval_copy1 = sp + 32|0;
    18861  $$byval_copy = sp + 24|0;
    18862  $vararg_buffer = sp;
    18863  $4 = sp + 8|0;
    18864  $3 = $1;
    18865  $5 = $3;
    18866  HEAP32[$vararg_buffer>>2] = $4;
    18867  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    18868  $6 = $3;
    18869  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    18870  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    18871  _mrb_fixnum_minus($0,$6,$$byval_copy,$$byval_copy1);
    18872  STACKTOP = sp;return;
    18873 }
    18874 function _fix_mul($0,$1,$2) {
    18875  $0 = $0|0;
    18876  $1 = $1|0;
    18877  $2 = $2|0;
    18878  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    18879  sp = STACKTOP;
    18880  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    18881  $$byval_copy1 = sp + 32|0;
    18882  $$byval_copy = sp + 24|0;
    18883  $vararg_buffer = sp;
    18884  $4 = sp + 8|0;
    18885  $3 = $1;
    18886  $5 = $3;
    18887  HEAP32[$vararg_buffer>>2] = $4;
    18888  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    18889  $6 = $3;
    18890  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    18891  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    18892  _mrb_fixnum_mul($0,$6,$$byval_copy,$$byval_copy1);
    18893  STACKTOP = sp;return;
    18894 }
    18895 function _fix_mod($0,$1,$2) {
    18896  $0 = $0|0;
    18897  $1 = $1|0;
    18898  $2 = $2|0;
    18899  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $3 = 0, $4 = 0;
    18900  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    18901  sp = STACKTOP;
    18902  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    18903  $$byval_copy = sp + 40|0;
    18904  $vararg_buffer = sp;
    18905  $4 = sp + 24|0;
    18906  $7 = sp + 8|0;
    18907  $8 = sp + 4|0;
    18908  $3 = $1;
    18909  $9 = $3;
    18910  HEAP32[$vararg_buffer>>2] = $4;
    18911  (_mrb_get_args($9,69199,$vararg_buffer)|0);
    18912  $10 = HEAP32[$2>>2]|0;
    18913  $5 = $10;
    18914  $11 = ((($4)) + 4|0);
    18915  $12 = HEAP32[$11>>2]|0;
    18916  $13 = ($12|0)==(3);
    18917  if (!($13)) {
    18918   $20 = $3;
    18919   $21 = $5;
    18920   $22 = (+($21|0));
    18921   $23 = $3;
    18922   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    18923   $24 = (+_mrb_to_flo($23,$$byval_copy));
    18924   _flodivmod($20,$22,$24,0,$8);
    18925   $25 = $3;
    18926   $26 = +HEAPF32[$8>>2];
    18927   _mrb_float_value($0,$25,$26);
    18928   STACKTOP = sp;return;
    18929  }
    18930  $14 = HEAP32[$4>>2]|0;
    18931  $6 = $14;
    18932  $15 = ($14|0)==(0);
    18933  $16 = $3;
    18934  if ($15) {
    18935   _mrb_float_value($0,$16,nan);
    18936   STACKTOP = sp;return;
    18937  } else {
    18938   $17 = $5;
    18939   $18 = $6;
    18940   _fixdivmod($16,$17,$18,0,$7);
    18941   $19 = HEAP32[$7>>2]|0;
    18942   _mrb_fixnum_value_125($0,$19);
    18943   STACKTOP = sp;return;
    18944  }
    18945 }
    18946 function _fix_equal($0,$1,$2) {
    18947  $0 = $0|0;
    18948  $1 = $1|0;
    18949  $2 = $2|0;
    18950  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    18951  sp = STACKTOP;
    18952  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    18953  $vararg_buffer = sp;
    18954  $4 = sp + 8|0;
    18955  $3 = $1;
    18956  $5 = $3;
    18957  HEAP32[$vararg_buffer>>2] = $4;
    18958  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    18959  $6 = ((($4)) + 4|0);
    18960  $7 = HEAP32[$6>>2]|0;
    18961  switch ($7|0) {
    18962  case 3:  {
    18963   $8 = HEAP32[$2>>2]|0;
    18964   $9 = HEAP32[$4>>2]|0;
    18965   $10 = ($8|0)==($9|0);
    18966   $11 = $10&1;
    18967   $12 = $11&255;
    18968   _mrb_bool_value_165($0,$12);
    18969   STACKTOP = sp;return;
    18970   break;
    18971  }
    18972  case 6:  {
    18973   $13 = HEAP32[$2>>2]|0;
    18974   $14 = (+($13|0));
    18975   $15 = +HEAPF32[$4>>2];
    18976   $16 = $14 == $15;
    18977   $17 = $16&1;
    18978   $18 = $17&255;
    18979   _mrb_bool_value_165($0,$18);
    18980   STACKTOP = sp;return;
    18981   break;
    18982  }
    18983  default: {
    18984   _mrb_false_value_167($0);
    18985   STACKTOP = sp;return;
    18986  }
    18987  }
    18988 }
    18989 function _fix_rev($0,$1,$2) {
    18990  $0 = $0|0;
    18991  $1 = $1|0;
    18992  $2 = $2|0;
    18993  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    18994  sp = STACKTOP;
    18995  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    18996  $3 = $1;
    18997  $5 = HEAP32[$2>>2]|0;
    18998  $4 = $5;
    18999  $6 = $4;
    19000  $7 = $6 ^ -1;
    19001  _mrb_fixnum_value_125($0,$7);
    19002  STACKTOP = sp;return;
    19003 }
    19004 function _fix_and($0,$1,$2) {
    19005  $0 = $0|0;
    19006  $1 = $1|0;
    19007  $2 = $2|0;
    19008  var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19009  sp = STACKTOP;
    19010  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    19011  $$byval_copy = sp + 32|0;
    19012  $vararg_buffer = sp;
    19013  $4 = sp + 16|0;
    19014  $5 = sp + 8|0;
    19015  $3 = $1;
    19016  $6 = $3;
    19017  HEAP32[$vararg_buffer>>2] = $4;
    19018  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    19019  $7 = $3;
    19020  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    19021  _bit_coerce($5,$7,$$byval_copy);
    19022  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    19023  $8 = HEAP32[$2>>2]|0;
    19024  $9 = HEAP32[$4>>2]|0;
    19025  $10 = $8 & $9;
    19026  _mrb_fixnum_value_125($0,$10);
    19027  STACKTOP = sp;return;
    19028 }
    19029 function _fix_or($0,$1,$2) {
    19030  $0 = $0|0;
    19031  $1 = $1|0;
    19032  $2 = $2|0;
    19033  var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19034  sp = STACKTOP;
    19035  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    19036  $$byval_copy = sp + 32|0;
    19037  $vararg_buffer = sp;
    19038  $4 = sp + 16|0;
    19039  $5 = sp + 8|0;
    19040  $3 = $1;
    19041  $6 = $3;
    19042  HEAP32[$vararg_buffer>>2] = $4;
    19043  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    19044  $7 = $3;
    19045  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    19046  _bit_coerce($5,$7,$$byval_copy);
    19047  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    19048  $8 = HEAP32[$2>>2]|0;
    19049  $9 = HEAP32[$4>>2]|0;
    19050  $10 = $8 | $9;
    19051  _mrb_fixnum_value_125($0,$10);
    19052  STACKTOP = sp;return;
    19053 }
    19054 function _fix_xor($0,$1,$2) {
    19055  $0 = $0|0;
    19056  $1 = $1|0;
    19057  $2 = $2|0;
    19058  var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19059  sp = STACKTOP;
    19060  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    19061  $$byval_copy = sp + 32|0;
    19062  $vararg_buffer = sp;
    19063  $4 = sp + 16|0;
    19064  $5 = sp + 8|0;
    19065  $3 = $1;
    19066  $6 = $3;
    19067  HEAP32[$vararg_buffer>>2] = $4;
    19068  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    19069  $7 = $3;
    19070  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    19071  _bit_coerce($5,$7,$$byval_copy);
    19072  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    19073  $8 = HEAP32[$2>>2]|0;
    19074  $9 = HEAP32[$4>>2]|0;
    19075  $10 = $8 ^ $9;
    19076  _mrb_fixnum_value_125($0,$10);
    19077  STACKTOP = sp;return;
    19078 }
    19079 function _fix_lshift($0,$1,$2) {
    19080  $0 = $0|0;
    19081  $1 = $1|0;
    19082  $2 = $2|0;
    19083  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    19084  sp = STACKTOP;
    19085  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19086  $4 = sp + 4|0;
    19087  $3 = $1;
    19088  $6 = $3;
    19089  _fix_shift_get_width($6,$4);
    19090  $7 = HEAP32[$4>>2]|0;
    19091  $8 = ($7|0)==(0);
    19092  if ($8) {
    19093   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    19094   STACKTOP = sp;return;
    19095  }
    19096  $9 = HEAP32[$2>>2]|0;
    19097  $5 = $9;
    19098  $10 = HEAP32[$4>>2]|0;
    19099  $11 = ($10|0)<(0);
    19100  if ($11) {
    19101   $12 = $5;
    19102   $13 = HEAP32[$4>>2]|0;
    19103   $14 = (0 - ($13))|0;
    19104   _rshift($0,$12,$14);
    19105   STACKTOP = sp;return;
    19106  } else {
    19107   $15 = $3;
    19108   $16 = $5;
    19109   $17 = HEAP32[$4>>2]|0;
    19110   _lshift($0,$15,$16,$17);
    19111   STACKTOP = sp;return;
    19112  }
    19113 }
    19114 function _fix_rshift($0,$1,$2) {
    19115  $0 = $0|0;
    19116  $1 = $1|0;
    19117  $2 = $2|0;
    19118  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    19119  sp = STACKTOP;
    19120  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19121  $4 = sp + 4|0;
    19122  $3 = $1;
    19123  $6 = $3;
    19124  _fix_shift_get_width($6,$4);
    19125  $7 = HEAP32[$4>>2]|0;
    19126  $8 = ($7|0)==(0);
    19127  if ($8) {
    19128   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    19129   STACKTOP = sp;return;
    19130  }
    19131  $9 = HEAP32[$2>>2]|0;
    19132  $5 = $9;
    19133  $10 = HEAP32[$4>>2]|0;
    19134  $11 = ($10|0)<(0);
    19135  if ($11) {
    19136   $12 = $3;
    19137   $13 = $5;
    19138   $14 = HEAP32[$4>>2]|0;
    19139   $15 = (0 - ($14))|0;
    19140   _lshift($0,$12,$13,$15);
    19141   STACKTOP = sp;return;
    19142  } else {
    19143   $16 = $5;
    19144   $17 = HEAP32[$4>>2]|0;
    19145   _rshift($0,$16,$17);
    19146   STACKTOP = sp;return;
    19147  }
    19148 }
    19149 function _fix_eql($0,$1,$2) {
    19150  $0 = $0|0;
    19151  $1 = $1|0;
    19152  $2 = $2|0;
    19153  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19154  sp = STACKTOP;
    19155  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19156  $vararg_buffer = sp;
    19157  $4 = sp + 8|0;
    19158  $3 = $1;
    19159  $5 = $3;
    19160  HEAP32[$vararg_buffer>>2] = $4;
    19161  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    19162  $6 = ((($4)) + 4|0);
    19163  $7 = HEAP32[$6>>2]|0;
    19164  $8 = ($7|0)==(3);
    19165  if ($8) {
    19166   $9 = HEAP32[$2>>2]|0;
    19167   $10 = HEAP32[$4>>2]|0;
    19168   $11 = ($9|0)==($10|0);
    19169   $12 = $11&1;
    19170   $13 = $12&255;
    19171   _mrb_bool_value_165($0,$13);
    19172   STACKTOP = sp;return;
    19173  } else {
    19174   _mrb_false_value_167($0);
    19175   STACKTOP = sp;return;
    19176  }
    19177 }
    19178 function _flo_hash($0,$1,$2) {
    19179  $0 = $0|0;
    19180  $1 = $1|0;
    19181  $2 = $2|0;
    19182  var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0;
    19183  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0;
    19184  sp = STACKTOP;
    19185  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19186  $4 = sp + 12|0;
    19187  $3 = $1;
    19188  $8 = HEAP32[$2>>2]|0;
    19189  $9 = (+($8|0));
    19190  HEAPF32[$4>>2] = $9;
    19191  $10 = +HEAPF32[$4>>2];
    19192  $11 = $10 == 0.0;
    19193  if ($11) {
    19194   HEAPF32[$4>>2] = 0.0;
    19195  }
    19196  $5 = $4;
    19197  $7 = 0;
    19198  $6 = 0;
    19199  while(1) {
    19200   $12 = $6;
    19201   $13 = ($12>>>0)<(4);
    19202   $14 = $7;
    19203   if (!($13)) {
    19204    break;
    19205   }
    19206   $15 = ($14*971)|0;
    19207   $16 = $5;
    19208   $17 = $6;
    19209   $18 = (($16) + ($17)|0);
    19210   $19 = HEAP8[$18>>0]|0;
    19211   $20 = $19&255;
    19212   $21 = $15 ^ $20;
    19213   $7 = $21;
    19214   $22 = $6;
    19215   $23 = (($22) + 1)|0;
    19216   $6 = $23;
    19217  }
    19218  $24 = ($14|0)<(0);
    19219  if (!($24)) {
    19220   $27 = $7;
    19221   _mrb_fixnum_value_125($0,$27);
    19222   STACKTOP = sp;return;
    19223  }
    19224  $25 = $7;
    19225  $26 = (0 - ($25))|0;
    19226  $7 = $26;
    19227  $27 = $7;
    19228  _mrb_fixnum_value_125($0,$27);
    19229  STACKTOP = sp;return;
    19230 }
    19231 function _fix_to_f($0,$1,$2) {
    19232  $0 = $0|0;
    19233  $1 = $1|0;
    19234  $2 = $2|0;
    19235  var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, label = 0, sp = 0;
    19236  sp = STACKTOP;
    19237  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19238  $3 = $1;
    19239  $4 = $3;
    19240  $5 = HEAP32[$2>>2]|0;
    19241  $6 = (+($5|0));
    19242  _mrb_float_value($0,$4,$6);
    19243  STACKTOP = sp;return;
    19244 }
    19245 function _fix_to_s($0,$1,$2) {
    19246  $0 = $0|0;
    19247  $1 = $1|0;
    19248  $2 = $2|0;
    19249  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19250  sp = STACKTOP;
    19251  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19252  $$byval_copy = sp + 16|0;
    19253  $vararg_buffer = sp;
    19254  $4 = sp + 4|0;
    19255  $3 = $1;
    19256  HEAP32[$4>>2] = 10;
    19257  $5 = $3;
    19258  HEAP32[$vararg_buffer>>2] = $4;
    19259  (_mrb_get_args($5,64768,$vararg_buffer)|0);
    19260  $6 = $3;
    19261  $7 = HEAP32[$4>>2]|0;
    19262  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    19263  _mrb_fixnum_to_str($0,$6,$$byval_copy,$7);
    19264  STACKTOP = sp;return;
    19265 }
    19266 function _fix_divmod($0,$1,$2) {
    19267  $0 = $0|0;
    19268  $1 = $1|0;
    19269  $2 = $2|0;
    19270  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
    19271  var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0;
    19272  var $41 = 0.0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19273  sp = STACKTOP;
    19274  STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
    19275  $$byval_copy6 = sp + 152|0;
    19276  $$byval_copy5 = sp + 144|0;
    19277  $$byval_copy4 = sp + 136|0;
    19278  $$byval_copy3 = sp + 128|0;
    19279  $$byval_copy2 = sp + 120|0;
    19280  $$byval_copy1 = sp + 112|0;
    19281  $$byval_copy = sp + 104|0;
    19282  $vararg_buffer = sp;
    19283  $4 = sp + 88|0;
    19284  $5 = sp + 84|0;
    19285  $6 = sp + 80|0;
    19286  $7 = sp + 72|0;
    19287  $8 = sp + 64|0;
    19288  $9 = sp + 56|0;
    19289  $10 = sp + 48|0;
    19290  $11 = sp + 44|0;
    19291  $12 = sp + 40|0;
    19292  $13 = sp + 32|0;
    19293  $14 = sp + 24|0;
    19294  $15 = sp + 16|0;
    19295  $16 = sp + 8|0;
    19296  $3 = $1;
    19297  $17 = $3;
    19298  HEAP32[$vararg_buffer>>2] = $4;
    19299  (_mrb_get_args($17,69199,$vararg_buffer)|0);
    19300  $18 = ((($4)) + 4|0);
    19301  $19 = HEAP32[$18>>2]|0;
    19302  $20 = ($19|0)==(3);
    19303  if (!($20)) {
    19304   $31 = $3;
    19305   $32 = HEAP32[$2>>2]|0;
    19306   $33 = (+($32|0));
    19307   $34 = $3;
    19308   ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;
    19309   $35 = (+_mrb_to_flo($34,$$byval_copy4));
    19310   _flodivmod($31,$33,$35,$11,$12);
    19311   $36 = $3;
    19312   $37 = +HEAPF32[$11>>2];
    19313   $38 = (~~(($37)));
    19314   $39 = (+($38|0));
    19315   _mrb_float_value($15,$36,$39);
    19316   ;HEAP32[$13>>2]=HEAP32[$15>>2]|0;HEAP32[$13+4>>2]=HEAP32[$15+4>>2]|0;
    19317   $40 = $3;
    19318   $41 = +HEAPF32[$12>>2];
    19319   _mrb_float_value($16,$40,$41);
    19320   ;HEAP32[$14>>2]=HEAP32[$16>>2]|0;HEAP32[$14+4>>2]=HEAP32[$16+4>>2]|0;
    19321   $42 = $3;
    19322   ;HEAP32[$$byval_copy5>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$13+4>>2]|0;
    19323   ;HEAP32[$$byval_copy6>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$14+4>>2]|0;
    19324   _mrb_assoc_new($0,$42,$$byval_copy5,$$byval_copy6);
    19325   STACKTOP = sp;return;
    19326  }
    19327  $21 = HEAP32[$4>>2]|0;
    19328  $22 = ($21|0)==(0);
    19329  $23 = $3;
    19330  if ($22) {
    19331   $24 = $3;
    19332   _mrb_float_value($7,$24,inf);
    19333   $25 = $3;
    19334   _mrb_float_value($8,$25,nan);
    19335   ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    19336   ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
    19337   _mrb_assoc_new($0,$23,$$byval_copy,$$byval_copy1);
    19338   STACKTOP = sp;return;
    19339  } else {
    19340   $26 = HEAP32[$2>>2]|0;
    19341   $27 = HEAP32[$4>>2]|0;
    19342   _fixdivmod($23,$26,$27,$5,$6);
    19343   $28 = $3;
    19344   $29 = HEAP32[$5>>2]|0;
    19345   _mrb_fixnum_value_125($9,$29);
    19346   $30 = HEAP32[$6>>2]|0;
    19347   _mrb_fixnum_value_125($10,$30);
    19348   ;HEAP32[$$byval_copy2>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$9+4>>2]|0;
    19349   ;HEAP32[$$byval_copy3>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$10+4>>2]|0;
    19350   _mrb_assoc_new($0,$28,$$byval_copy2,$$byval_copy3);
    19351   STACKTOP = sp;return;
    19352  }
    19353 }
    19354 function _flo_plus($0,$1,$2) {
    19355  $0 = $0|0;
    19356  $1 = $1|0;
    19357  $2 = $2|0;
    19358  var $$byval_copy = 0, $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
    19359  sp = STACKTOP;
    19360  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19361  $$byval_copy = sp + 24|0;
    19362  $vararg_buffer = sp;
    19363  $4 = sp + 8|0;
    19364  $3 = $1;
    19365  $5 = $3;
    19366  HEAP32[$vararg_buffer>>2] = $4;
    19367  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    19368  $6 = $3;
    19369  $7 = +HEAPF32[$2>>2];
    19370  $8 = $3;
    19371  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    19372  $9 = (+_mrb_to_flo($8,$$byval_copy));
    19373  $10 = $7 + $9;
    19374  _mrb_float_value($0,$6,$10);
    19375  STACKTOP = sp;return;
    19376 }
    19377 function _flo_minus($0,$1,$2) {
    19378  $0 = $0|0;
    19379  $1 = $1|0;
    19380  $2 = $2|0;
    19381  var $$byval_copy = 0, $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
    19382  sp = STACKTOP;
    19383  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19384  $$byval_copy = sp + 24|0;
    19385  $vararg_buffer = sp;
    19386  $4 = sp + 8|0;
    19387  $3 = $1;
    19388  $5 = $3;
    19389  HEAP32[$vararg_buffer>>2] = $4;
    19390  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    19391  $6 = $3;
    19392  $7 = +HEAPF32[$2>>2];
    19393  $8 = $3;
    19394  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    19395  $9 = (+_mrb_to_flo($8,$$byval_copy));
    19396  $10 = $7 - $9;
    19397  _mrb_float_value($0,$6,$10);
    19398  STACKTOP = sp;return;
    19399 }
    19400 function _flo_mul($0,$1,$2) {
    19401  $0 = $0|0;
    19402  $1 = $1|0;
    19403  $2 = $2|0;
    19404  var $$byval_copy = 0, $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
    19405  sp = STACKTOP;
    19406  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19407  $$byval_copy = sp + 24|0;
    19408  $vararg_buffer = sp;
    19409  $4 = sp + 8|0;
    19410  $3 = $1;
    19411  $5 = $3;
    19412  HEAP32[$vararg_buffer>>2] = $4;
    19413  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    19414  $6 = $3;
    19415  $7 = +HEAPF32[$2>>2];
    19416  $8 = $3;
    19417  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    19418  $9 = (+_mrb_to_flo($8,$$byval_copy));
    19419  $10 = $7 * $9;
    19420  _mrb_float_value($0,$6,$10);
    19421  STACKTOP = sp;return;
    19422 }
    19423 function _flo_mod($0,$1,$2) {
    19424  $0 = $0|0;
    19425  $1 = $1|0;
    19426  $2 = $2|0;
    19427  var $$byval_copy = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19428  sp = STACKTOP;
    19429  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19430  $$byval_copy = sp + 24|0;
    19431  $vararg_buffer = sp;
    19432  $4 = sp + 8|0;
    19433  $5 = sp + 4|0;
    19434  $3 = $1;
    19435  $6 = $3;
    19436  HEAP32[$vararg_buffer>>2] = $4;
    19437  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    19438  $7 = $3;
    19439  $8 = +HEAPF32[$2>>2];
    19440  $9 = $3;
    19441  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    19442  $10 = (+_mrb_to_flo($9,$$byval_copy));
    19443  _flodivmod($7,$8,$10,0,$5);
    19444  $11 = $3;
    19445  $12 = +HEAPF32[$5>>2];
    19446  _mrb_float_value($0,$11,$12);
    19447  STACKTOP = sp;return;
    19448 }
    19449 function _flo_eq($0,$1,$2) {
    19450  $0 = $0|0;
    19451  $1 = $1|0;
    19452  $2 = $2|0;
    19453  var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19454  sp = STACKTOP;
    19455  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19456  $vararg_buffer = sp;
    19457  $4 = sp + 8|0;
    19458  $3 = $1;
    19459  $5 = $3;
    19460  HEAP32[$vararg_buffer>>2] = $4;
    19461  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    19462  $6 = ((($4)) + 4|0);
    19463  $7 = HEAP32[$6>>2]|0;
    19464  switch ($7|0) {
    19465  case 3:  {
    19466   $8 = +HEAPF32[$2>>2];
    19467   $9 = HEAP32[$4>>2]|0;
    19468   $10 = (+($9|0));
    19469   $11 = $8 == $10;
    19470   $12 = $11&1;
    19471   $13 = $12&255;
    19472   _mrb_bool_value_165($0,$13);
    19473   STACKTOP = sp;return;
    19474   break;
    19475  }
    19476  case 6:  {
    19477   $14 = +HEAPF32[$2>>2];
    19478   $15 = +HEAPF32[$4>>2];
    19479   $16 = $14 == $15;
    19480   $17 = $16&1;
    19481   $18 = $17&255;
    19482   _mrb_bool_value_165($0,$18);
    19483   STACKTOP = sp;return;
    19484   break;
    19485  }
    19486  default: {
    19487   _mrb_false_value_167($0);
    19488   STACKTOP = sp;return;
    19489  }
    19490  }
    19491 }
    19492 function _flo_ceil($0,$1,$2) {
    19493  $0 = $0|0;
    19494  $1 = $1|0;
    19495  $2 = $2|0;
    19496  var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, label = 0, sp = 0;
    19497  sp = STACKTOP;
    19498  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19499  $3 = $1;
    19500  $5 = +HEAPF32[$2>>2];
    19501  $6 = (+Math_ceil((+$5)));
    19502  $4 = $6;
    19503  $7 = $4;
    19504  $8 = $7 <= 2147483648.0;
    19505  $9 = $4;
    19506  $10 = $9 >= -2147483648.0;
    19507  $or$cond = $8 & $10;
    19508  if ($or$cond) {
    19509   $13 = $4;
    19510   $14 = (~~(($13)));
    19511   _mrb_fixnum_value_125($0,$14);
    19512   STACKTOP = sp;return;
    19513  } else {
    19514   $11 = $3;
    19515   $12 = $4;
    19516   _mrb_float_value($0,$11,$12);
    19517   STACKTOP = sp;return;
    19518  }
    19519 }
    19520 function _flo_finite_p($0,$1,$2) {
    19521  $0 = $0|0;
    19522  $1 = $1|0;
    19523  $2 = $2|0;
    19524  var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    19525  sp = STACKTOP;
    19526  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19527  $3 = $1;
    19528  $4 = +HEAPF32[$2>>2];
    19529  $5 = (___FLOAT_BITS_126($4)|0);
    19530  $6 = $5 & 2147483647;
    19531  $7 = ($6>>>0)<(2139095040);
    19532  $8 = $7&1;
    19533  $9 = $8&255;
    19534  _mrb_bool_value_165($0,$9);
    19535  STACKTOP = sp;return;
    19536 }
    19537 function _flo_floor($0,$1,$2) {
    19538  $0 = $0|0;
    19539  $1 = $1|0;
    19540  $2 = $2|0;
    19541  var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, label = 0, sp = 0;
    19542  sp = STACKTOP;
    19543  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19544  $3 = $1;
    19545  $5 = +HEAPF32[$2>>2];
    19546  $6 = (+Math_floor((+$5)));
    19547  $4 = $6;
    19548  $7 = $4;
    19549  $8 = $7 <= 2147483648.0;
    19550  $9 = $4;
    19551  $10 = $9 >= -2147483648.0;
    19552  $or$cond = $8 & $10;
    19553  if ($or$cond) {
    19554   $13 = $4;
    19555   $14 = (~~(($13)));
    19556   _mrb_fixnum_value_125($0,$14);
    19557   STACKTOP = sp;return;
    19558  } else {
    19559   $11 = $3;
    19560   $12 = $4;
    19561   _mrb_float_value($0,$11,$12);
    19562   STACKTOP = sp;return;
    19563  }
    19564 }
    19565 function _flo_infinite_p($0,$1,$2) {
    19566  $0 = $0|0;
    19567  $1 = $1|0;
    19568  $2 = $2|0;
    19569  var $10 = 0.0, $11 = 0, $12 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    19570  sp = STACKTOP;
    19571  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19572  $3 = $1;
    19573  $5 = +HEAPF32[$2>>2];
    19574  $4 = $5;
    19575  $6 = $4;
    19576  $7 = (___FLOAT_BITS_126($6)|0);
    19577  $8 = $7 & 2147483647;
    19578  $9 = ($8|0)==(2139095040);
    19579  if ($9) {
    19580   $10 = $4;
    19581   $11 = $10 < 0.0;
    19582   $12 = $11 ? -1 : 1;
    19583   _mrb_fixnum_value_125($0,$12);
    19584   STACKTOP = sp;return;
    19585  } else {
    19586   _mrb_nil_value_168($0);
    19587   STACKTOP = sp;return;
    19588  }
    19589 }
    19590 function _flo_round($0,$1,$2) {
    19591  $0 = $0|0;
    19592  $1 = $1|0;
    19593  $2 = $2|0;
    19594  var $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
    19595  var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
    19596  var $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
    19597  var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0;
    19598  var $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0;
    19599  var $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19600  sp = STACKTOP;
    19601  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    19602  $vararg_buffer = sp + 24|0;
    19603  $6 = sp + 32|0;
    19604  $3 = $1;
    19605  HEAP32[$6>>2] = 0;
    19606  $9 = $3;
    19607  HEAP32[$vararg_buffer>>2] = $6;
    19608  (_mrb_get_args($9,64768,$vararg_buffer)|0);
    19609  $10 = +HEAPF32[$2>>2];
    19610  $11 = $10;
    19611  $4 = $11;
    19612  $12 = $4;
    19613  $13 = (___DOUBLE_BITS_127($12)|0);
    19614  $14 = tempRet0;
    19615  $15 = $14 & 2147483647;
    19616  $16 = ($13|0)==(0);
    19617  $17 = ($15|0)==(2146435072);
    19618  $18 = $16 & $17;
    19619  if ($18) {
    19620   $19 = HEAP32[$6>>2]|0;
    19621   $20 = (0)<($19|0);
    19622   if (!($20)) {
    19623    $21 = $3;
    19624    $22 = $3;
    19625    $23 = (_mrb_class_get($22,55154)|0);
    19626    $24 = $4;
    19627    $25 = $24 < 0.0;
    19628    $26 = $25 ? 55171 : 55181;
    19629    _mrb_raise($21,$23,$26);
    19630    // unreachable;
    19631   }
    19632   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    19633   STACKTOP = sp;return;
    19634  }
    19635  $27 = $4;
    19636  $28 = (___DOUBLE_BITS_127($27)|0);
    19637  $29 = tempRet0;
    19638  $30 = $29 & 2147483647;
    19639  $31 = ($30>>>0)>(2146435072);
    19640  $32 = ($28>>>0)>(0);
    19641  $33 = ($30|0)==(2146435072);
    19642  $34 = $33 & $32;
    19643  $35 = $31 | $34;
    19644  if ($35) {
    19645   $36 = HEAP32[$6>>2]|0;
    19646   $37 = (0)<($36|0);
    19647   if (!($37)) {
    19648    $38 = $3;
    19649    $39 = $3;
    19650    $40 = (_mrb_class_get($39,55154)|0);
    19651    _mrb_raise($38,$40,55190);
    19652    // unreachable;
    19653   }
    19654   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    19655   STACKTOP = sp;return;
    19656  }
    19657  $5 = 1.0;
    19658  $41 = HEAP32[$6>>2]|0;
    19659  $42 = ($41|0)>=(0);
    19660  $43 = HEAP32[$6>>2]|0;
    19661  $44 = (0 - ($43))|0;
    19662  $45 = $42 ? $43 : $44;
    19663  $7 = $45;
    19664  while(1) {
    19665   $46 = $7;
    19666   $47 = (($46) + -1)|0;
    19667   $7 = $47;
    19668   $48 = ($47|0)>=(0);
    19669   $49 = $5;
    19670   if (!($48)) {
    19671    break;
    19672   }
    19673   $50 = $49 * 10.0;
    19674   $5 = $50;
    19675  }
    19676  $51 = (___DOUBLE_BITS_127($49)|0);
    19677  $52 = tempRet0;
    19678  $53 = $52 & 2147483647;
    19679  $54 = ($51|0)==(0);
    19680  $55 = ($53|0)==(2146435072);
    19681  $56 = $54 & $55;
    19682  $57 = HEAP32[$6>>2]|0;
    19683  $58 = ($57|0)<(0);
    19684  do {
    19685   if ($56) {
    19686    if ($58) {
    19687     $4 = 0.0;
    19688    }
    19689   } else {
    19690    $59 = $5;
    19691    $60 = $4;
    19692    if ($58) {
    19693     $61 = $60 / $59;
    19694     $4 = $61;
    19695    } else {
    19696     $62 = $60 * $59;
    19697     $4 = $62;
    19698    }
    19699    $63 = $4;
    19700    $64 = $63 > 0.0;
    19701    $65 = $4;
    19702    if ($64) {
    19703     $66 = $65;
    19704     $67 = (+Math_floor((+$66)));
    19705     $68 = $67;
    19706     $8 = $68;
    19707     $69 = $8;
    19708     $70 = $4;
    19709     $71 = $8;
    19710     $72 = $70 - $71;
    19711     $73 = $72 >= 0.5;
    19712     $74 = $73&1;
    19713     $75 = (+($74|0));
    19714     $76 = $69 + $75;
    19715     $4 = $76;
    19716    } else {
    19717     $77 = $65 < 0.0;
    19718     if ($77) {
    19719      $78 = $4;
    19720      $79 = $78;
    19721      $80 = (+Math_ceil((+$79)));
    19722      $81 = $80;
    19723      $8 = $81;
    19724      $82 = $8;
    19725      $83 = $8;
    19726      $84 = $4;
    19727      $85 = $83 - $84;
    19728      $86 = $85 >= 0.5;
    19729      $87 = $86&1;
    19730      $88 = (+($87|0));
    19731      $89 = $82 - $88;
    19732      $4 = $89;
    19733     }
    19734    }
    19735    $90 = HEAP32[$6>>2]|0;
    19736    $91 = ($90|0)<(0);
    19737    $92 = $5;
    19738    $93 = $4;
    19739    if ($91) {
    19740     $94 = $93 * $92;
    19741     $4 = $94;
    19742     break;
    19743    } else {
    19744     $95 = $93 / $92;
    19745     $4 = $95;
    19746     break;
    19747    }
    19748   }
    19749  } while(0);
    19750  $96 = HEAP32[$6>>2]|0;
    19751  $97 = ($96|0)>(0);
    19752  $98 = $4;
    19753  if (!($97)) {
    19754   $110 = (~~(($98)));
    19755   _mrb_fixnum_value_125($0,$110);
    19756   STACKTOP = sp;return;
    19757  }
    19758  $99 = (___DOUBLE_BITS_127($98)|0);
    19759  $100 = tempRet0;
    19760  $101 = $100 & 2147483647;
    19761  $102 = ($101>>>0)<(2146435072);
    19762  $103 = ($99>>>0)<(0);
    19763  $104 = ($101|0)==(2146435072);
    19764  $105 = $104 & $103;
    19765  $106 = $102 | $105;
    19766  if ($106) {
    19767   $107 = $3;
    19768   $108 = $4;
    19769   $109 = $108;
    19770   _mrb_float_value($0,$107,$109);
    19771   STACKTOP = sp;return;
    19772  } else {
    19773   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    19774   STACKTOP = sp;return;
    19775  }
    19776 }
    19777 function _flo_to_f($0,$1,$2) {
    19778  $0 = $0|0;
    19779  $1 = $1|0;
    19780  $2 = $2|0;
    19781  var $3 = 0, label = 0, sp = 0;
    19782  sp = STACKTOP;
    19783  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19784  $3 = $1;
    19785  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    19786  STACKTOP = sp;return;
    19787 }
    19788 function _flo_truncate($0,$1,$2) {
    19789  $0 = $0|0;
    19790  $1 = $1|0;
    19791  $2 = $2|0;
    19792  var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0;
    19793  var $9 = 0.0, $or$cond = 0, label = 0, sp = 0;
    19794  sp = STACKTOP;
    19795  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19796  $3 = $1;
    19797  $5 = +HEAPF32[$2>>2];
    19798  $4 = $5;
    19799  $6 = $4;
    19800  $7 = $6;
    19801  $8 = $7 > 0.0;
    19802  if ($8) {
    19803   $9 = $4;
    19804   $10 = (+Math_floor((+$9)));
    19805   $4 = $10;
    19806  }
    19807  $11 = $4;
    19808  $12 = $11;
    19809  $13 = $12 < 0.0;
    19810  if ($13) {
    19811   $14 = $4;
    19812   $15 = (+Math_ceil((+$14)));
    19813   $4 = $15;
    19814  }
    19815  $16 = $4;
    19816  $17 = $16 <= 2147483648.0;
    19817  $18 = $4;
    19818  $19 = $18 >= -2147483648.0;
    19819  $or$cond = $17 & $19;
    19820  if ($or$cond) {
    19821   $22 = $4;
    19822   $23 = (~~(($22)));
    19823   _mrb_fixnum_value_125($0,$23);
    19824   STACKTOP = sp;return;
    19825  } else {
    19826   $20 = $3;
    19827   $21 = $4;
    19828   _mrb_float_value($0,$20,$21);
    19829   STACKTOP = sp;return;
    19830  }
    19831 }
    19832 function _flo_divmod($0,$1,$2) {
    19833  $0 = $0|0;
    19834  $1 = $1|0;
    19835  $2 = $2|0;
    19836  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    19837  var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    19838  sp = STACKTOP;
    19839  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    19840  $$byval_copy2 = sp + 80|0;
    19841  $$byval_copy1 = sp + 72|0;
    19842  $$byval_copy = sp + 64|0;
    19843  $vararg_buffer = sp;
    19844  $4 = sp + 48|0;
    19845  $5 = sp + 44|0;
    19846  $6 = sp + 40|0;
    19847  $7 = sp + 32|0;
    19848  $8 = sp + 24|0;
    19849  $9 = sp + 16|0;
    19850  $10 = sp + 8|0;
    19851  $3 = $1;
    19852  $11 = $3;
    19853  HEAP32[$vararg_buffer>>2] = $4;
    19854  (_mrb_get_args($11,69199,$vararg_buffer)|0);
    19855  $12 = $3;
    19856  $13 = +HEAPF32[$2>>2];
    19857  $14 = $3;
    19858  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    19859  $15 = (+_mrb_to_flo($14,$$byval_copy));
    19860  _flodivmod($12,$13,$15,$5,$6);
    19861  $16 = $3;
    19862  $17 = +HEAPF32[$5>>2];
    19863  $18 = (~~(($17)));
    19864  $19 = (+($18|0));
    19865  _mrb_float_value($9,$16,$19);
    19866  ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
    19867  $20 = $3;
    19868  $21 = +HEAPF32[$6>>2];
    19869  _mrb_float_value($10,$20,$21);
    19870  ;HEAP32[$8>>2]=HEAP32[$10>>2]|0;HEAP32[$8+4>>2]=HEAP32[$10+4>>2]|0;
    19871  $22 = $3;
    19872  ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
    19873  ;HEAP32[$$byval_copy2>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$8+4>>2]|0;
    19874  _mrb_assoc_new($0,$22,$$byval_copy1,$$byval_copy2);
    19875  STACKTOP = sp;return;
    19876 }
    19877 function _flo_eql($0,$1,$2) {
    19878  $0 = $0|0;
    19879  $1 = $1|0;
    19880  $2 = $2|0;
    19881  var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
    19882  sp = STACKTOP;
    19883  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19884  $vararg_buffer = sp;
    19885  $4 = sp + 8|0;
    19886  $3 = $1;
    19887  $5 = $3;
    19888  HEAP32[$vararg_buffer>>2] = $4;
    19889  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    19890  $6 = ((($4)) + 4|0);
    19891  $7 = HEAP32[$6>>2]|0;
    19892  $8 = ($7|0)==(6);
    19893  if ($8) {
    19894   $9 = +HEAPF32[$2>>2];
    19895   $10 = HEAP32[$4>>2]|0;
    19896   $11 = (+($10|0));
    19897   $12 = $9 == $11;
    19898   $13 = $12&1;
    19899   $14 = $13&255;
    19900   _mrb_bool_value_165($0,$14);
    19901   STACKTOP = sp;return;
    19902  } else {
    19903   _mrb_false_value_167($0);
    19904   STACKTOP = sp;return;
    19905  }
    19906 }
    19907 function _flo_to_s($0,$1,$2) {
    19908  $0 = $0|0;
    19909  $1 = $1|0;
    19910  $2 = $2|0;
    19911  var $$byval_copy = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    19912  sp = STACKTOP;
    19913  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19914  $$byval_copy = sp + 8|0;
    19915  $3 = $1;
    19916  $4 = +HEAPF32[$2>>2];
    19917  $5 = (___FLOAT_BITS_126($4)|0);
    19918  $6 = $5 & 2147483647;
    19919  $7 = ($6>>>0)>(2139095040);
    19920  $8 = $3;
    19921  if ($7) {
    19922   _mrb_str_new_static($0,$8,55190,3);
    19923   STACKTOP = sp;return;
    19924  } else {
    19925   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    19926   _mrb_float_to_str($0,$8,$$byval_copy,55288);
    19927   STACKTOP = sp;return;
    19928  }
    19929 }
    19930 function _flo_nan_p($0,$1,$2) {
    19931  $0 = $0|0;
    19932  $1 = $1|0;
    19933  $2 = $2|0;
    19934  var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    19935  sp = STACKTOP;
    19936  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19937  $3 = $1;
    19938  $4 = +HEAPF32[$2>>2];
    19939  $5 = (___FLOAT_BITS_126($4)|0);
    19940  $6 = $5 & 2147483647;
    19941  $7 = ($6>>>0)>(2139095040);
    19942  $8 = $7&1;
    19943  $9 = $8&255;
    19944  _mrb_bool_value_165($0,$9);
    19945  STACKTOP = sp;return;
    19946 }
    19947 function _mrb_bool_value_165($0,$1) {
    19948  $0 = $0|0;
    19949  $1 = $1|0;
    19950  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    19951  sp = STACKTOP;
    19952  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19953  $3 = sp;
    19954  $2 = $1;
    19955  $4 = $2;
    19956  $5 = $4&255;
    19957  $6 = ($5|0)!=(0);
    19958  $7 = $6 ? 2 : 0;
    19959  $8 = ((($3)) + 4|0);
    19960  HEAP32[$8>>2] = $7;
    19961  HEAP32[$3>>2] = 1;
    19962  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    19963  STACKTOP = sp;return;
    19964 }
    19965 function _mrb_false_value_167($0) {
    19966  $0 = $0|0;
    19967  var $1 = 0, $2 = 0, label = 0, sp = 0;
    19968  sp = STACKTOP;
    19969  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    19970  $1 = sp;
    19971  $2 = ((($1)) + 4|0);
    19972  HEAP32[$2>>2] = 0;
    19973  HEAP32[$1>>2] = 1;
    19974  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    19975  STACKTOP = sp;return;
    19976 }
    19977 function _flodivmod($0,$1,$2,$3,$4) {
    19978  $0 = $0|0;
    19979  $1 = +$1;
    19980  $2 = +$2;
    19981  $3 = $3|0;
    19982  $4 = $4|0;
    19983  var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0;
    19984  var $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0;
    19985  var $5 = 0, $50 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
    19986  sp = STACKTOP;
    19987  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    19988  $5 = $0;
    19989  $6 = $1;
    19990  $7 = $2;
    19991  $8 = $3;
    19992  $9 = $4;
    19993  $12 = $7;
    19994  $13 = $12;
    19995  $14 = $13 == 0.0;
    19996  if ($14) {
    19997   $10 = inf;
    19998   $11 = nan;
    19999  } else {
    20000   $15 = $6;
    20001   $16 = $7;
    20002   $17 = (+_fmodf($15,$16));
    20003   $11 = $17;
    20004   $18 = $6;
    20005   $19 = (___FLOAT_BITS_126($18)|0);
    20006   $20 = $19 & 2147483647;
    20007   $21 = ($20|0)==(2139095040);
    20008   if ($21) {
    20009    $22 = $7;
    20010    $23 = (___FLOAT_BITS_126($22)|0);
    20011    $24 = $23 & 2147483647;
    20012    $25 = ($24>>>0)<(2139095040);
    20013    if ($25) {
    20014     $26 = $6;
    20015     $10 = $26;
    20016    } else {
    20017     label = 6;
    20018    }
    20019   } else {
    20020    label = 6;
    20021   }
    20022   if ((label|0) == 6) {
    20023    $27 = $6;
    20024    $28 = $11;
    20025    $29 = $27 - $28;
    20026    $30 = $7;
    20027    $31 = $29 / $30;
    20028    $10 = $31;
    20029   }
    20030   $32 = $7;
    20031   $33 = $11;
    20032   $34 = $32 * $33;
    20033   $35 = $34 < 0.0;
    20034   if ($35) {
    20035    $36 = $7;
    20036    $37 = $11;
    20037    $38 = $37 + $36;
    20038    $11 = $38;
    20039    $39 = $10;
    20040    $40 = $39;
    20041    $41 = $40 - 1.0;
    20042    $42 = $41;
    20043    $10 = $42;
    20044   }
    20045  }
    20046  $43 = $9;
    20047  $44 = ($43|0)!=(0|0);
    20048  if ($44) {
    20049   $45 = $11;
    20050   $46 = $9;
    20051   HEAPF32[$46>>2] = $45;
    20052  }
    20053  $47 = $8;
    20054  $48 = ($47|0)!=(0|0);
    20055  if (!($48)) {
    20056   STACKTOP = sp;return;
    20057  }
    20058  $49 = $10;
    20059  $50 = $8;
    20060  HEAPF32[$50>>2] = $49;
    20061  STACKTOP = sp;return;
    20062 }
    20063 function _mrb_nil_value_168($0) {
    20064  $0 = $0|0;
    20065  var $1 = 0, $2 = 0, label = 0, sp = 0;
    20066  sp = STACKTOP;
    20067  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20068  $1 = sp;
    20069  $2 = ((($1)) + 4|0);
    20070  HEAP32[$2>>2] = 0;
    20071  HEAP32[$1>>2] = 0;
    20072  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    20073  STACKTOP = sp;return;
    20074 }
    20075 function _fixdivmod($0,$1,$2,$3,$4) {
    20076  $0 = $0|0;
    20077  $1 = $1|0;
    20078  $2 = $2|0;
    20079  $3 = $3|0;
    20080  $4 = $4|0;
    20081  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    20082  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    20083  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
    20084  sp = STACKTOP;
    20085  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    20086  $5 = $0;
    20087  $6 = $1;
    20088  $7 = $2;
    20089  $8 = $3;
    20090  $9 = $4;
    20091  $12 = $7;
    20092  $13 = ($12|0)<(0);
    20093  $14 = $6;
    20094  $15 = ($14|0)<(0);
    20095  $16 = $6;
    20096  do {
    20097   if ($13) {
    20098    if ($15) {
    20099     $17 = (0 - ($16))|0;
    20100     $18 = $7;
    20101     $19 = (0 - ($18))|0;
    20102     $20 = (($17|0) / ($19|0))&-1;
    20103     $10 = $20;
    20104     break;
    20105    } else {
    20106     $21 = $7;
    20107     $22 = (0 - ($21))|0;
    20108     $23 = (($16|0) / ($22|0))&-1;
    20109     $24 = (0 - ($23))|0;
    20110     $10 = $24;
    20111     break;
    20112    }
    20113   } else {
    20114    if ($15) {
    20115     $25 = (0 - ($16))|0;
    20116     $26 = $7;
    20117     $27 = (($25|0) / ($26|0))&-1;
    20118     $28 = (0 - ($27))|0;
    20119     $10 = $28;
    20120     break;
    20121    } else {
    20122     $29 = $7;
    20123     $30 = (($16|0) / ($29|0))&-1;
    20124     $10 = $30;
    20125     break;
    20126    }
    20127   }
    20128  } while(0);
    20129  $31 = $6;
    20130  $32 = $10;
    20131  $33 = $7;
    20132  $34 = Math_imul($32, $33)|0;
    20133  $35 = (($31) - ($34))|0;
    20134  $11 = $35;
    20135  $36 = $11;
    20136  $37 = ($36|0)<(0);
    20137  $38 = $7;
    20138  $39 = ($38|0)>(0);
    20139  $or$cond = $37 & $39;
    20140  if ($or$cond) {
    20141   label = 10;
    20142  } else {
    20143   $40 = $11;
    20144   $41 = ($40|0)>(0);
    20145   $42 = $7;
    20146   $43 = ($42|0)<(0);
    20147   $or$cond3 = $41 & $43;
    20148   if ($or$cond3) {
    20149    label = 10;
    20150   }
    20151  }
    20152  if ((label|0) == 10) {
    20153   $44 = $7;
    20154   $45 = $11;
    20155   $46 = (($45) + ($44))|0;
    20156   $11 = $46;
    20157   $47 = $10;
    20158   $48 = (($47) - 1)|0;
    20159   $10 = $48;
    20160  }
    20161  $49 = $8;
    20162  $50 = ($49|0)!=(0|0);
    20163  if ($50) {
    20164   $51 = $10;
    20165   $52 = $8;
    20166   HEAP32[$52>>2] = $51;
    20167  }
    20168  $53 = $9;
    20169  $54 = ($53|0)!=(0|0);
    20170  if (!($54)) {
    20171   STACKTOP = sp;return;
    20172  }
    20173  $55 = $11;
    20174  $56 = $9;
    20175  HEAP32[$56>>2] = $55;
    20176  STACKTOP = sp;return;
    20177 }
    20178 function _fix_shift_get_width($0,$1) {
    20179  $0 = $0|0;
    20180  $1 = $1|0;
    20181  var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    20182  sp = STACKTOP;
    20183  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    20184  $$byval_copy = sp + 32|0;
    20185  $vararg_buffer = sp;
    20186  $4 = sp + 16|0;
    20187  $5 = sp + 8|0;
    20188  $2 = $0;
    20189  $3 = $1;
    20190  $6 = $2;
    20191  HEAP32[$vararg_buffer>>2] = $4;
    20192  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    20193  $7 = $2;
    20194  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    20195  _bit_coerce($5,$7,$$byval_copy);
    20196  $8 = HEAP32[$5>>2]|0;
    20197  $9 = $3;
    20198  HEAP32[$9>>2] = $8;
    20199  STACKTOP = sp;return;
    20200 }
    20201 function _lshift($0,$1,$2,$3) {
    20202  $0 = $0|0;
    20203  $1 = $1|0;
    20204  $2 = $2|0;
    20205  $3 = $3|0;
    20206  var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
    20207  sp = STACKTOP;
    20208  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20209  $4 = $1;
    20210  $5 = $2;
    20211  $6 = $3;
    20212  $8 = $6;
    20213  $9 = ($8|0)>(31);
    20214  $10 = $5;
    20215  if (!($9)) {
    20216   $19 = $6;
    20217   $20 = $10 << $19;
    20218   _mrb_fixnum_value_125($0,$20);
    20219   STACKTOP = sp;return;
    20220  }
    20221  $11 = (+($10|0));
    20222  $7 = $11;
    20223  while(1) {
    20224   $12 = $6;
    20225   $13 = (($12) + -1)|0;
    20226   $6 = $13;
    20227   $14 = ($12|0)!=(0);
    20228   if (!($14)) {
    20229    break;
    20230   }
    20231   $15 = $7;
    20232   $16 = $15 * 2.0;
    20233   $7 = $16;
    20234  }
    20235  $17 = $4;
    20236  $18 = $7;
    20237  _mrb_float_value($0,$17,$18);
    20238  STACKTOP = sp;return;
    20239 }
    20240 function _rshift($0,$1,$2) {
    20241  $0 = $0|0;
    20242  $1 = $1|0;
    20243  $2 = $2|0;
    20244  var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    20245  sp = STACKTOP;
    20246  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20247  $3 = $1;
    20248  $4 = $2;
    20249  $5 = $4;
    20250  $6 = ($5|0)>=(31);
    20251  $7 = $3;
    20252  do {
    20253   if ($6) {
    20254    $8 = ($7|0)<(0);
    20255    if ($8) {
    20256     _mrb_fixnum_value_125($0,-1);
    20257     break;
    20258    } else {
    20259     _mrb_fixnum_value_125($0,0);
    20260     break;
    20261    }
    20262   } else {
    20263    $9 = $4;
    20264    $10 = $7 >> $9;
    20265    _mrb_fixnum_value_125($0,$10);
    20266   }
    20267  } while(0);
    20268  STACKTOP = sp;return;
    20269 }
    20270 function _bit_coerce($0,$1,$2) {
    20271  $0 = $0|0;
    20272  $1 = $1|0;
    20273  $2 = $2|0;
    20274  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    20275  sp = STACKTOP;
    20276  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    20277  $$byval_copy = sp + 16|0;
    20278  $4 = sp;
    20279  $3 = $1;
    20280  while(1) {
    20281   $5 = ((($2)) + 4|0);
    20282   $6 = HEAP32[$5>>2]|0;
    20283   $7 = ($6|0)==(3);
    20284   $8 = $7 ^ 1;
    20285   if (!($8)) {
    20286    label = 6;
    20287    break;
    20288   }
    20289   $9 = ((($2)) + 4|0);
    20290   $10 = HEAP32[$9>>2]|0;
    20291   $11 = ($10|0)==(6);
    20292   $12 = $3;
    20293   if ($11) {
    20294    label = 4;
    20295    break;
    20296   }
    20297   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    20298   _mrb_to_int($4,$12,$$byval_copy);
    20299   ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;
    20300  }
    20301  if ((label|0) == 4) {
    20302   $13 = $3;
    20303   $14 = (_mrb_class_get($13,69204)|0);
    20304   _mrb_raise($12,$14,55293);
    20305   // unreachable;
    20306  }
    20307  else if ((label|0) == 6) {
    20308   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    20309   STACKTOP = sp;return;
    20310  }
    20311 }
    20312 function _mrb_obj_eq($0,$1,$2) {
    20313  $0 = $0|0;
    20314  $1 = $1|0;
    20315  $2 = $2|0;
    20316  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    20317  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    20318  sp = STACKTOP;
    20319  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20320  $4 = $0;
    20321  $5 = ((($1)) + 4|0);
    20322  $6 = HEAP32[$5>>2]|0;
    20323  $7 = ((($2)) + 4|0);
    20324  $8 = HEAP32[$7>>2]|0;
    20325  $9 = ($6|0)!=($8|0);
    20326  L1: do {
    20327   if ($9) {
    20328    $3 = 0;
    20329   } else {
    20330    $10 = ((($1)) + 4|0);
    20331    $11 = HEAP32[$10>>2]|0;
    20332    switch ($11|0) {
    20333    case 2:  {
    20334     $3 = 1;
    20335     break L1;
    20336     break;
    20337    }
    20338    case 3: case 0:  {
    20339     $12 = HEAP32[$1>>2]|0;
    20340     $13 = HEAP32[$2>>2]|0;
    20341     $14 = ($12|0)==($13|0);
    20342     $15 = $14&1;
    20343     $16 = $15&255;
    20344     $3 = $16;
    20345     break L1;
    20346     break;
    20347    }
    20348    case 4:  {
    20349     $17 = HEAP32[$1>>2]|0;
    20350     $18 = HEAP32[$2>>2]|0;
    20351     $19 = ($17|0)==($18|0);
    20352     $20 = $19&1;
    20353     $21 = $20&255;
    20354     $3 = $21;
    20355     break L1;
    20356     break;
    20357    }
    20358    case 6:  {
    20359     $22 = +HEAPF32[$1>>2];
    20360     $23 = +HEAPF32[$2>>2];
    20361     $24 = $22 == $23;
    20362     $25 = $24&1;
    20363     $26 = $25&255;
    20364     $3 = $26;
    20365     break L1;
    20366     break;
    20367    }
    20368    default: {
    20369     $27 = HEAP32[$1>>2]|0;
    20370     $28 = HEAP32[$2>>2]|0;
    20371     $29 = ($27|0)==($28|0);
    20372     $30 = $29&1;
    20373     $31 = $30&255;
    20374     $3 = $31;
    20375     break L1;
    20376    }
    20377    }
    20378   }
    20379  } while(0);
    20380  $32 = $3;
    20381  STACKTOP = sp;return ($32|0);
    20382 }
    20383 function _mrb_obj_equal($0,$1,$2) {
    20384  $0 = $0|0;
    20385  $1 = $1|0;
    20386  $2 = $2|0;
    20387  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    20388  sp = STACKTOP;
    20389  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    20390  $$byval_copy1 = sp + 16|0;
    20391  $$byval_copy = sp + 8|0;
    20392  $3 = $0;
    20393  $4 = $3;
    20394  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    20395  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    20396  $5 = (_mrb_obj_eq($4,$$byval_copy,$$byval_copy1)|0);
    20397  STACKTOP = sp;return ($5|0);
    20398 }
    20399 function _mrb_equal($0,$1,$2) {
    20400  $0 = $0|0;
    20401  $1 = $1|0;
    20402  $2 = $2|0;
    20403  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    20404  sp = STACKTOP;
    20405  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    20406  $$byval_copy2 = sp + 48|0;
    20407  $$byval_copy1 = sp + 40|0;
    20408  $$byval_copy = sp + 32|0;
    20409  $vararg_buffer = sp;
    20410  $5 = sp + 16|0;
    20411  $6 = sp + 8|0;
    20412  $4 = $0;
    20413  $7 = $4;
    20414  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    20415  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    20416  $8 = (_mrb_obj_eq($7,$$byval_copy,$$byval_copy1)|0);
    20417  $9 = ($8<<24>>24)!=(0);
    20418  if ($9) {
    20419   $3 = 1;
    20420   $14 = $3;
    20421   STACKTOP = sp;return ($14|0);
    20422  }
    20423  $10 = $4;
    20424  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    20425  ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;
    20426  _mrb_funcall($6,$10,$$byval_copy2,69201,1,$vararg_buffer);
    20427  ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
    20428  $11 = ((($5)) + 4|0);
    20429  $12 = HEAP32[$11>>2]|0;
    20430  $13 = ($12|0)!=(0);
    20431  if ($13) {
    20432   $3 = 1;
    20433   $14 = $3;
    20434   STACKTOP = sp;return ($14|0);
    20435  } else {
    20436   $3 = 0;
    20437   $14 = $3;
    20438   STACKTOP = sp;return ($14|0);
    20439  }
    20440  return (0)|0;
    20441 }
    20442 function _mrb_init_object($0) {
    20443  $0 = $0|0;
    20444  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    20445  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    20446  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    20447  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    20448  sp = STACKTOP;
    20449  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20450  $1 = $0;
    20451  $5 = $1;
    20452  $6 = $1;
    20453  $7 = ((($6)) + 32|0);
    20454  $8 = HEAP32[$7>>2]|0;
    20455  $9 = (_mrb_define_class($5,55328,$8)|0);
    20456  $2 = $9;
    20457  $10 = $1;
    20458  $11 = ((($10)) + 76|0);
    20459  HEAP32[$11>>2] = $9;
    20460  $12 = $1;
    20461  $13 = $2;
    20462  _mrb_undef_class_method($12,$13,67982);
    20463  $14 = $1;
    20464  $15 = $2;
    20465  _mrb_define_method($14,$15,69093,71,262144);
    20466  $16 = $1;
    20467  $17 = $2;
    20468  _mrb_define_method($16,$17,59555,72,262144);
    20469  $18 = $1;
    20470  $19 = $2;
    20471  _mrb_define_method($18,$19,59553,73,262144);
    20472  $20 = $1;
    20473  $21 = $2;
    20474  _mrb_define_method($20,$21,68558,74,0);
    20475  $22 = $1;
    20476  $23 = $2;
    20477  _mrb_define_method($22,$23,69276,75,0);
    20478  $24 = $1;
    20479  $25 = $2;
    20480  _mrb_define_method($24,$25,69281,76,0);
    20481  $26 = $1;
    20482  $27 = $1;
    20483  $28 = ((($27)) + 32|0);
    20484  $29 = HEAP32[$28>>2]|0;
    20485  $30 = (_mrb_define_class($26,55337,$29)|0);
    20486  $3 = $30;
    20487  $31 = $1;
    20488  $32 = ((($31)) + 68|0);
    20489  HEAP32[$32>>2] = $30;
    20490  $33 = $1;
    20491  $34 = $3;
    20492  _mrb_undef_class_method($33,$34,67982);
    20493  $35 = $1;
    20494  $36 = $3;
    20495  _mrb_define_method($35,$36,69093,77,262144);
    20496  $37 = $1;
    20497  $38 = $3;
    20498  _mrb_define_method($37,$38,59555,78,262144);
    20499  $39 = $1;
    20500  $40 = $3;
    20501  _mrb_define_method($39,$40,69276,79,0);
    20502  $41 = $1;
    20503  $42 = $3;
    20504  _mrb_define_method($41,$42,59553,80,262144);
    20505  $43 = $1;
    20506  $44 = $3;
    20507  _mrb_define_method($43,$44,69281,79,0);
    20508  $45 = $1;
    20509  $46 = $1;
    20510  $47 = ((($46)) + 32|0);
    20511  $48 = HEAP32[$47>>2]|0;
    20512  $49 = (_mrb_define_class($45,55347,$48)|0);
    20513  $4 = $49;
    20514  $50 = $1;
    20515  $51 = ((($50)) + 72|0);
    20516  HEAP32[$51>>2] = $49;
    20517  $52 = $1;
    20518  $53 = $4;
    20519  _mrb_undef_class_method($52,$53,67982);
    20520  $54 = $1;
    20521  $55 = $4;
    20522  _mrb_define_method($54,$55,69093,71,262144);
    20523  $56 = $1;
    20524  $57 = $4;
    20525  _mrb_define_method($56,$57,59555,72,262144);
    20526  $58 = $1;
    20527  $59 = $4;
    20528  _mrb_define_method($58,$59,69276,81,0);
    20529  $60 = $1;
    20530  $61 = $4;
    20531  _mrb_define_method($60,$61,59553,73,262144);
    20532  $62 = $1;
    20533  $63 = $4;
    20534  _mrb_define_method($62,$63,69281,81,0);
    20535  STACKTOP = sp;return;
    20536 }
    20537 function _false_and($0,$1,$2) {
    20538  $0 = $0|0;
    20539  $1 = $1|0;
    20540  $2 = $2|0;
    20541  var $3 = 0, label = 0, sp = 0;
    20542  sp = STACKTOP;
    20543  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20544  $3 = $1;
    20545  _mrb_false_value_190($0);
    20546  STACKTOP = sp;return;
    20547 }
    20548 function _false_xor($0,$1,$2) {
    20549  $0 = $0|0;
    20550  $1 = $1|0;
    20551  $2 = $2|0;
    20552  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    20553  sp = STACKTOP;
    20554  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20555  $vararg_buffer = sp;
    20556  $4 = sp + 8|0;
    20557  $3 = $1;
    20558  $5 = $3;
    20559  HEAP32[$vararg_buffer>>2] = $4;
    20560  (_mrb_get_args($5,55358,$vararg_buffer)|0);
    20561  $6 = HEAP8[$4>>0]|0;
    20562  _mrb_bool_value_188($0,$6);
    20563  STACKTOP = sp;return;
    20564 }
    20565 function _false_or($0,$1,$2) {
    20566  $0 = $0|0;
    20567  $1 = $1|0;
    20568  $2 = $2|0;
    20569  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    20570  sp = STACKTOP;
    20571  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20572  $vararg_buffer = sp;
    20573  $4 = sp + 8|0;
    20574  $3 = $1;
    20575  $5 = $3;
    20576  HEAP32[$vararg_buffer>>2] = $4;
    20577  (_mrb_get_args($5,55358,$vararg_buffer)|0);
    20578  $6 = HEAP8[$4>>0]|0;
    20579  _mrb_bool_value_188($0,$6);
    20580  STACKTOP = sp;return;
    20581 }
    20582 function _mrb_true($0,$1,$2) {
    20583  $0 = $0|0;
    20584  $1 = $1|0;
    20585  $2 = $2|0;
    20586  var $3 = 0, label = 0, sp = 0;
    20587  sp = STACKTOP;
    20588  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20589  $3 = $1;
    20590  _mrb_true_value_185($0);
    20591  STACKTOP = sp;return;
    20592 }
    20593 function _nil_to_s($0,$1,$2) {
    20594  $0 = $0|0;
    20595  $1 = $1|0;
    20596  $2 = $2|0;
    20597  var $3 = 0, $4 = 0, label = 0, sp = 0;
    20598  sp = STACKTOP;
    20599  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20600  $3 = $1;
    20601  $4 = $3;
    20602  _mrb_str_new($0,$4,0,0);
    20603  STACKTOP = sp;return;
    20604 }
    20605 function _nil_inspect($0,$1,$2) {
    20606  $0 = $0|0;
    20607  $1 = $1|0;
    20608  $2 = $2|0;
    20609  var $3 = 0, $4 = 0, label = 0, sp = 0;
    20610  sp = STACKTOP;
    20611  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20612  $3 = $1;
    20613  $4 = $3;
    20614  _mrb_str_new_static($0,$4,63694,3);
    20615  STACKTOP = sp;return;
    20616 }
    20617 function _true_and($0,$1,$2) {
    20618  $0 = $0|0;
    20619  $1 = $1|0;
    20620  $2 = $2|0;
    20621  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    20622  sp = STACKTOP;
    20623  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20624  $vararg_buffer = sp;
    20625  $4 = sp + 8|0;
    20626  $3 = $1;
    20627  $5 = $3;
    20628  HEAP32[$vararg_buffer>>2] = $4;
    20629  (_mrb_get_args($5,55358,$vararg_buffer)|0);
    20630  $6 = HEAP8[$4>>0]|0;
    20631  _mrb_bool_value_188($0,$6);
    20632  STACKTOP = sp;return;
    20633 }
    20634 function _true_xor($0,$1,$2) {
    20635  $0 = $0|0;
    20636  $1 = $1|0;
    20637  $2 = $2|0;
    20638  var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    20639  sp = STACKTOP;
    20640  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20641  $vararg_buffer = sp;
    20642  $4 = sp + 8|0;
    20643  $3 = $1;
    20644  $5 = $3;
    20645  HEAP32[$vararg_buffer>>2] = $4;
    20646  (_mrb_get_args($5,55358,$vararg_buffer)|0);
    20647  $6 = HEAP8[$4>>0]|0;
    20648  $7 = ($6<<24>>24)!=(0);
    20649  $8 = $7 ^ 1;
    20650  $9 = $8&1;
    20651  $10 = $9&255;
    20652  _mrb_bool_value_188($0,$10);
    20653  STACKTOP = sp;return;
    20654 }
    20655 function _true_to_s($0,$1,$2) {
    20656  $0 = $0|0;
    20657  $1 = $1|0;
    20658  $2 = $2|0;
    20659  var $3 = 0, $4 = 0, label = 0, sp = 0;
    20660  sp = STACKTOP;
    20661  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20662  $3 = $1;
    20663  $4 = $3;
    20664  _mrb_str_new_static($0,$4,63733,4);
    20665  STACKTOP = sp;return;
    20666 }
    20667 function _true_or($0,$1,$2) {
    20668  $0 = $0|0;
    20669  $1 = $1|0;
    20670  $2 = $2|0;
    20671  var $3 = 0, label = 0, sp = 0;
    20672  sp = STACKTOP;
    20673  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20674  $3 = $1;
    20675  _mrb_true_value_185($0);
    20676  STACKTOP = sp;return;
    20677 }
    20678 function _false_to_s($0,$1,$2) {
    20679  $0 = $0|0;
    20680  $1 = $1|0;
    20681  $2 = $2|0;
    20682  var $3 = 0, $4 = 0, label = 0, sp = 0;
    20683  sp = STACKTOP;
    20684  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20685  $3 = $1;
    20686  $4 = $3;
    20687  _mrb_str_new_static($0,$4,63709,5);
    20688  STACKTOP = sp;return;
    20689 }
    20690 function _mrb_true_value_185($0) {
    20691  $0 = $0|0;
    20692  var $1 = 0, $2 = 0, label = 0, sp = 0;
    20693  sp = STACKTOP;
    20694  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20695  $1 = sp;
    20696  $2 = ((($1)) + 4|0);
    20697  HEAP32[$2>>2] = 2;
    20698  HEAP32[$1>>2] = 1;
    20699  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    20700  STACKTOP = sp;return;
    20701 }
    20702 function _mrb_bool_value_188($0,$1) {
    20703  $0 = $0|0;
    20704  $1 = $1|0;
    20705  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    20706  sp = STACKTOP;
    20707  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20708  $3 = sp;
    20709  $2 = $1;
    20710  $4 = $2;
    20711  $5 = $4&255;
    20712  $6 = ($5|0)!=(0);
    20713  $7 = $6 ? 2 : 0;
    20714  $8 = ((($3)) + 4|0);
    20715  HEAP32[$8>>2] = $7;
    20716  HEAP32[$3>>2] = 1;
    20717  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    20718  STACKTOP = sp;return;
    20719 }
    20720 function _mrb_false_value_190($0) {
    20721  $0 = $0|0;
    20722  var $1 = 0, $2 = 0, label = 0, sp = 0;
    20723  sp = STACKTOP;
    20724  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20725  $1 = sp;
    20726  $2 = ((($1)) + 4|0);
    20727  HEAP32[$2>>2] = 0;
    20728  HEAP32[$1>>2] = 1;
    20729  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    20730  STACKTOP = sp;return;
    20731 }
    20732 function _convert_type($0,$1,$2,$3,$4,$5) {
    20733  $0 = $0|0;
    20734  $1 = $1|0;
    20735  $2 = $2|0;
    20736  $3 = $3|0;
    20737  $4 = $4|0;
    20738  $5 = $5|0;
    20739  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    20740  var $27 = 0, $28 = 0, $29 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    20741  sp = STACKTOP;
    20742  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    20743  $$byval_copy3 = sp + 64|0;
    20744  $$byval_copy2 = sp + 56|0;
    20745  $$byval_copy = sp + 48|0;
    20746  $vararg_buffer = sp;
    20747  $11 = sp + 24|0;
    20748  $12 = sp + 16|0;
    20749  $6 = $1;
    20750  $7 = $3;
    20751  $8 = $4;
    20752  $9 = $5;
    20753  $10 = 0;
    20754  $13 = $6;
    20755  $14 = $8;
    20756  $15 = (_mrb_intern_cstr($13,$14)|0);
    20757  $10 = $15;
    20758  $16 = $6;
    20759  $17 = $10;
    20760  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    20761  $18 = (_mrb_respond_to($16,$$byval_copy,$17)|0);
    20762  $19 = ($18<<24>>24)!=(0);
    20763  if ($19) {
    20764   $28 = $6;
    20765   $29 = $10;
    20766   ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    20767   _mrb_funcall_argv($0,$28,$$byval_copy3,$29,0,0);
    20768   STACKTOP = sp;return;
    20769  }
    20770  $20 = $9;
    20771  $21 = ($20<<24>>24)!=(0);
    20772  if ($21) {
    20773   $22 = $6;
    20774   $23 = $6;
    20775   $24 = (_mrb_class_get($23,69204)|0);
    20776   $25 = $6;
    20777   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    20778   _inspect_type($11,$25,$$byval_copy2);
    20779   $26 = $6;
    20780   $27 = $7;
    20781   _mrb_str_new_cstr($12,$26,$27);
    20782   ;HEAP8[$vararg_buffer>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$11+7>>0]|0;
    20783   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    20784   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$12+7>>0]|0;
    20785   _mrb_raisef($22,$24,55368,$vararg_buffer);
    20786   // unreachable;
    20787  }
    20788  _mrb_nil_value_192($0);
    20789  STACKTOP = sp;return;
    20790 }
    20791 function _mrb_nil_value_192($0) {
    20792  $0 = $0|0;
    20793  var $1 = 0, $2 = 0, label = 0, sp = 0;
    20794  sp = STACKTOP;
    20795  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    20796  $1 = sp;
    20797  $2 = ((($1)) + 4|0);
    20798  HEAP32[$2>>2] = 0;
    20799  HEAP32[$1>>2] = 0;
    20800  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    20801  STACKTOP = sp;return;
    20802 }
    20803 function _inspect_type($0,$1,$2) {
    20804  $0 = $0|0;
    20805  $1 = $1|0;
    20806  $2 = $2|0;
    20807  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    20808  sp = STACKTOP;
    20809  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    20810  $$byval_copy1 = sp + 16|0;
    20811  $$byval_copy = sp + 8|0;
    20812  $3 = $1;
    20813  $4 = ((($2)) + 4|0);
    20814  $5 = HEAP32[$4>>2]|0;
    20815  $6 = ($5|0)==(0);
    20816  if (!($6)) {
    20817   $7 = ((($2)) + 4|0);
    20818   $8 = HEAP32[$7>>2]|0;
    20819   $9 = ($8|0)==(2);
    20820   if (!($9)) {
    20821    $11 = $3;
    20822    $12 = $3;
    20823    ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    20824    $13 = (_mrb_obj_classname($12,$$byval_copy1)|0);
    20825    _mrb_str_new_cstr($0,$11,$13);
    20826    STACKTOP = sp;return;
    20827   }
    20828  }
    20829  $10 = $3;
    20830  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    20831  _mrb_inspect($0,$10,$$byval_copy);
    20832  STACKTOP = sp;return;
    20833 }
    20834 function _mrb_inspect($0,$1,$2) {
    20835  $0 = $0|0;
    20836  $1 = $1|0;
    20837  $2 = $2|0;
    20838  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    20839  sp = STACKTOP;
    20840  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    20841  $$byval_copy1 = sp + 32|0;
    20842  $$byval_copy = sp + 24|0;
    20843  $vararg_buffer = sp;
    20844  $4 = sp + 8|0;
    20845  $3 = $1;
    20846  $5 = $3;
    20847  $6 = $3;
    20848  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    20849  _mrb_funcall($4,$6,$$byval_copy,69281,0,$vararg_buffer);
    20850  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    20851  _mrb_obj_as_string($0,$5,$$byval_copy1);
    20852  STACKTOP = sp;return;
    20853 }
    20854 function _mrb_convert_type($0,$1,$2,$3,$4,$5) {
    20855  $0 = $0|0;
    20856  $1 = $1|0;
    20857  $2 = $2|0;
    20858  $3 = $3|0;
    20859  $4 = $4|0;
    20860  $5 = $5|0;
    20861  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    20862  var $29 = 0, $30 = 0, $31 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    20863  sp = STACKTOP;
    20864  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    20865  $$byval_copy = sp + 72|0;
    20866  $vararg_buffer = sp;
    20867  $10 = sp + 48|0;
    20868  $11 = sp + 40|0;
    20869  $12 = sp + 32|0;
    20870  $13 = sp + 24|0;
    20871  $6 = $1;
    20872  $7 = $3;
    20873  $8 = $4;
    20874  $9 = $5;
    20875  $14 = ((($2)) + 4|0);
    20876  $15 = HEAP32[$14>>2]|0;
    20877  $16 = $7;
    20878  $17 = ($15|0)==($16|0);
    20879  if ($17) {
    20880   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    20881   STACKTOP = sp;return;
    20882  }
    20883  $18 = $6;
    20884  $19 = $8;
    20885  $20 = $9;
    20886  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    20887  _convert_type($11,$18,$$byval_copy,$19,$20,1);
    20888  ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
    20889  $21 = ((($10)) + 4|0);
    20890  $22 = HEAP32[$21>>2]|0;
    20891  $23 = $7;
    20892  $24 = ($22|0)!=($23|0);
    20893  if ($24) {
    20894   $25 = $6;
    20895   $26 = $6;
    20896   $27 = (_mrb_class_get($26,69204)|0);
    20897   $28 = $6;
    20898   $29 = $8;
    20899   _mrb_str_new_cstr($12,$28,$29);
    20900   $30 = $6;
    20901   $31 = $9;
    20902   _mrb_str_new_cstr($13,$30,$31);
    20903   ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    20904   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    20905   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$12+7>>0]|0;
    20906   $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
    20907   ;HEAP8[$vararg_ptr2>>0]=HEAP8[$13>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$13+7>>0]|0;
    20908   _mrb_raisef($25,$27,55393,$vararg_buffer);
    20909   // unreachable;
    20910  }
    20911  ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
    20912  STACKTOP = sp;return;
    20913 }
    20914 function _mrb_check_convert_type($0,$1,$2,$3,$4,$5) {
    20915  $0 = $0|0;
    20916  $1 = $1|0;
    20917  $2 = $2|0;
    20918  $3 = $3|0;
    20919  $4 = $4|0;
    20920  $5 = $5|0;
    20921  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    20922  var $29 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    20923  sp = STACKTOP;
    20924  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    20925  $$byval_copy = sp + 32|0;
    20926  $10 = sp + 8|0;
    20927  $11 = sp;
    20928  $6 = $1;
    20929  $7 = $3;
    20930  $8 = $4;
    20931  $9 = $5;
    20932  $12 = ((($2)) + 4|0);
    20933  $13 = HEAP32[$12>>2]|0;
    20934  $14 = $7;
    20935  $15 = ($13|0)==($14|0);
    20936  $16 = $7;
    20937  $17 = ($16|0)!=(21);
    20938  $or$cond = $15 & $17;
    20939  if ($or$cond) {
    20940   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    20941   STACKTOP = sp;return;
    20942  }
    20943  $18 = $6;
    20944  $19 = $8;
    20945  $20 = $9;
    20946  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    20947  _convert_type($11,$18,$$byval_copy,$19,$20,0);
    20948  ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
    20949  $21 = ((($10)) + 4|0);
    20950  $22 = HEAP32[$21>>2]|0;
    20951  $23 = ($22|0)==(0);
    20952  if ($23) {
    20953   $24 = HEAP32[$10>>2]|0;
    20954   $25 = ($24|0)!=(0);
    20955   if ($25) {
    20956    label = 5;
    20957   }
    20958  } else {
    20959   label = 5;
    20960  }
    20961  if ((label|0) == 5) {
    20962   $26 = ((($10)) + 4|0);
    20963   $27 = HEAP32[$26>>2]|0;
    20964   $28 = $7;
    20965   $29 = ($27|0)!=($28|0);
    20966   if (!($29)) {
    20967    ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
    20968    STACKTOP = sp;return;
    20969   }
    20970  }
    20971  _mrb_nil_value_192($0);
    20972  STACKTOP = sp;return;
    20973 }
    20974 function _mrb_check_type($0,$1,$2) {
    20975  $0 = $0|0;
    20976  $1 = $1|0;
    20977  $2 = $2|0;
    20978  var $$byval_copy = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    20979  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    20980  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
    20981  var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0;
    20982  var $vararg_buffer3 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
    20983  sp = STACKTOP;
    20984  STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
    20985  $$byval_copy9 = sp + 136|0;
    20986  $$byval_copy8 = sp + 128|0;
    20987  $$byval_copy7 = sp + 120|0;
    20988  $$byval_copy = sp + 112|0;
    20989  $vararg_buffer3 = sp + 16|0;
    20990  $vararg_buffer = sp;
    20991  $8 = sp + 80|0;
    20992  $9 = sp + 72|0;
    20993  $10 = sp + 64|0;
    20994  $11 = sp + 56|0;
    20995  $12 = sp + 48|0;
    20996  $13 = sp + 40|0;
    20997  $14 = sp + 32|0;
    20998  $3 = $0;
    20999  $4 = $2;
    21000  $5 = 56;
    21001  $15 = ((($1)) + 4|0);
    21002  $16 = HEAP32[$15>>2]|0;
    21003  $6 = $16;
    21004  $17 = $6;
    21005  $18 = $4;
    21006  $19 = ($17|0)!=($18|0);
    21007  $20 = $6;
    21008  $21 = ($20|0)==(21);
    21009  $or$cond = $19 | $21;
    21010  if (!($or$cond)) {
    21011   STACKTOP = sp;return;
    21012  }
    21013  while(1) {
    21014   $22 = $5;
    21015   $23 = HEAP8[$22>>0]|0;
    21016   $24 = $23&255;
    21017   $25 = ($24|0)<(23);
    21018   if (!($25)) {
    21019    label = 19;
    21020    break;
    21021   }
    21022   $26 = $5;
    21023   $27 = HEAP8[$26>>0]|0;
    21024   $28 = $27&255;
    21025   $29 = $4;
    21026   $30 = ($28|0)==($29|0);
    21027   if ($30) {
    21028    break;
    21029   }
    21030   $69 = $5;
    21031   $70 = ((($69)) + 8|0);
    21032   $5 = $70;
    21033  }
    21034  if ((label|0) == 19) {
    21035   $71 = $3;
    21036   $72 = $3;
    21037   $73 = (_mrb_class_get($72,69204)|0);
    21038   $74 = $4;
    21039   _mrb_fixnum_value_201($13,$74);
    21040   $75 = ((($1)) + 4|0);
    21041   $76 = HEAP32[$75>>2]|0;
    21042   _mrb_fixnum_value_201($14,$76);
    21043   ;HEAP8[$vararg_buffer3>>0]=HEAP8[$13>>0]|0;HEAP8[$vararg_buffer3+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$vararg_buffer3+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$vararg_buffer3+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$vararg_buffer3+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$vararg_buffer3+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$vararg_buffer3+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$vararg_buffer3+7>>0]=HEAP8[$13+7>>0]|0;
    21044   $vararg_ptr6 = ((($vararg_buffer3)) + 8|0);
    21045   ;HEAP8[$vararg_ptr6>>0]=HEAP8[$14>>0]|0;HEAP8[$vararg_ptr6+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$vararg_ptr6+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$vararg_ptr6+3>>0]=HEAP8[$14+3>>0]|0;HEAP8[$vararg_ptr6+4>>0]=HEAP8[$14+4>>0]|0;HEAP8[$vararg_ptr6+5>>0]=HEAP8[$14+5>>0]|0;HEAP8[$vararg_ptr6+6>>0]=HEAP8[$14+6>>0]|0;HEAP8[$vararg_ptr6+7>>0]=HEAP8[$14+7>>0]|0;
    21046   _mrb_raisef($71,$73,55436,$vararg_buffer3);
    21047   // unreachable;
    21048  }
    21049  $31 = ((($1)) + 4|0);
    21050  $32 = HEAP32[$31>>2]|0;
    21051  $33 = ($32|0)==(0);
    21052  if ($33) {
    21053   $34 = HEAP32[$1>>2]|0;
    21054   $35 = ($34|0)!=(0);
    21055   if ($35) {
    21056    label = 7;
    21057   } else {
    21058    $7 = 63694;
    21059   }
    21060  } else {
    21061   label = 7;
    21062  }
    21063  do {
    21064   if ((label|0) == 7) {
    21065    $36 = ((($1)) + 4|0);
    21066    $37 = HEAP32[$36>>2]|0;
    21067    $38 = ($37|0)==(3);
    21068    if ($38) {
    21069     $7 = 55429;
    21070     break;
    21071    }
    21072    $39 = ((($1)) + 4|0);
    21073    $40 = HEAP32[$39>>2]|0;
    21074    $41 = ($40|0)==(4);
    21075    if ($41) {
    21076     $7 = 56484;
    21077     break;
    21078    }
    21079    $42 = ((($1)) + 4|0);
    21080    $43 = HEAP32[$42>>2]|0;
    21081    $44 = ($43>>>0)<(8);
    21082    $45 = $3;
    21083    if (!($44)) {
    21084     ;HEAP32[$$byval_copy9>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$1+4>>2]|0;
    21085     $59 = (_mrb_obj_classname($45,$$byval_copy9)|0);
    21086     $7 = $59;
    21087     break;
    21088    }
    21089    ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    21090    _mrb_obj_as_string($8,$45,$$byval_copy);
    21091    $46 = HEAP32[$8>>2]|0;
    21092    $47 = HEAP32[$46>>2]|0;
    21093    $48 = $47 >>> 11;
    21094    $49 = $48 & 8;
    21095    $50 = ($49|0)!=(0);
    21096    $51 = $3;
    21097    if ($50) {
    21098     ;HEAP32[$$byval_copy7>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$1+4>>2]|0;
    21099     _mrb_obj_as_string($9,$51,$$byval_copy7);
    21100     $52 = HEAP32[$9>>2]|0;
    21101     $53 = ((($52)) + 12|0);
    21102     $58 = $53;
    21103    } else {
    21104     ;HEAP32[$$byval_copy8>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$1+4>>2]|0;
    21105     _mrb_obj_as_string($10,$51,$$byval_copy8);
    21106     $54 = HEAP32[$10>>2]|0;
    21107     $55 = ((($54)) + 12|0);
    21108     $56 = ((($55)) + 8|0);
    21109     $57 = HEAP32[$56>>2]|0;
    21110     $58 = $57;
    21111    }
    21112    $7 = $58;
    21113   }
    21114  } while(0);
    21115  $60 = $3;
    21116  $61 = $3;
    21117  $62 = (_mrb_class_get($61,69204)|0);
    21118  $63 = $3;
    21119  $64 = $7;
    21120  _mrb_str_new_cstr($11,$63,$64);
    21121  $65 = $3;
    21122  $66 = $5;
    21123  $67 = ((($66)) + 4|0);
    21124  $68 = HEAP32[$67>>2]|0;
    21125  _mrb_str_new_cstr($12,$65,$68);
    21126  ;HEAP8[$vararg_buffer>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$11+7>>0]|0;
    21127  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    21128  ;HEAP8[$vararg_ptr2>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$12+7>>0]|0;
    21129  _mrb_raisef($60,$62,68087,$vararg_buffer);
    21130  // unreachable;
    21131 }
    21132 function _mrb_fixnum_value_201($0,$1) {
    21133  $0 = $0|0;
    21134  $1 = $1|0;
    21135  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    21136  sp = STACKTOP;
    21137  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21138  $3 = sp;
    21139  $2 = $1;
    21140  $4 = ((($3)) + 4|0);
    21141  HEAP32[$4>>2] = 3;
    21142  $5 = $2;
    21143  HEAP32[$3>>2] = $5;
    21144  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    21145  STACKTOP = sp;return;
    21146 }
    21147 function _mrb_any_to_s($0,$1,$2) {
    21148  $0 = $0|0;
    21149  $1 = $1|0;
    21150  $2 = $2|0;
    21151  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0;
    21152  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21153  sp = STACKTOP;
    21154  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    21155  $$byval_copy6 = sp + 112|0;
    21156  $$byval_copy5 = sp + 104|0;
    21157  $$byval_copy4 = sp + 96|0;
    21158  $$byval_copy3 = sp + 88|0;
    21159  $$byval_copy2 = sp + 80|0;
    21160  $$byval_copy1 = sp + 72|0;
    21161  $$byval_copy = sp + 64|0;
    21162  $4 = sp + 48|0;
    21163  $6 = sp + 32|0;
    21164  $7 = sp + 24|0;
    21165  $8 = sp + 16|0;
    21166  $9 = sp + 8|0;
    21167  $10 = sp;
    21168  $3 = $1;
    21169  $11 = $3;
    21170  _mrb_str_buf_new($4,$11,20);
    21171  $12 = $3;
    21172  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    21173  $13 = (_mrb_obj_classname($12,$$byval_copy)|0);
    21174  $5 = $13;
    21175  $14 = $3;
    21176  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    21177  _mrb_str_cat($6,$14,$$byval_copy1,55493,2);
    21178  $15 = $3;
    21179  $16 = $5;
    21180  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    21181  _mrb_str_cat_cstr($7,$15,$$byval_copy2,$16);
    21182  $17 = $3;
    21183  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    21184  _mrb_str_cat($8,$17,$$byval_copy3,68074,1);
    21185  $18 = $3;
    21186  $19 = $3;
    21187  $20 = HEAP32[$2>>2]|0;
    21188  _mrb_ptr_to_str($9,$19,$20);
    21189  ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;
    21190  ;HEAP32[$$byval_copy5>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$9+4>>2]|0;
    21191  _mrb_str_concat($18,$$byval_copy4,$$byval_copy5);
    21192  $21 = $3;
    21193  ;HEAP32[$$byval_copy6>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$4+4>>2]|0;
    21194  _mrb_str_cat($10,$21,$$byval_copy6,65540,1);
    21195  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    21196  STACKTOP = sp;return;
    21197 }
    21198 function _mrb_obj_is_kind_of($0,$1,$2) {
    21199  $0 = $0|0;
    21200  $1 = $1|0;
    21201  $2 = $2|0;
    21202  var $$byval_copy = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    21203  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    21204  var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, label = 0, sp = 0;
    21205  sp = STACKTOP;
    21206  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    21207  $$byval_copy = sp + 16|0;
    21208  $4 = $0;
    21209  $5 = $2;
    21210  $7 = $4;
    21211  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    21212  $8 = (_mrb_class($7,$$byval_copy)|0);
    21213  $6 = $8;
    21214  $9 = $5;
    21215  $10 = HEAP32[$9>>2]|0;
    21216  $11 = $10 & 255;
    21217  $$off = (($11) + -9)|0;
    21218  $switch = ($$off>>>0)<(3);
    21219  if (!($switch)) {
    21220   $12 = $4;
    21221   $13 = $4;
    21222   $14 = (_mrb_class_get($13,69204)|0);
    21223   _mrb_raise($12,$14,55496);
    21224   // unreachable;
    21225  }
    21226  $15 = $5;
    21227  $16 = HEAP32[$15>>2]|0;
    21228  $17 = $16 >>> 11;
    21229  $18 = $17 & 524288;
    21230  $19 = ($18|0)!=(0);
    21231  L4: do {
    21232   if ($19) {
    21233    $20 = $5;
    21234    $21 = ((($20)) + 20|0);
    21235    $22 = HEAP32[$21>>2]|0;
    21236    $5 = $22;
    21237    while(1) {
    21238     $23 = $5;
    21239     $24 = HEAP32[$23>>2]|0;
    21240     $25 = $24 >>> 11;
    21241     $26 = $25 & 1048576;
    21242     $27 = ($26|0)!=(0);
    21243     $28 = $27 ^ 1;
    21244     if (!($28)) {
    21245      break L4;
    21246     }
    21247     $29 = $5;
    21248     $30 = ((($29)) + 20|0);
    21249     $31 = HEAP32[$30>>2]|0;
    21250     $5 = $31;
    21251    }
    21252   }
    21253  } while(0);
    21254  while(1) {
    21255   $32 = $6;
    21256   $33 = ($32|0)!=(0|0);
    21257   if (!($33)) {
    21258    label = 12;
    21259    break;
    21260   }
    21261   $34 = $6;
    21262   $35 = $5;
    21263   $36 = ($34|0)==($35|0);
    21264   if ($36) {
    21265    label = 10;
    21266    break;
    21267   }
    21268   $37 = $6;
    21269   $38 = ((($37)) + 16|0);
    21270   $39 = HEAP32[$38>>2]|0;
    21271   $40 = $5;
    21272   $41 = ((($40)) + 16|0);
    21273   $42 = HEAP32[$41>>2]|0;
    21274   $43 = ($39|0)==($42|0);
    21275   if ($43) {
    21276    label = 10;
    21277    break;
    21278   }
    21279   $44 = $6;
    21280   $45 = ((($44)) + 20|0);
    21281   $46 = HEAP32[$45>>2]|0;
    21282   $6 = $46;
    21283  }
    21284  if ((label|0) == 10) {
    21285   $3 = 1;
    21286   $47 = $3;
    21287   STACKTOP = sp;return ($47|0);
    21288  }
    21289  else if ((label|0) == 12) {
    21290   $3 = 0;
    21291   $47 = $3;
    21292   STACKTOP = sp;return ($47|0);
    21293  }
    21294  return (0)|0;
    21295 }
    21296 function _mrb_class($0,$1) {
    21297  $0 = $0|0;
    21298  $1 = $1|0;
    21299  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    21300  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21301  sp = STACKTOP;
    21302  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21303  $3 = $0;
    21304  $4 = ((($1)) + 4|0);
    21305  $5 = HEAP32[$4>>2]|0;
    21306  L1: do {
    21307   switch ($5|0) {
    21308   case 0:  {
    21309    $6 = HEAP32[$1>>2]|0;
    21310    $7 = ($6|0)!=(0);
    21311    $8 = $3;
    21312    if ($7) {
    21313     $9 = ((($8)) + 72|0);
    21314     $10 = HEAP32[$9>>2]|0;
    21315     $2 = $10;
    21316     break L1;
    21317    } else {
    21318     $11 = ((($8)) + 76|0);
    21319     $12 = HEAP32[$11>>2]|0;
    21320     $2 = $12;
    21321     break L1;
    21322    }
    21323    break;
    21324   }
    21325   case 2:  {
    21326    $13 = $3;
    21327    $14 = ((($13)) + 68|0);
    21328    $15 = HEAP32[$14>>2]|0;
    21329    $2 = $15;
    21330    break;
    21331   }
    21332   case 4:  {
    21333    $16 = $3;
    21334    $17 = ((($16)) + 80|0);
    21335    $18 = HEAP32[$17>>2]|0;
    21336    $2 = $18;
    21337    break;
    21338   }
    21339   case 3:  {
    21340    $19 = $3;
    21341    $20 = ((($19)) + 64|0);
    21342    $21 = HEAP32[$20>>2]|0;
    21343    $2 = $21;
    21344    break;
    21345   }
    21346   case 6:  {
    21347    $22 = $3;
    21348    $23 = ((($22)) + 60|0);
    21349    $24 = HEAP32[$23>>2]|0;
    21350    $2 = $24;
    21351    break;
    21352   }
    21353   case 7:  {
    21354    $25 = $3;
    21355    $26 = ((($25)) + 32|0);
    21356    $27 = HEAP32[$26>>2]|0;
    21357    $2 = $27;
    21358    break;
    21359   }
    21360   case 20:  {
    21361    $2 = 0;
    21362    break;
    21363   }
    21364   default: {
    21365    $28 = HEAP32[$1>>2]|0;
    21366    $29 = ((($28)) + 4|0);
    21367    $30 = HEAP32[$29>>2]|0;
    21368    $2 = $30;
    21369   }
    21370   }
    21371  } while(0);
    21372  $31 = $2;
    21373  STACKTOP = sp;return ($31|0);
    21374 }
    21375 function _mrb_to_int($0,$1,$2) {
    21376  $0 = $0|0;
    21377  $1 = $1|0;
    21378  $2 = $2|0;
    21379  var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    21380  sp = STACKTOP;
    21381  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21382  $$byval_copy = sp + 8|0;
    21383  $3 = $1;
    21384  $4 = $3;
    21385  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    21386  _mrb_to_integer($0,$4,$$byval_copy,55521);
    21387  STACKTOP = sp;return;
    21388 }
    21389 function _mrb_to_integer($0,$1,$2,$3) {
    21390  $0 = $0|0;
    21391  $1 = $1|0;
    21392  $2 = $2|0;
    21393  $3 = $3|0;
    21394  var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    21395  var $26 = 0, $27 = 0, $28 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
    21396  sp = STACKTOP;
    21397  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    21398  $$byval_copy6 = sp + 104|0;
    21399  $$byval_copy5 = sp + 96|0;
    21400  $$byval_copy4 = sp + 88|0;
    21401  $$byval_copy = sp + 80|0;
    21402  $vararg_buffer = sp;
    21403  $6 = sp + 64|0;
    21404  $7 = sp + 56|0;
    21405  $8 = sp + 48|0;
    21406  $9 = sp + 40|0;
    21407  $10 = sp + 32|0;
    21408  $4 = $1;
    21409  $5 = $3;
    21410  $11 = ((($2)) + 4|0);
    21411  $12 = HEAP32[$11>>2]|0;
    21412  $13 = ($12|0)==(3);
    21413  if ($13) {
    21414   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    21415   STACKTOP = sp;return;
    21416  }
    21417  $14 = $4;
    21418  $15 = $5;
    21419  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    21420  _convert_type($7,$14,$$byval_copy,55360,$15,1);
    21421  ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
    21422  $16 = $4;
    21423  $17 = $4;
    21424  $18 = ((($17)) + 64|0);
    21425  $19 = HEAP32[$18>>2]|0;
    21426  ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;
    21427  $20 = (_mrb_obj_is_kind_of($16,$$byval_copy4,$19)|0);
    21428  $21 = ($20<<24>>24)!=(0);
    21429  if (!($21)) {
    21430   $22 = $4;
    21431   ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    21432   _inspect_type($8,$22,$$byval_copy5);
    21433   $23 = $4;
    21434   $24 = $4;
    21435   $25 = (_mrb_class_get($24,69204)|0);
    21436   $26 = $4;
    21437   $27 = $5;
    21438   _mrb_str_new_cstr($9,$26,$27);
    21439   $28 = $4;
    21440   ;HEAP32[$$byval_copy6>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$6+4>>2]|0;
    21441   _inspect_type($10,$28,$$byval_copy6);
    21442   ;HEAP8[$vararg_buffer>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$8+7>>0]|0;
    21443   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    21444   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$8+7>>0]|0;
    21445   $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
    21446   ;HEAP8[$vararg_ptr2>>0]=HEAP8[$9>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$9+7>>0]|0;
    21447   $vararg_ptr3 = ((($vararg_buffer)) + 24|0);
    21448   ;HEAP8[$vararg_ptr3>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_ptr3+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_ptr3+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_ptr3+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_ptr3+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_ptr3+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_ptr3+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_ptr3+7>>0]=HEAP8[$10+7>>0]|0;
    21449   _mrb_raisef($23,$25,55528,$vararg_buffer);
    21450   // unreachable;
    21451  }
    21452  ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
    21453  STACKTOP = sp;return;
    21454 }
    21455 function _mrb_convert_to_integer($0,$1,$2,$3) {
    21456  $0 = $0|0;
    21457  $1 = $1|0;
    21458  $2 = $2|0;
    21459  $3 = $3|0;
    21460  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0;
    21461  var $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    21462  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21463  sp = STACKTOP;
    21464  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    21465  $$byval_copy4 = sp + 64|0;
    21466  $$byval_copy3 = sp + 56|0;
    21467  $$byval_copy2 = sp + 48|0;
    21468  $$byval_copy1 = sp + 40|0;
    21469  $$byval_copy = sp + 32|0;
    21470  $6 = sp + 16|0;
    21471  $7 = sp + 8|0;
    21472  $8 = sp;
    21473  $4 = $1;
    21474  $5 = $3;
    21475  $9 = ((($2)) + 4|0);
    21476  $10 = HEAP32[$9>>2]|0;
    21477  $11 = ($10|0)==(0);
    21478  if ($11) {
    21479   $12 = HEAP32[$2>>2]|0;
    21480   $13 = ($12|0)!=(0);
    21481   if (!($13)) {
    21482    $14 = $5;
    21483    $15 = ($14|0)!=(0);
    21484    if ($15) {
    21485     $40 = $4;
    21486     $41 = $4;
    21487     $42 = (_mrb_class_get($41,69160)|0);
    21488     _mrb_raise($40,$42,55604);
    21489     // unreachable;
    21490    } else {
    21491     $16 = $4;
    21492     $17 = $4;
    21493     $18 = (_mrb_class_get($17,69204)|0);
    21494     _mrb_raise($16,$18,55573);
    21495     // unreachable;
    21496    }
    21497   }
    21498  }
    21499  $19 = ((($2)) + 4|0);
    21500  $20 = HEAP32[$19>>2]|0;
    21501  switch ($20|0) {
    21502  case 6:  {
    21503   label = 6;
    21504   break;
    21505  }
    21506  case 3:  {
    21507   $28 = $5;
    21508   $29 = ($28|0)!=(0);
    21509   if ($29) {
    21510    $40 = $4;
    21511    $41 = $4;
    21512    $42 = (_mrb_class_get($41,69160)|0);
    21513    _mrb_raise($40,$42,55604);
    21514    // unreachable;
    21515   }
    21516   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    21517   STACKTOP = sp;return;
    21518   break;
    21519  }
    21520  case 16:  {
    21521   break;
    21522  }
    21523  default: {
    21524   label = 13;
    21525  }
    21526  }
    21527  do {
    21528   if ((label|0) == 6) {
    21529    $21 = $5;
    21530    $22 = ($21|0)!=(0);
    21531    if ($22) {
    21532     $40 = $4;
    21533     $41 = $4;
    21534     $42 = (_mrb_class_get($41,69160)|0);
    21535     _mrb_raise($40,$42,55604);
    21536     // unreachable;
    21537    }
    21538    $23 = +HEAPF32[$2>>2];
    21539    $24 = $23 <= 2147483648.0;
    21540    if ($24) {
    21541     $25 = +HEAPF32[$2>>2];
    21542     $26 = $25 >= -2147483648.0;
    21543     if ($26) {
    21544      label = 13;
    21545      break;
    21546     }
    21547    }
    21548    $27 = $4;
    21549    ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    21550    _mrb_flo_to_fixnum($0,$27,$$byval_copy);
    21551    STACKTOP = sp;return;
    21552   }
    21553  } while(0);
    21554  do {
    21555   if ((label|0) == 13) {
    21556    $32 = $5;
    21557    $33 = ($32|0)!=(0);
    21558    $34 = $4;
    21559    if ($33) {
    21560     ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    21561     _mrb_check_string_type($7,$34,$$byval_copy2);
    21562     ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
    21563     $35 = ((($6)) + 4|0);
    21564     $36 = HEAP32[$35>>2]|0;
    21565     $37 = ($36|0)==(0);
    21566     if (!($37)) {
    21567      break;
    21568     }
    21569     $38 = HEAP32[$6>>2]|0;
    21570     $39 = ($38|0)!=(0);
    21571     if ($39) {
    21572      break;
    21573     }
    21574     $40 = $4;
    21575     $41 = $4;
    21576     $42 = (_mrb_class_get($41,69160)|0);
    21577     _mrb_raise($40,$42,55604);
    21578     // unreachable;
    21579    }
    21580    ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    21581    _convert_type($8,$34,$$byval_copy3,55360,55521,0);
    21582    ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
    21583    $43 = ((($6)) + 4|0);
    21584    $44 = HEAP32[$43>>2]|0;
    21585    $45 = ($44|0)==(0);
    21586    if ($45) {
    21587     $46 = HEAP32[$6>>2]|0;
    21588     $47 = ($46|0)!=(0);
    21589     if (!($47)) {
    21590      $48 = $4;
    21591      ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
    21592      _mrb_to_integer($0,$48,$$byval_copy4,56301);
    21593      STACKTOP = sp;return;
    21594     }
    21595    }
    21596    ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
    21597    STACKTOP = sp;return;
    21598   }
    21599  } while(0);
    21600  $30 = $4;
    21601  $31 = $5;
    21602  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    21603  _mrb_str_to_inum($0,$30,$$byval_copy1,$31,1);
    21604  STACKTOP = sp;return;
    21605 }
    21606 function _mrb_Integer($0,$1,$2) {
    21607  $0 = $0|0;
    21608  $1 = $1|0;
    21609  $2 = $2|0;
    21610  var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    21611  sp = STACKTOP;
    21612  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21613  $$byval_copy = sp + 8|0;
    21614  $3 = $1;
    21615  $4 = $3;
    21616  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    21617  _mrb_convert_to_integer($0,$4,$$byval_copy,0);
    21618  STACKTOP = sp;return;
    21619 }
    21620 function _mrb_eql($0,$1,$2) {
    21621  $0 = $0|0;
    21622  $1 = $1|0;
    21623  $2 = $2|0;
    21624  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    21625  sp = STACKTOP;
    21626  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    21627  $$byval_copy2 = sp + 40|0;
    21628  $$byval_copy1 = sp + 32|0;
    21629  $$byval_copy = sp + 24|0;
    21630  $vararg_buffer = sp;
    21631  $5 = sp + 8|0;
    21632  $4 = $0;
    21633  $6 = $4;
    21634  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    21635  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    21636  $7 = (_mrb_obj_eq($6,$$byval_copy,$$byval_copy1)|0);
    21637  $8 = ($7<<24>>24)!=(0);
    21638  if ($8) {
    21639   $3 = 1;
    21640   $15 = $3;
    21641   STACKTOP = sp;return ($15|0);
    21642  } else {
    21643   $9 = $4;
    21644   ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    21645   ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;
    21646   _mrb_funcall($5,$9,$$byval_copy2,69289,1,$vararg_buffer);
    21647   $10 = ((($5)) + 4|0);
    21648   $11 = HEAP32[$10>>2]|0;
    21649   $12 = ($11|0)!=(0);
    21650   $13 = $12&1;
    21651   $14 = $13&255;
    21652   $3 = $14;
    21653   $15 = $3;
    21654   STACKTOP = sp;return ($15|0);
    21655  }
    21656  return (0)|0;
    21657 }
    21658 function _mrb_p($0,$1) {
    21659  $0 = $0|0;
    21660  $1 = $1|0;
    21661  var $$byval_copy = 0, $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    21662  sp = STACKTOP;
    21663  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    21664  $$byval_copy1 = sp + 24|0;
    21665  $$byval_copy = sp + 16|0;
    21666  $3 = sp;
    21667  $2 = $0;
    21668  $4 = $2;
    21669  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    21670  _mrb_inspect($3,$4,$$byval_copy);
    21671  $5 = HEAP32[762]|0;
    21672  ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
    21673  _printstr($$byval_copy1,$5);
    21674  STACKTOP = sp;return;
    21675 }
    21676 function _printstr($0,$1) {
    21677  $0 = $0|0;
    21678  $1 = $1|0;
    21679  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    21680  var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21681  sp = STACKTOP;
    21682  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21683  $2 = $1;
    21684  $3 = ((($0)) + 4|0);
    21685  $4 = HEAP32[$3>>2]|0;
    21686  $5 = ($4|0)==(16);
    21687  if (!($5)) {
    21688   STACKTOP = sp;return;
    21689  }
    21690  $6 = HEAP32[$0>>2]|0;
    21691  $7 = HEAP32[$6>>2]|0;
    21692  $8 = $7 >>> 11;
    21693  $9 = $8 & 8;
    21694  $10 = ($9|0)!=(0);
    21695  $11 = HEAP32[$0>>2]|0;
    21696  $12 = ((($11)) + 12|0);
    21697  if ($10) {
    21698   $28 = $12;
    21699  } else {
    21700   $13 = ((($12)) + 8|0);
    21701   $14 = HEAP32[$13>>2]|0;
    21702   $28 = $14;
    21703  }
    21704  $15 = HEAP32[$0>>2]|0;
    21705  $16 = HEAP32[$15>>2]|0;
    21706  $17 = $16 >>> 11;
    21707  $18 = $17 & 8;
    21708  $19 = ($18|0)!=(0);
    21709  $20 = HEAP32[$0>>2]|0;
    21710  if ($19) {
    21711   $21 = HEAP32[$20>>2]|0;
    21712   $22 = $21 >>> 11;
    21713   $23 = $22 & 496;
    21714   $24 = $23 >> 4;
    21715   $29 = $24;
    21716  } else {
    21717   $25 = ((($20)) + 12|0);
    21718   $26 = HEAP32[$25>>2]|0;
    21719   $29 = $26;
    21720  }
    21721  $27 = $2;
    21722  (_fwrite($28,$29,1,$27)|0);
    21723  $30 = $2;
    21724  (_putc(10,$30)|0);
    21725  STACKTOP = sp;return;
    21726 }
    21727 function _mrb_obj_value_234($0,$1) {
    21728  $0 = $0|0;
    21729  $1 = $1|0;
    21730  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    21731  sp = STACKTOP;
    21732  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21733  $3 = sp;
    21734  $2 = $1;
    21735  $4 = $2;
    21736  $5 = HEAP32[$4>>2]|0;
    21737  $6 = $5 & 255;
    21738  $7 = ((($3)) + 4|0);
    21739  HEAP32[$7>>2] = $6;
    21740  $8 = $2;
    21741  HEAP32[$3>>2] = $8;
    21742  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    21743  STACKTOP = sp;return;
    21744 }
    21745 function _mrb_show_version($0) {
    21746  $0 = $0|0;
    21747  var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21748  sp = STACKTOP;
    21749  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    21750  $$byval_copy1 = sp + 32|0;
    21751  $$byval_copy = sp + 24|0;
    21752  $2 = sp + 8|0;
    21753  $3 = sp;
    21754  $1 = $0;
    21755  $4 = $1;
    21756  $5 = $1;
    21757  $6 = ((($5)) + 32|0);
    21758  $7 = HEAP32[$6>>2]|0;
    21759  _mrb_obj_value_234($3,$7);
    21760  $8 = $1;
    21761  $9 = (_mrb_intern_static($8,69483,17)|0);
    21762  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    21763  _mrb_const_get($2,$4,$$byval_copy,$9);
    21764  $10 = HEAP32[762]|0;
    21765  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    21766  _printstr($$byval_copy1,$10);
    21767  STACKTOP = sp;return;
    21768 }
    21769 function _mrb_show_copyright($0) {
    21770  $0 = $0|0;
    21771  var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21772  sp = STACKTOP;
    21773  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    21774  $$byval_copy1 = sp + 32|0;
    21775  $$byval_copy = sp + 24|0;
    21776  $2 = sp + 8|0;
    21777  $3 = sp;
    21778  $1 = $0;
    21779  $4 = $1;
    21780  $5 = $1;
    21781  $6 = ((($5)) + 32|0);
    21782  $7 = HEAP32[$6>>2]|0;
    21783  _mrb_obj_value_234($3,$7);
    21784  $8 = $1;
    21785  $9 = (_mrb_intern_static($8,69550,15)|0);
    21786  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    21787  _mrb_const_get($2,$4,$$byval_copy,$9);
    21788  $10 = HEAP32[762]|0;
    21789  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    21790  _printstr($$byval_copy1,$10);
    21791  STACKTOP = sp;return;
    21792 }
    21793 function _mrb_open_core($0,$1) {
    21794  $0 = $0|0;
    21795  $1 = $1|0;
    21796  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    21797  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0;
    21798  var stop = 0;
    21799  sp = STACKTOP;
    21800  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21801  $3 = $0;
    21802  $4 = $1;
    21803  $6 = $3;
    21804  $7 = $4;
    21805  $8 = (FUNCTION_TABLE_iiiii[$6 & 255](0,0,592,$7)|0);
    21806  $5 = $8;
    21807  $9 = $5;
    21808  $10 = ($9|0)==(0|0);
    21809  if ($10) {
    21810   $2 = 0;
    21811   $37 = $2;
    21812   STACKTOP = sp;return ($37|0);
    21813  } else {
    21814   $11 = $5;
    21815   _memcpy(($11|0),(72748|0),592)|0;
    21816   $12 = $4;
    21817   $13 = $5;
    21818   $14 = ((($13)) + 8|0);
    21819   HEAP32[$14>>2] = $12;
    21820   $15 = $3;
    21821   $16 = $5;
    21822   $17 = ((($16)) + 4|0);
    21823   HEAP32[$17>>2] = $15;
    21824   $18 = $5;
    21825   $19 = ((($18)) + 588|0);
    21826   HEAP32[$19>>2] = 0;
    21827   $20 = $5;
    21828   $21 = $5;
    21829   $22 = ((($21)) + 92|0);
    21830   _mrb_gc_init($20,$22);
    21831   $23 = $5;
    21832   $24 = (_mrb_malloc($23,52)|0);
    21833   $25 = $5;
    21834   $26 = ((($25)) + 12|0);
    21835   HEAP32[$26>>2] = $24;
    21836   $27 = $5;
    21837   $28 = ((($27)) + 12|0);
    21838   $29 = HEAP32[$28>>2]|0;
    21839   dest=$29; src=73340; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
    21840   $30 = $5;
    21841   $31 = ((($30)) + 12|0);
    21842   $32 = HEAP32[$31>>2]|0;
    21843   $33 = $5;
    21844   $34 = ((($33)) + 16|0);
    21845   HEAP32[$34>>2] = $32;
    21846   $35 = $5;
    21847   _mrb_init_core($35);
    21848   $36 = $5;
    21849   $2 = $36;
    21850   $37 = $2;
    21851   STACKTOP = sp;return ($37|0);
    21852  }
    21853  return (0)|0;
    21854 }
    21855 function _mrb_default_allocf($0,$1,$2,$3) {
    21856  $0 = $0|0;
    21857  $1 = $1|0;
    21858  $2 = $2|0;
    21859  $3 = $3|0;
    21860  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21861  sp = STACKTOP;
    21862  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    21863  $5 = $0;
    21864  $6 = $1;
    21865  $7 = $2;
    21866  $8 = $3;
    21867  $9 = $7;
    21868  $10 = ($9|0)==(0);
    21869  $11 = $6;
    21870  if ($10) {
    21871   _free($11);
    21872   $4 = 0;
    21873  } else {
    21874   $12 = $7;
    21875   $13 = (_realloc($11,$12)|0);
    21876   $4 = $13;
    21877  }
    21878  $14 = $4;
    21879  STACKTOP = sp;return ($14|0);
    21880 }
    21881 function _mrb_alloca($0,$1) {
    21882  $0 = $0|0;
    21883  $1 = $1|0;
    21884  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21885  sp = STACKTOP;
    21886  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21887  $2 = $0;
    21888  $3 = $1;
    21889  $5 = $2;
    21890  $6 = $3;
    21891  $7 = (4 + ($6))|0;
    21892  $8 = (_mrb_malloc($5,$7)|0);
    21893  $4 = $8;
    21894  $9 = $2;
    21895  $10 = ((($9)) + 88|0);
    21896  $11 = HEAP32[$10>>2]|0;
    21897  $12 = $4;
    21898  HEAP32[$12>>2] = $11;
    21899  $13 = $4;
    21900  $14 = $2;
    21901  $15 = ((($14)) + 88|0);
    21902  HEAP32[$15>>2] = $13;
    21903  $16 = $4;
    21904  $17 = ((($16)) + 4|0);
    21905  STACKTOP = sp;return ($17|0);
    21906 }
    21907 function _mrb_open() {
    21908  var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
    21909  sp = STACKTOP;
    21910  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21911  $1 = (_mrb_open_allocf(82,0,0)|0);
    21912  $0 = $1;
    21913  $2 = $0;
    21914  STACKTOP = sp;return ($2|0);
    21915 }
    21916 function _mrb_open_allocf($0,$1,$2) {
    21917  $0 = $0|0;
    21918  $1 = $1|0;
    21919  $2 = $2|0;
    21920  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21921  sp = STACKTOP;
    21922  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    21923  $4 = $0;
    21924  $5 = $1;
    21925  $6 = $2;
    21926  $8 = $4;
    21927  $9 = $5;
    21928  $10 = (_mrb_open_core($8,$9)|0);
    21929  $7 = $10;
    21930  $11 = $7;
    21931  $12 = ($11|0)==(0|0);
    21932  if ($12) {
    21933   $3 = 0;
    21934   $18 = $3;
    21935   STACKTOP = sp;return ($18|0);
    21936  }
    21937  $13 = $6;
    21938  $14 = ($13<<24>>24)!=(0);
    21939  if (!($14)) {
    21940   $15 = $7;
    21941   _mrb_init_mrbgems($15);
    21942   $16 = $7;
    21943   _mrb_gc_arena_restore($16,0);
    21944  }
    21945  $17 = $7;
    21946  $3 = $17;
    21947  $18 = $3;
    21948  STACKTOP = sp;return ($18|0);
    21949 }
    21950 function _mrb_irep_incref($0,$1) {
    21951  $0 = $0|0;
    21952  $1 = $1|0;
    21953  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    21954  sp = STACKTOP;
    21955  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21956  $2 = $0;
    21957  $3 = $1;
    21958  $4 = $3;
    21959  $5 = ((($4)) + 56|0);
    21960  $6 = HEAP32[$5>>2]|0;
    21961  $7 = (($6) + 1)|0;
    21962  HEAP32[$5>>2] = $7;
    21963  STACKTOP = sp;return;
    21964 }
    21965 function _mrb_irep_decref($0,$1) {
    21966  $0 = $0|0;
    21967  $1 = $1|0;
    21968  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    21969  sp = STACKTOP;
    21970  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    21971  $2 = $0;
    21972  $3 = $1;
    21973  $4 = $3;
    21974  $5 = ((($4)) + 56|0);
    21975  $6 = HEAP32[$5>>2]|0;
    21976  $7 = (($6) + -1)|0;
    21977  HEAP32[$5>>2] = $7;
    21978  $8 = $3;
    21979  $9 = ((($8)) + 56|0);
    21980  $10 = HEAP32[$9>>2]|0;
    21981  $11 = ($10|0)==(0);
    21982  if (!($11)) {
    21983   STACKTOP = sp;return;
    21984  }
    21985  $12 = $2;
    21986  $13 = $3;
    21987  _mrb_irep_free($12,$13);
    21988  STACKTOP = sp;return;
    21989 }
    21990 function _mrb_irep_free($0,$1) {
    21991  $0 = $0|0;
    21992  $1 = $1|0;
    21993  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    21994  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    21995  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    21996  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    21997  var $83 = 0, $9 = 0, label = 0, sp = 0;
    21998  sp = STACKTOP;
    21999  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22000  $2 = $0;
    22001  $3 = $1;
    22002  $5 = $3;
    22003  $6 = ((($5)) + 4|0);
    22004  $7 = HEAP8[$6>>0]|0;
    22005  $8 = $7&255;
    22006  $9 = $8 & 1;
    22007  $10 = ($9|0)!=(0);
    22008  if (!($10)) {
    22009   $11 = $2;
    22010   $12 = $3;
    22011   $13 = ((($12)) + 8|0);
    22012   $14 = HEAP32[$13>>2]|0;
    22013   _mrb_free($11,$14);
    22014  }
    22015  $4 = 0;
    22016  while(1) {
    22017   $15 = $4;
    22018   $16 = $3;
    22019   $17 = ((($16)) + 44|0);
    22020   $18 = HEAP32[$17>>2]|0;
    22021   $19 = ($15>>>0)<($18>>>0);
    22022   if (!($19)) {
    22023    break;
    22024   }
    22025   $20 = $3;
    22026   $21 = ((($20)) + 12|0);
    22027   $22 = HEAP32[$21>>2]|0;
    22028   $23 = $4;
    22029   $24 = (($22) + ($23<<3)|0);
    22030   $25 = ((($24)) + 4|0);
    22031   $26 = HEAP32[$25>>2]|0;
    22032   $27 = ($26|0)==(16);
    22033   if ($27) {
    22034    $28 = $2;
    22035    $29 = $3;
    22036    $30 = ((($29)) + 12|0);
    22037    $31 = HEAP32[$30>>2]|0;
    22038    $32 = $4;
    22039    $33 = (($31) + ($32<<3)|0);
    22040    $34 = HEAP32[$33>>2]|0;
    22041    _mrb_gc_free_str($28,$34);
    22042    $35 = $2;
    22043    $36 = $3;
    22044    $37 = ((($36)) + 12|0);
    22045    $38 = HEAP32[$37>>2]|0;
    22046    $39 = $4;
    22047    $40 = (($38) + ($39<<3)|0);
    22048    $41 = HEAP32[$40>>2]|0;
    22049    _mrb_free($35,$41);
    22050   }
    22051   $42 = $4;
    22052   $43 = (($42) + 1)|0;
    22053   $4 = $43;
    22054  }
    22055  $44 = $2;
    22056  $45 = $3;
    22057  $46 = ((($45)) + 12|0);
    22058  $47 = HEAP32[$46>>2]|0;
    22059  _mrb_free($44,$47);
    22060  $48 = $2;
    22061  $49 = $3;
    22062  $50 = ((($49)) + 16|0);
    22063  $51 = HEAP32[$50>>2]|0;
    22064  _mrb_free($48,$51);
    22065  $4 = 0;
    22066  while(1) {
    22067   $52 = $4;
    22068   $53 = $3;
    22069   $54 = ((($53)) + 52|0);
    22070   $55 = HEAP32[$54>>2]|0;
    22071   $56 = ($52>>>0)<($55>>>0);
    22072   $57 = $2;
    22073   $58 = $3;
    22074   $59 = ((($58)) + 20|0);
    22075   $60 = HEAP32[$59>>2]|0;
    22076   if (!($56)) {
    22077    break;
    22078   }
    22079   $61 = $4;
    22080   $62 = (($60) + ($61<<2)|0);
    22081   $63 = HEAP32[$62>>2]|0;
    22082   _mrb_irep_decref($57,$63);
    22083   $64 = $4;
    22084   $65 = (($64) + 1)|0;
    22085   $4 = $65;
    22086  }
    22087  _mrb_free($57,$60);
    22088  $66 = $2;
    22089  $67 = $3;
    22090  $68 = ((($67)) + 24|0);
    22091  $69 = HEAP32[$68>>2]|0;
    22092  _mrb_free($66,$69);
    22093  $70 = $2;
    22094  $71 = $3;
    22095  $72 = ((($71)) + 28|0);
    22096  $73 = HEAP32[$72>>2]|0;
    22097  _mrb_free($70,$73);
    22098  $74 = $2;
    22099  $75 = $3;
    22100  $76 = ((($75)) + 32|0);
    22101  $77 = HEAP32[$76>>2]|0;
    22102  _mrb_free($74,$77);
    22103  $78 = $2;
    22104  $79 = $3;
    22105  $80 = ((($79)) + 36|0);
    22106  $81 = HEAP32[$80>>2]|0;
    22107  _mrb_debug_info_free($78,$81);
    22108  $82 = $2;
    22109  $83 = $3;
    22110  _mrb_free($82,$83);
    22111  STACKTOP = sp;return;
    22112 }
    22113 function _mrb_str_pool($0,$1,$2) {
    22114  $0 = $0|0;
    22115  $1 = $1|0;
    22116  $2 = $2|0;
    22117  var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    22118  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0;
    22119  var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
    22120  var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
    22121  var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
    22122  var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
    22123  var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    22124  sp = STACKTOP;
    22125  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    22126  $3 = $1;
    22127  $9 = HEAP32[$2>>2]|0;
    22128  $4 = $9;
    22129  $10 = $3;
    22130  $11 = (_mrb_malloc($10,24)|0);
    22131  $5 = $11;
    22132  $12 = $5;
    22133  $13 = HEAP32[$12>>2]|0;
    22134  $14 = $13 & -256;
    22135  $15 = $14 | 16;
    22136  HEAP32[$12>>2] = $15;
    22137  $16 = $3;
    22138  $17 = ((($16)) + 48|0);
    22139  $18 = HEAP32[$17>>2]|0;
    22140  $19 = $5;
    22141  $20 = ((($19)) + 4|0);
    22142  HEAP32[$20>>2] = $18;
    22143  $21 = $4;
    22144  $22 = HEAP32[$21>>2]|0;
    22145  $23 = $22 >>> 11;
    22146  $24 = $23 & 2;
    22147  $25 = ($24|0)!=(0);
    22148  $26 = $5;
    22149  $27 = HEAP32[$26>>2]|0;
    22150  $28 = $27 & 2047;
    22151  if ($25) {
    22152   $29 = $28 | 4096;
    22153   HEAP32[$26>>2] = $29;
    22154   $30 = $4;
    22155   $31 = ((($30)) + 12|0);
    22156   $32 = ((($31)) + 8|0);
    22157   $33 = HEAP32[$32>>2]|0;
    22158   $34 = $5;
    22159   $35 = ((($34)) + 12|0);
    22160   $36 = ((($35)) + 8|0);
    22161   HEAP32[$36>>2] = $33;
    22162   $37 = $4;
    22163   $38 = ((($37)) + 12|0);
    22164   $39 = HEAP32[$38>>2]|0;
    22165   $40 = $5;
    22166   $41 = ((($40)) + 12|0);
    22167   HEAP32[$41>>2] = $39;
    22168   $42 = $5;
    22169   $43 = ((($42)) + 12|0);
    22170   $44 = ((($43)) + 4|0);
    22171   HEAP32[$44>>2] = 0;
    22172   $132 = $5;
    22173   _mrb_obj_value_246($0,$132);
    22174   STACKTOP = sp;return;
    22175  }
    22176  HEAP32[$26>>2] = $28;
    22177  $45 = $4;
    22178  $46 = HEAP32[$45>>2]|0;
    22179  $47 = $46 >>> 11;
    22180  $48 = $47 & 8;
    22181  $49 = ($48|0)!=(0);
    22182  $50 = $4;
    22183  $51 = ((($50)) + 12|0);
    22184  if ($49) {
    22185   $6 = $51;
    22186   $52 = $4;
    22187   $53 = HEAP32[$52>>2]|0;
    22188   $54 = $53 >>> 11;
    22189   $55 = $54 & 496;
    22190   $56 = $55 >> 4;
    22191   $7 = $56;
    22192  } else {
    22193   $57 = ((($51)) + 8|0);
    22194   $58 = HEAP32[$57>>2]|0;
    22195   $6 = $58;
    22196   $59 = $4;
    22197   $60 = ((($59)) + 12|0);
    22198   $61 = HEAP32[$60>>2]|0;
    22199   $7 = $61;
    22200  }
    22201  $62 = $7;
    22202  $63 = ($62|0)<(11);
    22203  if ($63) {
    22204   $64 = $5;
    22205   $65 = HEAP32[$64>>2]|0;
    22206   $66 = $65 >>> 11;
    22207   $67 = $66 | 8;
    22208   $68 = HEAP32[$64>>2]|0;
    22209   $69 = $67 & 2097151;
    22210   $70 = $69 << 11;
    22211   $71 = $68 & 2047;
    22212   $72 = $71 | $70;
    22213   HEAP32[$64>>2] = $72;
    22214   $73 = $7;
    22215   $8 = $73;
    22216   $74 = $5;
    22217   $75 = HEAP32[$74>>2]|0;
    22218   $76 = $75 >>> 11;
    22219   $77 = $76 & -497;
    22220   $78 = HEAP32[$74>>2]|0;
    22221   $79 = $77 & 2097151;
    22222   $80 = $79 << 11;
    22223   $81 = $78 & 2047;
    22224   $82 = $81 | $80;
    22225   HEAP32[$74>>2] = $82;
    22226   $83 = $8;
    22227   $84 = $83 << 4;
    22228   $85 = $5;
    22229   $86 = HEAP32[$85>>2]|0;
    22230   $87 = $86 >>> 11;
    22231   $88 = $87 | $84;
    22232   $89 = HEAP32[$85>>2]|0;
    22233   $90 = $88 & 2097151;
    22234   $91 = $90 << 11;
    22235   $92 = $89 & 2047;
    22236   $93 = $92 | $91;
    22237   HEAP32[$85>>2] = $93;
    22238   $94 = $6;
    22239   $95 = ($94|0)!=(0|0);
    22240   if ($95) {
    22241    $96 = $5;
    22242    $97 = ((($96)) + 12|0);
    22243    $98 = $6;
    22244    $99 = $7;
    22245    _memcpy(($97|0),($98|0),($99|0))|0;
    22246   }
    22247   $100 = $5;
    22248   $101 = ((($100)) + 12|0);
    22249   $102 = $7;
    22250   $103 = (($101) + ($102)|0);
    22251   $$sink = $103;
    22252  } else {
    22253   $104 = $3;
    22254   $105 = $7;
    22255   $106 = (($105) + 1)|0;
    22256   $107 = (_mrb_malloc($104,$106)|0);
    22257   $108 = $5;
    22258   $109 = ((($108)) + 12|0);
    22259   $110 = ((($109)) + 8|0);
    22260   HEAP32[$110>>2] = $107;
    22261   $111 = $7;
    22262   $112 = $5;
    22263   $113 = ((($112)) + 12|0);
    22264   HEAP32[$113>>2] = $111;
    22265   $114 = $7;
    22266   $115 = $5;
    22267   $116 = ((($115)) + 12|0);
    22268   $117 = ((($116)) + 4|0);
    22269   HEAP32[$117>>2] = $114;
    22270   $118 = $6;
    22271   $119 = ($118|0)!=(0|0);
    22272   if ($119) {
    22273    $120 = $5;
    22274    $121 = ((($120)) + 12|0);
    22275    $122 = ((($121)) + 8|0);
    22276    $123 = HEAP32[$122>>2]|0;
    22277    $124 = $6;
    22278    $125 = $7;
    22279    _memcpy(($123|0),($124|0),($125|0))|0;
    22280   }
    22281   $126 = $5;
    22282   $127 = ((($126)) + 12|0);
    22283   $128 = ((($127)) + 8|0);
    22284   $129 = HEAP32[$128>>2]|0;
    22285   $130 = $7;
    22286   $131 = (($129) + ($130)|0);
    22287   $$sink = $131;
    22288  }
    22289  HEAP8[$$sink>>0] = 0;
    22290  $132 = $5;
    22291  _mrb_obj_value_246($0,$132);
    22292  STACKTOP = sp;return;
    22293 }
    22294 function _mrb_obj_value_246($0,$1) {
    22295  $0 = $0|0;
    22296  $1 = $1|0;
    22297  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    22298  sp = STACKTOP;
    22299  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22300  $3 = sp;
    22301  $2 = $1;
    22302  $4 = $2;
    22303  $5 = HEAP32[$4>>2]|0;
    22304  $6 = $5 & 255;
    22305  $7 = ((($3)) + 4|0);
    22306  HEAP32[$7>>2] = $6;
    22307  $8 = $2;
    22308  HEAP32[$3>>2] = $8;
    22309  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    22310  STACKTOP = sp;return;
    22311 }
    22312 function _mrb_free_context($0,$1) {
    22313  $0 = $0|0;
    22314  $1 = $1|0;
    22315  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    22316  var $8 = 0, $9 = 0, label = 0, sp = 0;
    22317  sp = STACKTOP;
    22318  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22319  $2 = $0;
    22320  $3 = $1;
    22321  $4 = $3;
    22322  $5 = ($4|0)!=(0|0);
    22323  if (!($5)) {
    22324   STACKTOP = sp;return;
    22325  }
    22326  $6 = $2;
    22327  $7 = $3;
    22328  $8 = ((($7)) + 8|0);
    22329  $9 = HEAP32[$8>>2]|0;
    22330  _mrb_free($6,$9);
    22331  $10 = $2;
    22332  $11 = $3;
    22333  $12 = ((($11)) + 20|0);
    22334  $13 = HEAP32[$12>>2]|0;
    22335  _mrb_free($10,$13);
    22336  $14 = $2;
    22337  $15 = $3;
    22338  $16 = ((($15)) + 28|0);
    22339  $17 = HEAP32[$16>>2]|0;
    22340  _mrb_free($14,$17);
    22341  $18 = $2;
    22342  $19 = $3;
    22343  $20 = ((($19)) + 36|0);
    22344  $21 = HEAP32[$20>>2]|0;
    22345  _mrb_free($18,$21);
    22346  $22 = $2;
    22347  $23 = $3;
    22348  _mrb_free($22,$23);
    22349  STACKTOP = sp;return;
    22350 }
    22351 function _mrb_close($0) {
    22352  $0 = $0|0;
    22353  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    22354  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22355  sp = STACKTOP;
    22356  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22357  $1 = $0;
    22358  $3 = $1;
    22359  $4 = ($3|0)!=(0|0);
    22360  if (!($4)) {
    22361   STACKTOP = sp;return;
    22362  }
    22363  $5 = $1;
    22364  $6 = ((($5)) + 588|0);
    22365  $7 = HEAP32[$6>>2]|0;
    22366  $8 = ($7|0)>(0);
    22367  if ($8) {
    22368   $9 = $1;
    22369   $10 = ((($9)) + 588|0);
    22370   $11 = HEAP32[$10>>2]|0;
    22371   $2 = $11;
    22372   while(1) {
    22373    $12 = $2;
    22374    $13 = ($12|0)>(0);
    22375    $14 = $1;
    22376    if (!($13)) {
    22377     break;
    22378    }
    22379    $15 = ((($14)) + 584|0);
    22380    $16 = HEAP32[$15>>2]|0;
    22381    $17 = $2;
    22382    $18 = (($17) - 1)|0;
    22383    $19 = (($16) + ($18<<2)|0);
    22384    $20 = HEAP32[$19>>2]|0;
    22385    $21 = $1;
    22386    FUNCTION_TABLE_vi[$20 & 511]($21);
    22387    $22 = $2;
    22388    $23 = (($22) + -1)|0;
    22389    $2 = $23;
    22390   }
    22391   $24 = $1;
    22392   $25 = ((($24)) + 584|0);
    22393   $26 = HEAP32[$25>>2]|0;
    22394   _mrb_free($14,$26);
    22395  }
    22396  $27 = $1;
    22397  _mrb_gc_free_gv($27);
    22398  $28 = $1;
    22399  $29 = $1;
    22400  $30 = ((($29)) + 16|0);
    22401  $31 = HEAP32[$30>>2]|0;
    22402  _mrb_free_context($28,$31);
    22403  $32 = $1;
    22404  _mrb_free_symtbl($32);
    22405  $33 = $1;
    22406  _mrb_alloca_free($33);
    22407  $34 = $1;
    22408  $35 = $1;
    22409  $36 = ((($35)) + 92|0);
    22410  _mrb_gc_destroy($34,$36);
    22411  $37 = $1;
    22412  $38 = $1;
    22413  _mrb_free($37,$38);
    22414  STACKTOP = sp;return;
    22415 }
    22416 function _mrb_alloca_free($0) {
    22417  $0 = $0|0;
    22418  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22419  sp = STACKTOP;
    22420  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22421  $1 = $0;
    22422  $4 = $1;
    22423  $5 = ($4|0)==(0|0);
    22424  if ($5) {
    22425   STACKTOP = sp;return;
    22426  }
    22427  $6 = $1;
    22428  $7 = ((($6)) + 88|0);
    22429  $8 = HEAP32[$7>>2]|0;
    22430  $2 = $8;
    22431  while(1) {
    22432   $9 = $2;
    22433   $10 = ($9|0)!=(0|0);
    22434   if (!($10)) {
    22435    break;
    22436   }
    22437   $11 = $2;
    22438   $3 = $11;
    22439   $12 = $2;
    22440   $13 = HEAP32[$12>>2]|0;
    22441   $2 = $13;
    22442   $14 = $1;
    22443   $15 = $3;
    22444   _mrb_free($14,$15);
    22445  }
    22446  STACKTOP = sp;return;
    22447 }
    22448 function _mrb_add_irep($0) {
    22449  $0 = $0|0;
    22450  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
    22451  sp = STACKTOP;
    22452  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22453  $1 = $0;
    22454  $3 = $1;
    22455  $4 = (_mrb_malloc($3,60)|0);
    22456  $2 = $4;
    22457  $5 = $2;
    22458  dest=$5; src=73392; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
    22459  $6 = $2;
    22460  $7 = ((($6)) + 56|0);
    22461  HEAP32[$7>>2] = 1;
    22462  $8 = $2;
    22463  STACKTOP = sp;return ($8|0);
    22464 }
    22465 function _mrb_top_self($0,$1) {
    22466  $0 = $0|0;
    22467  $1 = $1|0;
    22468  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    22469  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22470  sp = STACKTOP;
    22471  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22472  $2 = $1;
    22473  $3 = $2;
    22474  $4 = ((($3)) + 28|0);
    22475  $5 = HEAP32[$4>>2]|0;
    22476  $6 = ($5|0)!=(0|0);
    22477  if ($6) {
    22478   $22 = $2;
    22479   $23 = ((($22)) + 28|0);
    22480   $24 = HEAP32[$23>>2]|0;
    22481   _mrb_obj_value_246($0,$24);
    22482   STACKTOP = sp;return;
    22483  }
    22484  $7 = $2;
    22485  $8 = $2;
    22486  $9 = ((($8)) + 32|0);
    22487  $10 = HEAP32[$9>>2]|0;
    22488  $11 = (_mrb_obj_alloc($7,8,$10)|0);
    22489  $12 = $2;
    22490  $13 = ((($12)) + 28|0);
    22491  HEAP32[$13>>2] = $11;
    22492  $14 = $2;
    22493  $15 = $2;
    22494  $16 = ((($15)) + 28|0);
    22495  $17 = HEAP32[$16>>2]|0;
    22496  _mrb_define_singleton_method($14,$17,69281,83,0);
    22497  $18 = $2;
    22498  $19 = $2;
    22499  $20 = ((($19)) + 28|0);
    22500  $21 = HEAP32[$20>>2]|0;
    22501  _mrb_define_singleton_method($18,$21,69276,83,0);
    22502  $22 = $2;
    22503  $23 = ((($22)) + 28|0);
    22504  $24 = HEAP32[$23>>2]|0;
    22505  _mrb_obj_value_246($0,$24);
    22506  STACKTOP = sp;return;
    22507 }
    22508 function _inspect_main($0,$1,$2) {
    22509  $0 = $0|0;
    22510  $1 = $1|0;
    22511  $2 = $2|0;
    22512  var $3 = 0, $4 = 0, label = 0, sp = 0;
    22513  sp = STACKTOP;
    22514  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22515  $3 = $1;
    22516  $4 = $3;
    22517  _mrb_str_new_static($0,$4,55640,4);
    22518  STACKTOP = sp;return;
    22519 }
    22520 function _mrb_str_buf_new($0,$1,$2) {
    22521  $0 = $0|0;
    22522  $1 = $1|0;
    22523  $2 = $2|0;
    22524  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    22525  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    22526  var sp = 0;
    22527  sp = STACKTOP;
    22528  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22529  $3 = $1;
    22530  $4 = $2;
    22531  $6 = $3;
    22532  $7 = $3;
    22533  $8 = ((($7)) + 48|0);
    22534  $9 = HEAP32[$8>>2]|0;
    22535  $10 = (_mrb_obj_alloc($6,16,$9)|0);
    22536  $5 = $10;
    22537  $11 = $4;
    22538  $12 = ($11>>>0)>=(2147483647);
    22539  if ($12) {
    22540   $13 = $3;
    22541   $14 = $3;
    22542   $15 = (_mrb_class_get($14,69160)|0);
    22543   _mrb_raise($13,$15,55682);
    22544   // unreachable;
    22545  }
    22546  $16 = $4;
    22547  $17 = ($16>>>0)<(20);
    22548  if ($17) {
    22549   $4 = 20;
    22550  }
    22551  $18 = $5;
    22552  $19 = ((($18)) + 12|0);
    22553  HEAP32[$19>>2] = 0;
    22554  $20 = $4;
    22555  $21 = $5;
    22556  $22 = ((($21)) + 12|0);
    22557  $23 = ((($22)) + 4|0);
    22558  HEAP32[$23>>2] = $20;
    22559  $24 = $3;
    22560  $25 = $4;
    22561  $26 = (($25) + 1)|0;
    22562  $27 = (_mrb_malloc($24,$26)|0);
    22563  $28 = $5;
    22564  $29 = ((($28)) + 12|0);
    22565  $30 = ((($29)) + 8|0);
    22566  HEAP32[$30>>2] = $27;
    22567  $31 = $5;
    22568  $32 = HEAP32[$31>>2]|0;
    22569  $33 = $32 >>> 11;
    22570  $34 = $33 & 8;
    22571  $35 = ($34|0)!=(0);
    22572  $36 = $5;
    22573  $37 = ((($36)) + 12|0);
    22574  if ($35) {
    22575   $40 = $37;
    22576   HEAP8[$40>>0] = 0;
    22577   $41 = $5;
    22578   _mrb_obj_value_260($0,$41);
    22579   STACKTOP = sp;return;
    22580  } else {
    22581   $38 = ((($37)) + 8|0);
    22582   $39 = HEAP32[$38>>2]|0;
    22583   $40 = $39;
    22584   HEAP8[$40>>0] = 0;
    22585   $41 = $5;
    22586   _mrb_obj_value_260($0,$41);
    22587   STACKTOP = sp;return;
    22588  }
    22589 }
    22590 function _mrb_obj_value_260($0,$1) {
    22591  $0 = $0|0;
    22592  $1 = $1|0;
    22593  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    22594  sp = STACKTOP;
    22595  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22596  $3 = sp;
    22597  $2 = $1;
    22598  $4 = $2;
    22599  $5 = HEAP32[$4>>2]|0;
    22600  $6 = $5 & 255;
    22601  $7 = ((($3)) + 4|0);
    22602  HEAP32[$7>>2] = $6;
    22603  $8 = $2;
    22604  HEAP32[$3>>2] = $8;
    22605  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    22606  STACKTOP = sp;return;
    22607 }
    22608 function _mrb_str_new($0,$1,$2,$3) {
    22609  $0 = $0|0;
    22610  $1 = $1|0;
    22611  $2 = $2|0;
    22612  $3 = $3|0;
    22613  var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22614  sp = STACKTOP;
    22615  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22616  $4 = $1;
    22617  $5 = $2;
    22618  $6 = $3;
    22619  $7 = $4;
    22620  $8 = $5;
    22621  $9 = $6;
    22622  $10 = (_str_new($7,$8,$9)|0);
    22623  _mrb_obj_value_260($0,$10);
    22624  STACKTOP = sp;return;
    22625 }
    22626 function _str_new($0,$1,$2) {
    22627  $0 = $0|0;
    22628  $1 = $1|0;
    22629  $2 = $2|0;
    22630  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    22631  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    22632  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    22633  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
    22634  var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, label = 0, sp = 0;
    22635  sp = STACKTOP;
    22636  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    22637  $4 = $0;
    22638  $5 = $1;
    22639  $6 = $2;
    22640  $9 = $4;
    22641  $10 = $4;
    22642  $11 = ((($10)) + 48|0);
    22643  $12 = HEAP32[$11>>2]|0;
    22644  $13 = (_mrb_obj_alloc($9,16,$12)|0);
    22645  $7 = $13;
    22646  $14 = $6;
    22647  $15 = ($14>>>0)<(11);
    22648  if ($15) {
    22649   $16 = $7;
    22650   $17 = HEAP32[$16>>2]|0;
    22651   $18 = $17 >>> 11;
    22652   $19 = $18 | 8;
    22653   $20 = HEAP32[$16>>2]|0;
    22654   $21 = $19 & 2097151;
    22655   $22 = $21 << 11;
    22656   $23 = $20 & 2047;
    22657   $24 = $23 | $22;
    22658   HEAP32[$16>>2] = $24;
    22659   $25 = $6;
    22660   $8 = $25;
    22661   $26 = $7;
    22662   $27 = HEAP32[$26>>2]|0;
    22663   $28 = $27 >>> 11;
    22664   $29 = $28 & -497;
    22665   $30 = HEAP32[$26>>2]|0;
    22666   $31 = $29 & 2097151;
    22667   $32 = $31 << 11;
    22668   $33 = $30 & 2047;
    22669   $34 = $33 | $32;
    22670   HEAP32[$26>>2] = $34;
    22671   $35 = $8;
    22672   $36 = $35 << 4;
    22673   $37 = $7;
    22674   $38 = HEAP32[$37>>2]|0;
    22675   $39 = $38 >>> 11;
    22676   $40 = $39 | $36;
    22677   $41 = HEAP32[$37>>2]|0;
    22678   $42 = $40 & 2097151;
    22679   $43 = $42 << 11;
    22680   $44 = $41 & 2047;
    22681   $45 = $44 | $43;
    22682   HEAP32[$37>>2] = $45;
    22683   $46 = $5;
    22684   $47 = ($46|0)!=(0|0);
    22685   if ($47) {
    22686    $48 = $7;
    22687    $49 = ((($48)) + 12|0);
    22688    $50 = $5;
    22689    $51 = $6;
    22690    _memcpy(($49|0),($50|0),($51|0))|0;
    22691   }
    22692  } else {
    22693   $52 = $6;
    22694   $53 = ($52>>>0)>=(2147483647);
    22695   if ($53) {
    22696    $54 = $4;
    22697    $55 = $4;
    22698    $56 = (_mrb_class_get($55,69160)|0);
    22699    _mrb_raise($54,$56,55711);
    22700    // unreachable;
    22701   }
    22702   $57 = $6;
    22703   $58 = $7;
    22704   $59 = ((($58)) + 12|0);
    22705   HEAP32[$59>>2] = $57;
    22706   $60 = $6;
    22707   $61 = $7;
    22708   $62 = ((($61)) + 12|0);
    22709   $63 = ((($62)) + 4|0);
    22710   HEAP32[$63>>2] = $60;
    22711   $64 = $4;
    22712   $65 = $6;
    22713   $66 = (($65) + 1)|0;
    22714   $67 = (_mrb_malloc($64,$66)|0);
    22715   $68 = $7;
    22716   $69 = ((($68)) + 12|0);
    22717   $70 = ((($69)) + 8|0);
    22718   HEAP32[$70>>2] = $67;
    22719   $71 = $5;
    22720   $72 = ($71|0)!=(0|0);
    22721   if ($72) {
    22722    $73 = $7;
    22723    $74 = ((($73)) + 12|0);
    22724    $75 = ((($74)) + 8|0);
    22725    $76 = HEAP32[$75>>2]|0;
    22726    $77 = $5;
    22727    $78 = $6;
    22728    _memcpy(($76|0),($77|0),($78|0))|0;
    22729   }
    22730  }
    22731  $79 = $7;
    22732  $80 = HEAP32[$79>>2]|0;
    22733  $81 = $80 >>> 11;
    22734  $82 = $81 & 8;
    22735  $83 = ($82|0)!=(0);
    22736  $84 = $7;
    22737  $85 = ((($84)) + 12|0);
    22738  if ($83) {
    22739   $90 = $85;
    22740   $88 = $6;
    22741   $89 = (($90) + ($88)|0);
    22742   HEAP8[$89>>0] = 0;
    22743   $91 = $7;
    22744   $3 = $91;
    22745   $92 = $3;
    22746   STACKTOP = sp;return ($92|0);
    22747  } else {
    22748   $86 = ((($85)) + 8|0);
    22749   $87 = HEAP32[$86>>2]|0;
    22750   $90 = $87;
    22751   $88 = $6;
    22752   $89 = (($90) + ($88)|0);
    22753   HEAP8[$89>>0] = 0;
    22754   $91 = $7;
    22755   $3 = $91;
    22756   $92 = $3;
    22757   STACKTOP = sp;return ($92|0);
    22758  }
    22759  return (0)|0;
    22760 }
    22761 function _str_new_static($0,$1,$2) {
    22762  $0 = $0|0;
    22763  $1 = $1|0;
    22764  $2 = $2|0;
    22765  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    22766  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22767  sp = STACKTOP;
    22768  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22769  $3 = $0;
    22770  $4 = $1;
    22771  $5 = $2;
    22772  $7 = $5;
    22773  $8 = ($7>>>0)>=(2147483647);
    22774  $9 = $3;
    22775  $10 = $3;
    22776  if ($8) {
    22777   $11 = (_mrb_class_get($10,69160)|0);
    22778   _mrb_raise($9,$11,55711);
    22779   // unreachable;
    22780  } else {
    22781   $12 = ((($10)) + 48|0);
    22782   $13 = HEAP32[$12>>2]|0;
    22783   $14 = (_mrb_obj_alloc($9,16,$13)|0);
    22784   $6 = $14;
    22785   $15 = $5;
    22786   $16 = $6;
    22787   $17 = ((($16)) + 12|0);
    22788   HEAP32[$17>>2] = $15;
    22789   $18 = $6;
    22790   $19 = ((($18)) + 12|0);
    22791   $20 = ((($19)) + 4|0);
    22792   HEAP32[$20>>2] = 0;
    22793   $21 = $4;
    22794   $22 = $6;
    22795   $23 = ((($22)) + 12|0);
    22796   $24 = ((($23)) + 8|0);
    22797   HEAP32[$24>>2] = $21;
    22798   $25 = $6;
    22799   $26 = HEAP32[$25>>2]|0;
    22800   $27 = $26 & 2047;
    22801   $28 = $27 | 4096;
    22802   HEAP32[$25>>2] = $28;
    22803   $29 = $6;
    22804   STACKTOP = sp;return ($29|0);
    22805  }
    22806  return (0)|0;
    22807 }
    22808 function _mrb_str_new_cstr($0,$1,$2) {
    22809  $0 = $0|0;
    22810  $1 = $1|0;
    22811  $2 = $2|0;
    22812  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22813  sp = STACKTOP;
    22814  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22815  $3 = $1;
    22816  $4 = $2;
    22817  $7 = $4;
    22818  $8 = ($7|0)!=(0|0);
    22819  if ($8) {
    22820   $9 = $4;
    22821   $10 = (_strlen($9)|0);
    22822   $6 = $10;
    22823  } else {
    22824   $6 = 0;
    22825  }
    22826  $11 = $3;
    22827  $12 = $4;
    22828  $13 = $6;
    22829  $14 = (_str_new($11,$12,$13)|0);
    22830  $5 = $14;
    22831  $15 = $5;
    22832  _mrb_obj_value_260($0,$15);
    22833  STACKTOP = sp;return;
    22834 }
    22835 function _mrb_str_new_static($0,$1,$2,$3) {
    22836  $0 = $0|0;
    22837  $1 = $1|0;
    22838  $2 = $2|0;
    22839  $3 = $3|0;
    22840  var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22841  sp = STACKTOP;
    22842  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22843  $4 = $1;
    22844  $5 = $2;
    22845  $6 = $3;
    22846  $8 = $4;
    22847  $9 = $5;
    22848  $10 = $6;
    22849  $11 = (_str_new_static($8,$9,$10)|0);
    22850  $7 = $11;
    22851  $12 = $7;
    22852  _mrb_obj_value_260($0,$12);
    22853  STACKTOP = sp;return;
    22854 }
    22855 function _mrb_gc_free_str($0,$1) {
    22856  $0 = $0|0;
    22857  $1 = $1|0;
    22858  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    22859  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22860  sp = STACKTOP;
    22861  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22862  $2 = $0;
    22863  $3 = $1;
    22864  $4 = $3;
    22865  $5 = HEAP32[$4>>2]|0;
    22866  $6 = $5 >>> 11;
    22867  $7 = $6 & 8;
    22868  $8 = ($7|0)!=(0);
    22869  if ($8) {
    22870   STACKTOP = sp;return;
    22871  }
    22872  $9 = $3;
    22873  $10 = HEAP32[$9>>2]|0;
    22874  $11 = $10 >>> 11;
    22875  $12 = $11 & 1;
    22876  $13 = ($12|0)!=(0);
    22877  if ($13) {
    22878   $14 = $2;
    22879   $15 = $3;
    22880   $16 = ((($15)) + 12|0);
    22881   $17 = ((($16)) + 4|0);
    22882   $18 = HEAP32[$17>>2]|0;
    22883   _str_decref($14,$18);
    22884   STACKTOP = sp;return;
    22885  }
    22886  $19 = $3;
    22887  $20 = HEAP32[$19>>2]|0;
    22888  $21 = $20 >>> 11;
    22889  $22 = $21 & 2;
    22890  $23 = ($22|0)!=(0);
    22891  if ($23) {
    22892   STACKTOP = sp;return;
    22893  }
    22894  $24 = $2;
    22895  $25 = $3;
    22896  $26 = ((($25)) + 12|0);
    22897  $27 = ((($26)) + 8|0);
    22898  $28 = HEAP32[$27>>2]|0;
    22899  _mrb_free($24,$28);
    22900  STACKTOP = sp;return;
    22901 }
    22902 function _str_decref($0,$1) {
    22903  $0 = $0|0;
    22904  $1 = $1|0;
    22905  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    22906  var label = 0, sp = 0;
    22907  sp = STACKTOP;
    22908  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    22909  $2 = $0;
    22910  $3 = $1;
    22911  $4 = $3;
    22912  $5 = ((($4)) + 4|0);
    22913  $6 = HEAP32[$5>>2]|0;
    22914  $7 = (($6) + -1)|0;
    22915  HEAP32[$5>>2] = $7;
    22916  $8 = $3;
    22917  $9 = ((($8)) + 4|0);
    22918  $10 = HEAP32[$9>>2]|0;
    22919  $11 = ($10|0)==(0);
    22920  if (!($11)) {
    22921   STACKTOP = sp;return;
    22922  }
    22923  $12 = $3;
    22924  $13 = HEAP8[$12>>0]|0;
    22925  $14 = $13 & 1;
    22926  $15 = ($14<<24>>24)!=(0);
    22927  if (!($15)) {
    22928   $16 = $2;
    22929   $17 = $3;
    22930   $18 = ((($17)) + 8|0);
    22931   $19 = HEAP32[$18>>2]|0;
    22932   _mrb_free($16,$19);
    22933  }
    22934  $20 = $2;
    22935  $21 = $3;
    22936  _mrb_free($20,$21);
    22937  STACKTOP = sp;return;
    22938 }
    22939 function _mrb_str_strlen($0,$1) {
    22940  $0 = $0|0;
    22941  $1 = $1|0;
    22942  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    22943  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    22944  var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    22945  sp = STACKTOP;
    22946  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    22947  $3 = $0;
    22948  $4 = $1;
    22949  $8 = $4;
    22950  $9 = HEAP32[$8>>2]|0;
    22951  $10 = $9 >>> 11;
    22952  $11 = $10 & 8;
    22953  $12 = ($11|0)!=(0);
    22954  $13 = $4;
    22955  if ($12) {
    22956   $14 = HEAP32[$13>>2]|0;
    22957   $15 = $14 >>> 11;
    22958   $16 = $15 & 496;
    22959   $17 = $16 >> 4;
    22960   $20 = $17;
    22961  } else {
    22962   $18 = ((($13)) + 12|0);
    22963   $19 = HEAP32[$18>>2]|0;
    22964   $20 = $19;
    22965  }
    22966  $6 = $20;
    22967  $21 = $4;
    22968  $22 = HEAP32[$21>>2]|0;
    22969  $23 = $22 >>> 11;
    22970  $24 = $23 & 8;
    22971  $25 = ($24|0)!=(0);
    22972  $26 = $4;
    22973  $27 = ((($26)) + 12|0);
    22974  if ($25) {
    22975   $30 = $27;
    22976  } else {
    22977   $28 = ((($27)) + 8|0);
    22978   $29 = HEAP32[$28>>2]|0;
    22979   $30 = $29;
    22980  }
    22981  $7 = $30;
    22982  $31 = $7;
    22983  $32 = ($31|0)!=(0|0);
    22984  if (!($32)) {
    22985   $2 = 0;
    22986   $48 = $2;
    22987   STACKTOP = sp;return ($48|0);
    22988  }
    22989  $5 = 0;
    22990  while(1) {
    22991   $33 = $5;
    22992   $34 = $6;
    22993   $35 = ($33|0)<($34|0);
    22994   if (!($35)) {
    22995    break;
    22996   }
    22997   $36 = $7;
    22998   $37 = $5;
    22999   $38 = (($36) + ($37)|0);
    23000   $39 = HEAP8[$38>>0]|0;
    23001   $40 = $39 << 24 >> 24;
    23002   $41 = ($40|0)==(0);
    23003   if ($41) {
    23004    label = 12;
    23005    break;
    23006   }
    23007   $45 = $5;
    23008   $46 = (($45) + 1)|0;
    23009   $5 = $46;
    23010  }
    23011  if ((label|0) == 12) {
    23012   $42 = $3;
    23013   $43 = $3;
    23014   $44 = (_mrb_class_get($43,69160)|0);
    23015   _mrb_raise($42,$44,55731);
    23016   // unreachable;
    23017  }
    23018  $47 = $6;
    23019  $2 = $47;
    23020  $48 = $2;
    23021  STACKTOP = sp;return ($48|0);
    23022 }
    23023 function _mrb_str_modify($0,$1) {
    23024  $0 = $0|0;
    23025  $1 = $1|0;
    23026  var $$sink7 = 0, $$sink9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
    23027  var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
    23028  var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
    23029  var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    23030  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    23031  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    23032  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    23033  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    23034  sp = STACKTOP;
    23035  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    23036  $2 = $0;
    23037  $3 = $1;
    23038  $9 = $2;
    23039  $10 = $3;
    23040  _check_frozen($9,$10);
    23041  $11 = $3;
    23042  $12 = HEAP32[$11>>2]|0;
    23043  $13 = $12 >>> 11;
    23044  $14 = $13 & 1;
    23045  $15 = ($14|0)!=(0);
    23046  $16 = $3;
    23047  if ($15) {
    23048   $17 = ((($16)) + 12|0);
    23049   $18 = ((($17)) + 4|0);
    23050   $19 = HEAP32[$18>>2]|0;
    23051   $4 = $19;
    23052   $20 = $4;
    23053   $21 = ((($20)) + 4|0);
    23054   $22 = HEAP32[$21>>2]|0;
    23055   $23 = ($22|0)==(1);
    23056   if ($23) {
    23057    $24 = $3;
    23058    $25 = ((($24)) + 12|0);
    23059    $26 = ((($25)) + 8|0);
    23060    $27 = HEAP32[$26>>2]|0;
    23061    $28 = $4;
    23062    $29 = ((($28)) + 8|0);
    23063    $30 = HEAP32[$29>>2]|0;
    23064    $31 = ($27|0)==($30|0);
    23065    if ($31) {
    23066     $32 = $4;
    23067     $33 = ((($32)) + 8|0);
    23068     $34 = HEAP32[$33>>2]|0;
    23069     $35 = $3;
    23070     $36 = ((($35)) + 12|0);
    23071     $37 = ((($36)) + 8|0);
    23072     HEAP32[$37>>2] = $34;
    23073     $38 = $4;
    23074     $39 = ((($38)) + 12|0);
    23075     $40 = HEAP32[$39>>2]|0;
    23076     $41 = $3;
    23077     $42 = ((($41)) + 12|0);
    23078     $43 = ((($42)) + 4|0);
    23079     HEAP32[$43>>2] = $40;
    23080     $44 = $3;
    23081     $45 = HEAP32[$44>>2]|0;
    23082     $46 = $45 >>> 11;
    23083     $47 = $46 & 8;
    23084     $48 = ($47|0)!=(0);
    23085     $49 = $3;
    23086     $50 = ((($49)) + 12|0);
    23087     if ($48) {
    23088      $57 = $50;
    23089     } else {
    23090      $51 = ((($50)) + 8|0);
    23091      $52 = HEAP32[$51>>2]|0;
    23092      $57 = $52;
    23093     }
    23094     $53 = $3;
    23095     $54 = ((($53)) + 12|0);
    23096     $55 = HEAP32[$54>>2]|0;
    23097     $56 = (($57) + ($55)|0);
    23098     HEAP8[$56>>0] = 0;
    23099     $58 = $2;
    23100     $59 = $4;
    23101     _mrb_free($58,$59);
    23102    } else {
    23103     label = 8;
    23104    }
    23105   } else {
    23106    label = 8;
    23107   }
    23108   if ((label|0) == 8) {
    23109    $60 = $3;
    23110    $61 = HEAP32[$60>>2]|0;
    23111    $62 = $61 >>> 11;
    23112    $63 = $62 & 8;
    23113    $64 = ($63|0)!=(0);
    23114    $65 = $3;
    23115    $66 = ((($65)) + 12|0);
    23116    if ($64) {
    23117     $69 = $66;
    23118    } else {
    23119     $67 = ((($66)) + 8|0);
    23120     $68 = HEAP32[$67>>2]|0;
    23121     $69 = $68;
    23122    }
    23123    $6 = $69;
    23124    $70 = $3;
    23125    $71 = ((($70)) + 12|0);
    23126    $72 = HEAP32[$71>>2]|0;
    23127    $7 = $72;
    23128    $73 = $2;
    23129    $74 = $7;
    23130    $75 = (($74) + 1)|0;
    23131    $76 = (_mrb_malloc($73,$75)|0);
    23132    $5 = $76;
    23133    $77 = $6;
    23134    $78 = ($77|0)!=(0|0);
    23135    if ($78) {
    23136     $79 = $5;
    23137     $80 = $6;
    23138     $81 = $7;
    23139     _memcpy(($79|0),($80|0),($81|0))|0;
    23140    }
    23141    $82 = $5;
    23142    $83 = $7;
    23143    $84 = (($82) + ($83)|0);
    23144    HEAP8[$84>>0] = 0;
    23145    $85 = $5;
    23146    $86 = $3;
    23147    $87 = ((($86)) + 12|0);
    23148    $88 = ((($87)) + 8|0);
    23149    HEAP32[$88>>2] = $85;
    23150    $89 = $7;
    23151    $90 = $3;
    23152    $91 = ((($90)) + 12|0);
    23153    $92 = ((($91)) + 4|0);
    23154    HEAP32[$92>>2] = $89;
    23155    $93 = $2;
    23156    $94 = $4;
    23157    _str_decref($93,$94);
    23158   }
    23159   $95 = $3;
    23160   $$sink7 = -2;$$sink9 = $95;
    23161  } else {
    23162   $96 = HEAP32[$16>>2]|0;
    23163   $97 = $96 >>> 11;
    23164   $98 = $97 & 2;
    23165   $99 = ($98|0)!=(0);
    23166   if (!($99)) {
    23167    STACKTOP = sp;return;
    23168   }
    23169   $100 = $3;
    23170   $101 = ((($100)) + 12|0);
    23171   $102 = ((($101)) + 8|0);
    23172   $103 = HEAP32[$102>>2]|0;
    23173   $8 = $103;
    23174   $104 = $2;
    23175   $105 = $3;
    23176   $106 = ((($105)) + 12|0);
    23177   $107 = HEAP32[$106>>2]|0;
    23178   $108 = (($107) + 1)|0;
    23179   $109 = (_mrb_malloc($104,$108)|0);
    23180   $110 = $3;
    23181   $111 = ((($110)) + 12|0);
    23182   $112 = ((($111)) + 8|0);
    23183   HEAP32[$112>>2] = $109;
    23184   $113 = $8;
    23185   $114 = ($113|0)!=(0|0);
    23186   if ($114) {
    23187    $115 = $3;
    23188    $116 = HEAP32[$115>>2]|0;
    23189    $117 = $116 >>> 11;
    23190    $118 = $117 & 8;
    23191    $119 = ($118|0)!=(0);
    23192    $120 = $3;
    23193    $121 = ((($120)) + 12|0);
    23194    if ($119) {
    23195     $128 = $121;
    23196    } else {
    23197     $122 = ((($121)) + 8|0);
    23198     $123 = HEAP32[$122>>2]|0;
    23199     $128 = $123;
    23200    }
    23201    $124 = $8;
    23202    $125 = $3;
    23203    $126 = ((($125)) + 12|0);
    23204    $127 = HEAP32[$126>>2]|0;
    23205    _memcpy(($128|0),($124|0),($127|0))|0;
    23206   }
    23207   $129 = $3;
    23208   $130 = HEAP32[$129>>2]|0;
    23209   $131 = $130 >>> 11;
    23210   $132 = $131 & 8;
    23211   $133 = ($132|0)!=(0);
    23212   $134 = $3;
    23213   $135 = ((($134)) + 12|0);
    23214   if ($133) {
    23215    $142 = $135;
    23216   } else {
    23217    $136 = ((($135)) + 8|0);
    23218    $137 = HEAP32[$136>>2]|0;
    23219    $142 = $137;
    23220   }
    23221   $138 = $3;
    23222   $139 = ((($138)) + 12|0);
    23223   $140 = HEAP32[$139>>2]|0;
    23224   $141 = (($142) + ($140)|0);
    23225   HEAP8[$141>>0] = 0;
    23226   $143 = $3;
    23227   $144 = ((($143)) + 12|0);
    23228   $145 = HEAP32[$144>>2]|0;
    23229   $146 = $3;
    23230   $147 = ((($146)) + 12|0);
    23231   $148 = ((($147)) + 4|0);
    23232   HEAP32[$148>>2] = $145;
    23233   $149 = $3;
    23234   $$sink7 = -3;$$sink9 = $149;
    23235  }
    23236  $150 = HEAP32[$$sink9>>2]|0;
    23237  $151 = $150 >>> 11;
    23238  $152 = $151 & $$sink7;
    23239  $153 = HEAP32[$$sink9>>2]|0;
    23240  $154 = $152 & 2097151;
    23241  $155 = $154 << 11;
    23242  $156 = $153 & 2047;
    23243  $157 = $156 | $155;
    23244  HEAP32[$$sink9>>2] = $157;
    23245  STACKTOP = sp;return;
    23246 }
    23247 function _check_frozen($0,$1) {
    23248  $0 = $0|0;
    23249  $1 = $1|0;
    23250  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    23251  sp = STACKTOP;
    23252  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    23253  $2 = $0;
    23254  $3 = $1;
    23255  $4 = $3;
    23256  $5 = HEAP32[$4>>2]|0;
    23257  $6 = $5 >>> 11;
    23258  $7 = $6 & 4;
    23259  $8 = ($7|0)!=(0);
    23260  if ($8) {
    23261   $9 = $2;
    23262   $10 = $2;
    23263   $11 = (_mrb_class_get($10,68266)|0);
    23264   _mrb_raise($9,$11,55757);
    23265   // unreachable;
    23266  } else {
    23267   STACKTOP = sp;return;
    23268  }
    23269 }
    23270 function _resize_capa($0,$1,$2) {
    23271  $0 = $0|0;
    23272  $1 = $1|0;
    23273  $2 = $2|0;
    23274  var $$sink = 0, $$sink5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    23275  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    23276  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    23277  var $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    23278  sp = STACKTOP;
    23279  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    23280  $3 = $0;
    23281  $4 = $1;
    23282  $5 = $2;
    23283  $8 = $4;
    23284  $9 = HEAP32[$8>>2]|0;
    23285  $10 = $9 >>> 11;
    23286  $11 = $10 & 8;
    23287  $12 = ($11|0)!=(0);
    23288  do {
    23289   if ($12) {
    23290    $13 = $5;
    23291    $14 = (11)<($13|0);
    23292    if ($14) {
    23293     $15 = $3;
    23294     $16 = $5;
    23295     $17 = (($16) + 1)|0;
    23296     $18 = (_mrb_malloc($15,$17)|0);
    23297     $6 = $18;
    23298     $19 = $4;
    23299     $20 = HEAP32[$19>>2]|0;
    23300     $21 = $20 >>> 11;
    23301     $22 = $21 & 496;
    23302     $23 = $22 >> 4;
    23303     $7 = $23;
    23304     $24 = $6;
    23305     $25 = $4;
    23306     $26 = ((($25)) + 12|0);
    23307     $27 = $7;
    23308     _memcpy(($24|0),($26|0),($27|0))|0;
    23309     $28 = $4;
    23310     $29 = HEAP32[$28>>2]|0;
    23311     $30 = $29 >>> 11;
    23312     $31 = $30 & -505;
    23313     $32 = HEAP32[$28>>2]|0;
    23314     $33 = $31 & 2097151;
    23315     $34 = $33 << 11;
    23316     $35 = $32 & 2047;
    23317     $36 = $35 | $34;
    23318     HEAP32[$28>>2] = $36;
    23319     $37 = $6;
    23320     $38 = $4;
    23321     $39 = ((($38)) + 12|0);
    23322     $40 = ((($39)) + 8|0);
    23323     HEAP32[$40>>2] = $37;
    23324     $41 = $7;
    23325     $42 = $4;
    23326     $43 = ((($42)) + 12|0);
    23327     HEAP32[$43>>2] = $41;
    23328     $44 = $5;
    23329     $45 = $4;
    23330     $$sink = $44;$$sink5 = $45;
    23331     break;
    23332    } else {
    23333     STACKTOP = sp;return;
    23334    }
    23335   } else {
    23336    $46 = $3;
    23337    $47 = $4;
    23338    $48 = HEAP32[$47>>2]|0;
    23339    $49 = $48 >>> 11;
    23340    $50 = $49 & 8;
    23341    $51 = ($50|0)!=(0);
    23342    $52 = $4;
    23343    $53 = ((($52)) + 12|0);
    23344    if ($51) {
    23345     $58 = $53;
    23346    } else {
    23347     $54 = ((($53)) + 8|0);
    23348     $55 = HEAP32[$54>>2]|0;
    23349     $58 = $55;
    23350    }
    23351    $56 = $5;
    23352    $57 = (($56) + 1)|0;
    23353    $59 = (_mrb_realloc($46,$58,$57)|0);
    23354    $60 = $4;
    23355    $61 = ((($60)) + 12|0);
    23356    $62 = ((($61)) + 8|0);
    23357    HEAP32[$62>>2] = $59;
    23358    $63 = $5;
    23359    $64 = $4;
    23360    $$sink = $63;$$sink5 = $64;
    23361   }
    23362  } while(0);
    23363  $65 = ((($$sink5)) + 12|0);
    23364  $66 = ((($65)) + 4|0);
    23365  HEAP32[$66>>2] = $$sink;
    23366  STACKTOP = sp;return;
    23367 }
    23368 function _mrb_str_concat($0,$1,$2) {
    23369  $0 = $0|0;
    23370  $1 = $1|0;
    23371  $2 = $2|0;
    23372  var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    23373  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
    23374  var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
    23375  var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
    23376  var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
    23377  var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
    23378  var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
    23379  var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    23380  sp = STACKTOP;
    23381  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    23382  $$byval_copy = sp + 32|0;
    23383  $7 = sp + 8|0;
    23384  $3 = $0;
    23385  $9 = HEAP32[$1>>2]|0;
    23386  $4 = $9;
    23387  $10 = $3;
    23388  $11 = $4;
    23389  _mrb_str_modify($10,$11);
    23390  $12 = ((($2)) + 4|0);
    23391  $13 = HEAP32[$12>>2]|0;
    23392  $14 = ($13|0)==(16);
    23393  if (!($14)) {
    23394   $15 = $3;
    23395   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    23396   _mrb_str_to_str($7,$15,$$byval_copy);
    23397   ;HEAP32[$2>>2]=HEAP32[$7>>2]|0;HEAP32[$2+4>>2]=HEAP32[$7+4>>2]|0;
    23398  }
    23399  $16 = HEAP32[$2>>2]|0;
    23400  $5 = $16;
    23401  $17 = $4;
    23402  $18 = HEAP32[$17>>2]|0;
    23403  $19 = $18 >>> 11;
    23404  $20 = $19 & 8;
    23405  $21 = ($20|0)!=(0);
    23406  $22 = $4;
    23407  if ($21) {
    23408   $23 = HEAP32[$22>>2]|0;
    23409   $24 = $23 >>> 11;
    23410   $25 = $24 & 496;
    23411   $26 = $25 >> 4;
    23412   $43 = $26;
    23413  } else {
    23414   $27 = ((($22)) + 12|0);
    23415   $28 = HEAP32[$27>>2]|0;
    23416   $43 = $28;
    23417  }
    23418  $29 = $5;
    23419  $30 = HEAP32[$29>>2]|0;
    23420  $31 = $30 >>> 11;
    23421  $32 = $31 & 8;
    23422  $33 = ($32|0)!=(0);
    23423  $34 = $5;
    23424  if ($33) {
    23425   $35 = HEAP32[$34>>2]|0;
    23426   $36 = $35 >>> 11;
    23427   $37 = $36 & 496;
    23428   $38 = $37 >> 4;
    23429   $42 = $38;
    23430  } else {
    23431   $39 = ((($34)) + 12|0);
    23432   $40 = HEAP32[$39>>2]|0;
    23433   $42 = $40;
    23434  }
    23435  $41 = (($43) + ($42))|0;
    23436  $6 = $41;
    23437  $44 = HEAP32[$1>>2]|0;
    23438  $45 = HEAP32[$44>>2]|0;
    23439  $46 = $45 >>> 11;
    23440  $47 = $46 & 8;
    23441  $48 = ($47|0)!=(0);
    23442  if ($48) {
    23443   $55 = 11;
    23444  } else {
    23445   $49 = HEAP32[$1>>2]|0;
    23446   $50 = ((($49)) + 12|0);
    23447   $51 = ((($50)) + 4|0);
    23448   $52 = HEAP32[$51>>2]|0;
    23449   $55 = $52;
    23450  }
    23451  $53 = $6;
    23452  $54 = ($55|0)<($53|0);
    23453  if ($54) {
    23454   $56 = $3;
    23455   $57 = $4;
    23456   $58 = $6;
    23457   _resize_capa($56,$57,$58);
    23458  }
    23459  $59 = $4;
    23460  $60 = HEAP32[$59>>2]|0;
    23461  $61 = $60 >>> 11;
    23462  $62 = $61 & 8;
    23463  $63 = ($62|0)!=(0);
    23464  $64 = $4;
    23465  $65 = ((($64)) + 12|0);
    23466  if ($63) {
    23467   $81 = $65;
    23468  } else {
    23469   $66 = ((($65)) + 8|0);
    23470   $67 = HEAP32[$66>>2]|0;
    23471   $81 = $67;
    23472  }
    23473  $68 = $4;
    23474  $69 = HEAP32[$68>>2]|0;
    23475  $70 = $69 >>> 11;
    23476  $71 = $70 & 8;
    23477  $72 = ($71|0)!=(0);
    23478  $73 = $4;
    23479  if ($72) {
    23480   $74 = HEAP32[$73>>2]|0;
    23481   $75 = $74 >>> 11;
    23482   $76 = $75 & 496;
    23483   $77 = $76 >> 4;
    23484   $82 = $77;
    23485  } else {
    23486   $78 = ((($73)) + 12|0);
    23487   $79 = HEAP32[$78>>2]|0;
    23488   $82 = $79;
    23489  }
    23490  $80 = (($81) + ($82)|0);
    23491  $83 = $5;
    23492  $84 = HEAP32[$83>>2]|0;
    23493  $85 = $84 >>> 11;
    23494  $86 = $85 & 8;
    23495  $87 = ($86|0)!=(0);
    23496  $88 = $5;
    23497  $89 = ((($88)) + 12|0);
    23498  if ($87) {
    23499   $104 = $89;
    23500  } else {
    23501   $90 = ((($89)) + 8|0);
    23502   $91 = HEAP32[$90>>2]|0;
    23503   $104 = $91;
    23504  }
    23505  $92 = $5;
    23506  $93 = HEAP32[$92>>2]|0;
    23507  $94 = $93 >>> 11;
    23508  $95 = $94 & 8;
    23509  $96 = ($95|0)!=(0);
    23510  $97 = $5;
    23511  if ($96) {
    23512   $98 = HEAP32[$97>>2]|0;
    23513   $99 = $98 >>> 11;
    23514   $100 = $99 & 496;
    23515   $101 = $100 >> 4;
    23516   $105 = $101;
    23517  } else {
    23518   $102 = ((($97)) + 12|0);
    23519   $103 = HEAP32[$102>>2]|0;
    23520   $105 = $103;
    23521  }
    23522  _memcpy(($80|0),($104|0),($105|0))|0;
    23523  $106 = $4;
    23524  $107 = HEAP32[$106>>2]|0;
    23525  $108 = $107 >>> 11;
    23526  $109 = $108 & 8;
    23527  $110 = ($109|0)!=(0);
    23528  $111 = $6;
    23529  if ($110) {
    23530   $8 = $111;
    23531   $112 = $4;
    23532   $113 = HEAP32[$112>>2]|0;
    23533   $114 = $113 >>> 11;
    23534   $115 = $114 & -497;
    23535   $116 = HEAP32[$112>>2]|0;
    23536   $117 = $115 & 2097151;
    23537   $118 = $117 << 11;
    23538   $119 = $116 & 2047;
    23539   $120 = $119 | $118;
    23540   HEAP32[$112>>2] = $120;
    23541   $121 = $8;
    23542   $122 = $121 << 4;
    23543   $123 = $4;
    23544   $124 = HEAP32[$123>>2]|0;
    23545   $125 = $124 >>> 11;
    23546   $126 = $125 | $122;
    23547   $127 = HEAP32[$123>>2]|0;
    23548   $128 = $126 & 2097151;
    23549   $129 = $128 << 11;
    23550   $130 = $127 & 2047;
    23551   $131 = $130 | $129;
    23552   HEAP32[$123>>2] = $131;
    23553  } else {
    23554   $132 = $4;
    23555   $133 = ((($132)) + 12|0);
    23556   HEAP32[$133>>2] = $111;
    23557  }
    23558  $134 = $4;
    23559  $135 = HEAP32[$134>>2]|0;
    23560  $136 = $135 >>> 11;
    23561  $137 = $136 & 8;
    23562  $138 = ($137|0)!=(0);
    23563  $139 = $4;
    23564  $140 = ((($139)) + 12|0);
    23565  if ($138) {
    23566   $145 = $140;
    23567   $143 = $6;
    23568   $144 = (($145) + ($143)|0);
    23569   HEAP8[$144>>0] = 0;
    23570   STACKTOP = sp;return;
    23571  } else {
    23572   $141 = ((($140)) + 8|0);
    23573   $142 = HEAP32[$141>>2]|0;
    23574   $145 = $142;
    23575   $143 = $6;
    23576   $144 = (($145) + ($143)|0);
    23577   HEAP8[$144>>0] = 0;
    23578   STACKTOP = sp;return;
    23579  }
    23580 }
    23581 function _mrb_str_to_str($0,$1,$2) {
    23582  $0 = $0|0;
    23583  $1 = $1|0;
    23584  $2 = $2|0;
    23585  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    23586  sp = STACKTOP;
    23587  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    23588  $$byval_copy1 = sp + 40|0;
    23589  $$byval_copy = sp + 32|0;
    23590  $4 = sp + 16|0;
    23591  $5 = sp + 8|0;
    23592  $6 = sp;
    23593  $3 = $1;
    23594  $7 = ((($2)) + 4|0);
    23595  $8 = HEAP32[$7>>2]|0;
    23596  $9 = ($8|0)==(16);
    23597  if ($9) {
    23598   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    23599   STACKTOP = sp;return;
    23600  }
    23601  $10 = $3;
    23602  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    23603  _mrb_check_convert_type($5,$10,$$byval_copy,16,65324,65331);
    23604  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    23605  $11 = ((($4)) + 4|0);
    23606  $12 = HEAP32[$11>>2]|0;
    23607  $13 = ($12|0)==(0);
    23608  if ($13) {
    23609   $14 = HEAP32[$4>>2]|0;
    23610   $15 = ($14|0)!=(0);
    23611   if (!($15)) {
    23612    $16 = $3;
    23613    ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    23614    _mrb_convert_type($6,$16,$$byval_copy1,16,65324,69276);
    23615    ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
    23616   }
    23617  }
    23618  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    23619  STACKTOP = sp;return;
    23620 }
    23621 function _mrb_str_plus($0,$1,$2,$3) {
    23622  $0 = $0|0;
    23623  $1 = $1|0;
    23624  $2 = $2|0;
    23625  $3 = $3|0;
    23626  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    23627  var $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    23628  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    23629  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    23630  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
    23631  var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    23632  sp = STACKTOP;
    23633  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    23634  $4 = $1;
    23635  $8 = HEAP32[$2>>2]|0;
    23636  $5 = $8;
    23637  $9 = HEAP32[$3>>2]|0;
    23638  $6 = $9;
    23639  $10 = $4;
    23640  $11 = $5;
    23641  $12 = HEAP32[$11>>2]|0;
    23642  $13 = $12 >>> 11;
    23643  $14 = $13 & 8;
    23644  $15 = ($14|0)!=(0);
    23645  $16 = $5;
    23646  if ($15) {
    23647   $17 = HEAP32[$16>>2]|0;
    23648   $18 = $17 >>> 11;
    23649   $19 = $18 & 496;
    23650   $20 = $19 >> 4;
    23651   $37 = $20;
    23652  } else {
    23653   $21 = ((($16)) + 12|0);
    23654   $22 = HEAP32[$21>>2]|0;
    23655   $37 = $22;
    23656  }
    23657  $23 = $6;
    23658  $24 = HEAP32[$23>>2]|0;
    23659  $25 = $24 >>> 11;
    23660  $26 = $25 & 8;
    23661  $27 = ($26|0)!=(0);
    23662  $28 = $6;
    23663  if ($27) {
    23664   $29 = HEAP32[$28>>2]|0;
    23665   $30 = $29 >>> 11;
    23666   $31 = $30 & 496;
    23667   $32 = $31 >> 4;
    23668   $36 = $32;
    23669  } else {
    23670   $33 = ((($28)) + 12|0);
    23671   $34 = HEAP32[$33>>2]|0;
    23672   $36 = $34;
    23673  }
    23674  $35 = (($37) + ($36))|0;
    23675  $38 = (_str_new($10,0,$35)|0);
    23676  $7 = $38;
    23677  $39 = $7;
    23678  $40 = HEAP32[$39>>2]|0;
    23679  $41 = $40 >>> 11;
    23680  $42 = $41 & 8;
    23681  $43 = ($42|0)!=(0);
    23682  $44 = $7;
    23683  $45 = ((($44)) + 12|0);
    23684  if ($43) {
    23685   $69 = $45;
    23686  } else {
    23687   $46 = ((($45)) + 8|0);
    23688   $47 = HEAP32[$46>>2]|0;
    23689   $69 = $47;
    23690  }
    23691  $48 = $5;
    23692  $49 = HEAP32[$48>>2]|0;
    23693  $50 = $49 >>> 11;
    23694  $51 = $50 & 8;
    23695  $52 = ($51|0)!=(0);
    23696  $53 = $5;
    23697  $54 = ((($53)) + 12|0);
    23698  if ($52) {
    23699   $70 = $54;
    23700  } else {
    23701   $55 = ((($54)) + 8|0);
    23702   $56 = HEAP32[$55>>2]|0;
    23703   $70 = $56;
    23704  }
    23705  $57 = $5;
    23706  $58 = HEAP32[$57>>2]|0;
    23707  $59 = $58 >>> 11;
    23708  $60 = $59 & 8;
    23709  $61 = ($60|0)!=(0);
    23710  $62 = $5;
    23711  if ($61) {
    23712   $63 = HEAP32[$62>>2]|0;
    23713   $64 = $63 >>> 11;
    23714   $65 = $64 & 496;
    23715   $66 = $65 >> 4;
    23716   $71 = $66;
    23717  } else {
    23718   $67 = ((($62)) + 12|0);
    23719   $68 = HEAP32[$67>>2]|0;
    23720   $71 = $68;
    23721  }
    23722  _memcpy(($69|0),($70|0),($71|0))|0;
    23723  $72 = $7;
    23724  $73 = HEAP32[$72>>2]|0;
    23725  $74 = $73 >>> 11;
    23726  $75 = $74 & 8;
    23727  $76 = ($75|0)!=(0);
    23728  $77 = $7;
    23729  $78 = ((($77)) + 12|0);
    23730  if ($76) {
    23731   $94 = $78;
    23732  } else {
    23733   $79 = ((($78)) + 8|0);
    23734   $80 = HEAP32[$79>>2]|0;
    23735   $94 = $80;
    23736  }
    23737  $81 = $5;
    23738  $82 = HEAP32[$81>>2]|0;
    23739  $83 = $82 >>> 11;
    23740  $84 = $83 & 8;
    23741  $85 = ($84|0)!=(0);
    23742  $86 = $5;
    23743  if ($85) {
    23744   $87 = HEAP32[$86>>2]|0;
    23745   $88 = $87 >>> 11;
    23746   $89 = $88 & 496;
    23747   $90 = $89 >> 4;
    23748   $95 = $90;
    23749  } else {
    23750   $91 = ((($86)) + 12|0);
    23751   $92 = HEAP32[$91>>2]|0;
    23752   $95 = $92;
    23753  }
    23754  $93 = (($94) + ($95)|0);
    23755  $96 = $6;
    23756  $97 = HEAP32[$96>>2]|0;
    23757  $98 = $97 >>> 11;
    23758  $99 = $98 & 8;
    23759  $100 = ($99|0)!=(0);
    23760  $101 = $6;
    23761  $102 = ((($101)) + 12|0);
    23762  if ($100) {
    23763   $117 = $102;
    23764  } else {
    23765   $103 = ((($102)) + 8|0);
    23766   $104 = HEAP32[$103>>2]|0;
    23767   $117 = $104;
    23768  }
    23769  $105 = $6;
    23770  $106 = HEAP32[$105>>2]|0;
    23771  $107 = $106 >>> 11;
    23772  $108 = $107 & 8;
    23773  $109 = ($108|0)!=(0);
    23774  $110 = $6;
    23775  if ($109) {
    23776   $111 = HEAP32[$110>>2]|0;
    23777   $112 = $111 >>> 11;
    23778   $113 = $112 & 496;
    23779   $114 = $113 >> 4;
    23780   $118 = $114;
    23781   _memcpy(($93|0),($117|0),($118|0))|0;
    23782   $119 = $7;
    23783   _mrb_obj_value_260($0,$119);
    23784   STACKTOP = sp;return;
    23785  } else {
    23786   $115 = ((($110)) + 12|0);
    23787   $116 = HEAP32[$115>>2]|0;
    23788   $118 = $116;
    23789   _memcpy(($93|0),($117|0),($118|0))|0;
    23790   $119 = $7;
    23791   _mrb_obj_value_260($0,$119);
    23792   STACKTOP = sp;return;
    23793  }
    23794 }
    23795 function _mrb_str_cmp($0,$1,$2) {
    23796  $0 = $0|0;
    23797  $1 = $1|0;
    23798  $2 = $2|0;
    23799  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    23800  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    23801  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    23802  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    23803  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
    23804  var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
    23805  var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
    23806  var $99 = 0, label = 0, sp = 0;
    23807  sp = STACKTOP;
    23808  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    23809  $4 = $0;
    23810  $9 = HEAP32[$1>>2]|0;
    23811  $7 = $9;
    23812  $10 = HEAP32[$2>>2]|0;
    23813  $8 = $10;
    23814  $11 = $7;
    23815  $12 = HEAP32[$11>>2]|0;
    23816  $13 = $12 >>> 11;
    23817  $14 = $13 & 8;
    23818  $15 = ($14|0)!=(0);
    23819  $16 = $7;
    23820  if ($15) {
    23821   $17 = HEAP32[$16>>2]|0;
    23822   $18 = $17 >>> 11;
    23823   $19 = $18 & 496;
    23824   $20 = $19 >> 4;
    23825   $36 = $20;
    23826  } else {
    23827   $21 = ((($16)) + 12|0);
    23828   $22 = HEAP32[$21>>2]|0;
    23829   $36 = $22;
    23830  }
    23831  $23 = $8;
    23832  $24 = HEAP32[$23>>2]|0;
    23833  $25 = $24 >>> 11;
    23834  $26 = $25 & 8;
    23835  $27 = ($26|0)!=(0);
    23836  $28 = $8;
    23837  if ($27) {
    23838   $29 = HEAP32[$28>>2]|0;
    23839   $30 = $29 >>> 11;
    23840   $31 = $30 & 496;
    23841   $32 = $31 >> 4;
    23842   $37 = $32;
    23843  } else {
    23844   $33 = ((($28)) + 12|0);
    23845   $34 = HEAP32[$33>>2]|0;
    23846   $37 = $34;
    23847  }
    23848  $35 = ($36|0)>($37|0);
    23849  do {
    23850   if ($35) {
    23851    $38 = $8;
    23852    $39 = HEAP32[$38>>2]|0;
    23853    $40 = $39 >>> 11;
    23854    $41 = $40 & 8;
    23855    $42 = ($41|0)!=(0);
    23856    $43 = $8;
    23857    if ($42) {
    23858     $44 = HEAP32[$43>>2]|0;
    23859     $45 = $44 >>> 11;
    23860     $46 = $45 & 496;
    23861     $47 = $46 >> 4;
    23862     $62 = $47;
    23863     break;
    23864    } else {
    23865     $48 = ((($43)) + 12|0);
    23866     $49 = HEAP32[$48>>2]|0;
    23867     $62 = $49;
    23868     break;
    23869    }
    23870   } else {
    23871    $50 = $7;
    23872    $51 = HEAP32[$50>>2]|0;
    23873    $52 = $51 >>> 11;
    23874    $53 = $52 & 8;
    23875    $54 = ($53|0)!=(0);
    23876    $55 = $7;
    23877    if ($54) {
    23878     $56 = HEAP32[$55>>2]|0;
    23879     $57 = $56 >>> 11;
    23880     $58 = $57 & 496;
    23881     $59 = $58 >> 4;
    23882     $62 = $59;
    23883     break;
    23884    } else {
    23885     $60 = ((($55)) + 12|0);
    23886     $61 = HEAP32[$60>>2]|0;
    23887     $62 = $61;
    23888     break;
    23889    }
    23890   }
    23891  } while(0);
    23892  $5 = $62;
    23893  $63 = $7;
    23894  $64 = HEAP32[$63>>2]|0;
    23895  $65 = $64 >>> 11;
    23896  $66 = $65 & 8;
    23897  $67 = ($66|0)!=(0);
    23898  $68 = $7;
    23899  $69 = ((($68)) + 12|0);
    23900  if ($67) {
    23901   $82 = $69;
    23902  } else {
    23903   $70 = ((($69)) + 8|0);
    23904   $71 = HEAP32[$70>>2]|0;
    23905   $82 = $71;
    23906  }
    23907  $72 = $8;
    23908  $73 = HEAP32[$72>>2]|0;
    23909  $74 = $73 >>> 11;
    23910  $75 = $74 & 8;
    23911  $76 = ($75|0)!=(0);
    23912  $77 = $8;
    23913  $78 = ((($77)) + 12|0);
    23914  if ($76) {
    23915   $83 = $78;
    23916  } else {
    23917   $79 = ((($78)) + 8|0);
    23918   $80 = HEAP32[$79>>2]|0;
    23919   $83 = $80;
    23920  }
    23921  $81 = $5;
    23922  $84 = (_memcmp($82,$83,$81)|0);
    23923  $6 = $84;
    23924  $85 = $6;
    23925  $86 = ($85|0)==(0);
    23926  if (!($86)) {
    23927   $141 = $6;
    23928   $142 = ($141|0)>(0);
    23929   if ($142) {
    23930    $3 = 1;
    23931    $143 = $3;
    23932    STACKTOP = sp;return ($143|0);
    23933   } else {
    23934    $3 = -1;
    23935    $143 = $3;
    23936    STACKTOP = sp;return ($143|0);
    23937   }
    23938  }
    23939  $87 = $7;
    23940  $88 = HEAP32[$87>>2]|0;
    23941  $89 = $88 >>> 11;
    23942  $90 = $89 & 8;
    23943  $91 = ($90|0)!=(0);
    23944  $92 = $7;
    23945  if ($91) {
    23946   $93 = HEAP32[$92>>2]|0;
    23947   $94 = $93 >>> 11;
    23948   $95 = $94 & 496;
    23949   $96 = $95 >> 4;
    23950   $112 = $96;
    23951  } else {
    23952   $97 = ((($92)) + 12|0);
    23953   $98 = HEAP32[$97>>2]|0;
    23954   $112 = $98;
    23955  }
    23956  $99 = $8;
    23957  $100 = HEAP32[$99>>2]|0;
    23958  $101 = $100 >>> 11;
    23959  $102 = $101 & 8;
    23960  $103 = ($102|0)!=(0);
    23961  $104 = $8;
    23962  if ($103) {
    23963   $105 = HEAP32[$104>>2]|0;
    23964   $106 = $105 >>> 11;
    23965   $107 = $106 & 496;
    23966   $108 = $107 >> 4;
    23967   $113 = $108;
    23968  } else {
    23969   $109 = ((($104)) + 12|0);
    23970   $110 = HEAP32[$109>>2]|0;
    23971   $113 = $110;
    23972  }
    23973  $111 = ($112|0)==($113|0);
    23974  if ($111) {
    23975   $3 = 0;
    23976   $143 = $3;
    23977   STACKTOP = sp;return ($143|0);
    23978  }
    23979  $114 = $7;
    23980  $115 = HEAP32[$114>>2]|0;
    23981  $116 = $115 >>> 11;
    23982  $117 = $116 & 8;
    23983  $118 = ($117|0)!=(0);
    23984  $119 = $7;
    23985  if ($118) {
    23986   $120 = HEAP32[$119>>2]|0;
    23987   $121 = $120 >>> 11;
    23988   $122 = $121 & 496;
    23989   $123 = $122 >> 4;
    23990   $139 = $123;
    23991  } else {
    23992   $124 = ((($119)) + 12|0);
    23993   $125 = HEAP32[$124>>2]|0;
    23994   $139 = $125;
    23995  }
    23996  $126 = $8;
    23997  $127 = HEAP32[$126>>2]|0;
    23998  $128 = $127 >>> 11;
    23999  $129 = $128 & 8;
    24000  $130 = ($129|0)!=(0);
    24001  $131 = $8;
    24002  if ($130) {
    24003   $132 = HEAP32[$131>>2]|0;
    24004   $133 = $132 >>> 11;
    24005   $134 = $133 & 496;
    24006   $135 = $134 >> 4;
    24007   $140 = $135;
    24008  } else {
    24009   $136 = ((($131)) + 12|0);
    24010   $137 = HEAP32[$136>>2]|0;
    24011   $140 = $137;
    24012  }
    24013  $138 = ($139|0)>($140|0);
    24014  if ($138) {
    24015   $3 = 1;
    24016   $143 = $3;
    24017   STACKTOP = sp;return ($143|0);
    24018  } else {
    24019   $3 = -1;
    24020   $143 = $3;
    24021   STACKTOP = sp;return ($143|0);
    24022  }
    24023  return (0)|0;
    24024 }
    24025 function _mrb_str_equal($0,$1,$2) {
    24026  $0 = $0|0;
    24027  $1 = $1|0;
    24028  $2 = $2|0;
    24029  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    24030  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    24031  sp = STACKTOP;
    24032  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    24033  $$byval_copy5 = sp + 64|0;
    24034  $$byval_copy4 = sp + 56|0;
    24035  $$byval_copy3 = sp + 48|0;
    24036  $$byval_copy2 = sp + 40|0;
    24037  $$byval_copy1 = sp + 32|0;
    24038  $$byval_copy = sp + 24|0;
    24039  $vararg_buffer = sp;
    24040  $5 = sp + 8|0;
    24041  $4 = $0;
    24042  $6 = ((($2)) + 4|0);
    24043  $7 = HEAP32[$6>>2]|0;
    24044  $8 = ($7>>>0)<(8);
    24045  if ($8) {
    24046   $3 = 0;
    24047   $27 = $3;
    24048   STACKTOP = sp;return ($27|0);
    24049  }
    24050  $9 = ((($2)) + 4|0);
    24051  $10 = HEAP32[$9>>2]|0;
    24052  $11 = ($10|0)==(16);
    24053  if ($11) {
    24054   $25 = $4;
    24055   ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;
    24056   ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    24057   $26 = (_str_eql($25,$$byval_copy4,$$byval_copy5)|0);
    24058   $3 = $26;
    24059   $27 = $3;
    24060   STACKTOP = sp;return ($27|0);
    24061  }
    24062  $12 = ((($2)) + 4|0);
    24063  $13 = HEAP32[$12>>2]|0;
    24064  $14 = ($13|0)==(0);
    24065  if ($14) {
    24066   $15 = HEAP32[$2>>2]|0;
    24067   $16 = ($15|0)!=(0);
    24068   if (!($16)) {
    24069    $3 = 0;
    24070    $27 = $3;
    24071    STACKTOP = sp;return ($27|0);
    24072   }
    24073  }
    24074  $17 = $4;
    24075  $18 = $4;
    24076  $19 = (_mrb_intern_static($18,65331,6)|0);
    24077  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    24078  $20 = (_mrb_respond_to($17,$$byval_copy,$19)|0);
    24079  $21 = ($20<<24>>24)!=(0);
    24080  if ($21) {
    24081   $22 = $4;
    24082   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    24083   _mrb_funcall($5,$22,$$byval_copy1,65331,0,$vararg_buffer);
    24084   ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;
    24085   $23 = $4;
    24086   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    24087   ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;
    24088   $24 = (_mrb_equal($23,$$byval_copy2,$$byval_copy3)|0);
    24089   $3 = $24;
    24090   $27 = $3;
    24091   STACKTOP = sp;return ($27|0);
    24092  } else {
    24093   $3 = 0;
    24094   $27 = $3;
    24095   STACKTOP = sp;return ($27|0);
    24096  }
    24097  return (0)|0;
    24098 }
    24099 function _str_eql($0,$1,$2) {
    24100  $0 = $0|0;
    24101  $1 = $1|0;
    24102  $2 = $2|0;
    24103  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    24104  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    24105  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    24106  sp = STACKTOP;
    24107  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    24108  $4 = $0;
    24109  $6 = HEAP32[$1>>2]|0;
    24110  $7 = HEAP32[$6>>2]|0;
    24111  $8 = $7 >>> 11;
    24112  $9 = $8 & 8;
    24113  $10 = ($9|0)!=(0);
    24114  $11 = HEAP32[$1>>2]|0;
    24115  if ($10) {
    24116   $12 = HEAP32[$11>>2]|0;
    24117   $13 = $12 >>> 11;
    24118   $14 = $13 & 496;
    24119   $15 = $14 >> 4;
    24120   $18 = $15;
    24121  } else {
    24122   $16 = ((($11)) + 12|0);
    24123   $17 = HEAP32[$16>>2]|0;
    24124   $18 = $17;
    24125  }
    24126  $5 = $18;
    24127  $19 = $5;
    24128  $20 = HEAP32[$2>>2]|0;
    24129  $21 = HEAP32[$20>>2]|0;
    24130  $22 = $21 >>> 11;
    24131  $23 = $22 & 8;
    24132  $24 = ($23|0)!=(0);
    24133  $25 = HEAP32[$2>>2]|0;
    24134  if ($24) {
    24135   $26 = HEAP32[$25>>2]|0;
    24136   $27 = $26 >>> 11;
    24137   $28 = $27 & 496;
    24138   $29 = $28 >> 4;
    24139   $33 = $29;
    24140  } else {
    24141   $30 = ((($25)) + 12|0);
    24142   $31 = HEAP32[$30>>2]|0;
    24143   $33 = $31;
    24144  }
    24145  $32 = ($19|0)!=($33|0);
    24146  if ($32) {
    24147   $3 = 0;
    24148   $57 = $3;
    24149   STACKTOP = sp;return ($57|0);
    24150  }
    24151  $34 = HEAP32[$1>>2]|0;
    24152  $35 = HEAP32[$34>>2]|0;
    24153  $36 = $35 >>> 11;
    24154  $37 = $36 & 8;
    24155  $38 = ($37|0)!=(0);
    24156  $39 = HEAP32[$1>>2]|0;
    24157  $40 = ((($39)) + 12|0);
    24158  if ($38) {
    24159   $53 = $40;
    24160  } else {
    24161   $41 = ((($40)) + 8|0);
    24162   $42 = HEAP32[$41>>2]|0;
    24163   $53 = $42;
    24164  }
    24165  $43 = HEAP32[$2>>2]|0;
    24166  $44 = HEAP32[$43>>2]|0;
    24167  $45 = $44 >>> 11;
    24168  $46 = $45 & 8;
    24169  $47 = ($46|0)!=(0);
    24170  $48 = HEAP32[$2>>2]|0;
    24171  $49 = ((($48)) + 12|0);
    24172  if ($47) {
    24173   $54 = $49;
    24174  } else {
    24175   $50 = ((($49)) + 8|0);
    24176   $51 = HEAP32[$50>>2]|0;
    24177   $54 = $51;
    24178  }
    24179  $52 = $5;
    24180  $55 = (_memcmp($53,$54,$52)|0);
    24181  $56 = ($55|0)==(0);
    24182  if ($56) {
    24183   $3 = 1;
    24184   $57 = $3;
    24185   STACKTOP = sp;return ($57|0);
    24186  } else {
    24187   $3 = 0;
    24188   $57 = $3;
    24189   STACKTOP = sp;return ($57|0);
    24190  }
    24191  return (0)|0;
    24192 }
    24193 function _mrb_string_value_ptr($0,$1) {
    24194  $0 = $0|0;
    24195  $1 = $1|0;
    24196  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    24197  sp = STACKTOP;
    24198  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    24199  $$byval_copy = sp + 16|0;
    24200  $3 = sp;
    24201  $2 = $0;
    24202  $4 = $2;
    24203  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    24204  _mrb_str_to_str($3,$4,$$byval_copy);
    24205  $5 = HEAP32[$3>>2]|0;
    24206  $6 = HEAP32[$5>>2]|0;
    24207  $7 = $6 >>> 11;
    24208  $8 = $7 & 8;
    24209  $9 = ($8|0)!=(0);
    24210  $10 = HEAP32[$3>>2]|0;
    24211  $11 = ((($10)) + 12|0);
    24212  if ($9) {
    24213   $14 = $11;
    24214   STACKTOP = sp;return ($14|0);
    24215  } else {
    24216   $12 = ((($11)) + 8|0);
    24217   $13 = HEAP32[$12>>2]|0;
    24218   $14 = $13;
    24219   STACKTOP = sp;return ($14|0);
    24220  }
    24221  return (0)|0;
    24222 }
    24223 function _mrb_noregexp($0,$1) {
    24224  $0 = $0|0;
    24225  $1 = $1|0;
    24226  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    24227  sp = STACKTOP;
    24228  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    24229  $2 = $0;
    24230  $3 = $2;
    24231  $4 = $2;
    24232  $5 = (_mrb_class_get($4,65108)|0);
    24233  _mrb_raise($3,$5,55784);
    24234  // unreachable;
    24235 }
    24236 function _mrb_regexp_check($0,$1) {
    24237  $0 = $0|0;
    24238  $1 = $1|0;
    24239  var $$byval_copy = 0, $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    24240  sp = STACKTOP;
    24241  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    24242  $$byval_copy1 = sp + 16|0;
    24243  $$byval_copy = sp + 8|0;
    24244  $2 = $0;
    24245  $3 = $2;
    24246  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    24247  $4 = (_mrb_regexp_p($3,$$byval_copy)|0);
    24248  $5 = ($4<<24>>24)!=(0);
    24249  if (!($5)) {
    24250   STACKTOP = sp;return;
    24251  }
    24252  $6 = $2;
    24253  ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;
    24254  _mrb_noregexp($6,$$byval_copy1);
    24255  STACKTOP = sp;return;
    24256 }
    24257 function _mrb_str_dup($0,$1,$2) {
    24258  $0 = $0|0;
    24259  $1 = $1|0;
    24260  $2 = $2|0;
    24261  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    24262  sp = STACKTOP;
    24263  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    24264  $$byval_copy = sp + 16|0;
    24265  $3 = $1;
    24266  $6 = HEAP32[$2>>2]|0;
    24267  $4 = $6;
    24268  $7 = $3;
    24269  $8 = (_str_new($7,0,0)|0);
    24270  $5 = $8;
    24271  $9 = $3;
    24272  $10 = $5;
    24273  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    24274  _str_with_class($9,$10,$$byval_copy);
    24275  $11 = $3;
    24276  $12 = $5;
    24277  $13 = $4;
    24278  _str_replace($0,$11,$12,$13);
    24279  STACKTOP = sp;return;
    24280 }
    24281 function _str_with_class($0,$1,$2) {
    24282  $0 = $0|0;
    24283  $1 = $1|0;
    24284  $2 = $2|0;
    24285  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    24286  sp = STACKTOP;
    24287  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    24288  $3 = $0;
    24289  $4 = $1;
    24290  $5 = HEAP32[$2>>2]|0;
    24291  $6 = ((($5)) + 4|0);
    24292  $7 = HEAP32[$6>>2]|0;
    24293  $8 = $4;
    24294  $9 = ((($8)) + 4|0);
    24295  HEAP32[$9>>2] = $7;
    24296  STACKTOP = sp;return;
    24297 }
    24298 function _str_replace($0,$1,$2,$3) {
    24299  $0 = $0|0;
    24300  $1 = $1|0;
    24301  $2 = $2|0;
    24302  $3 = $3|0;
    24303  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    24304  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    24305  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    24306  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    24307  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    24308  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    24309  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    24310  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    24311  sp = STACKTOP;
    24312  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    24313  $4 = $1;
    24314  $5 = $2;
    24315  $6 = $3;
    24316  $9 = $4;
    24317  $10 = $5;
    24318  _check_frozen($9,$10);
    24319  $11 = $6;
    24320  $12 = HEAP32[$11>>2]|0;
    24321  $13 = $12 >>> 11;
    24322  $14 = $13 & 8;
    24323  $15 = ($14|0)!=(0);
    24324  $16 = $6;
    24325  if ($15) {
    24326   $17 = HEAP32[$16>>2]|0;
    24327   $18 = $17 >>> 11;
    24328   $19 = $18 & 496;
    24329   $20 = $19 >> 4;
    24330   $23 = $20;
    24331  } else {
    24332   $21 = ((($16)) + 12|0);
    24333   $22 = HEAP32[$21>>2]|0;
    24334   $23 = $22;
    24335  }
    24336  $7 = $23;
    24337  $24 = $5;
    24338  $25 = HEAP32[$24>>2]|0;
    24339  $26 = $25 >>> 11;
    24340  $27 = $26 & 1;
    24341  $28 = ($27|0)!=(0);
    24342  if ($28) {
    24343   $29 = $4;
    24344   $30 = $5;
    24345   $31 = ((($30)) + 12|0);
    24346   $32 = ((($31)) + 4|0);
    24347   $33 = HEAP32[$32>>2]|0;
    24348   _str_decref($29,$33);
    24349  } else {
    24350   $34 = $5;
    24351   $35 = HEAP32[$34>>2]|0;
    24352   $36 = $35 >>> 11;
    24353   $37 = $36 & 8;
    24354   $38 = ($37|0)!=(0);
    24355   if (!($38)) {
    24356    $39 = $5;
    24357    $40 = HEAP32[$39>>2]|0;
    24358    $41 = $40 >>> 11;
    24359    $42 = $41 & 2;
    24360    $43 = ($42|0)!=(0);
    24361    if (!($43)) {
    24362     $44 = $4;
    24363     $45 = $5;
    24364     $46 = ((($45)) + 12|0);
    24365     $47 = ((($46)) + 8|0);
    24366     $48 = HEAP32[$47>>2]|0;
    24367     _mrb_free($44,$48);
    24368    }
    24369   }
    24370  }
    24371  $49 = $5;
    24372  $50 = HEAP32[$49>>2]|0;
    24373  $51 = $50 >>> 11;
    24374  $52 = $51 & -3;
    24375  $53 = HEAP32[$49>>2]|0;
    24376  $54 = $52 & 2097151;
    24377  $55 = $54 << 11;
    24378  $56 = $53 & 2047;
    24379  $57 = $56 | $55;
    24380  HEAP32[$49>>2] = $57;
    24381  $58 = $6;
    24382  $59 = HEAP32[$58>>2]|0;
    24383  $60 = $59 >>> 11;
    24384  $61 = $60 & 1;
    24385  $62 = ($61|0)!=(0);
    24386  do {
    24387   if (!($62)) {
    24388    $105 = $7;
    24389    $106 = ($105|0)<=(11);
    24390    if (!($106)) {
    24391     $159 = $4;
    24392     $160 = $6;
    24393     _str_make_shared($159,$160);
    24394     break;
    24395    }
    24396    $107 = $5;
    24397    $108 = HEAP32[$107>>2]|0;
    24398    $109 = $108 >>> 11;
    24399    $110 = $109 & -2;
    24400    $111 = HEAP32[$107>>2]|0;
    24401    $112 = $110 & 2097151;
    24402    $113 = $112 << 11;
    24403    $114 = $111 & 2047;
    24404    $115 = $114 | $113;
    24405    HEAP32[$107>>2] = $115;
    24406    $116 = $5;
    24407    $117 = HEAP32[$116>>2]|0;
    24408    $118 = $117 >>> 11;
    24409    $119 = $118 | 8;
    24410    $120 = HEAP32[$116>>2]|0;
    24411    $121 = $119 & 2097151;
    24412    $122 = $121 << 11;
    24413    $123 = $120 & 2047;
    24414    $124 = $123 | $122;
    24415    HEAP32[$116>>2] = $124;
    24416    $125 = $5;
    24417    $126 = ((($125)) + 12|0);
    24418    $127 = $6;
    24419    $128 = HEAP32[$127>>2]|0;
    24420    $129 = $128 >>> 11;
    24421    $130 = $129 & 8;
    24422    $131 = ($130|0)!=(0);
    24423    $132 = $6;
    24424    $133 = ((($132)) + 12|0);
    24425    if ($131) {
    24426     $137 = $133;
    24427    } else {
    24428     $134 = ((($133)) + 8|0);
    24429     $135 = HEAP32[$134>>2]|0;
    24430     $137 = $135;
    24431    }
    24432    $136 = $7;
    24433    _memcpy(($126|0),($137|0),($136|0))|0;
    24434    $138 = $7;
    24435    $8 = $138;
    24436    $139 = $5;
    24437    $140 = HEAP32[$139>>2]|0;
    24438    $141 = $140 >>> 11;
    24439    $142 = $141 & -497;
    24440    $143 = HEAP32[$139>>2]|0;
    24441    $144 = $142 & 2097151;
    24442    $145 = $144 << 11;
    24443    $146 = $143 & 2047;
    24444    $147 = $146 | $145;
    24445    HEAP32[$139>>2] = $147;
    24446    $148 = $8;
    24447    $149 = $148 << 4;
    24448    $150 = $5;
    24449    $151 = HEAP32[$150>>2]|0;
    24450    $152 = $151 >>> 11;
    24451    $153 = $152 | $149;
    24452    $154 = HEAP32[$150>>2]|0;
    24453    $155 = $153 & 2097151;
    24454    $156 = $155 << 11;
    24455    $157 = $154 & 2047;
    24456    $158 = $157 | $156;
    24457    HEAP32[$150>>2] = $158;
    24458    $161 = $5;
    24459    _mrb_obj_value_260($0,$161);
    24460    STACKTOP = sp;return;
    24461   }
    24462  } while(0);
    24463  $63 = $5;
    24464  $64 = HEAP32[$63>>2]|0;
    24465  $65 = $64 >>> 11;
    24466  $66 = $65 & -505;
    24467  $67 = HEAP32[$63>>2]|0;
    24468  $68 = $66 & 2097151;
    24469  $69 = $68 << 11;
    24470  $70 = $67 & 2047;
    24471  $71 = $70 | $69;
    24472  HEAP32[$63>>2] = $71;
    24473  $72 = $6;
    24474  $73 = ((($72)) + 12|0);
    24475  $74 = ((($73)) + 8|0);
    24476  $75 = HEAP32[$74>>2]|0;
    24477  $76 = $5;
    24478  $77 = ((($76)) + 12|0);
    24479  $78 = ((($77)) + 8|0);
    24480  HEAP32[$78>>2] = $75;
    24481  $79 = $7;
    24482  $80 = $5;
    24483  $81 = ((($80)) + 12|0);
    24484  HEAP32[$81>>2] = $79;
    24485  $82 = $6;
    24486  $83 = ((($82)) + 12|0);
    24487  $84 = ((($83)) + 4|0);
    24488  $85 = HEAP32[$84>>2]|0;
    24489  $86 = $5;
    24490  $87 = ((($86)) + 12|0);
    24491  $88 = ((($87)) + 4|0);
    24492  HEAP32[$88>>2] = $85;
    24493  $89 = $5;
    24494  $90 = HEAP32[$89>>2]|0;
    24495  $91 = $90 >>> 11;
    24496  $92 = $91 | 1;
    24497  $93 = HEAP32[$89>>2]|0;
    24498  $94 = $92 & 2097151;
    24499  $95 = $94 << 11;
    24500  $96 = $93 & 2047;
    24501  $97 = $96 | $95;
    24502  HEAP32[$89>>2] = $97;
    24503  $98 = $5;
    24504  $99 = ((($98)) + 12|0);
    24505  $100 = ((($99)) + 4|0);
    24506  $101 = HEAP32[$100>>2]|0;
    24507  $102 = ((($101)) + 4|0);
    24508  $103 = HEAP32[$102>>2]|0;
    24509  $104 = (($103) + 1)|0;
    24510  HEAP32[$102>>2] = $104;
    24511  $161 = $5;
    24512  _mrb_obj_value_260($0,$161);
    24513  STACKTOP = sp;return;
    24514 }
    24515 function _str_make_shared($0,$1) {
    24516  $0 = $0|0;
    24517  $1 = $1|0;
    24518  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    24519  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
    24520  var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
    24521  var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
    24522  var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
    24523  var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
    24524  var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    24525  sp = STACKTOP;
    24526  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    24527  $2 = $0;
    24528  $3 = $1;
    24529  $7 = $3;
    24530  $8 = HEAP32[$7>>2]|0;
    24531  $9 = $8 >>> 11;
    24532  $10 = $9 & 1;
    24533  $11 = ($10|0)!=(0);
    24534  if ($11) {
    24535   STACKTOP = sp;return;
    24536  }
    24537  $12 = $2;
    24538  $13 = (_mrb_malloc($12,16)|0);
    24539  $4 = $13;
    24540  $14 = $4;
    24541  $15 = ((($14)) + 4|0);
    24542  HEAP32[$15>>2] = 1;
    24543  $16 = $3;
    24544  $17 = HEAP32[$16>>2]|0;
    24545  $18 = $17 >>> 11;
    24546  $19 = $18 & 8;
    24547  $20 = ($19|0)!=(0);
    24548  $21 = $3;
    24549  $22 = HEAP32[$21>>2]|0;
    24550  $23 = $22 >>> 11;
    24551  do {
    24552   if ($20) {
    24553    $24 = $23 & 496;
    24554    $25 = $24 >> 4;
    24555    $5 = $25;
    24556    $26 = $2;
    24557    $27 = $5;
    24558    $28 = (($27) + 1)|0;
    24559    $29 = (_mrb_malloc($26,$28)|0);
    24560    $6 = $29;
    24561    $30 = $6;
    24562    $31 = $3;
    24563    $32 = ((($31)) + 12|0);
    24564    $33 = $5;
    24565    _memcpy(($30|0),($32|0),($33|0))|0;
    24566    $34 = $6;
    24567    $35 = $5;
    24568    $36 = (($34) + ($35)|0);
    24569    HEAP8[$36>>0] = 0;
    24570    $37 = $3;
    24571    $38 = HEAP32[$37>>2]|0;
    24572    $39 = $38 >>> 11;
    24573    $40 = $39 & -505;
    24574    $41 = HEAP32[$37>>2]|0;
    24575    $42 = $40 & 2097151;
    24576    $43 = $42 << 11;
    24577    $44 = $41 & 2047;
    24578    $45 = $44 | $43;
    24579    HEAP32[$37>>2] = $45;
    24580    $46 = $6;
    24581    $47 = $3;
    24582    $48 = ((($47)) + 12|0);
    24583    $49 = ((($48)) + 8|0);
    24584    HEAP32[$49>>2] = $46;
    24585    $50 = $5;
    24586    $51 = $3;
    24587    $52 = ((($51)) + 12|0);
    24588    HEAP32[$52>>2] = $50;
    24589    $53 = $4;
    24590    $54 = HEAP8[$53>>0]|0;
    24591    $55 = $54 & -2;
    24592    HEAP8[$53>>0] = $55;
    24593    $56 = $3;
    24594    $57 = ((($56)) + 12|0);
    24595    $58 = ((($57)) + 8|0);
    24596    $59 = HEAP32[$58>>2]|0;
    24597    $60 = $4;
    24598    $61 = ((($60)) + 8|0);
    24599    HEAP32[$61>>2] = $59;
    24600   } else {
    24601    $62 = $23 & 2;
    24602    $63 = ($62|0)!=(0);
    24603    $64 = $4;
    24604    $65 = HEAP8[$64>>0]|0;
    24605    $66 = $65 & -2;
    24606    if ($63) {
    24607     $67 = $66 | 1;
    24608     HEAP8[$64>>0] = $67;
    24609     $68 = $3;
    24610     $69 = ((($68)) + 12|0);
    24611     $70 = ((($69)) + 8|0);
    24612     $71 = HEAP32[$70>>2]|0;
    24613     $72 = $4;
    24614     $73 = ((($72)) + 8|0);
    24615     HEAP32[$73>>2] = $71;
    24616     $74 = $3;
    24617     $75 = HEAP32[$74>>2]|0;
    24618     $76 = $75 >>> 11;
    24619     $77 = $76 & -3;
    24620     $78 = HEAP32[$74>>2]|0;
    24621     $79 = $77 & 2097151;
    24622     $80 = $79 << 11;
    24623     $81 = $78 & 2047;
    24624     $82 = $81 | $80;
    24625     HEAP32[$74>>2] = $82;
    24626     break;
    24627    }
    24628    HEAP8[$64>>0] = $66;
    24629    $83 = $3;
    24630    $84 = ((($83)) + 12|0);
    24631    $85 = ((($84)) + 4|0);
    24632    $86 = HEAP32[$85>>2]|0;
    24633    $87 = $3;
    24634    $88 = ((($87)) + 12|0);
    24635    $89 = HEAP32[$88>>2]|0;
    24636    $90 = ($86|0)>($89|0);
    24637    if ($90) {
    24638     $91 = $2;
    24639     $92 = $3;
    24640     $93 = ((($92)) + 12|0);
    24641     $94 = ((($93)) + 8|0);
    24642     $95 = HEAP32[$94>>2]|0;
    24643     $96 = $3;
    24644     $97 = ((($96)) + 12|0);
    24645     $98 = HEAP32[$97>>2]|0;
    24646     $99 = (($98) + 1)|0;
    24647     $100 = (_mrb_realloc($91,$95,$99)|0);
    24648     $101 = $4;
    24649     $102 = ((($101)) + 8|0);
    24650     HEAP32[$102>>2] = $100;
    24651     $103 = $3;
    24652     $104 = ((($103)) + 12|0);
    24653     $105 = ((($104)) + 8|0);
    24654     HEAP32[$105>>2] = $100;
    24655     break;
    24656    } else {
    24657     $106 = $3;
    24658     $107 = ((($106)) + 12|0);
    24659     $108 = ((($107)) + 8|0);
    24660     $109 = HEAP32[$108>>2]|0;
    24661     $110 = $4;
    24662     $111 = ((($110)) + 8|0);
    24663     HEAP32[$111>>2] = $109;
    24664     break;
    24665    }
    24666   }
    24667  } while(0);
    24668  $112 = $3;
    24669  $113 = ((($112)) + 12|0);
    24670  $114 = HEAP32[$113>>2]|0;
    24671  $115 = $4;
    24672  $116 = ((($115)) + 12|0);
    24673  HEAP32[$116>>2] = $114;
    24674  $117 = $4;
    24675  $118 = $3;
    24676  $119 = ((($118)) + 12|0);
    24677  $120 = ((($119)) + 4|0);
    24678  HEAP32[$120>>2] = $117;
    24679  $121 = $3;
    24680  $122 = HEAP32[$121>>2]|0;
    24681  $123 = $122 >>> 11;
    24682  $124 = $123 | 1;
    24683  $125 = HEAP32[$121>>2]|0;
    24684  $126 = $124 & 2097151;
    24685  $127 = $126 << 11;
    24686  $128 = $125 & 2047;
    24687  $129 = $128 | $127;
    24688  HEAP32[$121>>2] = $129;
    24689  STACKTOP = sp;return;
    24690 }
    24691 function _str_substr($0,$1,$2,$3,$4) {
    24692  $0 = $0|0;
    24693  $1 = $1|0;
    24694  $2 = $2|0;
    24695  $3 = $3|0;
    24696  $4 = $4|0;
    24697  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    24698  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    24699  var sp = 0;
    24700  sp = STACKTOP;
    24701  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    24702  $$byval_copy1 = sp + 24|0;
    24703  $$byval_copy = sp + 16|0;
    24704  $5 = $1;
    24705  $6 = $3;
    24706  $7 = $4;
    24707  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    24708  $9 = (_utf8_strlen($$byval_copy,-1)|0);
    24709  $8 = $9;
    24710  $10 = $7;
    24711  $11 = ($10|0)<(0);
    24712  if ($11) {
    24713   _mrb_nil_value_283($0);
    24714   STACKTOP = sp;return;
    24715  }
    24716  $12 = $8;
    24717  $13 = ($12|0)==(0);
    24718  if ($13) {
    24719   $7 = 0;
    24720  } else {
    24721   $14 = $6;
    24722   $15 = ($14|0)<(0);
    24723   if ($15) {
    24724    $16 = $8;
    24725    $17 = $6;
    24726    $18 = (($16) + ($17))|0;
    24727    $6 = $18;
    24728   }
    24729  }
    24730  $19 = $6;
    24731  $20 = $8;
    24732  $21 = ($19|0)>($20|0);
    24733  if ($21) {
    24734   _mrb_nil_value_283($0);
    24735   STACKTOP = sp;return;
    24736  }
    24737  $22 = $6;
    24738  $23 = ($22|0)<(0);
    24739  if ($23) {
    24740   $24 = $8;
    24741   $25 = $6;
    24742   $26 = (($25) + ($24))|0;
    24743   $6 = $26;
    24744   $27 = $6;
    24745   $28 = ($27|0)<(0);
    24746   if ($28) {
    24747    _mrb_nil_value_283($0);
    24748    STACKTOP = sp;return;
    24749   }
    24750  }
    24751  $29 = $6;
    24752  $30 = $7;
    24753  $31 = (($29) + ($30))|0;
    24754  $32 = $8;
    24755  $33 = ($31|0)>($32|0);
    24756  if ($33) {
    24757   $34 = $8;
    24758   $35 = $6;
    24759   $36 = (($34) - ($35))|0;
    24760   $7 = $36;
    24761  }
    24762  $37 = $7;
    24763  $38 = ($37|0)<=(0);
    24764  if ($38) {
    24765   $7 = 0;
    24766  }
    24767  $39 = $5;
    24768  $40 = $6;
    24769  $41 = $7;
    24770  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    24771  _str_subseq($0,$39,$$byval_copy1,$40,$41);
    24772  STACKTOP = sp;return;
    24773 }
    24774 function _utf8_strlen($0,$1) {
    24775  $0 = $0|0;
    24776  $1 = $1|0;
    24777  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    24778  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0;
    24779  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    24780  sp = STACKTOP;
    24781  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    24782  $2 = $1;
    24783  $3 = 0;
    24784  $6 = HEAP32[$0>>2]|0;
    24785  $7 = HEAP32[$6>>2]|0;
    24786  $8 = $7 >>> 11;
    24787  $9 = $8 & 8;
    24788  $10 = ($9|0)!=(0);
    24789  $11 = HEAP32[$0>>2]|0;
    24790  $12 = ((($11)) + 12|0);
    24791  if ($10) {
    24792   $15 = $12;
    24793  } else {
    24794   $13 = ((($12)) + 8|0);
    24795   $14 = HEAP32[$13>>2]|0;
    24796   $15 = $14;
    24797  }
    24798  $4 = $15;
    24799  $16 = $4;
    24800  $5 = $16;
    24801  $17 = $2;
    24802  $18 = ($17|0)<(0);
    24803  do {
    24804   if ($18) {
    24805    $19 = HEAP32[$0>>2]|0;
    24806    $20 = HEAP32[$19>>2]|0;
    24807    $21 = $20 >>> 11;
    24808    $22 = $21 & 8;
    24809    $23 = ($22|0)!=(0);
    24810    $24 = HEAP32[$0>>2]|0;
    24811    if ($23) {
    24812     $25 = HEAP32[$24>>2]|0;
    24813     $26 = $25 >>> 11;
    24814     $27 = $26 & 496;
    24815     $28 = $27 >> 4;
    24816     $34 = $28;
    24817     break;
    24818    } else {
    24819     $29 = ((($24)) + 12|0);
    24820     $30 = HEAP32[$29>>2]|0;
    24821     $34 = $30;
    24822     break;
    24823    }
    24824   } else {
    24825    $31 = $2;
    24826    $34 = $31;
    24827   }
    24828  } while(0);
    24829  $32 = $5;
    24830  $33 = (($32) + ($34)|0);
    24831  $5 = $33;
    24832  while(1) {
    24833   $35 = $4;
    24834   $36 = $5;
    24835   $37 = ($35>>>0)<($36>>>0);
    24836   if (!($37)) {
    24837    break;
    24838   }
    24839   $38 = $4;
    24840   $39 = $5;
    24841   $40 = (_utf8len($38,$39)|0);
    24842   $41 = $4;
    24843   $42 = (($41) + ($40)|0);
    24844   $4 = $42;
    24845   $43 = $3;
    24846   $44 = (($43) + 1)|0;
    24847   $3 = $44;
    24848  }
    24849  $45 = $3;
    24850  STACKTOP = sp;return ($45|0);
    24851 }
    24852 function _mrb_nil_value_283($0) {
    24853  $0 = $0|0;
    24854  var $1 = 0, $2 = 0, label = 0, sp = 0;
    24855  sp = STACKTOP;
    24856  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    24857  $1 = sp;
    24858  $2 = ((($1)) + 4|0);
    24859  HEAP32[$2>>2] = 0;
    24860  HEAP32[$1>>2] = 0;
    24861  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    24862  STACKTOP = sp;return;
    24863 }
    24864 function _str_subseq($0,$1,$2,$3,$4) {
    24865  $0 = $0|0;
    24866  $1 = $1|0;
    24867  $2 = $2|0;
    24868  $3 = $3|0;
    24869  $4 = $4|0;
    24870  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    24871  sp = STACKTOP;
    24872  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    24873  $$byval_copy2 = sp + 32|0;
    24874  $$byval_copy1 = sp + 24|0;
    24875  $$byval_copy = sp + 16|0;
    24876  $5 = $1;
    24877  $6 = $3;
    24878  $7 = $4;
    24879  $8 = $6;
    24880  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    24881  $9 = (_chars2bytes($$byval_copy,0,$8)|0);
    24882  $6 = $9;
    24883  $10 = $6;
    24884  $11 = $7;
    24885  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    24886  $12 = (_chars2bytes($$byval_copy1,$10,$11)|0);
    24887  $7 = $12;
    24888  $13 = $5;
    24889  $14 = $6;
    24890  $15 = $7;
    24891  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    24892  _byte_subseq($0,$13,$$byval_copy2,$14,$15);
    24893  STACKTOP = sp;return;
    24894 }
    24895 function _chars2bytes($0,$1,$2) {
    24896  $0 = $0|0;
    24897  $1 = $1|0;
    24898  $2 = $2|0;
    24899  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    24900  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    24901  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0;
    24902  var $9 = 0, label = 0, sp = 0;
    24903  sp = STACKTOP;
    24904  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    24905  $3 = $1;
    24906  $4 = $2;
    24907  $10 = HEAP32[$0>>2]|0;
    24908  $11 = HEAP32[$10>>2]|0;
    24909  $12 = $11 >>> 11;
    24910  $13 = $12 & 8;
    24911  $14 = ($13|0)!=(0);
    24912  $15 = HEAP32[$0>>2]|0;
    24913  $16 = ((($15)) + 12|0);
    24914  if ($14) {
    24915   $21 = $16;
    24916  } else {
    24917   $17 = ((($16)) + 8|0);
    24918   $18 = HEAP32[$17>>2]|0;
    24919   $21 = $18;
    24920  }
    24921  $19 = $3;
    24922  $20 = (($21) + ($19)|0);
    24923  $8 = $20;
    24924  $22 = HEAP32[$0>>2]|0;
    24925  $23 = HEAP32[$22>>2]|0;
    24926  $24 = $23 >>> 11;
    24927  $25 = $24 & 8;
    24928  $26 = ($25|0)!=(0);
    24929  $27 = HEAP32[$0>>2]|0;
    24930  $28 = ((($27)) + 12|0);
    24931  if ($26) {
    24932   $44 = $28;
    24933  } else {
    24934   $29 = ((($28)) + 8|0);
    24935   $30 = HEAP32[$29>>2]|0;
    24936   $44 = $30;
    24937  }
    24938  $31 = HEAP32[$0>>2]|0;
    24939  $32 = HEAP32[$31>>2]|0;
    24940  $33 = $32 >>> 11;
    24941  $34 = $33 & 8;
    24942  $35 = ($34|0)!=(0);
    24943  $36 = HEAP32[$0>>2]|0;
    24944  if ($35) {
    24945   $37 = HEAP32[$36>>2]|0;
    24946   $38 = $37 >>> 11;
    24947   $39 = $38 & 496;
    24948   $40 = $39 >> 4;
    24949   $45 = $40;
    24950  } else {
    24951   $41 = ((($36)) + 12|0);
    24952   $42 = HEAP32[$41>>2]|0;
    24953   $45 = $42;
    24954  }
    24955  $43 = (($44) + ($45)|0);
    24956  $9 = $43;
    24957  $5 = 0;
    24958  $6 = 0;
    24959  while(1) {
    24960   $46 = $8;
    24961   $47 = $9;
    24962   $48 = ($46>>>0)<($47>>>0);
    24963   if (!($48)) {
    24964    label = 14;
    24965    break;
    24966   }
    24967   $49 = $5;
    24968   $50 = $4;
    24969   $51 = ($49|0)<($50|0);
    24970   if (!($51)) {
    24971    label = 14;
    24972    break;
    24973   }
    24974   $52 = $8;
    24975   $53 = $9;
    24976   $54 = (_utf8len($52,$53)|0);
    24977   $7 = $54;
    24978   $55 = $7;
    24979   $56 = $6;
    24980   $57 = (($56) + ($55))|0;
    24981   $6 = $57;
    24982   $58 = $7;
    24983   $59 = $8;
    24984   $60 = (($59) + ($58)|0);
    24985   $8 = $60;
    24986   $61 = $5;
    24987   $62 = (($61) + 1)|0;
    24988   $5 = $62;
    24989  }
    24990  if ((label|0) == 14) {
    24991   $63 = $6;
    24992   STACKTOP = sp;return ($63|0);
    24993  }
    24994  return (0)|0;
    24995 }
    24996 function _byte_subseq($0,$1,$2,$3,$4) {
    24997  $0 = $0|0;
    24998  $1 = $1|0;
    24999  $2 = $2|0;
    25000  $3 = $3|0;
    25001  $4 = $4|0;
    25002  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    25003  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    25004  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    25005  sp = STACKTOP;
    25006  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    25007  $5 = $1;
    25008  $6 = $3;
    25009  $7 = $4;
    25010  $11 = HEAP32[$2>>2]|0;
    25011  $8 = $11;
    25012  $12 = $8;
    25013  $13 = HEAP32[$12>>2]|0;
    25014  $14 = $13 >>> 11;
    25015  $15 = $14 & 8;
    25016  $16 = ($15|0)!=(0);
    25017  $17 = $5;
    25018  $18 = $8;
    25019  if ($16) {
    25020   $19 = ((($18)) + 12|0);
    25021   $20 = $6;
    25022   $21 = (($19) + ($20)|0);
    25023   $22 = $7;
    25024   $23 = (_str_new($17,$21,$22)|0);
    25025   $9 = $23;
    25026   $62 = $9;
    25027   _mrb_obj_value_260($0,$62);
    25028   STACKTOP = sp;return;
    25029  } else {
    25030   _str_make_shared($17,$18);
    25031   $24 = $8;
    25032   $25 = ((($24)) + 12|0);
    25033   $26 = ((($25)) + 4|0);
    25034   $27 = HEAP32[$26>>2]|0;
    25035   $10 = $27;
    25036   $28 = $5;
    25037   $29 = $5;
    25038   $30 = ((($29)) + 48|0);
    25039   $31 = HEAP32[$30>>2]|0;
    25040   $32 = (_mrb_obj_alloc($28,16,$31)|0);
    25041   $9 = $32;
    25042   $33 = $8;
    25043   $34 = ((($33)) + 12|0);
    25044   $35 = ((($34)) + 8|0);
    25045   $36 = HEAP32[$35>>2]|0;
    25046   $37 = $6;
    25047   $38 = (($36) + ($37)|0);
    25048   $39 = $9;
    25049   $40 = ((($39)) + 12|0);
    25050   $41 = ((($40)) + 8|0);
    25051   HEAP32[$41>>2] = $38;
    25052   $42 = $7;
    25053   $43 = $9;
    25054   $44 = ((($43)) + 12|0);
    25055   HEAP32[$44>>2] = $42;
    25056   $45 = $10;
    25057   $46 = $9;
    25058   $47 = ((($46)) + 12|0);
    25059   $48 = ((($47)) + 4|0);
    25060   HEAP32[$48>>2] = $45;
    25061   $49 = $9;
    25062   $50 = HEAP32[$49>>2]|0;
    25063   $51 = $50 >>> 11;
    25064   $52 = $51 | 1;
    25065   $53 = HEAP32[$49>>2]|0;
    25066   $54 = $52 & 2097151;
    25067   $55 = $54 << 11;
    25068   $56 = $53 & 2047;
    25069   $57 = $56 | $55;
    25070   HEAP32[$49>>2] = $57;
    25071   $58 = $10;
    25072   $59 = ((($58)) + 4|0);
    25073   $60 = HEAP32[$59>>2]|0;
    25074   $61 = (($60) + 1)|0;
    25075   HEAP32[$59>>2] = $61;
    25076   $62 = $9;
    25077   _mrb_obj_value_260($0,$62);
    25078   STACKTOP = sp;return;
    25079  }
    25080 }
    25081 function _utf8len($0,$1) {
    25082  $0 = $0|0;
    25083  $1 = $1|0;
    25084  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    25085  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    25086  sp = STACKTOP;
    25087  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    25088  $3 = $0;
    25089  $4 = $1;
    25090  $7 = $3;
    25091  $8 = HEAP8[$7>>0]|0;
    25092  $9 = $8&255;
    25093  $10 = (55813 + ($9)|0);
    25094  $11 = HEAP8[$10>>0]|0;
    25095  $12 = $11 << 24 >> 24;
    25096  $5 = $12;
    25097  $13 = $3;
    25098  $14 = $5;
    25099  $15 = (($13) + ($14)|0);
    25100  $16 = $4;
    25101  $17 = ($15>>>0)>($16>>>0);
    25102  if ($17) {
    25103   $2 = 1;
    25104   $31 = $2;
    25105   STACKTOP = sp;return ($31|0);
    25106  }
    25107  $6 = 1;
    25108  while(1) {
    25109   $18 = $6;
    25110   $19 = $5;
    25111   $20 = ($18|0)<($19|0);
    25112   if (!($20)) {
    25113    label = 8;
    25114    break;
    25115   }
    25116   $21 = $3;
    25117   $22 = $6;
    25118   $23 = (($21) + ($22)|0);
    25119   $24 = HEAP8[$23>>0]|0;
    25120   $25 = $24 << 24 >> 24;
    25121   $26 = $25 & 192;
    25122   $27 = ($26|0)!=(128);
    25123   if ($27) {
    25124    label = 6;
    25125    break;
    25126   }
    25127   $28 = $6;
    25128   $29 = (($28) + 1)|0;
    25129   $6 = $29;
    25130  }
    25131  if ((label|0) == 6) {
    25132   $2 = 1;
    25133   $31 = $2;
    25134   STACKTOP = sp;return ($31|0);
    25135  }
    25136  else if ((label|0) == 8) {
    25137   $30 = $5;
    25138   $2 = $30;
    25139   $31 = $2;
    25140   STACKTOP = sp;return ($31|0);
    25141  }
    25142  return (0)|0;
    25143 }
    25144 function _mrb_str_hash($0,$1) {
    25145  $0 = $0|0;
    25146  $1 = $1|0;
    25147  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    25148  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0;
    25149  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    25150  sp = STACKTOP;
    25151  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    25152  $2 = $0;
    25153  $7 = HEAP32[$1>>2]|0;
    25154  $3 = $7;
    25155  $8 = $3;
    25156  $9 = HEAP32[$8>>2]|0;
    25157  $10 = $9 >>> 11;
    25158  $11 = $10 & 8;
    25159  $12 = ($11|0)!=(0);
    25160  $13 = $3;
    25161  if ($12) {
    25162   $14 = HEAP32[$13>>2]|0;
    25163   $15 = $14 >>> 11;
    25164   $16 = $15 & 496;
    25165   $17 = $16 >> 4;
    25166   $20 = $17;
    25167  } else {
    25168   $18 = ((($13)) + 12|0);
    25169   $19 = HEAP32[$18>>2]|0;
    25170   $20 = $19;
    25171  }
    25172  $4 = $20;
    25173  $21 = $3;
    25174  $22 = HEAP32[$21>>2]|0;
    25175  $23 = $22 >>> 11;
    25176  $24 = $23 & 8;
    25177  $25 = ($24|0)!=(0);
    25178  $26 = $3;
    25179  $27 = ((($26)) + 12|0);
    25180  if ($25) {
    25181   $30 = $27;
    25182  } else {
    25183   $28 = ((($27)) + 8|0);
    25184   $29 = HEAP32[$28>>2]|0;
    25185   $30 = $29;
    25186  }
    25187  $5 = $30;
    25188  $6 = 0;
    25189  while(1) {
    25190   $31 = $4;
    25191   $32 = (($31) + -1)|0;
    25192   $4 = $32;
    25193   $33 = ($31|0)!=(0);
    25194   $34 = $6;
    25195   if (!($33)) {
    25196    break;
    25197   }
    25198   $35 = ($34*65599)|0;
    25199   $36 = $5;
    25200   $37 = HEAP8[$36>>0]|0;
    25201   $38 = $37 << 24 >> 24;
    25202   $39 = (($35) + ($38))|0;
    25203   $6 = $39;
    25204   $40 = $5;
    25205   $41 = ((($40)) + 1|0);
    25206   $5 = $41;
    25207  }
    25208  $42 = $6;
    25209  $43 = $42 >> 5;
    25210  $44 = (($34) + ($43))|0;
    25211  STACKTOP = sp;return ($44|0);
    25212 }
    25213 function _mrb_str_intern($0,$1,$2) {
    25214  $0 = $0|0;
    25215  $1 = $1|0;
    25216  $2 = $2|0;
    25217  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    25218  sp = STACKTOP;
    25219  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    25220  $$byval_copy = sp + 8|0;
    25221  $3 = $1;
    25222  $4 = $3;
    25223  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    25224  $5 = (_mrb_intern_str($4,$$byval_copy)|0);
    25225  _mrb_symbol_value($0,$5);
    25226  STACKTOP = sp;return;
    25227 }
    25228 function _mrb_symbol_value($0,$1) {
    25229  $0 = $0|0;
    25230  $1 = $1|0;
    25231  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    25232  sp = STACKTOP;
    25233  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    25234  $3 = sp;
    25235  $2 = $1;
    25236  $4 = ((($3)) + 4|0);
    25237  HEAP32[$4>>2] = 4;
    25238  $5 = $2;
    25239  HEAP32[$3>>2] = $5;
    25240  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    25241  STACKTOP = sp;return;
    25242 }
    25243 function _mrb_obj_as_string($0,$1,$2) {
    25244  $0 = $0|0;
    25245  $1 = $1|0;
    25246  $2 = $2|0;
    25247  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    25248  sp = STACKTOP;
    25249  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    25250  $$byval_copy1 = sp + 40|0;
    25251  $$byval_copy = sp + 32|0;
    25252  $vararg_buffer = sp;
    25253  $4 = sp + 16|0;
    25254  $5 = sp + 8|0;
    25255  $3 = $1;
    25256  $6 = ((($2)) + 4|0);
    25257  $7 = HEAP32[$6>>2]|0;
    25258  $8 = ($7|0)==(16);
    25259  if ($8) {
    25260   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    25261   STACKTOP = sp;return;
    25262  }
    25263  $9 = $3;
    25264  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    25265  _mrb_funcall($5,$9,$$byval_copy,69276,0,$vararg_buffer);
    25266  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    25267  $10 = ((($4)) + 4|0);
    25268  $11 = HEAP32[$10>>2]|0;
    25269  $12 = ($11|0)==(16);
    25270  if ($12) {
    25271   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    25272   STACKTOP = sp;return;
    25273  } else {
    25274   $13 = $3;
    25275   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    25276   _mrb_any_to_s($0,$13,$$byval_copy1);
    25277   STACKTOP = sp;return;
    25278  }
    25279 }
    25280 function _mrb_ptr_to_str($0,$1,$2) {
    25281  $0 = $0|0;
    25282  $1 = $1|0;
    25283  $2 = $2|0;
    25284  var $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    25285  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    25286  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    25287  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    25288  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    25289  sp = STACKTOP;
    25290  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    25291  $3 = $1;
    25292  $4 = $2;
    25293  $11 = $4;
    25294  $12 = $11;
    25295  $8 = $12;
    25296  $13 = $3;
    25297  $14 = (_str_new($13,0,10)|0);
    25298  $5 = $14;
    25299  $15 = $5;
    25300  $16 = HEAP32[$15>>2]|0;
    25301  $17 = $16 >>> 11;
    25302  $18 = $17 & 8;
    25303  $19 = ($18|0)!=(0);
    25304  $20 = $5;
    25305  $21 = ((($20)) + 12|0);
    25306  if ($19) {
    25307   $24 = $21;
    25308  } else {
    25309   $22 = ((($21)) + 8|0);
    25310   $23 = HEAP32[$22>>2]|0;
    25311   $24 = $23;
    25312  }
    25313  $6 = $24;
    25314  $25 = $6;
    25315  $26 = ((($25)) + 1|0);
    25316  $6 = $26;
    25317  HEAP8[$25>>0] = 48;
    25318  $27 = $6;
    25319  $28 = ((($27)) + 1|0);
    25320  $6 = $28;
    25321  HEAP8[$27>>0] = 120;
    25322  $29 = $6;
    25323  $7 = $29;
    25324  while(1) {
    25325   $30 = $8;
    25326   $31 = (($30>>>0) % 16)&-1;
    25327   $32 = (55645 + ($31)|0);
    25328   $33 = HEAP8[$32>>0]|0;
    25329   $34 = $7;
    25330   $35 = ((($34)) + 1|0);
    25331   $7 = $35;
    25332   HEAP8[$34>>0] = $33;
    25333   $36 = $8;
    25334   $37 = (($36>>>0) / 16)&-1;
    25335   $8 = $37;
    25336   $38 = $8;
    25337   $39 = ($38>>>0)>(0);
    25338   if (!($39)) {
    25339    break;
    25340   }
    25341  }
    25342  $40 = $7;
    25343  HEAP8[$40>>0] = 0;
    25344  $41 = $5;
    25345  $42 = HEAP32[$41>>2]|0;
    25346  $43 = $42 >>> 11;
    25347  $44 = $43 & 8;
    25348  $45 = ($44|0)!=(0);
    25349  $46 = $7;
    25350  $47 = $5;
    25351  $48 = HEAP32[$47>>2]|0;
    25352  $49 = $48 >>> 11;
    25353  $50 = $49 & 8;
    25354  $51 = ($50|0)!=(0);
    25355  $52 = $5;
    25356  $53 = ((($52)) + 12|0);
    25357  if ($45) {
    25358   if ($51) {
    25359    $58 = $53;
    25360   } else {
    25361    $54 = ((($53)) + 8|0);
    25362    $55 = HEAP32[$54>>2]|0;
    25363    $58 = $55;
    25364   }
    25365   $56 = $46;
    25366   $57 = $58;
    25367   $59 = (($56) - ($57))|0;
    25368   $9 = $59;
    25369   $60 = $5;
    25370   $61 = HEAP32[$60>>2]|0;
    25371   $62 = $61 >>> 11;
    25372   $63 = $62 & -497;
    25373   $64 = HEAP32[$60>>2]|0;
    25374   $65 = $63 & 2097151;
    25375   $66 = $65 << 11;
    25376   $67 = $64 & 2047;
    25377   $68 = $67 | $66;
    25378   HEAP32[$60>>2] = $68;
    25379   $69 = $9;
    25380   $70 = $69 << 4;
    25381   $71 = $5;
    25382   $72 = HEAP32[$71>>2]|0;
    25383   $73 = $72 >>> 11;
    25384   $74 = $73 | $70;
    25385   $75 = HEAP32[$71>>2]|0;
    25386   $76 = $74 & 2097151;
    25387   $77 = $76 << 11;
    25388   $78 = $75 & 2047;
    25389   $79 = $78 | $77;
    25390   HEAP32[$71>>2] = $79;
    25391  } else {
    25392   if ($51) {
    25393    $84 = $53;
    25394   } else {
    25395    $80 = ((($53)) + 8|0);
    25396    $81 = HEAP32[$80>>2]|0;
    25397    $84 = $81;
    25398   }
    25399   $82 = $46;
    25400   $83 = $84;
    25401   $85 = (($82) - ($83))|0;
    25402   $86 = $5;
    25403   $87 = ((($86)) + 12|0);
    25404   HEAP32[$87>>2] = $85;
    25405  }
    25406  while(1) {
    25407   $88 = $6;
    25408   $89 = $7;
    25409   $90 = ($88>>>0)<($89>>>0);
    25410   if (!($90)) {
    25411    break;
    25412   }
    25413   $91 = $6;
    25414   $92 = HEAP8[$91>>0]|0;
    25415   $10 = $92;
    25416   $93 = $7;
    25417   $94 = ((($93)) + -1|0);
    25418   $7 = $94;
    25419   $95 = HEAP8[$94>>0]|0;
    25420   $96 = $6;
    25421   $97 = ((($96)) + 1|0);
    25422   $6 = $97;
    25423   HEAP8[$96>>0] = $95;
    25424   $98 = $10;
    25425   $99 = $7;
    25426   HEAP8[$99>>0] = $98;
    25427  }
    25428  $100 = $5;
    25429  _mrb_obj_value_260($0,$100);
    25430  STACKTOP = sp;return;
    25431 }
    25432 function _mrb_check_string_type($0,$1,$2) {
    25433  $0 = $0|0;
    25434  $1 = $1|0;
    25435  $2 = $2|0;
    25436  var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    25437  sp = STACKTOP;
    25438  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    25439  $$byval_copy = sp + 8|0;
    25440  $3 = $1;
    25441  $4 = $3;
    25442  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    25443  _mrb_check_convert_type($0,$4,$$byval_copy,16,65324,65331);
    25444  STACKTOP = sp;return;
    25445 }
    25446 function _mrb_cstr_to_inum($0,$1,$2,$3,$4) {
    25447  $0 = $0|0;
    25448  $1 = $1|0;
    25449  $2 = $2|0;
    25450  $3 = $3|0;
    25451  $4 = $4|0;
    25452  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    25453  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    25454  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    25455  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    25456  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    25457  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
    25458  var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
    25459  var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
    25460  var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
    25461  var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
    25462  var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
    25463  var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0;
    25464  var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
    25465  var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
    25466  var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
    25467  var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
    25468  var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
    25469  sp = STACKTOP;
    25470  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    25471  $vararg_buffer7 = sp + 24|0;
    25472  $vararg_buffer4 = sp + 16|0;
    25473  $vararg_buffer = sp + 8|0;
    25474  $13 = sp;
    25475  $15 = sp + 48|0;
    25476  $16 = sp + 40|0;
    25477  $17 = sp + 32|0;
    25478  $5 = $1;
    25479  $6 = $2;
    25480  $7 = $3;
    25481  $8 = $4;
    25482  $10 = 1;
    25483  $18 = $13;
    25484  $19 = $18;
    25485  HEAP32[$19>>2] = 0;
    25486  $20 = (($18) + 4)|0;
    25487  $21 = $20;
    25488  HEAP32[$21>>2] = 0;
    25489  $22 = $6;
    25490  $23 = ($22|0)!=(0|0);
    25491  do {
    25492   if ($23) {
    25493    while(1) {
    25494     $26 = $6;
    25495     $27 = HEAP8[$26>>0]|0;
    25496     $28 = $27 << 24 >> 24;
    25497     $29 = ($28|0)==(32);
    25498     if ($29) {
    25499      $330 = 1;
    25500     } else {
    25501      $30 = $6;
    25502      $31 = HEAP8[$30>>0]|0;
    25503      $32 = $31 << 24 >> 24;
    25504      $33 = (($32) - 9)|0;
    25505      $34 = ($33>>>0)<(5);
    25506      $330 = $34;
    25507     }
    25508     $35 = $6;
    25509     if (!($330)) {
    25510      break;
    25511     }
    25512     $36 = ((($35)) + 1|0);
    25513     $6 = $36;
    25514    }
    25515    $37 = HEAP8[$35>>0]|0;
    25516    $38 = $37 << 24 >> 24;
    25517    $39 = ($38|0)==(43);
    25518    $40 = $6;
    25519    if ($39) {
    25520     $41 = ((($40)) + 1|0);
    25521     $6 = $41;
    25522    } else {
    25523     $42 = HEAP8[$40>>0]|0;
    25524     $43 = $42 << 24 >> 24;
    25525     $44 = ($43|0)==(45);
    25526     if ($44) {
    25527      $45 = $6;
    25528      $46 = ((($45)) + 1|0);
    25529      $6 = $46;
    25530      $10 = 0;
    25531     }
    25532    }
    25533    $47 = $6;
    25534    $48 = HEAP8[$47>>0]|0;
    25535    $49 = $48 << 24 >> 24;
    25536    $50 = ($49|0)==(43);
    25537    if (!($50)) {
    25538     $51 = $6;
    25539     $52 = HEAP8[$51>>0]|0;
    25540     $53 = $52 << 24 >> 24;
    25541     $54 = ($53|0)==(45);
    25542     if (!($54)) {
    25543      $57 = $7;
    25544      $58 = ($57|0)<=(0);
    25545      L17: do {
    25546       if ($58) {
    25547        $59 = $6;
    25548        $60 = HEAP8[$59>>0]|0;
    25549        $61 = $60 << 24 >> 24;
    25550        $62 = ($61|0)==(48);
    25551        if (!($62)) {
    25552         $67 = $7;
    25553         $68 = ($67|0)<(-1);
    25554         if ($68) {
    25555          $69 = $7;
    25556          $70 = (0 - ($69))|0;
    25557          $7 = $70;
    25558          break;
    25559         } else {
    25560          $7 = 10;
    25561          break;
    25562         }
    25563        }
    25564        $63 = $6;
    25565        $64 = ((($63)) + 1|0);
    25566        $65 = HEAP8[$64>>0]|0;
    25567        $66 = $65 << 24 >> 24;
    25568        switch ($66|0) {
    25569        case 88: case 120:  {
    25570         $7 = 16;
    25571         break L17;
    25572         break;
    25573        }
    25574        case 66: case 98:  {
    25575         $7 = 2;
    25576         break L17;
    25577         break;
    25578        }
    25579        case 79: case 111:  {
    25580         $7 = 8;
    25581         break L17;
    25582         break;
    25583        }
    25584        case 68: case 100:  {
    25585         $7 = 10;
    25586         break L17;
    25587         break;
    25588        }
    25589        default: {
    25590         $7 = 8;
    25591         break L17;
    25592        }
    25593        }
    25594       }
    25595      } while(0);
    25596      $71 = $7;
    25597      L32: do {
    25598       switch ($71|0) {
    25599       case 2:  {
    25600        $72 = $6;
    25601        $73 = HEAP8[$72>>0]|0;
    25602        $74 = $73 << 24 >> 24;
    25603        $75 = ($74|0)==(48);
    25604        if ($75) {
    25605         $76 = $6;
    25606         $77 = ((($76)) + 1|0);
    25607         $78 = HEAP8[$77>>0]|0;
    25608         $79 = $78 << 24 >> 24;
    25609         $80 = ($79|0)==(98);
    25610         if (!($80)) {
    25611          $81 = $6;
    25612          $82 = ((($81)) + 1|0);
    25613          $83 = HEAP8[$82>>0]|0;
    25614          $84 = $83 << 24 >> 24;
    25615          $85 = ($84|0)==(66);
    25616          if (!($85)) {
    25617           break L32;
    25618          }
    25619         }
    25620         $86 = $6;
    25621         $87 = ((($86)) + 2|0);
    25622         $6 = $87;
    25623        }
    25624        break;
    25625       }
    25626       case 15: case 14: case 13: case 12: case 11: case 9: case 7: case 6: case 5: case 4: case 3:  {
    25627        break;
    25628       }
    25629       case 8:  {
    25630        $88 = $6;
    25631        $89 = HEAP8[$88>>0]|0;
    25632        $90 = $89 << 24 >> 24;
    25633        $91 = ($90|0)==(48);
    25634        if ($91) {
    25635         $92 = $6;
    25636         $93 = ((($92)) + 1|0);
    25637         $94 = HEAP8[$93>>0]|0;
    25638         $95 = $94 << 24 >> 24;
    25639         $96 = ($95|0)==(111);
    25640         if (!($96)) {
    25641          $97 = $6;
    25642          $98 = ((($97)) + 1|0);
    25643          $99 = HEAP8[$98>>0]|0;
    25644          $100 = $99 << 24 >> 24;
    25645          $101 = ($100|0)==(79);
    25646          if (!($101)) {
    25647           break L32;
    25648          }
    25649         }
    25650         $102 = $6;
    25651         $103 = ((($102)) + 2|0);
    25652         $6 = $103;
    25653        }
    25654        break;
    25655       }
    25656       case 10:  {
    25657        $104 = $6;
    25658        $105 = HEAP8[$104>>0]|0;
    25659        $106 = $105 << 24 >> 24;
    25660        $107 = ($106|0)==(48);
    25661        if ($107) {
    25662         $108 = $6;
    25663         $109 = ((($108)) + 1|0);
    25664         $110 = HEAP8[$109>>0]|0;
    25665         $111 = $110 << 24 >> 24;
    25666         $112 = ($111|0)==(100);
    25667         if (!($112)) {
    25668          $113 = $6;
    25669          $114 = ((($113)) + 1|0);
    25670          $115 = HEAP8[$114>>0]|0;
    25671          $116 = $115 << 24 >> 24;
    25672          $117 = ($116|0)==(68);
    25673          if (!($117)) {
    25674           break L32;
    25675          }
    25676         }
    25677         $118 = $6;
    25678         $119 = ((($118)) + 2|0);
    25679         $6 = $119;
    25680        }
    25681        break;
    25682       }
    25683       case 16:  {
    25684        $120 = $6;
    25685        $121 = HEAP8[$120>>0]|0;
    25686        $122 = $121 << 24 >> 24;
    25687        $123 = ($122|0)==(48);
    25688        if ($123) {
    25689         $124 = $6;
    25690         $125 = ((($124)) + 1|0);
    25691         $126 = HEAP8[$125>>0]|0;
    25692         $127 = $126 << 24 >> 24;
    25693         $128 = ($127|0)==(120);
    25694         if (!($128)) {
    25695          $129 = $6;
    25696          $130 = ((($129)) + 1|0);
    25697          $131 = HEAP8[$130>>0]|0;
    25698          $132 = $131 << 24 >> 24;
    25699          $133 = ($132|0)==(88);
    25700          if (!($133)) {
    25701           break L32;
    25702          }
    25703         }
    25704         $134 = $6;
    25705         $135 = ((($134)) + 2|0);
    25706         $6 = $135;
    25707        }
    25708        break;
    25709       }
    25710       default: {
    25711        $136 = $7;
    25712        $137 = ($136|0)<(2);
    25713        $138 = $7;
    25714        $139 = (36)<($138|0);
    25715        $or$cond = $137 | $139;
    25716        if ($or$cond) {
    25717         $140 = $5;
    25718         $141 = $5;
    25719         $142 = (_mrb_class_get($141,69160)|0);
    25720         $143 = $7;
    25721         _mrb_fixnum_value_290($15,$143);
    25722         ;HEAP8[$vararg_buffer>>0]=HEAP8[$15>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$15+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$15+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$15+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$15+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$15+7>>0]|0;
    25723         _mrb_raisef($140,$142,56069,$vararg_buffer);
    25724         // unreachable;
    25725        }
    25726       }
    25727       }
    25728      } while(0);
    25729      $144 = $6;
    25730      $145 = HEAP8[$144>>0]|0;
    25731      $146 = $145 << 24 >> 24;
    25732      $147 = ($146|0)==(48);
    25733      do {
    25734       if ($147) {
    25735        $12 = 0;
    25736        while(1) {
    25737         $148 = $6;
    25738         $149 = ((($148)) + 1|0);
    25739         $6 = $149;
    25740         $150 = HEAP8[$149>>0]|0;
    25741         $151 = $150 << 24 >> 24;
    25742         $11 = $151;
    25743         $152 = ($151|0)==(48);
    25744         $153 = $11;
    25745         $154 = ($153|0)==(95);
    25746         $155 = $152 ? 1 : $154;
    25747         if (!($155)) {
    25748          break;
    25749         }
    25750         $156 = $11;
    25751         $157 = ($156|0)==(95);
    25752         if ($157) {
    25753          $158 = $12;
    25754          $159 = (($158) + 1)|0;
    25755          $12 = $159;
    25756          $160 = ($159|0)>=(2);
    25757          if ($160) {
    25758           break;
    25759          } else {
    25760           continue;
    25761          }
    25762         } else {
    25763          $12 = 0;
    25764          continue;
    25765         }
    25766        }
    25767        $161 = $6;
    25768        $162 = HEAP8[$161>>0]|0;
    25769        $163 = $162 << 24 >> 24;
    25770        $11 = $163;
    25771        $164 = ($163|0)==(0);
    25772        $165 = $11;
    25773        $166 = ($165|0)==(32);
    25774        $or$cond3 = $164 | $166;
    25775        if (!($or$cond3)) {
    25776         $167 = $11;
    25777         $168 = (($167) - 9)|0;
    25778         $169 = ($168>>>0)<(5);
    25779         if (!($169)) {
    25780          break;
    25781         }
    25782        }
    25783        $170 = $6;
    25784        $171 = ((($170)) + -1|0);
    25785        $6 = $171;
    25786       }
    25787      } while(0);
    25788      $172 = $6;
    25789      $173 = HEAP8[$172>>0]|0;
    25790      $174 = $173 << 24 >> 24;
    25791      $11 = $174;
    25792      $175 = $11;
    25793      $176 = (($175) - 48)|0;
    25794      $177 = ($176>>>0)<(10);
    25795      $178 = $11;
    25796      do {
    25797       if ($177) {
    25798        $179 = (($178) - 48)|0;
    25799        $190 = $179;
    25800       } else {
    25801        $180 = (($178) - 97)|0;
    25802        $181 = ($180>>>0)<(26);
    25803        $182 = $11;
    25804        if ($181) {
    25805         $183 = (($182) - 97)|0;
    25806         $184 = (($183) + 10)|0;
    25807         $190 = $184;
    25808         break;
    25809        }
    25810        $185 = (($182) - 65)|0;
    25811        $186 = ($185>>>0)<(26);
    25812        if ($186) {
    25813         $187 = $11;
    25814         $188 = (($187) - 65)|0;
    25815         $189 = (($188) + 10)|0;
    25816         $190 = $189;
    25817        } else {
    25818         $190 = -1;
    25819        }
    25820       }
    25821      } while(0);
    25822      $11 = $190;
    25823      $191 = $11;
    25824      $192 = ($191|0)<(0);
    25825      if (!($192)) {
    25826       $193 = $11;
    25827       $194 = $7;
    25828       $195 = ($193|0)>=($194|0);
    25829       if (!($195)) {
    25830        $12 = 0;
    25831        $198 = $6;
    25832        $9 = $198;
    25833        while(1) {
    25834         $199 = $9;
    25835         $200 = HEAP8[$199>>0]|0;
    25836         $201 = ($200<<24>>24)!=(0);
    25837         if (!($201)) {
    25838          break;
    25839         }
    25840         $202 = $9;
    25841         $203 = HEAP8[$202>>0]|0;
    25842         $204 = $203 << 24 >> 24;
    25843         $205 = ($204|0)==(95);
    25844         if ($205) {
    25845          $206 = $12;
    25846          $207 = ($206|0)==(0);
    25847          if (!($207)) {
    25848           label = 70;
    25849           break;
    25850          }
    25851          $208 = $12;
    25852          $209 = (($208) + 1)|0;
    25853          $12 = $209;
    25854         } else {
    25855          $12 = 0;
    25856          $212 = $9;
    25857          $213 = HEAP8[$212>>0]|0;
    25858          $214 = $213 << 24 >> 24;
    25859          $215 = (($214) - 48)|0;
    25860          $216 = ($215>>>0)<(10);
    25861          $217 = $9;
    25862          $218 = HEAP8[$217>>0]|0;
    25863          $219 = $218 << 24 >> 24;
    25864          do {
    25865           if ($216) {
    25866            $220 = (($219) - 48)|0;
    25867            $235 = $220;
    25868           } else {
    25869            $221 = (($219) - 97)|0;
    25870            $222 = ($221>>>0)<(26);
    25871            $223 = $9;
    25872            $224 = HEAP8[$223>>0]|0;
    25873            $225 = $224 << 24 >> 24;
    25874            if ($222) {
    25875             $226 = (($225) - 97)|0;
    25876             $227 = (($226) + 10)|0;
    25877             $235 = $227;
    25878             break;
    25879            }
    25880            $228 = (($225) - 65)|0;
    25881            $229 = ($228>>>0)<(26);
    25882            if ($229) {
    25883             $230 = $9;
    25884             $231 = HEAP8[$230>>0]|0;
    25885             $232 = $231 << 24 >> 24;
    25886             $233 = (($232) - 65)|0;
    25887             $234 = (($233) + 10)|0;
    25888             $235 = $234;
    25889            } else {
    25890             $235 = -1;
    25891            }
    25892           }
    25893          } while(0);
    25894          $11 = $235;
    25895          $236 = $11;
    25896          $237 = ($236|0)<(0);
    25897          if ($237) {
    25898           label = 79;
    25899           break;
    25900          }
    25901          $238 = $11;
    25902          $239 = $7;
    25903          $240 = ($238|0)>=($239|0);
    25904          if ($240) {
    25905           label = 79;
    25906           break;
    25907          }
    25908          $243 = $7;
    25909          $244 = ($243|0)<(0);
    25910          $245 = $244 << 31 >> 31;
    25911          $246 = $13;
    25912          $247 = $246;
    25913          $248 = HEAP32[$247>>2]|0;
    25914          $249 = (($246) + 4)|0;
    25915          $250 = $249;
    25916          $251 = HEAP32[$250>>2]|0;
    25917          $252 = (___muldi3(($248|0),($251|0),($243|0),($245|0))|0);
    25918          $253 = tempRet0;
    25919          $254 = $13;
    25920          $255 = $254;
    25921          HEAP32[$255>>2] = $252;
    25922          $256 = (($254) + 4)|0;
    25923          $257 = $256;
    25924          HEAP32[$257>>2] = $253;
    25925          $258 = $11;
    25926          $259 = ($258|0)<(0);
    25927          $260 = $259 << 31 >> 31;
    25928          $261 = $13;
    25929          $262 = $261;
    25930          $263 = HEAP32[$262>>2]|0;
    25931          $264 = (($261) + 4)|0;
    25932          $265 = $264;
    25933          $266 = HEAP32[$265>>2]|0;
    25934          $267 = (_i64Add(($263|0),($266|0),($258|0),($260|0))|0);
    25935          $268 = tempRet0;
    25936          $269 = $13;
    25937          $270 = $269;
    25938          HEAP32[$270>>2] = $267;
    25939          $271 = (($269) + 4)|0;
    25940          $272 = $271;
    25941          HEAP32[$272>>2] = $268;
    25942          $273 = $13;
    25943          $274 = $273;
    25944          $275 = HEAP32[$274>>2]|0;
    25945          $276 = (($273) + 4)|0;
    25946          $277 = $276;
    25947          $278 = HEAP32[$277>>2]|0;
    25948          $279 = ($278>>>0)>(0);
    25949          $280 = ($275>>>0)>(2147483647);
    25950          $281 = ($278|0)==(0);
    25951          $282 = $281 & $280;
    25952          $283 = $279 | $282;
    25953          if ($283) {
    25954           label = 81;
    25955           break;
    25956          }
    25957         }
    25958         $289 = $9;
    25959         $290 = ((($289)) + 1|0);
    25960         $9 = $290;
    25961        }
    25962        if ((label|0) == 70) {
    25963         $210 = $8;
    25964         $211 = ($210|0)!=(0);
    25965         if ($211) {
    25966          break;
    25967         }
    25968        }
    25969        else if ((label|0) == 79) {
    25970         $241 = $8;
    25971         $242 = ($241|0)!=(0);
    25972         if ($242) {
    25973          break;
    25974         }
    25975        }
    25976        else if ((label|0) == 81) {
    25977         $284 = $5;
    25978         $285 = $5;
    25979         $286 = (_mrb_class_get($285,69160)|0);
    25980         $287 = $5;
    25981         $288 = $6;
    25982         _mrb_str_new_cstr($16,$287,$288);
    25983         ;HEAP8[$vararg_buffer4>>0]=HEAP8[$16>>0]|0;HEAP8[$vararg_buffer4+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$vararg_buffer4+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$vararg_buffer4+3>>0]=HEAP8[$16+3>>0]|0;HEAP8[$vararg_buffer4+4>>0]=HEAP8[$16+4>>0]|0;HEAP8[$vararg_buffer4+5>>0]=HEAP8[$16+5>>0]|0;HEAP8[$vararg_buffer4+6>>0]=HEAP8[$16+6>>0]|0;HEAP8[$vararg_buffer4+7>>0]=HEAP8[$16+7>>0]|0;
    25984         _mrb_raisef($284,$286,56086,$vararg_buffer4);
    25985         // unreachable;
    25986        }
    25987        $291 = $13;
    25988        $292 = $291;
    25989        $293 = HEAP32[$292>>2]|0;
    25990        $294 = (($291) + 4)|0;
    25991        $295 = $294;
    25992        $296 = HEAP32[$295>>2]|0;
    25993        $14 = $293;
    25994        $297 = $8;
    25995        $298 = ($297|0)!=(0);
    25996        if ($298) {
    25997         $299 = $9;
    25998         $300 = $6;
    25999         $301 = ($299|0)==($300|0);
    26000         if ($301) {
    26001          break;
    26002         }
    26003         while(1) {
    26004          $302 = $9;
    26005          $303 = HEAP8[$302>>0]|0;
    26006          $304 = $303 << 24 >> 24;
    26007          $305 = ($304|0)!=(0);
    26008          if ($305) {
    26009           $306 = $9;
    26010           $307 = HEAP8[$306>>0]|0;
    26011           $308 = $307 << 24 >> 24;
    26012           $309 = ($308|0)==(32);
    26013           if ($309) {
    26014            $331 = 1;
    26015           } else {
    26016            $310 = $9;
    26017            $311 = HEAP8[$310>>0]|0;
    26018            $312 = $311 << 24 >> 24;
    26019            $313 = (($312) - 9)|0;
    26020            $314 = ($313>>>0)<(5);
    26021            $331 = $314;
    26022           }
    26023          } else {
    26024           $331 = 0;
    26025          }
    26026          $315 = $9;
    26027          if (!($331)) {
    26028           break;
    26029          }
    26030          $316 = ((($315)) + 1|0);
    26031          $9 = $316;
    26032         }
    26033         $317 = HEAP8[$315>>0]|0;
    26034         $318 = ($317<<24>>24)!=(0);
    26035         if ($318) {
    26036          break;
    26037         }
    26038        }
    26039        $319 = $10;
    26040        $320 = $319 << 24 >> 24;
    26041        $321 = ($320|0)!=(0);
    26042        $322 = $14;
    26043        $323 = (0 - ($322))|0;
    26044        $324 = $321 ? $322 : $323;
    26045        _mrb_fixnum_value_290($0,$324);
    26046        STACKTOP = sp;return;
    26047       }
    26048      }
    26049      $196 = $8;
    26050      $197 = ($196|0)!=(0);
    26051      if ($197) {
    26052       break;
    26053      }
    26054      _mrb_fixnum_value_290($0,0);
    26055      STACKTOP = sp;return;
    26056     }
    26057    }
    26058    $55 = $8;
    26059    $56 = ($55|0)!=(0);
    26060    if (!($56)) {
    26061     _mrb_fixnum_value_290($0,0);
    26062     STACKTOP = sp;return;
    26063    }
    26064   } else {
    26065    $24 = $8;
    26066    $25 = ($24|0)!=(0);
    26067    if (!($25)) {
    26068     _mrb_fixnum_value_290($0,0);
    26069     STACKTOP = sp;return;
    26070    }
    26071   }
    26072  } while(0);
    26073  $325 = $5;
    26074  $326 = $5;
    26075  $327 = (_mrb_class_get($326,69160)|0);
    26076  $328 = $5;
    26077  $329 = $6;
    26078  _mrb_str_new_cstr($17,$328,$329);
    26079  ;HEAP8[$vararg_buffer7>>0]=HEAP8[$17>>0]|0;HEAP8[$vararg_buffer7+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$vararg_buffer7+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$vararg_buffer7+3>>0]=HEAP8[$17+3>>0]|0;HEAP8[$vararg_buffer7+4>>0]=HEAP8[$17+4>>0]|0;HEAP8[$vararg_buffer7+5>>0]=HEAP8[$17+5>>0]|0;HEAP8[$vararg_buffer7+6>>0]=HEAP8[$17+6>>0]|0;HEAP8[$vararg_buffer7+7>>0]=HEAP8[$17+7>>0]|0;
    26080  _mrb_raisef($325,$327,56118,$vararg_buffer7);
    26081  // unreachable;
    26082 }
    26083 function _mrb_fixnum_value_290($0,$1) {
    26084  $0 = $0|0;
    26085  $1 = $1|0;
    26086  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    26087  sp = STACKTOP;
    26088  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    26089  $3 = sp;
    26090  $2 = $1;
    26091  $4 = ((($3)) + 4|0);
    26092  HEAP32[$4>>2] = 3;
    26093  $5 = $2;
    26094  HEAP32[$3>>2] = $5;
    26095  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    26096  STACKTOP = sp;return;
    26097 }
    26098 function _mrb_string_value_cstr($0,$1) {
    26099  $0 = $0|0;
    26100  $1 = $1|0;
    26101  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    26102  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    26103  var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    26104  sp = STACKTOP;
    26105  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    26106  $$byval_copy = sp + 40|0;
    26107  $5 = sp + 16|0;
    26108  $3 = $0;
    26109  $4 = $1;
    26110  $9 = $3;
    26111  $10 = $4;
    26112  ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    26113  _mrb_str_to_str($5,$9,$$byval_copy);
    26114  $11 = HEAP32[$5>>2]|0;
    26115  $6 = $11;
    26116  $12 = $3;
    26117  $13 = $6;
    26118  $14 = (_mrb_str_strlen($12,$13)|0);
    26119  $7 = $14;
    26120  $15 = $6;
    26121  $16 = HEAP32[$15>>2]|0;
    26122  $17 = $16 >>> 11;
    26123  $18 = $17 & 8;
    26124  $19 = ($18|0)!=(0);
    26125  $20 = $6;
    26126  $21 = ((($20)) + 12|0);
    26127  if ($19) {
    26128   $24 = $21;
    26129  } else {
    26130   $22 = ((($21)) + 8|0);
    26131   $23 = HEAP32[$22>>2]|0;
    26132   $24 = $23;
    26133  }
    26134  $8 = $24;
    26135  $25 = $8;
    26136  $26 = ($25|0)!=(0|0);
    26137  if ($26) {
    26138   $27 = $8;
    26139   $28 = $7;
    26140   $29 = (($27) + ($28)|0);
    26141   $30 = HEAP8[$29>>0]|0;
    26142   $31 = $30 << 24 >> 24;
    26143   $32 = ($31|0)!=(0);
    26144   if (!($32)) {
    26145    $45 = $8;
    26146    $2 = $45;
    26147    $46 = $2;
    26148    STACKTOP = sp;return ($46|0);
    26149   }
    26150  }
    26151  $33 = $3;
    26152  $34 = $6;
    26153  _mrb_str_modify($33,$34);
    26154  $35 = $6;
    26155  $36 = HEAP32[$35>>2]|0;
    26156  $37 = $36 >>> 11;
    26157  $38 = $37 & 8;
    26158  $39 = ($38|0)!=(0);
    26159  $40 = $6;
    26160  $41 = ((($40)) + 12|0);
    26161  if ($39) {
    26162   $44 = $41;
    26163  } else {
    26164   $42 = ((($41)) + 8|0);
    26165   $43 = HEAP32[$42>>2]|0;
    26166   $44 = $43;
    26167  }
    26168  $2 = $44;
    26169  $46 = $2;
    26170  STACKTOP = sp;return ($46|0);
    26171 }
    26172 function _mrb_str_to_inum($0,$1,$2,$3,$4) {
    26173  $0 = $0|0;
    26174  $1 = $1|0;
    26175  $2 = $2|0;
    26176  $3 = $3|0;
    26177  $4 = $4|0;
    26178  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    26179  var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    26180  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    26181  sp = STACKTOP;
    26182  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    26183  $$byval_copy = sp + 24|0;
    26184  $5 = $1;
    26185  $6 = $3;
    26186  $7 = $4;
    26187  $11 = $7;
    26188  $12 = ($11<<24>>24)!=(0);
    26189  $13 = $5;
    26190  if ($12) {
    26191   $14 = (_mrb_string_value_cstr($13,$2)|0);
    26192   $8 = $14;
    26193  } else {
    26194   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    26195   $15 = (_mrb_string_value_ptr($13,$$byval_copy)|0);
    26196   $8 = $15;
    26197  }
    26198  $16 = $8;
    26199  $17 = ($16|0)!=(0|0);
    26200  if ($17) {
    26201   $18 = HEAP32[$2>>2]|0;
    26202   $19 = HEAP32[$18>>2]|0;
    26203   $20 = $19 >>> 11;
    26204   $21 = $20 & 8;
    26205   $22 = ($21|0)!=(0);
    26206   $23 = HEAP32[$2>>2]|0;
    26207   if ($22) {
    26208    $24 = HEAP32[$23>>2]|0;
    26209    $25 = $24 >>> 11;
    26210    $26 = $25 & 496;
    26211    $27 = $26 >> 4;
    26212    $30 = $27;
    26213   } else {
    26214    $28 = ((($23)) + 12|0);
    26215    $29 = HEAP32[$28>>2]|0;
    26216    $30 = $29;
    26217   }
    26218   $9 = $30;
    26219   $31 = $8;
    26220   $32 = $9;
    26221   $33 = (($31) + ($32)|0);
    26222   $34 = HEAP8[$33>>0]|0;
    26223   $35 = ($34<<24>>24)!=(0);
    26224   if ($35) {
    26225    $36 = $5;
    26226    $37 = $8;
    26227    $38 = $9;
    26228    $39 = (_str_new($36,$37,$38)|0);
    26229    $10 = $39;
    26230    $40 = $10;
    26231    $41 = HEAP32[$40>>2]|0;
    26232    $42 = $41 >>> 11;
    26233    $43 = $42 & 8;
    26234    $44 = ($43|0)!=(0);
    26235    $45 = $10;
    26236    $46 = ((($45)) + 12|0);
    26237    if ($44) {
    26238     $49 = $46;
    26239    } else {
    26240     $47 = ((($46)) + 8|0);
    26241     $48 = HEAP32[$47>>2]|0;
    26242     $49 = $48;
    26243    }
    26244    $8 = $49;
    26245   }
    26246  }
    26247  $50 = $5;
    26248  $51 = $8;
    26249  $52 = $6;
    26250  $53 = $7;
    26251  $54 = $53&255;
    26252  _mrb_cstr_to_inum($0,$50,$51,$52,$54);
    26253  STACKTOP = sp;return;
    26254 }
    26255 function _mrb_cstr_to_dbl($0,$1,$2) {
    26256  $0 = $0|0;
    26257  $1 = $1|0;
    26258  $2 = $2|0;
    26259  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    26260  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0.0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    26261  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0.0, $153 = 0;
    26262  var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
    26263  var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
    26264  var $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
    26265  var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
    26266  var $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    26267  sp = STACKTOP;
    26268  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    26269  $vararg_buffer = sp + 16|0;
    26270  $7 = sp + 40|0;
    26271  $8 = sp + 54|0;
    26272  $10 = sp + 32|0;
    26273  $4 = $0;
    26274  $5 = $1;
    26275  $6 = $2;
    26276  $14 = $5;
    26277  $15 = ($14|0)!=(0|0);
    26278  if (!($15)) {
    26279   $3 = 0.0;
    26280   $152 = $3;
    26281   STACKTOP = sp;return (+$152);
    26282  }
    26283  while(1) {
    26284   $16 = $5;
    26285   $17 = HEAP8[$16>>0]|0;
    26286   $18 = $17 << 24 >> 24;
    26287   $19 = ($18|0)==(32);
    26288   if (!($19)) {
    26289    $20 = $5;
    26290    $21 = HEAP8[$20>>0]|0;
    26291    $22 = $21 << 24 >> 24;
    26292    $23 = (($22) - 9)|0;
    26293    $24 = ($23>>>0)<(5);
    26294    if (!($24)) {
    26295     break;
    26296    }
    26297   }
    26298   $25 = $5;
    26299   $26 = ((($25)) + 1|0);
    26300   $5 = $26;
    26301  }
    26302  $27 = $6;
    26303  $28 = ($27<<24>>24)!=(0);
    26304  do {
    26305   if (!($28)) {
    26306    $29 = $5;
    26307    $30 = HEAP8[$29>>0]|0;
    26308    $31 = $30 << 24 >> 24;
    26309    $32 = ($31|0)==(48);
    26310    if ($32) {
    26311     $33 = $5;
    26312     $34 = ((($33)) + 1|0);
    26313     $35 = HEAP8[$34>>0]|0;
    26314     $36 = $35 << 24 >> 24;
    26315     $37 = ($36|0)==(120);
    26316     if (!($37)) {
    26317      $38 = $5;
    26318      $39 = ((($38)) + 1|0);
    26319      $40 = HEAP8[$39>>0]|0;
    26320      $41 = $40 << 24 >> 24;
    26321      $42 = ($41|0)==(88);
    26322      if (!($42)) {
    26323       break;
    26324      }
    26325     }
    26326     $3 = 0.0;
    26327     $152 = $3;
    26328     STACKTOP = sp;return (+$152);
    26329    }
    26330   }
    26331  } while(0);
    26332  $43 = $5;
    26333  $44 = (+_strtod($43,$7));
    26334  $9 = $44;
    26335  $45 = $5;
    26336  $46 = HEAP32[$7>>2]|0;
    26337  $47 = ($45|0)==($46|0);
    26338  L18: do {
    26339   if ($47) {
    26340    $48 = $6;
    26341    $49 = ($48<<24>>24)!=(0);
    26342    if (!($49)) {
    26343     $55 = $9;
    26344     $3 = $55;
    26345     $152 = $3;
    26346     STACKTOP = sp;return (+$152);
    26347    }
    26348   } else {
    26349    $56 = HEAP32[$7>>2]|0;
    26350    $57 = HEAP8[$56>>0]|0;
    26351    $58 = ($57<<24>>24)!=(0);
    26352    if ($58) {
    26353     $11 = $8;
    26354     $59 = ((($8)) + 70|0);
    26355     $60 = ((($59)) + -1|0);
    26356     $12 = $60;
    26357     $13 = 0;
    26358     while(1) {
    26359      $61 = $5;
    26360      $62 = HEAP32[$7>>2]|0;
    26361      $63 = ($61>>>0)<($62>>>0);
    26362      if (!($63)) {
    26363       break;
    26364      }
    26365      $64 = $11;
    26366      $65 = $12;
    26367      $66 = ($64>>>0)<($65>>>0);
    26368      if (!($66)) {
    26369       break;
    26370      }
    26371      $67 = $5;
    26372      $68 = ((($67)) + 1|0);
    26373      $5 = $68;
    26374      $69 = HEAP8[$67>>0]|0;
    26375      $70 = $11;
    26376      $71 = ((($70)) + 1|0);
    26377      $11 = $71;
    26378      HEAP8[$70>>0] = $69;
    26379      $13 = $69;
    26380     }
    26381     L29: while(1) {
    26382      $72 = $5;
    26383      $73 = HEAP8[$72>>0]|0;
    26384      $74 = ($73<<24>>24)!=(0);
    26385      if (!($74)) {
    26386       break;
    26387      }
    26388      $75 = $5;
    26389      $76 = HEAP8[$75>>0]|0;
    26390      $77 = $76 << 24 >> 24;
    26391      $78 = ($77|0)==(95);
    26392      if ($78) {
    26393       $79 = $6;
    26394       $80 = ($79<<24>>24)!=(0);
    26395       if (!($80)) {
    26396        while(1) {
    26397         $94 = $5;
    26398         $95 = ((($94)) + 1|0);
    26399         $5 = $95;
    26400         $96 = HEAP8[$95>>0]|0;
    26401         $97 = $96 << 24 >> 24;
    26402         $98 = ($97|0)==(95);
    26403         if (!($98)) {
    26404          continue L29;
    26405         }
    26406        }
    26407       }
    26408       $81 = $11;
    26409       $82 = ($81|0)==($8|0);
    26410       if ($82) {
    26411        break L18;
    26412       }
    26413       $83 = $13;
    26414       $84 = $83 << 24 >> 24;
    26415       $85 = (($84) - 48)|0;
    26416       $86 = ($85>>>0)<(10);
    26417       if (!($86)) {
    26418        break L18;
    26419       }
    26420       $87 = $5;
    26421       $88 = ((($87)) + 1|0);
    26422       $5 = $88;
    26423       $89 = $5;
    26424       $90 = HEAP8[$89>>0]|0;
    26425       $91 = $90 << 24 >> 24;
    26426       $92 = (($91) - 48)|0;
    26427       $93 = ($92>>>0)<(10);
    26428       if (!($93)) {
    26429        break L18;
    26430       }
    26431      }
    26432      $99 = $5;
    26433      $100 = ((($99)) + 1|0);
    26434      $5 = $100;
    26435      $101 = HEAP8[$99>>0]|0;
    26436      $13 = $101;
    26437      $102 = $11;
    26438      $103 = $12;
    26439      $104 = ($102>>>0)<($103>>>0);
    26440      if (!($104)) {
    26441       continue;
    26442      }
    26443      $105 = $13;
    26444      $106 = $11;
    26445      $107 = ((($106)) + 1|0);
    26446      $11 = $107;
    26447      HEAP8[$106>>0] = $105;
    26448     }
    26449     $108 = $11;
    26450     HEAP8[$108>>0] = 0;
    26451     $5 = $8;
    26452     $109 = $6;
    26453     $110 = ($109<<24>>24)!=(0);
    26454     do {
    26455      if (!($110)) {
    26456       $111 = $5;
    26457       $112 = HEAP8[$111>>0]|0;
    26458       $113 = $112 << 24 >> 24;
    26459       $114 = ($113|0)==(48);
    26460       if ($114) {
    26461        $115 = $5;
    26462        $116 = ((($115)) + 1|0);
    26463        $117 = HEAP8[$116>>0]|0;
    26464        $118 = $117 << 24 >> 24;
    26465        $119 = ($118|0)==(120);
    26466        if (!($119)) {
    26467         $120 = $5;
    26468         $121 = ((($120)) + 1|0);
    26469         $122 = HEAP8[$121>>0]|0;
    26470         $123 = $122 << 24 >> 24;
    26471         $124 = ($123|0)==(88);
    26472         if (!($124)) {
    26473          break;
    26474         }
    26475        }
    26476        $3 = 0.0;
    26477        $152 = $3;
    26478        STACKTOP = sp;return (+$152);
    26479       }
    26480      }
    26481     } while(0);
    26482     $125 = $5;
    26483     $126 = (+_strtod($125,$7));
    26484     $9 = $126;
    26485     $127 = $6;
    26486     $128 = ($127<<24>>24)!=(0);
    26487     if ($128) {
    26488      $129 = HEAP32[$7>>2]|0;
    26489      $130 = ($129|0)!=(0|0);
    26490      if (!($130)) {
    26491       break;
    26492      }
    26493      $131 = $5;
    26494      $132 = HEAP32[$7>>2]|0;
    26495      $133 = ($131|0)==($132|0);
    26496      if ($133) {
    26497       break;
    26498      }
    26499      while(1) {
    26500       $134 = HEAP32[$7>>2]|0;
    26501       $135 = HEAP8[$134>>0]|0;
    26502       $136 = $135 << 24 >> 24;
    26503       $137 = ($136|0)!=(0);
    26504       if ($137) {
    26505        $138 = HEAP32[$7>>2]|0;
    26506        $139 = HEAP8[$138>>0]|0;
    26507        $140 = $139 << 24 >> 24;
    26508        $141 = ($140|0)==(32);
    26509        if ($141) {
    26510         $153 = 1;
    26511        } else {
    26512         $142 = HEAP32[$7>>2]|0;
    26513         $143 = HEAP8[$142>>0]|0;
    26514         $144 = $143 << 24 >> 24;
    26515         $145 = (($144) - 9)|0;
    26516         $146 = ($145>>>0)<(5);
    26517         $153 = $146;
    26518        }
    26519       } else {
    26520        $153 = 0;
    26521       }
    26522       $147 = HEAP32[$7>>2]|0;
    26523       if (!($153)) {
    26524        break;
    26525       }
    26526       $148 = ((($147)) + 1|0);
    26527       HEAP32[$7>>2] = $148;
    26528      }
    26529      $149 = HEAP8[$147>>0]|0;
    26530      $150 = ($149<<24>>24)!=(0);
    26531      if ($150) {
    26532       break;
    26533      }
    26534     }
    26535    }
    26536    $151 = $9;
    26537    $3 = $151;
    26538    $152 = $3;
    26539    STACKTOP = sp;return (+$152);
    26540   }
    26541  } while(0);
    26542  $50 = $4;
    26543  $51 = $4;
    26544  $52 = (_mrb_class_get($51,69160)|0);
    26545  $53 = $4;
    26546  $54 = $5;
    26547  _mrb_str_new_cstr($10,$53,$54);
    26548  ;HEAP8[$vararg_buffer>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$10+7>>0]|0;
    26549  _mrb_raisef($50,$52,56148,$vararg_buffer);
    26550  // unreachable;
    26551  return +(0.0);
    26552 }
    26553 function _mrb_str_to_dbl($0,$1,$2) {
    26554  $0 = $0|0;
    26555  $1 = $1|0;
    26556  $2 = $2|0;
    26557  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    26558  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    26559  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    26560  var $65 = 0, $66 = 0, $67 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    26561  sp = STACKTOP;
    26562  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    26563  $$byval_copy = sp + 32|0;
    26564  $7 = sp + 8|0;
    26565  $3 = $0;
    26566  $4 = $2;
    26567  $9 = $3;
    26568  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    26569  _mrb_str_to_str($7,$9,$$byval_copy);
    26570  ;HEAP32[$1>>2]=HEAP32[$7>>2]|0;HEAP32[$1+4>>2]=HEAP32[$7+4>>2]|0;
    26571  $10 = HEAP32[$1>>2]|0;
    26572  $11 = HEAP32[$10>>2]|0;
    26573  $12 = $11 >>> 11;
    26574  $13 = $12 & 8;
    26575  $14 = ($13|0)!=(0);
    26576  $15 = HEAP32[$1>>2]|0;
    26577  $16 = ((($15)) + 12|0);
    26578  if ($14) {
    26579   $19 = $16;
    26580  } else {
    26581   $17 = ((($16)) + 8|0);
    26582   $18 = HEAP32[$17>>2]|0;
    26583   $19 = $18;
    26584  }
    26585  $5 = $19;
    26586  $20 = HEAP32[$1>>2]|0;
    26587  $21 = HEAP32[$20>>2]|0;
    26588  $22 = $21 >>> 11;
    26589  $23 = $22 & 8;
    26590  $24 = ($23|0)!=(0);
    26591  $25 = HEAP32[$1>>2]|0;
    26592  if ($24) {
    26593   $26 = HEAP32[$25>>2]|0;
    26594   $27 = $26 >>> 11;
    26595   $28 = $27 & 496;
    26596   $29 = $28 >> 4;
    26597   $32 = $29;
    26598  } else {
    26599   $30 = ((($25)) + 12|0);
    26600   $31 = HEAP32[$30>>2]|0;
    26601   $32 = $31;
    26602  }
    26603  $6 = $32;
    26604  $33 = $5;
    26605  $34 = ($33|0)!=(0|0);
    26606  if (!($34)) {
    26607   $64 = $3;
    26608   $65 = $5;
    26609   $66 = $4;
    26610   $67 = (+_mrb_cstr_to_dbl($64,$65,$66));
    26611   STACKTOP = sp;return (+$67);
    26612  }
    26613  $35 = $4;
    26614  $36 = $35&255;
    26615  $37 = ($36|0)!=(0);
    26616  if ($37) {
    26617   $38 = $5;
    26618   $39 = $6;
    26619   $40 = (_memchr($38,0,$39)|0);
    26620   $41 = ($40|0)!=(0|0);
    26621   if ($41) {
    26622    $42 = $3;
    26623    $43 = $3;
    26624    $44 = (_mrb_class_get($43,69160)|0);
    26625    _mrb_raise($42,$44,56177);
    26626    // unreachable;
    26627   }
    26628  }
    26629  $45 = $5;
    26630  $46 = $6;
    26631  $47 = (($45) + ($46)|0);
    26632  $48 = HEAP8[$47>>0]|0;
    26633  $49 = ($48<<24>>24)!=(0);
    26634  if (!($49)) {
    26635   $64 = $3;
    26636   $65 = $5;
    26637   $66 = $4;
    26638   $67 = (+_mrb_cstr_to_dbl($64,$65,$66));
    26639   STACKTOP = sp;return (+$67);
    26640  }
    26641  $50 = $3;
    26642  $51 = $5;
    26643  $52 = $6;
    26644  $53 = (_str_new($50,$51,$52)|0);
    26645  $8 = $53;
    26646  $54 = $8;
    26647  $55 = HEAP32[$54>>2]|0;
    26648  $56 = $55 >>> 11;
    26649  $57 = $56 & 8;
    26650  $58 = ($57|0)!=(0);
    26651  $59 = $8;
    26652  $60 = ((($59)) + 12|0);
    26653  if ($58) {
    26654   $63 = $60;
    26655  } else {
    26656   $61 = ((($60)) + 8|0);
    26657   $62 = HEAP32[$61>>2]|0;
    26658   $63 = $62;
    26659  }
    26660  $5 = $63;
    26661  $64 = $3;
    26662  $65 = $5;
    26663  $66 = $4;
    26664  $67 = (+_mrb_cstr_to_dbl($64,$65,$66));
    26665  STACKTOP = sp;return (+$67);
    26666 }
    26667 function _mrb_str_dump($0,$1,$2) {
    26668  $0 = $0|0;
    26669  $1 = $1|0;
    26670  $2 = $2|0;
    26671  var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    26672  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
    26673  var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
    26674  var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
    26675  var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
    26676  var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0;
    26677  var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    26678  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    26679  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    26680  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
    26681  var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    26682  sp = STACKTOP;
    26683  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    26684  $$byval_copy = sp + 24|0;
    26685  $3 = $1;
    26686  $4 = 2;
    26687  $11 = HEAP32[$2>>2]|0;
    26688  $12 = HEAP32[$11>>2]|0;
    26689  $13 = $12 >>> 11;
    26690  $14 = $13 & 8;
    26691  $15 = ($14|0)!=(0);
    26692  $16 = HEAP32[$2>>2]|0;
    26693  $17 = ((($16)) + 12|0);
    26694  if ($15) {
    26695   $20 = $17;
    26696  } else {
    26697   $18 = ((($17)) + 8|0);
    26698   $19 = HEAP32[$18>>2]|0;
    26699   $20 = $19;
    26700  }
    26701  $5 = $20;
    26702  $21 = $5;
    26703  $22 = HEAP32[$2>>2]|0;
    26704  $23 = HEAP32[$22>>2]|0;
    26705  $24 = $23 >>> 11;
    26706  $25 = $24 & 8;
    26707  $26 = ($25|0)!=(0);
    26708  $27 = HEAP32[$2>>2]|0;
    26709  if ($26) {
    26710   $28 = HEAP32[$27>>2]|0;
    26711   $29 = $28 >>> 11;
    26712   $30 = $29 & 496;
    26713   $31 = $30 >> 4;
    26714   $35 = $31;
    26715  } else {
    26716   $32 = ((($27)) + 12|0);
    26717   $33 = HEAP32[$32>>2]|0;
    26718   $35 = $33;
    26719  }
    26720  $34 = (($21) + ($35)|0);
    26721  $6 = $34;
    26722  L9: while(1) {
    26723   $36 = $5;
    26724   $37 = $6;
    26725   $38 = ($36>>>0)<($37>>>0);
    26726   if (!($38)) {
    26727    break;
    26728   }
    26729   $39 = $5;
    26730   $40 = ((($39)) + 1|0);
    26731   $5 = $40;
    26732   $41 = HEAP8[$39>>0]|0;
    26733   $9 = $41;
    26734   $42 = $9;
    26735   $43 = $42&255;
    26736   switch ($43|0) {
    26737   case 27: case 7: case 8: case 11: case 12: case 9: case 13: case 10: case 92: case 34:  {
    26738    $44 = $4;
    26739    $45 = (($44) + 2)|0;
    26740    $4 = $45;
    26741    continue L9;
    26742    break;
    26743   }
    26744   case 35:  {
    26745    $46 = $5;
    26746    $47 = $6;
    26747    $48 = ($46>>>0)<($47>>>0);
    26748    if ($48) {
    26749     $49 = $5;
    26750     $50 = HEAP8[$49>>0]|0;
    26751     $51 = $50 << 24 >> 24;
    26752     $52 = ($51|0)==(36);
    26753     if ($52) {
    26754      $62 = 1;
    26755     } else {
    26756      $53 = $5;
    26757      $54 = HEAP8[$53>>0]|0;
    26758      $55 = $54 << 24 >> 24;
    26759      $56 = ($55|0)==(64);
    26760      if ($56) {
    26761       $62 = 1;
    26762      } else {
    26763       $57 = $5;
    26764       $58 = HEAP8[$57>>0]|0;
    26765       $59 = $58 << 24 >> 24;
    26766       $60 = ($59|0)==(123);
    26767       $62 = $60;
    26768      }
    26769     }
    26770    } else {
    26771     $62 = 0;
    26772    }
    26773    $61 = $62 ? 2 : 1;
    26774    $63 = $4;
    26775    $64 = (($63) + ($61))|0;
    26776    $4 = $64;
    26777    continue L9;
    26778    break;
    26779   }
    26780   default: {
    26781    $65 = $9;
    26782    $66 = $65&255;
    26783    $67 = (($66) - 32)|0;
    26784    $68 = ($67>>>0)<(95);
    26785    $69 = $4;
    26786    if ($68) {
    26787     $70 = (($69) + 1)|0;
    26788     $4 = $70;
    26789     continue L9;
    26790    } else {
    26791     $71 = (($69) + 4)|0;
    26792     $4 = $71;
    26793     continue L9;
    26794    }
    26795   }
    26796   }
    26797  }
    26798  $72 = $3;
    26799  $73 = $4;
    26800  $74 = (_str_new($72,0,$73)|0);
    26801  $8 = $74;
    26802  $75 = $3;
    26803  $76 = $8;
    26804  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    26805  _str_with_class($75,$76,$$byval_copy);
    26806  $77 = HEAP32[$2>>2]|0;
    26807  $78 = HEAP32[$77>>2]|0;
    26808  $79 = $78 >>> 11;
    26809  $80 = $79 & 8;
    26810  $81 = ($80|0)!=(0);
    26811  $82 = HEAP32[$2>>2]|0;
    26812  $83 = ((($82)) + 12|0);
    26813  if ($81) {
    26814   $86 = $83;
    26815  } else {
    26816   $84 = ((($83)) + 8|0);
    26817   $85 = HEAP32[$84>>2]|0;
    26818   $86 = $85;
    26819  }
    26820  $5 = $86;
    26821  $87 = $5;
    26822  $88 = HEAP32[$2>>2]|0;
    26823  $89 = HEAP32[$88>>2]|0;
    26824  $90 = $89 >>> 11;
    26825  $91 = $90 & 8;
    26826  $92 = ($91|0)!=(0);
    26827  $93 = HEAP32[$2>>2]|0;
    26828  if ($92) {
    26829   $94 = HEAP32[$93>>2]|0;
    26830   $95 = $94 >>> 11;
    26831   $96 = $95 & 496;
    26832   $97 = $96 >> 4;
    26833   $101 = $97;
    26834  } else {
    26835   $98 = ((($93)) + 12|0);
    26836   $99 = HEAP32[$98>>2]|0;
    26837   $101 = $99;
    26838  }
    26839  $100 = (($87) + ($101)|0);
    26840  $6 = $100;
    26841  $102 = $8;
    26842  $103 = HEAP32[$102>>2]|0;
    26843  $104 = $103 >>> 11;
    26844  $105 = $104 & 8;
    26845  $106 = ($105|0)!=(0);
    26846  $107 = $8;
    26847  $108 = ((($107)) + 12|0);
    26848  if ($106) {
    26849   $111 = $108;
    26850  } else {
    26851   $109 = ((($108)) + 8|0);
    26852   $110 = HEAP32[$109>>2]|0;
    26853   $111 = $110;
    26854  }
    26855  $7 = $111;
    26856  $112 = $7;
    26857  $113 = ((($112)) + 1|0);
    26858  $7 = $113;
    26859  HEAP8[$112>>0] = 34;
    26860  L37: while(1) {
    26861   $114 = $5;
    26862   $115 = $6;
    26863   $116 = ($114>>>0)<($115>>>0);
    26864   if (!($116)) {
    26865    break;
    26866   }
    26867   $117 = $5;
    26868   $118 = ((($117)) + 1|0);
    26869   $5 = $118;
    26870   $119 = HEAP8[$117>>0]|0;
    26871   $10 = $119;
    26872   $120 = $10;
    26873   $121 = $120&255;
    26874   do {
    26875    switch ($121|0) {
    26876    case 92: case 34:  {
    26877     $122 = $7;
    26878     $123 = ((($122)) + 1|0);
    26879     $7 = $123;
    26880     HEAP8[$122>>0] = 92;
    26881     $124 = $10;
    26882     $125 = $7;
    26883     $126 = ((($125)) + 1|0);
    26884     $7 = $126;
    26885     HEAP8[$125>>0] = $124;
    26886     continue L37;
    26887     break;
    26888    }
    26889    case 10:  {
    26890     $127 = $7;
    26891     $128 = ((($127)) + 1|0);
    26892     $7 = $128;
    26893     HEAP8[$127>>0] = 92;
    26894     $129 = $7;
    26895     $130 = ((($129)) + 1|0);
    26896     $7 = $130;
    26897     HEAP8[$129>>0] = 110;
    26898     continue L37;
    26899     break;
    26900    }
    26901    case 13:  {
    26902     $131 = $7;
    26903     $132 = ((($131)) + 1|0);
    26904     $7 = $132;
    26905     HEAP8[$131>>0] = 92;
    26906     $133 = $7;
    26907     $134 = ((($133)) + 1|0);
    26908     $7 = $134;
    26909     HEAP8[$133>>0] = 114;
    26910     continue L37;
    26911     break;
    26912    }
    26913    case 9:  {
    26914     $135 = $7;
    26915     $136 = ((($135)) + 1|0);
    26916     $7 = $136;
    26917     HEAP8[$135>>0] = 92;
    26918     $137 = $7;
    26919     $138 = ((($137)) + 1|0);
    26920     $7 = $138;
    26921     HEAP8[$137>>0] = 116;
    26922     continue L37;
    26923     break;
    26924    }
    26925    case 12:  {
    26926     $139 = $7;
    26927     $140 = ((($139)) + 1|0);
    26928     $7 = $140;
    26929     HEAP8[$139>>0] = 92;
    26930     $141 = $7;
    26931     $142 = ((($141)) + 1|0);
    26932     $7 = $142;
    26933     HEAP8[$141>>0] = 102;
    26934     continue L37;
    26935     break;
    26936    }
    26937    case 11:  {
    26938     $143 = $7;
    26939     $144 = ((($143)) + 1|0);
    26940     $7 = $144;
    26941     HEAP8[$143>>0] = 92;
    26942     $145 = $7;
    26943     $146 = ((($145)) + 1|0);
    26944     $7 = $146;
    26945     HEAP8[$145>>0] = 118;
    26946     continue L37;
    26947     break;
    26948    }
    26949    case 8:  {
    26950     $147 = $7;
    26951     $148 = ((($147)) + 1|0);
    26952     $7 = $148;
    26953     HEAP8[$147>>0] = 92;
    26954     $149 = $7;
    26955     $150 = ((($149)) + 1|0);
    26956     $7 = $150;
    26957     HEAP8[$149>>0] = 98;
    26958     continue L37;
    26959     break;
    26960    }
    26961    case 7:  {
    26962     $151 = $7;
    26963     $152 = ((($151)) + 1|0);
    26964     $7 = $152;
    26965     HEAP8[$151>>0] = 92;
    26966     $153 = $7;
    26967     $154 = ((($153)) + 1|0);
    26968     $7 = $154;
    26969     HEAP8[$153>>0] = 97;
    26970     continue L37;
    26971     break;
    26972    }
    26973    case 27:  {
    26974     $155 = $7;
    26975     $156 = ((($155)) + 1|0);
    26976     $7 = $156;
    26977     HEAP8[$155>>0] = 92;
    26978     $157 = $7;
    26979     $158 = ((($157)) + 1|0);
    26980     $7 = $158;
    26981     HEAP8[$157>>0] = 101;
    26982     continue L37;
    26983     break;
    26984    }
    26985    case 35:  {
    26986     $159 = $5;
    26987     $160 = $6;
    26988     $161 = ($159>>>0)<($160>>>0);
    26989     do {
    26990      if ($161) {
    26991       $162 = $5;
    26992       $163 = HEAP8[$162>>0]|0;
    26993       $164 = $163 << 24 >> 24;
    26994       $165 = ($164|0)==(36);
    26995       if (!($165)) {
    26996        $166 = $5;
    26997        $167 = HEAP8[$166>>0]|0;
    26998        $168 = $167 << 24 >> 24;
    26999        $169 = ($168|0)==(64);
    27000        if (!($169)) {
    27001         $170 = $5;
    27002         $171 = HEAP8[$170>>0]|0;
    27003         $172 = $171 << 24 >> 24;
    27004         $173 = ($172|0)==(123);
    27005         if (!($173)) {
    27006          break;
    27007         }
    27008        }
    27009       }
    27010       $174 = $7;
    27011       $175 = ((($174)) + 1|0);
    27012       $7 = $175;
    27013       HEAP8[$174>>0] = 92;
    27014      }
    27015     } while(0);
    27016     $176 = $7;
    27017     $177 = ((($176)) + 1|0);
    27018     $7 = $177;
    27019     HEAP8[$176>>0] = 35;
    27020     continue L37;
    27021     break;
    27022    }
    27023    default: {
    27024     $178 = $10;
    27025     $179 = $178&255;
    27026     $180 = (($179) - 32)|0;
    27027     $181 = ($180>>>0)<(95);
    27028     if ($181) {
    27029      $182 = $10;
    27030      $183 = $7;
    27031      $184 = ((($183)) + 1|0);
    27032      $7 = $184;
    27033      HEAP8[$183>>0] = $182;
    27034      continue L37;
    27035     } else {
    27036      $185 = $7;
    27037      $186 = ((($185)) + 1|0);
    27038      $7 = $186;
    27039      HEAP8[$185>>0] = 92;
    27040      $187 = $10;
    27041      $188 = $187&255;
    27042      $189 = (($188|0) % 8)&-1;
    27043      $190 = (48 + ($189))|0;
    27044      $191 = $190&255;
    27045      $192 = $7;
    27046      $193 = ((($192)) + 2|0);
    27047      HEAP8[$193>>0] = $191;
    27048      $194 = $10;
    27049      $195 = $194&255;
    27050      $196 = (($195|0) / 8)&-1;
    27051      $197 = $196&255;
    27052      $10 = $197;
    27053      $198 = $10;
    27054      $199 = $198&255;
    27055      $200 = (($199|0) % 8)&-1;
    27056      $201 = (48 + ($200))|0;
    27057      $202 = $201&255;
    27058      $203 = $7;
    27059      $204 = ((($203)) + 1|0);
    27060      HEAP8[$204>>0] = $202;
    27061      $205 = $10;
    27062      $206 = $205&255;
    27063      $207 = (($206|0) / 8)&-1;
    27064      $208 = $207&255;
    27065      $10 = $208;
    27066      $209 = $10;
    27067      $210 = $209&255;
    27068      $211 = (($210|0) % 8)&-1;
    27069      $212 = (48 + ($211))|0;
    27070      $213 = $212&255;
    27071      $214 = $7;
    27072      HEAP8[$214>>0] = $213;
    27073      $215 = $7;
    27074      $216 = ((($215)) + 3|0);
    27075      $7 = $216;
    27076      continue L37;
    27077     }
    27078    }
    27079    }
    27080   } while(0);
    27081  }
    27082  $217 = $7;
    27083  HEAP8[$217>>0] = 34;
    27084  $218 = $8;
    27085  _mrb_obj_value_260($0,$218);
    27086  STACKTOP = sp;return;
    27087 }
    27088 function _mrb_str_cat($0,$1,$2,$3,$4) {
    27089  $0 = $0|0;
    27090  $1 = $1|0;
    27091  $2 = $2|0;
    27092  $3 = $3|0;
    27093  $4 = $4|0;
    27094  var $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    27095  sp = STACKTOP;
    27096  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    27097  $5 = $1;
    27098  $6 = $3;
    27099  $7 = $4;
    27100  $8 = $5;
    27101  $9 = HEAP32[$2>>2]|0;
    27102  $10 = $6;
    27103  $11 = $7;
    27104  _str_buf_cat($8,$9,$10,$11);
    27105  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    27106  STACKTOP = sp;return;
    27107 }
    27108 function _str_buf_cat($0,$1,$2,$3) {
    27109  $0 = $0|0;
    27110  $1 = $1|0;
    27111  $2 = $2|0;
    27112  $3 = $3|0;
    27113  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    27114  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    27115  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    27116  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    27117  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    27118  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
    27119  var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
    27120  var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
    27121  var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
    27122  var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
    27123  var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    27124  sp = STACKTOP;
    27125  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    27126  $4 = $0;
    27127  $5 = $1;
    27128  $6 = $2;
    27129  $7 = $3;
    27130  $10 = -1;
    27131  $12 = $7;
    27132  $13 = ($12|0)==(0);
    27133  if ($13) {
    27134   STACKTOP = sp;return;
    27135  }
    27136  $14 = $4;
    27137  $15 = $5;
    27138  _mrb_str_modify($14,$15);
    27139  $16 = $6;
    27140  $17 = $5;
    27141  $18 = HEAP32[$17>>2]|0;
    27142  $19 = $18 >>> 11;
    27143  $20 = $19 & 8;
    27144  $21 = ($20|0)!=(0);
    27145  $22 = $5;
    27146  $23 = ((($22)) + 12|0);
    27147  if ($21) {
    27148   $27 = $23;
    27149  } else {
    27150   $24 = ((($23)) + 8|0);
    27151   $25 = HEAP32[$24>>2]|0;
    27152   $27 = $25;
    27153  }
    27154  $26 = ($16>>>0)>=($27>>>0);
    27155  if ($26) {
    27156   $28 = $6;
    27157   $29 = $5;
    27158   $30 = HEAP32[$29>>2]|0;
    27159   $31 = $30 >>> 11;
    27160   $32 = $31 & 8;
    27161   $33 = ($32|0)!=(0);
    27162   $34 = $5;
    27163   $35 = ((($34)) + 12|0);
    27164   if ($33) {
    27165    $51 = $35;
    27166   } else {
    27167    $36 = ((($35)) + 8|0);
    27168    $37 = HEAP32[$36>>2]|0;
    27169    $51 = $37;
    27170   }
    27171   $38 = $5;
    27172   $39 = HEAP32[$38>>2]|0;
    27173   $40 = $39 >>> 11;
    27174   $41 = $40 & 8;
    27175   $42 = ($41|0)!=(0);
    27176   $43 = $5;
    27177   if ($42) {
    27178    $44 = HEAP32[$43>>2]|0;
    27179    $45 = $44 >>> 11;
    27180    $46 = $45 & 496;
    27181    $47 = $46 >> 4;
    27182    $52 = $47;
    27183   } else {
    27184    $48 = ((($43)) + 12|0);
    27185    $49 = HEAP32[$48>>2]|0;
    27186    $52 = $49;
    27187   }
    27188   $50 = (($51) + ($52)|0);
    27189   $53 = ($28>>>0)<=($50>>>0);
    27190   if ($53) {
    27191    $54 = $6;
    27192    $55 = $5;
    27193    $56 = HEAP32[$55>>2]|0;
    27194    $57 = $56 >>> 11;
    27195    $58 = $57 & 8;
    27196    $59 = ($58|0)!=(0);
    27197    $60 = $5;
    27198    $61 = ((($60)) + 12|0);
    27199    if ($59) {
    27200     $66 = $61;
    27201    } else {
    27202     $62 = ((($61)) + 8|0);
    27203     $63 = HEAP32[$62>>2]|0;
    27204     $66 = $63;
    27205    }
    27206    $64 = $54;
    27207    $65 = $66;
    27208    $67 = (($64) - ($65))|0;
    27209    $10 = $67;
    27210   }
    27211  }
    27212  $68 = $5;
    27213  $69 = HEAP32[$68>>2]|0;
    27214  $70 = $69 >>> 11;
    27215  $71 = $70 & 8;
    27216  $72 = ($71|0)!=(0);
    27217  if ($72) {
    27218   $8 = 11;
    27219  } else {
    27220   $73 = $5;
    27221   $74 = ((($73)) + 12|0);
    27222   $75 = ((($74)) + 4|0);
    27223   $76 = HEAP32[$75>>2]|0;
    27224   $8 = $76;
    27225  }
    27226  $77 = $5;
    27227  $78 = HEAP32[$77>>2]|0;
    27228  $79 = $78 >>> 11;
    27229  $80 = $79 & 8;
    27230  $81 = ($80|0)!=(0);
    27231  $82 = $5;
    27232  if ($81) {
    27233   $83 = HEAP32[$82>>2]|0;
    27234   $84 = $83 >>> 11;
    27235   $85 = $84 & 496;
    27236   $86 = $85 >> 4;
    27237   $92 = $86;
    27238  } else {
    27239   $87 = ((($82)) + 12|0);
    27240   $88 = HEAP32[$87>>2]|0;
    27241   $92 = $88;
    27242  }
    27243  $89 = $7;
    27244  $90 = (2147483647 - ($89))|0;
    27245  $91 = ($92|0)>=($90|0);
    27246  if ($91) {
    27247   $93 = $4;
    27248   $94 = $4;
    27249   $95 = (_mrb_class_get($94,69160)|0);
    27250   _mrb_raise($93,$95,55711);
    27251   // unreachable;
    27252  }
    27253  $96 = $5;
    27254  $97 = HEAP32[$96>>2]|0;
    27255  $98 = $97 >>> 11;
    27256  $99 = $98 & 8;
    27257  $100 = ($99|0)!=(0);
    27258  $101 = $5;
    27259  if ($100) {
    27260   $102 = HEAP32[$101>>2]|0;
    27261   $103 = $102 >>> 11;
    27262   $104 = $103 & 496;
    27263   $105 = $104 >> 4;
    27264   $110 = $105;
    27265  } else {
    27266   $106 = ((($101)) + 12|0);
    27267   $107 = HEAP32[$106>>2]|0;
    27268   $110 = $107;
    27269  }
    27270  $108 = $7;
    27271  $109 = (($110) + ($108))|0;
    27272  $9 = $109;
    27273  $111 = $8;
    27274  $112 = $9;
    27275  $113 = ($111>>>0)<=($112>>>0);
    27276  if ($113) {
    27277   while(1) {
    27278    $114 = $9;
    27279    $115 = $8;
    27280    $116 = ($114>>>0)>($115>>>0);
    27281    if (!($116)) {
    27282     break;
    27283    }
    27284    $117 = $8;
    27285    $118 = (($117) + 1)|0;
    27286    $119 = ($118>>>0)>=(1073741823);
    27287    if ($119) {
    27288     label = 31;
    27289     break;
    27290    }
    27291    $123 = $8;
    27292    $124 = (($123) + 1)|0;
    27293    $125 = $124<<1;
    27294    $8 = $125;
    27295   }
    27296   if ((label|0) == 31) {
    27297    $120 = $9;
    27298    $121 = (($120) + 4095)|0;
    27299    $122 = (($121>>>0) / 4096)&-1;
    27300    $8 = $122;
    27301   }
    27302   $126 = $4;
    27303   $127 = $5;
    27304   $128 = $8;
    27305   _resize_capa($126,$127,$128);
    27306  }
    27307  $129 = $10;
    27308  $130 = ($129|0)!=(-1);
    27309  if ($130) {
    27310   $131 = $5;
    27311   $132 = HEAP32[$131>>2]|0;
    27312   $133 = $132 >>> 11;
    27313   $134 = $133 & 8;
    27314   $135 = ($134|0)!=(0);
    27315   $136 = $5;
    27316   $137 = ((($136)) + 12|0);
    27317   if ($135) {
    27318    $142 = $137;
    27319   } else {
    27320    $138 = ((($137)) + 8|0);
    27321    $139 = HEAP32[$138>>2]|0;
    27322    $142 = $139;
    27323   }
    27324   $140 = $10;
    27325   $141 = (($142) + ($140)|0);
    27326   $6 = $141;
    27327  }
    27328  $143 = $5;
    27329  $144 = HEAP32[$143>>2]|0;
    27330  $145 = $144 >>> 11;
    27331  $146 = $145 & 8;
    27332  $147 = ($146|0)!=(0);
    27333  $148 = $5;
    27334  $149 = ((($148)) + 12|0);
    27335  if ($147) {
    27336   $165 = $149;
    27337  } else {
    27338   $150 = ((($149)) + 8|0);
    27339   $151 = HEAP32[$150>>2]|0;
    27340   $165 = $151;
    27341  }
    27342  $152 = $5;
    27343  $153 = HEAP32[$152>>2]|0;
    27344  $154 = $153 >>> 11;
    27345  $155 = $154 & 8;
    27346  $156 = ($155|0)!=(0);
    27347  $157 = $5;
    27348  if ($156) {
    27349   $158 = HEAP32[$157>>2]|0;
    27350   $159 = $158 >>> 11;
    27351   $160 = $159 & 496;
    27352   $161 = $160 >> 4;
    27353   $166 = $161;
    27354  } else {
    27355   $162 = ((($157)) + 12|0);
    27356   $163 = HEAP32[$162>>2]|0;
    27357   $166 = $163;
    27358  }
    27359  $164 = (($165) + ($166)|0);
    27360  $167 = $6;
    27361  $168 = $7;
    27362  _memcpy(($164|0),($167|0),($168|0))|0;
    27363  $169 = $5;
    27364  $170 = HEAP32[$169>>2]|0;
    27365  $171 = $170 >>> 11;
    27366  $172 = $171 & 8;
    27367  $173 = ($172|0)!=(0);
    27368  $174 = $9;
    27369  if ($173) {
    27370   $11 = $174;
    27371   $175 = $5;
    27372   $176 = HEAP32[$175>>2]|0;
    27373   $177 = $176 >>> 11;
    27374   $178 = $177 & -497;
    27375   $179 = HEAP32[$175>>2]|0;
    27376   $180 = $178 & 2097151;
    27377   $181 = $180 << 11;
    27378   $182 = $179 & 2047;
    27379   $183 = $182 | $181;
    27380   HEAP32[$175>>2] = $183;
    27381   $184 = $11;
    27382   $185 = $184 << 4;
    27383   $186 = $5;
    27384   $187 = HEAP32[$186>>2]|0;
    27385   $188 = $187 >>> 11;
    27386   $189 = $188 | $185;
    27387   $190 = HEAP32[$186>>2]|0;
    27388   $191 = $189 & 2097151;
    27389   $192 = $191 << 11;
    27390   $193 = $190 & 2047;
    27391   $194 = $193 | $192;
    27392   HEAP32[$186>>2] = $194;
    27393  } else {
    27394   $195 = $5;
    27395   $196 = ((($195)) + 12|0);
    27396   HEAP32[$196>>2] = $174;
    27397  }
    27398  $197 = $5;
    27399  $198 = HEAP32[$197>>2]|0;
    27400  $199 = $198 >>> 11;
    27401  $200 = $199 & 8;
    27402  $201 = ($200|0)!=(0);
    27403  $202 = $5;
    27404  $203 = ((($202)) + 12|0);
    27405  if ($201) {
    27406   $208 = $203;
    27407  } else {
    27408   $204 = ((($203)) + 8|0);
    27409   $205 = HEAP32[$204>>2]|0;
    27410   $208 = $205;
    27411  }
    27412  $206 = $9;
    27413  $207 = (($208) + ($206)|0);
    27414  HEAP8[$207>>0] = 0;
    27415  STACKTOP = sp;return;
    27416 }
    27417 function _mrb_str_cat_cstr($0,$1,$2,$3) {
    27418  $0 = $0|0;
    27419  $1 = $1|0;
    27420  $2 = $2|0;
    27421  $3 = $3|0;
    27422  var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    27423  sp = STACKTOP;
    27424  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    27425  $$byval_copy = sp + 8|0;
    27426  $4 = $1;
    27427  $5 = $3;
    27428  $6 = $4;
    27429  $7 = $5;
    27430  $8 = $5;
    27431  $9 = (_strlen($8)|0);
    27432  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    27433  _mrb_str_cat($0,$6,$$byval_copy,$7,$9);
    27434  STACKTOP = sp;return;
    27435 }
    27436 function _mrb_str_cat_str($0,$1,$2,$3) {
    27437  $0 = $0|0;
    27438  $1 = $1|0;
    27439  $2 = $2|0;
    27440  $3 = $3|0;
    27441  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    27442  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    27443  sp = STACKTOP;
    27444  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    27445  $$byval_copy = sp + 8|0;
    27446  $4 = $1;
    27447  $5 = $4;
    27448  $6 = HEAP32[$3>>2]|0;
    27449  $7 = HEAP32[$6>>2]|0;
    27450  $8 = $7 >>> 11;
    27451  $9 = $8 & 8;
    27452  $10 = ($9|0)!=(0);
    27453  $11 = HEAP32[$3>>2]|0;
    27454  $12 = ((($11)) + 12|0);
    27455  if ($10) {
    27456   $27 = $12;
    27457  } else {
    27458   $13 = ((($12)) + 8|0);
    27459   $14 = HEAP32[$13>>2]|0;
    27460   $27 = $14;
    27461  }
    27462  $15 = HEAP32[$3>>2]|0;
    27463  $16 = HEAP32[$15>>2]|0;
    27464  $17 = $16 >>> 11;
    27465  $18 = $17 & 8;
    27466  $19 = ($18|0)!=(0);
    27467  $20 = HEAP32[$3>>2]|0;
    27468  if ($19) {
    27469   $21 = HEAP32[$20>>2]|0;
    27470   $22 = $21 >>> 11;
    27471   $23 = $22 & 496;
    27472   $24 = $23 >> 4;
    27473   $28 = $24;
    27474  } else {
    27475   $25 = ((($20)) + 12|0);
    27476   $26 = HEAP32[$25>>2]|0;
    27477   $28 = $26;
    27478  }
    27479  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    27480  _mrb_str_cat($0,$5,$$byval_copy,$27,$28);
    27481  STACKTOP = sp;return;
    27482 }
    27483 function _mrb_str_append($0,$1,$2,$3) {
    27484  $0 = $0|0;
    27485  $1 = $1|0;
    27486  $2 = $2|0;
    27487  $3 = $3|0;
    27488  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    27489  sp = STACKTOP;
    27490  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    27491  $$byval_copy2 = sp + 32|0;
    27492  $$byval_copy1 = sp + 24|0;
    27493  $$byval_copy = sp + 16|0;
    27494  $5 = sp;
    27495  $4 = $1;
    27496  $6 = $4;
    27497  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    27498  _mrb_str_to_str($5,$6,$$byval_copy);
    27499  ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;
    27500  $7 = $4;
    27501  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    27502  ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;
    27503  _mrb_str_cat_str($0,$7,$$byval_copy1,$$byval_copy2);
    27504  STACKTOP = sp;return;
    27505 }
    27506 function _mrb_str_inspect($0,$1,$2) {
    27507  $0 = $0|0;
    27508  $1 = $1|0;
    27509  $2 = $2|0;
    27510  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
    27511  var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
    27512  var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
    27513  var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    27514  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
    27515  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    27516  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    27517  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    27518  sp = STACKTOP;
    27519  STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
    27520  $$byval_copy5 = sp + 120|0;
    27521  $$byval_copy4 = sp + 112|0;
    27522  $$byval_copy3 = sp + 104|0;
    27523  $$byval_copy2 = sp + 96|0;
    27524  $$byval_copy1 = sp + 88|0;
    27525  $$byval_copy = sp + 80|0;
    27526  $6 = sp + 130|0;
    27527  $7 = sp + 56|0;
    27528  $12 = sp + 40|0;
    27529  $13 = sp + 32|0;
    27530  $14 = sp + 24|0;
    27531  $15 = sp + 16|0;
    27532  $16 = sp + 8|0;
    27533  $17 = sp;
    27534  $3 = $1;
    27535  $18 = $3;
    27536  _mrb_str_new_static($7,$18,56213,1);
    27537  $19 = HEAP32[$2>>2]|0;
    27538  $20 = HEAP32[$19>>2]|0;
    27539  $21 = $20 >>> 11;
    27540  $22 = $21 & 8;
    27541  $23 = ($22|0)!=(0);
    27542  $24 = HEAP32[$2>>2]|0;
    27543  $25 = ((($24)) + 12|0);
    27544  if ($23) {
    27545   $28 = $25;
    27546  } else {
    27547   $26 = ((($25)) + 8|0);
    27548   $27 = HEAP32[$26>>2]|0;
    27549   $28 = $27;
    27550  }
    27551  $4 = $28;
    27552  $29 = HEAP32[$2>>2]|0;
    27553  $30 = HEAP32[$29>>2]|0;
    27554  $31 = $30 >>> 11;
    27555  $32 = $31 & 8;
    27556  $33 = ($32|0)!=(0);
    27557  $34 = HEAP32[$2>>2]|0;
    27558  $35 = ((($34)) + 12|0);
    27559  if ($33) {
    27560   $51 = $35;
    27561  } else {
    27562   $36 = ((($35)) + 8|0);
    27563   $37 = HEAP32[$36>>2]|0;
    27564   $51 = $37;
    27565  }
    27566  $38 = HEAP32[$2>>2]|0;
    27567  $39 = HEAP32[$38>>2]|0;
    27568  $40 = $39 >>> 11;
    27569  $41 = $40 & 8;
    27570  $42 = ($41|0)!=(0);
    27571  $43 = HEAP32[$2>>2]|0;
    27572  if ($42) {
    27573   $44 = HEAP32[$43>>2]|0;
    27574   $45 = $44 >>> 11;
    27575   $46 = $45 & 496;
    27576   $47 = $46 >> 4;
    27577   $52 = $47;
    27578  } else {
    27579   $48 = ((($43)) + 12|0);
    27580   $49 = HEAP32[$48>>2]|0;
    27581   $52 = $49;
    27582  }
    27583  $50 = (($51) + ($52)|0);
    27584  $5 = $50;
    27585  while(1) {
    27586   $53 = $4;
    27587   $54 = $5;
    27588   $55 = ($53>>>0)<($54>>>0);
    27589   if (!($55)) {
    27590    break;
    27591   }
    27592   $56 = $4;
    27593   $57 = $5;
    27594   $58 = (_utf8len($56,$57)|0);
    27595   $10 = $58;
    27596   $59 = $10;
    27597   $60 = ($59|0)>(1);
    27598   L16: do {
    27599    if ($60) {
    27600     $11 = 0;
    27601     while(1) {
    27602      $61 = $11;
    27603      $62 = $10;
    27604      $63 = ($61|0)<($62|0);
    27605      if (!($63)) {
    27606       break;
    27607      }
    27608      $64 = $4;
    27609      $65 = $11;
    27610      $66 = (($64) + ($65)|0);
    27611      $67 = HEAP8[$66>>0]|0;
    27612      $68 = $11;
    27613      $69 = (($6) + ($68)|0);
    27614      HEAP8[$69>>0] = $67;
    27615      $70 = $11;
    27616      $71 = (($70) + 1)|0;
    27617      $11 = $71;
    27618     }
    27619     $72 = $3;
    27620     $73 = $10;
    27621     ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    27622     _mrb_str_cat($12,$72,$$byval_copy,$6,$73);
    27623     $74 = $10;
    27624     $75 = (($74) - 1)|0;
    27625     $76 = $4;
    27626     $77 = (($76) + ($75)|0);
    27627     $4 = $77;
    27628    } else {
    27629     $78 = $4;
    27630     $79 = HEAP8[$78>>0]|0;
    27631     $8 = $79;
    27632     $80 = $8;
    27633     $81 = $80&255;
    27634     $82 = ($81|0)==(34);
    27635     do {
    27636      if (!($82)) {
    27637       $83 = $8;
    27638       $84 = $83&255;
    27639       $85 = ($84|0)==(92);
    27640       if (!($85)) {
    27641        $86 = $8;
    27642        $87 = $86&255;
    27643        $88 = ($87|0)==(35);
    27644        if ($88) {
    27645         $89 = $4;
    27646         $90 = $5;
    27647         $91 = ($89>>>0)<($90>>>0);
    27648         if ($91) {
    27649          $92 = $4;
    27650          $93 = HEAP8[$92>>0]|0;
    27651          $94 = $93 << 24 >> 24;
    27652          $95 = ($94|0)==(36);
    27653          if ($95) {
    27654           break;
    27655          }
    27656          $96 = $4;
    27657          $97 = HEAP8[$96>>0]|0;
    27658          $98 = $97 << 24 >> 24;
    27659          $99 = ($98|0)==(64);
    27660          if ($99) {
    27661           break;
    27662          }
    27663          $100 = $4;
    27664          $101 = HEAP8[$100>>0]|0;
    27665          $102 = $101 << 24 >> 24;
    27666          $103 = ($102|0)==(123);
    27667          if ($103) {
    27668           break;
    27669          }
    27670         }
    27671        }
    27672        $107 = $8;
    27673        $108 = $107&255;
    27674        $109 = (($108) - 32)|0;
    27675        $110 = ($109>>>0)<(95);
    27676        $111 = $8;
    27677        if ($110) {
    27678         HEAP8[$6>>0] = $111;
    27679         $112 = $3;
    27680         ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0;
    27681         _mrb_str_cat($14,$112,$$byval_copy2,$6,1);
    27682         break L16;
    27683        }
    27684        $113 = $111&255;
    27685        switch ($113|0) {
    27686        case 10:  {
    27687         $9 = 110;
    27688         break;
    27689        }
    27690        case 13:  {
    27691         $9 = 114;
    27692         break;
    27693        }
    27694        case 9:  {
    27695         $9 = 116;
    27696         break;
    27697        }
    27698        case 12:  {
    27699         $9 = 102;
    27700         break;
    27701        }
    27702        case 11:  {
    27703         $9 = 118;
    27704         break;
    27705        }
    27706        case 8:  {
    27707         $9 = 98;
    27708         break;
    27709        }
    27710        case 7:  {
    27711         $9 = 97;
    27712         break;
    27713        }
    27714        case 27:  {
    27715         $9 = 101;
    27716         break;
    27717        }
    27718        default: {
    27719         $9 = 0;
    27720        }
    27721        }
    27722        $114 = $9;
    27723        $115 = ($114<<24>>24)!=(0);
    27724        HEAP8[$6>>0] = 92;
    27725        if ($115) {
    27726         $116 = $9;
    27727         $117 = ((($6)) + 1|0);
    27728         HEAP8[$117>>0] = $116;
    27729         $118 = $3;
    27730         ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
    27731         _mrb_str_cat($15,$118,$$byval_copy3,$6,2);
    27732         break L16;
    27733        } else {
    27734         $119 = $8;
    27735         $120 = $119&255;
    27736         $121 = (($120|0) % 8)&-1;
    27737         $122 = (48 + ($121))|0;
    27738         $123 = $122&255;
    27739         $124 = ((($6)) + 3|0);
    27740         HEAP8[$124>>0] = $123;
    27741         $125 = $8;
    27742         $126 = $125&255;
    27743         $127 = (($126|0) / 8)&-1;
    27744         $128 = $127&255;
    27745         $8 = $128;
    27746         $129 = $8;
    27747         $130 = $129&255;
    27748         $131 = (($130|0) % 8)&-1;
    27749         $132 = (48 + ($131))|0;
    27750         $133 = $132&255;
    27751         $134 = ((($6)) + 2|0);
    27752         HEAP8[$134>>0] = $133;
    27753         $135 = $8;
    27754         $136 = $135&255;
    27755         $137 = (($136|0) / 8)&-1;
    27756         $138 = $137&255;
    27757         $8 = $138;
    27758         $139 = $8;
    27759         $140 = $139&255;
    27760         $141 = (($140|0) % 8)&-1;
    27761         $142 = (48 + ($141))|0;
    27762         $143 = $142&255;
    27763         $144 = ((($6)) + 1|0);
    27764         HEAP8[$144>>0] = $143;
    27765         $145 = $3;
    27766         ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0;
    27767         _mrb_str_cat($16,$145,$$byval_copy4,$6,4);
    27768         break L16;
    27769        }
    27770       }
    27771      }
    27772     } while(0);
    27773     HEAP8[$6>>0] = 92;
    27774     $104 = $8;
    27775     $105 = ((($6)) + 1|0);
    27776     HEAP8[$105>>0] = $104;
    27777     $106 = $3;
    27778     ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
    27779     _mrb_str_cat($13,$106,$$byval_copy1,$6,2);
    27780    }
    27781   } while(0);
    27782   $146 = $4;
    27783   $147 = ((($146)) + 1|0);
    27784   $4 = $147;
    27785  }
    27786  $148 = $3;
    27787  ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
    27788  _mrb_str_cat($17,$148,$$byval_copy5,56213,1);
    27789  ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    27790  STACKTOP = sp;return;
    27791 }
    27792 function _mrb_init_string($0) {
    27793  $0 = $0|0;
    27794  var $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    27795  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
    27796  var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
    27797  var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
    27798  var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
    27799  var label = 0, sp = 0;
    27800  sp = STACKTOP;
    27801  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    27802  $1 = $0;
    27803  $3 = $1;
    27804  $4 = $1;
    27805  $5 = ((($4)) + 32|0);
    27806  $6 = HEAP32[$5>>2]|0;
    27807  $7 = (_mrb_define_class($3,65324,$6)|0);
    27808  $2 = $7;
    27809  $8 = $1;
    27810  $9 = ((($8)) + 48|0);
    27811  HEAP32[$9>>2] = $7;
    27812  $10 = $2;
    27813  $11 = HEAP32[$10>>2]|0;
    27814  $12 = $11 >>> 11;
    27815  $13 = $12 & -256;
    27816  $14 = $13 | 16;
    27817  $15 = $2;
    27818  $16 = HEAP32[$15>>2]|0;
    27819  $17 = $14 & 2097151;
    27820  $18 = $17 << 11;
    27821  $19 = $16 & 2047;
    27822  $20 = $19 | $18;
    27823  HEAP32[$15>>2] = $20;
    27824  $21 = $1;
    27825  $22 = $2;
    27826  _mrb_define_method($21,$22,56215,84,0);
    27827  $23 = $1;
    27828  $24 = $2;
    27829  _mrb_define_method($23,$24,69156,85,262144);
    27830  $25 = $1;
    27831  $26 = $2;
    27832  _mrb_define_method($25,$26,69201,86,262144);
    27833  $27 = $1;
    27834  $28 = $2;
    27835  _mrb_define_method($27,$28,64614,87,262144);
    27836  $29 = $1;
    27837  $30 = $2;
    27838  _mrb_define_method($29,$30,68856,88,262144);
    27839  $31 = $1;
    27840  $32 = $2;
    27841  _mrb_define_method($31,$32,69083,89,4096);
    27842  $33 = $1;
    27843  $34 = $2;
    27844  _mrb_define_method($33,$34,56224,90,0);
    27845  $35 = $1;
    27846  $36 = $2;
    27847  _mrb_define_method($35,$36,56235,91,0);
    27848  $37 = $1;
    27849  $38 = $2;
    27850  _mrb_define_method($37,$38,56247,92,4096);
    27851  $39 = $1;
    27852  $40 = $2;
    27853  _mrb_define_method($39,$40,56253,93,4096);
    27854  $41 = $1;
    27855  $42 = $2;
    27856  _mrb_define_method($41,$42,56260,94,262144);
    27857  $43 = $1;
    27858  $44 = $2;
    27859  _mrb_define_method($43,$44,56265,95,262144);
    27860  $45 = $1;
    27861  $46 = $2;
    27862  _mrb_define_method($45,$46,56271,96,0);
    27863  $47 = $1;
    27864  $48 = $2;
    27865  _mrb_define_method($47,$48,56280,97,0);
    27866  $49 = $1;
    27867  $50 = $2;
    27868  _mrb_define_method($49,$50,64646,98,0);
    27869  $51 = $1;
    27870  $52 = $2;
    27871  _mrb_define_method($51,$52,69289,99,262144);
    27872  $53 = $1;
    27873  $54 = $2;
    27874  _mrb_define_method($53,$54,68413,100,0);
    27875  $55 = $1;
    27876  $56 = $2;
    27877  _mrb_define_method($55,$56,69243,101,262144);
    27878  $57 = $1;
    27879  $58 = $2;
    27880  _mrb_define_method($57,$58,64653,102,4096);
    27881  $59 = $1;
    27882  $60 = $2;
    27883  _mrb_define_method($59,$60,69252,103,262144);
    27884  $61 = $1;
    27885  $62 = $2;
    27886  _mrb_define_method($61,$62,69294,104,262144);
    27887  $63 = $1;
    27888  $64 = $2;
    27889  _mrb_define_method($63,$64,69712,105,0);
    27890  $65 = $1;
    27891  $66 = $2;
    27892  _mrb_define_method($65,$66,64664,106,0);
    27893  $67 = $1;
    27894  $68 = $2;
    27895  _mrb_define_method($67,$68,64680,104,262144);
    27896  $69 = $1;
    27897  $70 = $2;
    27898  _mrb_define_method($69,$70,64688,107,0);
    27899  $71 = $1;
    27900  $72 = $2;
    27901  _mrb_define_method($71,$72,64696,108,0);
    27902  $73 = $1;
    27903  $74 = $2;
    27904  _mrb_define_method($73,$74,64705,109,4096);
    27905  $75 = $1;
    27906  $76 = $2;
    27907  _mrb_define_method($75,$76,64718,106,0);
    27908  $77 = $1;
    27909  $78 = $2;
    27910  _mrb_define_method($77,$78,64723,89,4096);
    27911  $79 = $1;
    27912  $80 = $2;
    27913  _mrb_define_method($79,$80,56290,110,4096);
    27914  $81 = $1;
    27915  $82 = $2;
    27916  _mrb_define_method($81,$82,56296,111,0);
    27917  $83 = $1;
    27918  $84 = $2;
    27919  _mrb_define_method($83,$84,56301,112,4096);
    27920  $85 = $1;
    27921  $86 = $2;
    27922  _mrb_define_method($85,$86,69276,113,0);
    27923  $87 = $1;
    27924  $88 = $2;
    27925  _mrb_define_method($87,$88,65331,113,0);
    27926  $89 = $1;
    27927  $90 = $2;
    27928  _mrb_define_method($89,$90,56499,105,0);
    27929  $91 = $1;
    27930  $92 = $2;
    27931  _mrb_define_method($91,$92,56306,114,0);
    27932  $93 = $1;
    27933  $94 = $2;
    27934  _mrb_define_method($93,$94,56313,115,0);
    27935  $95 = $1;
    27936  $96 = $2;
    27937  _mrb_define_method($95,$96,69281,116,0);
    27938  $97 = $1;
    27939  $98 = $2;
    27940  _mrb_define_method($97,$98,56321,117,0);
    27941  $99 = $1;
    27942  $100 = $2;
    27943  _mrb_define_method($99,$100,56327,118,0);
    27944  STACKTOP = sp;return;
    27945 }
    27946 function _mrb_str_bytesize($0,$1,$2) {
    27947  $0 = $0|0;
    27948  $1 = $1|0;
    27949  $2 = $2|0;
    27950  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    27951  sp = STACKTOP;
    27952  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    27953  $3 = $1;
    27954  $5 = HEAP32[$2>>2]|0;
    27955  $6 = HEAP32[$5>>2]|0;
    27956  $7 = $6 >>> 11;
    27957  $8 = $7 & 8;
    27958  $9 = ($8|0)!=(0);
    27959  $10 = HEAP32[$2>>2]|0;
    27960  if ($9) {
    27961   $11 = HEAP32[$10>>2]|0;
    27962   $12 = $11 >>> 11;
    27963   $13 = $12 & 496;
    27964   $14 = $13 >> 4;
    27965   $17 = $14;
    27966  } else {
    27967   $15 = ((($10)) + 12|0);
    27968   $16 = HEAP32[$15>>2]|0;
    27969   $17 = $16;
    27970  }
    27971  $4 = $17;
    27972  $18 = $4;
    27973  _mrb_fixnum_value_290($0,$18);
    27974  STACKTOP = sp;return;
    27975 }
    27976 function _mrb_str_cmp_m($0,$1,$2) {
    27977  $0 = $0|0;
    27978  $1 = $1|0;
    27979  $2 = $2|0;
    27980  var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    27981  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
    27982  var $vararg_buffer4 = 0, label = 0, sp = 0;
    27983  sp = STACKTOP;
    27984  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    27985  $$byval_copy11 = sp + 104|0;
    27986  $$byval_copy10 = sp + 96|0;
    27987  $$byval_copy9 = sp + 88|0;
    27988  $$byval_copy8 = sp + 80|0;
    27989  $$byval_copy7 = sp + 72|0;
    27990  $$byval_copy = sp + 64|0;
    27991  $vararg_buffer4 = sp + 16|0;
    27992  $vararg_buffer1 = sp + 8|0;
    27993  $vararg_buffer = sp;
    27994  $4 = sp + 48|0;
    27995  $6 = sp + 32|0;
    27996  $7 = sp + 24|0;
    27997  $3 = $1;
    27998  $8 = $3;
    27999  HEAP32[$vararg_buffer>>2] = $4;
    28000  (_mrb_get_args($8,69199,$vararg_buffer)|0);
    28001  $9 = ((($4)) + 4|0);
    28002  $10 = HEAP32[$9>>2]|0;
    28003  $11 = ($10|0)==(16);
    28004  $12 = $3;
    28005  do {
    28006   if ($11) {
    28007    ;HEAP32[$$byval_copy10>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$2+4>>2]|0;
    28008    ;HEAP32[$$byval_copy11>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$4+4>>2]|0;
    28009    $33 = (_mrb_str_cmp($12,$$byval_copy10,$$byval_copy11)|0);
    28010    $5 = $33;
    28011   } else {
    28012    $13 = $3;
    28013    $14 = (_mrb_intern_static($13,69276,4)|0);
    28014    ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    28015    $15 = (_mrb_respond_to($12,$$byval_copy,$14)|0);
    28016    $16 = ($15<<24>>24)!=(0);
    28017    if (!($16)) {
    28018     _mrb_nil_value_283($0);
    28019     STACKTOP = sp;return;
    28020    }
    28021    $17 = $3;
    28022    $18 = $3;
    28023    $19 = (_mrb_intern_static($18,69156,3)|0);
    28024    ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0;
    28025    $20 = (_mrb_respond_to($17,$$byval_copy7,$19)|0);
    28026    $21 = ($20<<24>>24)!=(0);
    28027    if (!($21)) {
    28028     _mrb_nil_value_283($0);
    28029     STACKTOP = sp;return;
    28030    }
    28031    $22 = $3;
    28032    ;HEAP8[$vararg_buffer1>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$2+7>>0]|0;
    28033    ;HEAP32[$$byval_copy8>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$4+4>>2]|0;
    28034    _mrb_funcall($6,$22,$$byval_copy8,69156,1,$vararg_buffer1);
    28035    $23 = ((($6)) + 4|0);
    28036    $24 = HEAP32[$23>>2]|0;
    28037    $25 = ($24|0)==(0);
    28038    if ($25) {
    28039     $26 = HEAP32[$6>>2]|0;
    28040     $27 = ($26|0)!=(0);
    28041     if (!($27)) {
    28042      _mrb_nil_value_283($0);
    28043      STACKTOP = sp;return;
    28044     }
    28045    }
    28046    $28 = HEAP32[$6>>2]|0;
    28047    $29 = ($28|0)!=(0);
    28048    if ($29) {
    28049     $31 = HEAP32[$6>>2]|0;
    28050     $32 = (0 - ($31))|0;
    28051     $5 = $32;
    28052     break;
    28053    }
    28054    $30 = $3;
    28055    _mrb_fixnum_value_290($7,0);
    28056    ;HEAP8[$vararg_buffer4>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer4+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer4+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer4+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer4+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer4+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer4+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer4+7>>0]=HEAP8[$6+7>>0]|0;
    28057    ;HEAP32[$$byval_copy9>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$7+4>>2]|0;
    28058    _mrb_funcall($0,$30,$$byval_copy9,69660,1,$vararg_buffer4);
    28059    STACKTOP = sp;return;
    28060   }
    28061  } while(0);
    28062  $34 = $5;
    28063  _mrb_fixnum_value_290($0,$34);
    28064  STACKTOP = sp;return;
    28065 }
    28066 function _mrb_str_equal_m($0,$1,$2) {
    28067  $0 = $0|0;
    28068  $1 = $1|0;
    28069  $2 = $2|0;
    28070  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    28071  sp = STACKTOP;
    28072  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    28073  $$byval_copy1 = sp + 32|0;
    28074  $$byval_copy = sp + 24|0;
    28075  $vararg_buffer = sp;
    28076  $4 = sp + 8|0;
    28077  $3 = $1;
    28078  $5 = $3;
    28079  HEAP32[$vararg_buffer>>2] = $4;
    28080  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    28081  $6 = $3;
    28082  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    28083  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    28084  $7 = (_mrb_str_equal($6,$$byval_copy,$$byval_copy1)|0);
    28085  _mrb_bool_value_340($0,$7);
    28086  STACKTOP = sp;return;
    28087 }
    28088 function _mrb_str_plus_m($0,$1,$2) {
    28089  $0 = $0|0;
    28090  $1 = $1|0;
    28091  $2 = $2|0;
    28092  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    28093  sp = STACKTOP;
    28094  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    28095  $$byval_copy1 = sp + 32|0;
    28096  $$byval_copy = sp + 24|0;
    28097  $vararg_buffer = sp;
    28098  $4 = sp + 8|0;
    28099  $3 = $1;
    28100  $5 = $3;
    28101  HEAP32[$vararg_buffer>>2] = $4;
    28102  (_mrb_get_args($5,56362,$vararg_buffer)|0);
    28103  $6 = $3;
    28104  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    28105  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    28106  _mrb_str_plus($0,$6,$$byval_copy,$$byval_copy1);
    28107  STACKTOP = sp;return;
    28108 }
    28109 function _mrb_str_times($0,$1,$2) {
    28110  $0 = $0|0;
    28111  $1 = $1|0;
    28112  $2 = $2|0;
    28113  var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    28114  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    28115  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    28116  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
    28117  var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
    28118  var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
    28119  var $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    28120  sp = STACKTOP;
    28121  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    28122  $$byval_copy = sp + 32|0;
    28123  $vararg_buffer = sp;
    28124  $6 = sp + 12|0;
    28125  $3 = $1;
    28126  $9 = $3;
    28127  HEAP32[$vararg_buffer>>2] = $6;
    28128  (_mrb_get_args($9,64797,$vararg_buffer)|0);
    28129  $10 = HEAP32[$6>>2]|0;
    28130  $11 = ($10|0)<(0);
    28131  if ($11) {
    28132   $12 = $3;
    28133   $13 = $3;
    28134   $14 = (_mrb_class_get($13,69160)|0);
    28135   _mrb_raise($12,$14,64813);
    28136   // unreachable;
    28137  }
    28138  $15 = HEAP32[$6>>2]|0;
    28139  $16 = ($15|0)!=(0);
    28140  if ($16) {
    28141   $17 = HEAP32[$6>>2]|0;
    28142   $18 = (2147483647 / ($17|0))&-1;
    28143   $19 = HEAP32[$2>>2]|0;
    28144   $20 = HEAP32[$19>>2]|0;
    28145   $21 = $20 >>> 11;
    28146   $22 = $21 & 8;
    28147   $23 = ($22|0)!=(0);
    28148   $24 = HEAP32[$2>>2]|0;
    28149   if ($23) {
    28150    $25 = HEAP32[$24>>2]|0;
    28151    $26 = $25 >>> 11;
    28152    $27 = $26 & 496;
    28153    $28 = $27 >> 4;
    28154    $32 = $28;
    28155   } else {
    28156    $29 = ((($24)) + 12|0);
    28157    $30 = HEAP32[$29>>2]|0;
    28158    $32 = $30;
    28159   }
    28160   $31 = ($18|0)<($32|0);
    28161   if ($31) {
    28162    $33 = $3;
    28163    $34 = $3;
    28164    $35 = (_mrb_class_get($34,69160)|0);
    28165    _mrb_raise($33,$35,56432);
    28166    // unreachable;
    28167   }
    28168  }
    28169  $36 = HEAP32[$2>>2]|0;
    28170  $37 = HEAP32[$36>>2]|0;
    28171  $38 = $37 >>> 11;
    28172  $39 = $38 & 8;
    28173  $40 = ($39|0)!=(0);
    28174  $41 = HEAP32[$2>>2]|0;
    28175  if ($40) {
    28176   $42 = HEAP32[$41>>2]|0;
    28177   $43 = $42 >>> 11;
    28178   $44 = $43 & 496;
    28179   $45 = $44 >> 4;
    28180   $50 = $45;
    28181  } else {
    28182   $46 = ((($41)) + 12|0);
    28183   $47 = HEAP32[$46>>2]|0;
    28184   $50 = $47;
    28185  }
    28186  $48 = HEAP32[$6>>2]|0;
    28187  $49 = Math_imul($50, $48)|0;
    28188  $5 = $49;
    28189  $51 = $3;
    28190  $52 = $5;
    28191  $53 = (_str_new($51,0,$52)|0);
    28192  $7 = $53;
    28193  $54 = $3;
    28194  $55 = $7;
    28195  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    28196  _str_with_class($54,$55,$$byval_copy);
    28197  $56 = $7;
    28198  $57 = HEAP32[$56>>2]|0;
    28199  $58 = $57 >>> 11;
    28200  $59 = $58 & 8;
    28201  $60 = ($59|0)!=(0);
    28202  $61 = $7;
    28203  $62 = ((($61)) + 12|0);
    28204  if ($60) {
    28205   $65 = $62;
    28206  } else {
    28207   $63 = ((($62)) + 8|0);
    28208   $64 = HEAP32[$63>>2]|0;
    28209   $65 = $64;
    28210  }
    28211  $8 = $65;
    28212  $66 = $5;
    28213  $67 = ($66|0)>(0);
    28214  if ($67) {
    28215   $68 = HEAP32[$2>>2]|0;
    28216   $69 = HEAP32[$68>>2]|0;
    28217   $70 = $69 >>> 11;
    28218   $71 = $70 & 8;
    28219   $72 = ($71|0)!=(0);
    28220   $73 = HEAP32[$2>>2]|0;
    28221   if ($72) {
    28222    $74 = HEAP32[$73>>2]|0;
    28223    $75 = $74 >>> 11;
    28224    $76 = $75 & 496;
    28225    $77 = $76 >> 4;
    28226    $80 = $77;
    28227   } else {
    28228    $78 = ((($73)) + 12|0);
    28229    $79 = HEAP32[$78>>2]|0;
    28230    $80 = $79;
    28231   }
    28232   $4 = $80;
    28233   $81 = $8;
    28234   $82 = HEAP32[$2>>2]|0;
    28235   $83 = HEAP32[$82>>2]|0;
    28236   $84 = $83 >>> 11;
    28237   $85 = $84 & 8;
    28238   $86 = ($85|0)!=(0);
    28239   $87 = HEAP32[$2>>2]|0;
    28240   $88 = ((($87)) + 12|0);
    28241   if ($86) {
    28242    $92 = $88;
    28243   } else {
    28244    $89 = ((($88)) + 8|0);
    28245    $90 = HEAP32[$89>>2]|0;
    28246    $92 = $90;
    28247   }
    28248   $91 = $4;
    28249   _memcpy(($81|0),($92|0),($91|0))|0;
    28250   while(1) {
    28251    $93 = $4;
    28252    $94 = $5;
    28253    $95 = (($94|0) / 2)&-1;
    28254    $96 = ($93|0)<=($95|0);
    28255    $97 = $8;
    28256    $98 = $4;
    28257    $99 = (($97) + ($98)|0);
    28258    $100 = $8;
    28259    if (!($96)) {
    28260     break;
    28261    }
    28262    $101 = $4;
    28263    _memcpy(($99|0),($100|0),($101|0))|0;
    28264    $102 = $4;
    28265    $103 = $102<<1;
    28266    $4 = $103;
    28267   }
    28268   $104 = $5;
    28269   $105 = $4;
    28270   $106 = (($104) - ($105))|0;
    28271   _memcpy(($99|0),($100|0),($106|0))|0;
    28272  }
    28273  $107 = $8;
    28274  $108 = $7;
    28275  $109 = HEAP32[$108>>2]|0;
    28276  $110 = $109 >>> 11;
    28277  $111 = $110 & 8;
    28278  $112 = ($111|0)!=(0);
    28279  $113 = $7;
    28280  if ($112) {
    28281   $114 = HEAP32[$113>>2]|0;
    28282   $115 = $114 >>> 11;
    28283   $116 = $115 & 496;
    28284   $117 = $116 >> 4;
    28285   $121 = $117;
    28286   $120 = (($107) + ($121)|0);
    28287   HEAP8[$120>>0] = 0;
    28288   $122 = $7;
    28289   _mrb_obj_value_260($0,$122);
    28290   STACKTOP = sp;return;
    28291  } else {
    28292   $118 = ((($113)) + 12|0);
    28293   $119 = HEAP32[$118>>2]|0;
    28294   $121 = $119;
    28295   $120 = (($107) + ($121)|0);
    28296   HEAP8[$120>>0] = 0;
    28297   $122 = $7;
    28298   _mrb_obj_value_260($0,$122);
    28299   STACKTOP = sp;return;
    28300  }
    28301 }
    28302 function _mrb_str_aref_m($0,$1,$2) {
    28303  $0 = $0|0;
    28304  $1 = $1|0;
    28305  $2 = $2|0;
    28306  var $$byval_copy = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    28307  var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    28308  sp = STACKTOP;
    28309  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    28310  $$byval_copy7 = sp + 80|0;
    28311  $$byval_copy6 = sp + 72|0;
    28312  $$byval_copy5 = sp + 64|0;
    28313  $$byval_copy = sp + 56|0;
    28314  $vararg_buffer2 = sp + 8|0;
    28315  $vararg_buffer = sp;
    28316  $4 = sp + 40|0;
    28317  $5 = sp + 32|0;
    28318  $7 = sp + 16|0;
    28319  $3 = $1;
    28320  $8 = $3;
    28321  HEAP32[$vararg_buffer>>2] = $4;
    28322  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    28323  HEAP32[$vararg_ptr1>>2] = $5;
    28324  $9 = (_mrb_get_args($8,56367,$vararg_buffer)|0);
    28325  $6 = $9;
    28326  $10 = $6;
    28327  $11 = ($10|0)==(2);
    28328  if ($11) {
    28329   $12 = $3;
    28330   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    28331   _mrb_regexp_check($12,$$byval_copy);
    28332   $13 = $3;
    28333   $14 = HEAP32[$4>>2]|0;
    28334   $15 = HEAP32[$5>>2]|0;
    28335   ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    28336   _str_substr($0,$13,$$byval_copy5,$14,$15);
    28337   STACKTOP = sp;return;
    28338  }
    28339  $16 = $6;
    28340  $17 = ($16|0)!=(1);
    28341  $18 = $3;
    28342  if ($17) {
    28343   $19 = $3;
    28344   $20 = (_mrb_class_get($19,69160)|0);
    28345   $21 = $6;
    28346   _mrb_fixnum_value_290($7,$21);
    28347   ;HEAP8[$vararg_buffer2>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$7+7>>0]|0;
    28348   _mrb_raisef($18,$20,56371,$vararg_buffer2);
    28349   // unreachable;
    28350  }
    28351  ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0;
    28352  ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0;
    28353  _mrb_str_aref($0,$18,$$byval_copy6,$$byval_copy7);
    28354  STACKTOP = sp;return;
    28355 }
    28356 function _mrb_str_capitalize($0,$1,$2) {
    28357  $0 = $0|0;
    28358  $1 = $1|0;
    28359  $2 = $2|0;
    28360  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    28361  sp = STACKTOP;
    28362  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    28363  $$byval_copy1 = sp + 40|0;
    28364  $$byval_copy = sp + 32|0;
    28365  $4 = sp + 16|0;
    28366  $5 = sp + 8|0;
    28367  $6 = sp;
    28368  $3 = $1;
    28369  $7 = $3;
    28370  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    28371  _mrb_str_dup($5,$7,$$byval_copy);
    28372  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    28373  $8 = $3;
    28374  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    28375  _mrb_str_capitalize_bang($6,$8,$$byval_copy1);
    28376  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    28377  STACKTOP = sp;return;
    28378 }
    28379 function _mrb_str_capitalize_bang($0,$1,$2) {
    28380  $0 = $0|0;
    28381  $1 = $1|0;
    28382  $2 = $2|0;
    28383  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
    28384  var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    28385  var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
    28386  var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
    28387  var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
    28388  var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    28389  sp = STACKTOP;
    28390  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    28391  $3 = $1;
    28392  $6 = 0;
    28393  $8 = HEAP32[$2>>2]|0;
    28394  $7 = $8;
    28395  $9 = $3;
    28396  $10 = $7;
    28397  _mrb_str_modify($9,$10);
    28398  $11 = $7;
    28399  $12 = HEAP32[$11>>2]|0;
    28400  $13 = $12 >>> 11;
    28401  $14 = $13 & 8;
    28402  $15 = ($14|0)!=(0);
    28403  $16 = $7;
    28404  if ($15) {
    28405   $17 = HEAP32[$16>>2]|0;
    28406   $18 = $17 >>> 11;
    28407   $19 = $18 & 496;
    28408   $20 = $19 >> 4;
    28409   $24 = $20;
    28410  } else {
    28411   $21 = ((($16)) + 12|0);
    28412   $22 = HEAP32[$21>>2]|0;
    28413   $24 = $22;
    28414  }
    28415  $23 = ($24|0)==(0);
    28416  do {
    28417   if (!($23)) {
    28418    $25 = $7;
    28419    $26 = HEAP32[$25>>2]|0;
    28420    $27 = $26 >>> 11;
    28421    $28 = $27 & 8;
    28422    $29 = ($28|0)!=(0);
    28423    $30 = $7;
    28424    $31 = ((($30)) + 12|0);
    28425    if ($29) {
    28426     $32 = ($31|0)!=(0|0);
    28427     if (!($32)) {
    28428      break;
    28429     }
    28430    } else {
    28431     $33 = ((($31)) + 8|0);
    28432     $34 = HEAP32[$33>>2]|0;
    28433     $35 = ($34|0)!=(0|0);
    28434     if (!($35)) {
    28435      break;
    28436     }
    28437    }
    28438    $36 = $7;
    28439    $37 = HEAP32[$36>>2]|0;
    28440    $38 = $37 >>> 11;
    28441    $39 = $38 & 8;
    28442    $40 = ($39|0)!=(0);
    28443    $41 = $7;
    28444    $42 = ((($41)) + 12|0);
    28445    if ($40) {
    28446     $45 = $42;
    28447    } else {
    28448     $43 = ((($42)) + 8|0);
    28449     $44 = HEAP32[$43>>2]|0;
    28450     $45 = $44;
    28451    }
    28452    $4 = $45;
    28453    $46 = $7;
    28454    $47 = HEAP32[$46>>2]|0;
    28455    $48 = $47 >>> 11;
    28456    $49 = $48 & 8;
    28457    $50 = ($49|0)!=(0);
    28458    $51 = $7;
    28459    $52 = ((($51)) + 12|0);
    28460    if ($50) {
    28461     $68 = $52;
    28462    } else {
    28463     $53 = ((($52)) + 8|0);
    28464     $54 = HEAP32[$53>>2]|0;
    28465     $68 = $54;
    28466    }
    28467    $55 = $7;
    28468    $56 = HEAP32[$55>>2]|0;
    28469    $57 = $56 >>> 11;
    28470    $58 = $57 & 8;
    28471    $59 = ($58|0)!=(0);
    28472    $60 = $7;
    28473    if ($59) {
    28474     $61 = HEAP32[$60>>2]|0;
    28475     $62 = $61 >>> 11;
    28476     $63 = $62 & 496;
    28477     $64 = $63 >> 4;
    28478     $69 = $64;
    28479    } else {
    28480     $65 = ((($60)) + 12|0);
    28481     $66 = HEAP32[$65>>2]|0;
    28482     $69 = $66;
    28483    }
    28484    $67 = (($68) + ($69)|0);
    28485    $5 = $67;
    28486    $70 = $4;
    28487    $71 = HEAP8[$70>>0]|0;
    28488    $72 = $71 << 24 >> 24;
    28489    $73 = (($72) - 97)|0;
    28490    $74 = ($73>>>0)<(26);
    28491    if ($74) {
    28492     $75 = $4;
    28493     $76 = HEAP8[$75>>0]|0;
    28494     $77 = $76 << 24 >> 24;
    28495     $78 = (($77) - 97)|0;
    28496     $79 = ($78>>>0)<(26);
    28497     $80 = $4;
    28498     $81 = HEAP8[$80>>0]|0;
    28499     $82 = $81 << 24 >> 24;
    28500     $83 = $82 & 95;
    28501     $84 = $79 ? $83 : $82;
    28502     $85 = $84&255;
    28503     $86 = $4;
    28504     HEAP8[$86>>0] = $85;
    28505     $6 = 1;
    28506    }
    28507    while(1) {
    28508     $87 = $4;
    28509     $88 = ((($87)) + 1|0);
    28510     $4 = $88;
    28511     $89 = $5;
    28512     $90 = ($88>>>0)<($89>>>0);
    28513     if (!($90)) {
    28514      break;
    28515     }
    28516     $91 = $4;
    28517     $92 = HEAP8[$91>>0]|0;
    28518     $93 = $92 << 24 >> 24;
    28519     $94 = (($93) - 65)|0;
    28520     $95 = ($94>>>0)<(26);
    28521     if (!($95)) {
    28522      continue;
    28523     }
    28524     $96 = $4;
    28525     $97 = HEAP8[$96>>0]|0;
    28526     $98 = $97 << 24 >> 24;
    28527     $99 = (($98) - 65)|0;
    28528     $100 = ($99>>>0)<(26);
    28529     $101 = $4;
    28530     $102 = HEAP8[$101>>0]|0;
    28531     $103 = $102 << 24 >> 24;
    28532     $104 = $103 | 32;
    28533     $105 = $100 ? $104 : $103;
    28534     $106 = $105&255;
    28535     $107 = $4;
    28536     HEAP8[$107>>0] = $106;
    28537     $6 = 1;
    28538    }
    28539    $108 = $6;
    28540    $109 = ($108<<24>>24)!=(0);
    28541    if ($109) {
    28542     ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    28543     STACKTOP = sp;return;
    28544    } else {
    28545     _mrb_nil_value_283($0);
    28546     STACKTOP = sp;return;
    28547    }
    28548   }
    28549  } while(0);
    28550  _mrb_nil_value_283($0);
    28551  STACKTOP = sp;return;
    28552 }
    28553 function _mrb_str_chomp($0,$1,$2) {
    28554  $0 = $0|0;
    28555  $1 = $1|0;
    28556  $2 = $2|0;
    28557  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    28558  sp = STACKTOP;
    28559  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    28560  $$byval_copy1 = sp + 40|0;
    28561  $$byval_copy = sp + 32|0;
    28562  $4 = sp + 16|0;
    28563  $5 = sp + 8|0;
    28564  $6 = sp;
    28565  $3 = $1;
    28566  $7 = $3;
    28567  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    28568  _mrb_str_dup($5,$7,$$byval_copy);
    28569  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    28570  $8 = $3;
    28571  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    28572  _mrb_str_chomp_bang($6,$8,$$byval_copy1);
    28573  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    28574  STACKTOP = sp;return;
    28575 }
    28576 function _mrb_str_chomp_bang($0,$1,$2) {
    28577  $0 = $0|0;
    28578  $1 = $1|0;
    28579  $2 = $2|0;
    28580  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    28581  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    28582  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    28583  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    28584  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    28585  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
    28586  var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
    28587  var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
    28588  var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
    28589  var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
    28590  var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
    28591  var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
    28592  var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
    28593  var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
    28594  var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
    28595  var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
    28596  var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
    28597  var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0;
    28598  var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0;
    28599  var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0;
    28600  var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0;
    28601  var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
    28602  var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
    28603  var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
    28604  var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    28605  sp = STACKTOP;
    28606  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    28607  $vararg_buffer = sp;
    28608  $4 = sp + 48|0;
    28609  $3 = $1;
    28610  $16 = HEAP32[$2>>2]|0;
    28611  $10 = $16;
    28612  $17 = $3;
    28613  $18 = $10;
    28614  _mrb_str_modify($17,$18);
    28615  $19 = $10;
    28616  $20 = HEAP32[$19>>2]|0;
    28617  $21 = $20 >>> 11;
    28618  $22 = $21 & 8;
    28619  $23 = ($22|0)!=(0);
    28620  $24 = $10;
    28621  if ($23) {
    28622   $25 = HEAP32[$24>>2]|0;
    28623   $26 = $25 >>> 11;
    28624   $27 = $26 & 496;
    28625   $28 = $27 >> 4;
    28626   $31 = $28;
    28627  } else {
    28628   $29 = ((($24)) + 12|0);
    28629   $30 = HEAP32[$29>>2]|0;
    28630   $31 = $30;
    28631  }
    28632  $9 = $31;
    28633  $32 = $3;
    28634  HEAP32[$vararg_buffer>>2] = $4;
    28635  $33 = (_mrb_get_args($32,56364,$vararg_buffer)|0);
    28636  $34 = ($33|0)==(0);
    28637  $35 = $9;
    28638  $36 = ($35|0)==(0);
    28639  L5: do {
    28640   if ($34) {
    28641    if ($36) {
    28642     _mrb_nil_value_283($0);
    28643     STACKTOP = sp;return;
    28644    }
    28645   } else {
    28646    do {
    28647     if (!($36)) {
    28648      $276 = ((($4)) + 4|0);
    28649      $277 = HEAP32[$276>>2]|0;
    28650      $278 = ($277|0)==(0);
    28651      if ($278) {
    28652       $279 = HEAP32[$4>>2]|0;
    28653       $280 = ($279|0)!=(0);
    28654       if (!($280)) {
    28655        break;
    28656       }
    28657      }
    28658      $281 = $10;
    28659      $282 = HEAP32[$281>>2]|0;
    28660      $283 = $282 >>> 11;
    28661      $284 = $283 & 8;
    28662      $285 = ($284|0)!=(0);
    28663      $286 = $10;
    28664      $287 = ((($286)) + 12|0);
    28665      if ($285) {
    28666       $290 = $287;
    28667      } else {
    28668       $288 = ((($287)) + 8|0);
    28669       $289 = HEAP32[$288>>2]|0;
    28670       $290 = $289;
    28671      }
    28672      $6 = $290;
    28673      $291 = HEAP32[$4>>2]|0;
    28674      $292 = HEAP32[$291>>2]|0;
    28675      $293 = $292 >>> 11;
    28676      $294 = $293 & 8;
    28677      $295 = ($294|0)!=(0);
    28678      $296 = HEAP32[$4>>2]|0;
    28679      if ($295) {
    28680       $297 = HEAP32[$296>>2]|0;
    28681       $298 = $297 >>> 11;
    28682       $299 = $298 & 496;
    28683       $300 = $299 >> 4;
    28684       $303 = $300;
    28685      } else {
    28686       $301 = ((($296)) + 12|0);
    28687       $302 = HEAP32[$301>>2]|0;
    28688       $303 = $302;
    28689      }
    28690      $8 = $303;
    28691      $304 = $8;
    28692      $305 = ($304|0)==(0);
    28693      if ($305) {
    28694       while(1) {
    28695        $306 = $9;
    28696        $307 = ($306|0)>(0);
    28697        if ($307) {
    28698         $308 = $6;
    28699         $309 = $9;
    28700         $310 = (($309) - 1)|0;
    28701         $311 = (($308) + ($310)|0);
    28702         $312 = HEAP8[$311>>0]|0;
    28703         $313 = $312 << 24 >> 24;
    28704         $314 = ($313|0)==(10);
    28705         $489 = $314;
    28706        } else {
    28707         $489 = 0;
    28708        }
    28709        $315 = $9;
    28710        if (!($489)) {
    28711         break;
    28712        }
    28713        $316 = (($315) + -1)|0;
    28714        $9 = $316;
    28715        $317 = $9;
    28716        $318 = ($317|0)>(0);
    28717        if (!($318)) {
    28718         continue;
    28719        }
    28720        $319 = $6;
    28721        $320 = $9;
    28722        $321 = (($320) - 1)|0;
    28723        $322 = (($319) + ($321)|0);
    28724        $323 = HEAP8[$322>>0]|0;
    28725        $324 = $323 << 24 >> 24;
    28726        $325 = ($324|0)==(13);
    28727        if (!($325)) {
    28728         continue;
    28729        }
    28730        $326 = $9;
    28731        $327 = (($326) + -1)|0;
    28732        $9 = $327;
    28733       }
    28734       $328 = $10;
    28735       $329 = HEAP32[$328>>2]|0;
    28736       $330 = $329 >>> 11;
    28737       $331 = $330 & 8;
    28738       $332 = ($331|0)!=(0);
    28739       $333 = $10;
    28740       if ($332) {
    28741        $334 = HEAP32[$333>>2]|0;
    28742        $335 = $334 >>> 11;
    28743        $336 = $335 & 496;
    28744        $337 = $336 >> 4;
    28745        $341 = $337;
    28746       } else {
    28747        $338 = ((($333)) + 12|0);
    28748        $339 = HEAP32[$338>>2]|0;
    28749        $341 = $339;
    28750       }
    28751       $340 = ($315|0)<($341|0);
    28752       if (!($340)) {
    28753        _mrb_nil_value_283($0);
    28754        STACKTOP = sp;return;
    28755       }
    28756       $342 = $10;
    28757       $343 = HEAP32[$342>>2]|0;
    28758       $344 = $343 >>> 11;
    28759       $345 = $344 & 8;
    28760       $346 = ($345|0)!=(0);
    28761       $347 = $9;
    28762       if ($346) {
    28763        $14 = $347;
    28764        $348 = $10;
    28765        $349 = HEAP32[$348>>2]|0;
    28766        $350 = $349 >>> 11;
    28767        $351 = $350 & -497;
    28768        $352 = HEAP32[$348>>2]|0;
    28769        $353 = $351 & 2097151;
    28770        $354 = $353 << 11;
    28771        $355 = $352 & 2047;
    28772        $356 = $355 | $354;
    28773        HEAP32[$348>>2] = $356;
    28774        $357 = $14;
    28775        $358 = $357 << 4;
    28776        $359 = $10;
    28777        $360 = HEAP32[$359>>2]|0;
    28778        $361 = $360 >>> 11;
    28779        $362 = $361 | $358;
    28780        $363 = HEAP32[$359>>2]|0;
    28781        $364 = $362 & 2097151;
    28782        $365 = $364 << 11;
    28783        $366 = $363 & 2047;
    28784        $367 = $366 | $365;
    28785        HEAP32[$359>>2] = $367;
    28786       } else {
    28787        $368 = $10;
    28788        $369 = ((($368)) + 12|0);
    28789        HEAP32[$369>>2] = $347;
    28790       }
    28791       $370 = $6;
    28792       $371 = $9;
    28793       $372 = (($370) + ($371)|0);
    28794       HEAP8[$372>>0] = 0;
    28795       ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    28796       STACKTOP = sp;return;
    28797      }
    28798      $373 = $8;
    28799      $374 = $9;
    28800      $375 = ($373|0)>($374|0);
    28801      if ($375) {
    28802       _mrb_nil_value_283($0);
    28803       STACKTOP = sp;return;
    28804      }
    28805      $376 = HEAP32[$4>>2]|0;
    28806      $377 = HEAP32[$376>>2]|0;
    28807      $378 = $377 >>> 11;
    28808      $379 = $378 & 8;
    28809      $380 = ($379|0)!=(0);
    28810      $381 = HEAP32[$4>>2]|0;
    28811      $382 = ((($381)) + 12|0);
    28812      if ($380) {
    28813       $388 = $382;
    28814      } else {
    28815       $383 = ((($382)) + 8|0);
    28816       $384 = HEAP32[$383>>2]|0;
    28817       $388 = $384;
    28818      }
    28819      $385 = $8;
    28820      $386 = (($385) - 1)|0;
    28821      $387 = (($388) + ($386)|0);
    28822      $389 = HEAP8[$387>>0]|0;
    28823      $390 = $389 << 24 >> 24;
    28824      $5 = $390;
    28825      $391 = $8;
    28826      $392 = ($391|0)==(1);
    28827      $393 = $5;
    28828      $394 = ($393|0)==(10);
    28829      $or$cond = $392 & $394;
    28830      if ($or$cond) {
    28831       $395 = HEAP32[$4>>2]|0;
    28832       $396 = HEAP32[$395>>2]|0;
    28833       $397 = $396 >>> 11;
    28834       $398 = $397 & 8;
    28835       $399 = ($398|0)!=(0);
    28836       $400 = HEAP32[$4>>2]|0;
    28837       $401 = ((($400)) + 12|0);
    28838       if ($399) {
    28839        $407 = $401;
    28840       } else {
    28841        $402 = ((($401)) + 8|0);
    28842        $403 = HEAP32[$402>>2]|0;
    28843        $407 = $403;
    28844       }
    28845       $404 = $8;
    28846       $405 = (($404) - 1)|0;
    28847       $406 = (($407) + ($405)|0);
    28848       $408 = HEAP8[$406>>0]|0;
    28849       $409 = $408 << 24 >> 24;
    28850       $5 = $409;
    28851      }
    28852      $410 = $8;
    28853      $411 = ($410|0)==(1);
    28854      $412 = $5;
    28855      $413 = ($412|0)==(10);
    28856      $or$cond3 = $411 & $413;
    28857      if ($or$cond3) {
    28858       break L5;
    28859      }
    28860      $414 = $6;
    28861      $415 = $9;
    28862      $416 = (($414) + ($415)|0);
    28863      $417 = $8;
    28864      $418 = (0 - ($417))|0;
    28865      $419 = (($416) + ($418)|0);
    28866      $7 = $419;
    28867      $420 = $6;
    28868      $421 = $9;
    28869      $422 = (($421) - 1)|0;
    28870      $423 = (($420) + ($422)|0);
    28871      $424 = HEAP8[$423>>0]|0;
    28872      $425 = $424 << 24 >> 24;
    28873      $426 = $5;
    28874      $427 = ($425|0)==($426|0);
    28875      do {
    28876       if ($427) {
    28877        $428 = $8;
    28878        $429 = ($428|0)<=(1);
    28879        if (!($429)) {
    28880         $430 = HEAP32[$4>>2]|0;
    28881         $431 = HEAP32[$430>>2]|0;
    28882         $432 = $431 >>> 11;
    28883         $433 = $432 & 8;
    28884         $434 = ($433|0)!=(0);
    28885         $435 = HEAP32[$4>>2]|0;
    28886         $436 = ((($435)) + 12|0);
    28887         if ($434) {
    28888          $441 = $436;
    28889         } else {
    28890          $437 = ((($436)) + 8|0);
    28891          $438 = HEAP32[$437>>2]|0;
    28892          $441 = $438;
    28893         }
    28894         $439 = $7;
    28895         $440 = $8;
    28896         $442 = (_memcmp($441,$439,$440)|0);
    28897         $443 = ($442|0)==(0);
    28898         if (!($443)) {
    28899          break;
    28900         }
    28901        }
    28902        $444 = $10;
    28903        $445 = HEAP32[$444>>2]|0;
    28904        $446 = $445 >>> 11;
    28905        $447 = $446 & 8;
    28906        $448 = ($447|0)!=(0);
    28907        $449 = $9;
    28908        $450 = $8;
    28909        $451 = (($449) - ($450))|0;
    28910        if ($448) {
    28911         $15 = $451;
    28912         $452 = $10;
    28913         $453 = HEAP32[$452>>2]|0;
    28914         $454 = $453 >>> 11;
    28915         $455 = $454 & -497;
    28916         $456 = HEAP32[$452>>2]|0;
    28917         $457 = $455 & 2097151;
    28918         $458 = $457 << 11;
    28919         $459 = $456 & 2047;
    28920         $460 = $459 | $458;
    28921         HEAP32[$452>>2] = $460;
    28922         $461 = $15;
    28923         $462 = $461 << 4;
    28924         $463 = $10;
    28925         $464 = HEAP32[$463>>2]|0;
    28926         $465 = $464 >>> 11;
    28927         $466 = $465 | $462;
    28928         $467 = HEAP32[$463>>2]|0;
    28929         $468 = $466 & 2097151;
    28930         $469 = $468 << 11;
    28931         $470 = $467 & 2047;
    28932         $471 = $470 | $469;
    28933         HEAP32[$463>>2] = $471;
    28934        } else {
    28935         $472 = $10;
    28936         $473 = ((($472)) + 12|0);
    28937         HEAP32[$473>>2] = $451;
    28938        }
    28939        $474 = $6;
    28940        $475 = $10;
    28941        $476 = HEAP32[$475>>2]|0;
    28942        $477 = $476 >>> 11;
    28943        $478 = $477 & 8;
    28944        $479 = ($478|0)!=(0);
    28945        $480 = $10;
    28946        if ($479) {
    28947         $481 = HEAP32[$480>>2]|0;
    28948         $482 = $481 >>> 11;
    28949         $483 = $482 & 496;
    28950         $484 = $483 >> 4;
    28951         $488 = $484;
    28952        } else {
    28953         $485 = ((($480)) + 12|0);
    28954         $486 = HEAP32[$485>>2]|0;
    28955         $488 = $486;
    28956        }
    28957        $487 = (($474) + ($488)|0);
    28958        HEAP8[$487>>0] = 0;
    28959        ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    28960        STACKTOP = sp;return;
    28961       }
    28962      } while(0);
    28963      _mrb_nil_value_283($0);
    28964      STACKTOP = sp;return;
    28965     }
    28966    } while(0);
    28967    _mrb_nil_value_283($0);
    28968    STACKTOP = sp;return;
    28969   }
    28970  } while(0);
    28971  $37 = $10;
    28972  $38 = HEAP32[$37>>2]|0;
    28973  $39 = $38 >>> 11;
    28974  $40 = $39 & 8;
    28975  $41 = ($40|0)!=(0);
    28976  $42 = $10;
    28977  $43 = ((($42)) + 12|0);
    28978  if ($41) {
    28979   $49 = $43;
    28980  } else {
    28981   $44 = ((($43)) + 8|0);
    28982   $45 = HEAP32[$44>>2]|0;
    28983   $49 = $45;
    28984  }
    28985  $46 = $9;
    28986  $47 = (($46) - 1)|0;
    28987  $48 = (($49) + ($47)|0);
    28988  $50 = HEAP8[$48>>0]|0;
    28989  $51 = $50 << 24 >> 24;
    28990  $52 = ($51|0)==(10);
    28991  $53 = $10;
    28992  $54 = HEAP32[$53>>2]|0;
    28993  $55 = $54 >>> 11;
    28994  $56 = $55 & 8;
    28995  $57 = ($56|0)!=(0);
    28996  $58 = $10;
    28997  do {
    28998   if ($52) {
    28999    $59 = HEAP32[$58>>2]|0;
    29000    $60 = $59 >>> 11;
    29001    $61 = $60 & 8;
    29002    $62 = ($61|0)!=(0);
    29003    $63 = $10;
    29004    if ($57) {
    29005     if ($62) {
    29006      $64 = HEAP32[$63>>2]|0;
    29007      $65 = $64 >>> 11;
    29008      $66 = $65 & 496;
    29009      $67 = $66 >> 4;
    29010      $71 = $67;
    29011     } else {
    29012      $68 = ((($63)) + 12|0);
    29013      $69 = HEAP32[$68>>2]|0;
    29014      $71 = $69;
    29015     }
    29016     $70 = (($71) - 1)|0;
    29017     $11 = $70;
    29018     $72 = $10;
    29019     $73 = HEAP32[$72>>2]|0;
    29020     $74 = $73 >>> 11;
    29021     $75 = $74 & -497;
    29022     $76 = HEAP32[$72>>2]|0;
    29023     $77 = $75 & 2097151;
    29024     $78 = $77 << 11;
    29025     $79 = $76 & 2047;
    29026     $80 = $79 | $78;
    29027     HEAP32[$72>>2] = $80;
    29028     $81 = $11;
    29029     $82 = $81 << 4;
    29030     $83 = $10;
    29031     $84 = HEAP32[$83>>2]|0;
    29032     $85 = $84 >>> 11;
    29033     $86 = $85 | $82;
    29034     $87 = HEAP32[$83>>2]|0;
    29035     $88 = $86 & 2097151;
    29036     $89 = $88 << 11;
    29037     $90 = $87 & 2047;
    29038     $91 = $90 | $89;
    29039     HEAP32[$83>>2] = $91;
    29040    } else {
    29041     if ($62) {
    29042      $92 = HEAP32[$63>>2]|0;
    29043      $93 = $92 >>> 11;
    29044      $94 = $93 & 496;
    29045      $95 = $94 >> 4;
    29046      $99 = $95;
    29047     } else {
    29048      $96 = ((($63)) + 12|0);
    29049      $97 = HEAP32[$96>>2]|0;
    29050      $99 = $97;
    29051     }
    29052     $98 = (($99) - 1)|0;
    29053     $100 = $10;
    29054     $101 = ((($100)) + 12|0);
    29055     HEAP32[$101>>2] = $98;
    29056    }
    29057    $102 = $10;
    29058    $103 = HEAP32[$102>>2]|0;
    29059    $104 = $103 >>> 11;
    29060    $105 = $104 & 8;
    29061    $106 = ($105|0)!=(0);
    29062    $107 = $10;
    29063    if ($106) {
    29064     $108 = HEAP32[$107>>2]|0;
    29065     $109 = $108 >>> 11;
    29066     $110 = $109 & 496;
    29067     $111 = $110 >> 4;
    29068     $115 = $111;
    29069    } else {
    29070     $112 = ((($107)) + 12|0);
    29071     $113 = HEAP32[$112>>2]|0;
    29072     $115 = $113;
    29073    }
    29074    $114 = ($115|0)>(0);
    29075    if ($114) {
    29076     $116 = $10;
    29077     $117 = HEAP32[$116>>2]|0;
    29078     $118 = $117 >>> 11;
    29079     $119 = $118 & 8;
    29080     $120 = ($119|0)!=(0);
    29081     $121 = $10;
    29082     $122 = ((($121)) + 12|0);
    29083     if ($120) {
    29084      $140 = $122;
    29085     } else {
    29086      $123 = ((($122)) + 8|0);
    29087      $124 = HEAP32[$123>>2]|0;
    29088      $140 = $124;
    29089     }
    29090     $125 = $10;
    29091     $126 = HEAP32[$125>>2]|0;
    29092     $127 = $126 >>> 11;
    29093     $128 = $127 & 8;
    29094     $129 = ($128|0)!=(0);
    29095     $130 = $10;
    29096     if ($129) {
    29097      $131 = HEAP32[$130>>2]|0;
    29098      $132 = $131 >>> 11;
    29099      $133 = $132 & 496;
    29100      $134 = $133 >> 4;
    29101      $138 = $134;
    29102     } else {
    29103      $135 = ((($130)) + 12|0);
    29104      $136 = HEAP32[$135>>2]|0;
    29105      $138 = $136;
    29106     }
    29107     $137 = (($138) - 1)|0;
    29108     $139 = (($140) + ($137)|0);
    29109     $141 = HEAP8[$139>>0]|0;
    29110     $142 = $141 << 24 >> 24;
    29111     $143 = ($142|0)==(13);
    29112     if ($143) {
    29113      $144 = $10;
    29114      $145 = HEAP32[$144>>2]|0;
    29115      $146 = $145 >>> 11;
    29116      $147 = $146 & 8;
    29117      $148 = ($147|0)!=(0);
    29118      $149 = $10;
    29119      $150 = HEAP32[$149>>2]|0;
    29120      $151 = $150 >>> 11;
    29121      $152 = $151 & 8;
    29122      $153 = ($152|0)!=(0);
    29123      $154 = $10;
    29124      if ($148) {
    29125       if ($153) {
    29126        $155 = HEAP32[$154>>2]|0;
    29127        $156 = $155 >>> 11;
    29128        $157 = $156 & 496;
    29129        $158 = $157 >> 4;
    29130        $162 = $158;
    29131       } else {
    29132        $159 = ((($154)) + 12|0);
    29133        $160 = HEAP32[$159>>2]|0;
    29134        $162 = $160;
    29135       }
    29136       $161 = (($162) - 1)|0;
    29137       $12 = $161;
    29138       $163 = $10;
    29139       $164 = HEAP32[$163>>2]|0;
    29140       $165 = $164 >>> 11;
    29141       $166 = $165 & -497;
    29142       $167 = HEAP32[$163>>2]|0;
    29143       $168 = $166 & 2097151;
    29144       $169 = $168 << 11;
    29145       $170 = $167 & 2047;
    29146       $171 = $170 | $169;
    29147       HEAP32[$163>>2] = $171;
    29148       $172 = $12;
    29149       $173 = $172 << 4;
    29150       $174 = $10;
    29151       $175 = HEAP32[$174>>2]|0;
    29152       $176 = $175 >>> 11;
    29153       $177 = $176 | $173;
    29154       $178 = HEAP32[$174>>2]|0;
    29155       $179 = $177 & 2097151;
    29156       $180 = $179 << 11;
    29157       $181 = $178 & 2047;
    29158       $182 = $181 | $180;
    29159       HEAP32[$174>>2] = $182;
    29160       break;
    29161      } else {
    29162       if ($153) {
    29163        $183 = HEAP32[$154>>2]|0;
    29164        $184 = $183 >>> 11;
    29165        $185 = $184 & 496;
    29166        $186 = $185 >> 4;
    29167        $190 = $186;
    29168       } else {
    29169        $187 = ((($154)) + 12|0);
    29170        $188 = HEAP32[$187>>2]|0;
    29171        $190 = $188;
    29172       }
    29173       $189 = (($190) - 1)|0;
    29174       $191 = $10;
    29175       $192 = ((($191)) + 12|0);
    29176       HEAP32[$192>>2] = $189;
    29177       break;
    29178      }
    29179     }
    29180    }
    29181   } else {
    29182    $193 = ((($58)) + 12|0);
    29183    if ($57) {
    29184     $199 = $193;
    29185    } else {
    29186     $194 = ((($193)) + 8|0);
    29187     $195 = HEAP32[$194>>2]|0;
    29188     $199 = $195;
    29189    }
    29190    $196 = $9;
    29191    $197 = (($196) - 1)|0;
    29192    $198 = (($199) + ($197)|0);
    29193    $200 = HEAP8[$198>>0]|0;
    29194    $201 = $200 << 24 >> 24;
    29195    $202 = ($201|0)==(13);
    29196    if (!($202)) {
    29197     _mrb_nil_value_283($0);
    29198     STACKTOP = sp;return;
    29199    }
    29200    $203 = $10;
    29201    $204 = HEAP32[$203>>2]|0;
    29202    $205 = $204 >>> 11;
    29203    $206 = $205 & 8;
    29204    $207 = ($206|0)!=(0);
    29205    $208 = $10;
    29206    $209 = HEAP32[$208>>2]|0;
    29207    $210 = $209 >>> 11;
    29208    $211 = $210 & 8;
    29209    $212 = ($211|0)!=(0);
    29210    $213 = $10;
    29211    if ($207) {
    29212     if ($212) {
    29213      $214 = HEAP32[$213>>2]|0;
    29214      $215 = $214 >>> 11;
    29215      $216 = $215 & 496;
    29216      $217 = $216 >> 4;
    29217      $221 = $217;
    29218     } else {
    29219      $218 = ((($213)) + 12|0);
    29220      $219 = HEAP32[$218>>2]|0;
    29221      $221 = $219;
    29222     }
    29223     $220 = (($221) - 1)|0;
    29224     $13 = $220;
    29225     $222 = $10;
    29226     $223 = HEAP32[$222>>2]|0;
    29227     $224 = $223 >>> 11;
    29228     $225 = $224 & -497;
    29229     $226 = HEAP32[$222>>2]|0;
    29230     $227 = $225 & 2097151;
    29231     $228 = $227 << 11;
    29232     $229 = $226 & 2047;
    29233     $230 = $229 | $228;
    29234     HEAP32[$222>>2] = $230;
    29235     $231 = $13;
    29236     $232 = $231 << 4;
    29237     $233 = $10;
    29238     $234 = HEAP32[$233>>2]|0;
    29239     $235 = $234 >>> 11;
    29240     $236 = $235 | $232;
    29241     $237 = HEAP32[$233>>2]|0;
    29242     $238 = $236 & 2097151;
    29243     $239 = $238 << 11;
    29244     $240 = $237 & 2047;
    29245     $241 = $240 | $239;
    29246     HEAP32[$233>>2] = $241;
    29247     break;
    29248    } else {
    29249     if ($212) {
    29250      $242 = HEAP32[$213>>2]|0;
    29251      $243 = $242 >>> 11;
    29252      $244 = $243 & 496;
    29253      $245 = $244 >> 4;
    29254      $249 = $245;
    29255     } else {
    29256      $246 = ((($213)) + 12|0);
    29257      $247 = HEAP32[$246>>2]|0;
    29258      $249 = $247;
    29259     }
    29260     $248 = (($249) - 1)|0;
    29261     $250 = $10;
    29262     $251 = ((($250)) + 12|0);
    29263     HEAP32[$251>>2] = $248;
    29264     break;
    29265    }
    29266   }
    29267  } while(0);
    29268  $252 = $10;
    29269  $253 = HEAP32[$252>>2]|0;
    29270  $254 = $253 >>> 11;
    29271  $255 = $254 & 8;
    29272  $256 = ($255|0)!=(0);
    29273  $257 = $10;
    29274  $258 = ((($257)) + 12|0);
    29275  if ($256) {
    29276   $274 = $258;
    29277  } else {
    29278   $259 = ((($258)) + 8|0);
    29279   $260 = HEAP32[$259>>2]|0;
    29280   $274 = $260;
    29281  }
    29282  $261 = $10;
    29283  $262 = HEAP32[$261>>2]|0;
    29284  $263 = $262 >>> 11;
    29285  $264 = $263 & 8;
    29286  $265 = ($264|0)!=(0);
    29287  $266 = $10;
    29288  if ($265) {
    29289   $267 = HEAP32[$266>>2]|0;
    29290   $268 = $267 >>> 11;
    29291   $269 = $268 & 496;
    29292   $270 = $269 >> 4;
    29293   $275 = $270;
    29294  } else {
    29295   $271 = ((($266)) + 12|0);
    29296   $272 = HEAP32[$271>>2]|0;
    29297   $275 = $272;
    29298  }
    29299  $273 = (($274) + ($275)|0);
    29300  HEAP8[$273>>0] = 0;
    29301  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    29302  STACKTOP = sp;return;
    29303 }
    29304 function _mrb_str_chop($0,$1,$2) {
    29305  $0 = $0|0;
    29306  $1 = $1|0;
    29307  $2 = $2|0;
    29308  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    29309  sp = STACKTOP;
    29310  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    29311  $$byval_copy1 = sp + 40|0;
    29312  $$byval_copy = sp + 32|0;
    29313  $4 = sp + 16|0;
    29314  $5 = sp + 8|0;
    29315  $6 = sp;
    29316  $3 = $1;
    29317  $7 = $3;
    29318  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    29319  _mrb_str_dup($5,$7,$$byval_copy);
    29320  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    29321  $8 = $3;
    29322  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    29323  _mrb_str_chop_bang($6,$8,$$byval_copy1);
    29324  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    29325  STACKTOP = sp;return;
    29326 }
    29327 function _mrb_str_chop_bang($0,$1,$2) {
    29328  $0 = $0|0;
    29329  $1 = $1|0;
    29330  $2 = $2|0;
    29331  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    29332  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    29333  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
    29334  var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
    29335  var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
    29336  var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
    29337  var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
    29338  var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
    29339  sp = STACKTOP;
    29340  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    29341  $3 = $1;
    29342  $11 = HEAP32[$2>>2]|0;
    29343  $4 = $11;
    29344  $12 = $3;
    29345  $13 = $4;
    29346  _mrb_str_modify($12,$13);
    29347  $14 = $4;
    29348  $15 = HEAP32[$14>>2]|0;
    29349  $16 = $15 >>> 11;
    29350  $17 = $16 & 8;
    29351  $18 = ($17|0)!=(0);
    29352  $19 = $4;
    29353  if ($18) {
    29354   $20 = HEAP32[$19>>2]|0;
    29355   $21 = $20 >>> 11;
    29356   $22 = $21 & 496;
    29357   $23 = $22 >> 4;
    29358   $27 = $23;
    29359  } else {
    29360   $24 = ((($19)) + 12|0);
    29361   $25 = HEAP32[$24>>2]|0;
    29362   $27 = $25;
    29363  }
    29364  $26 = ($27|0)>(0);
    29365  if (!($26)) {
    29366   _mrb_nil_value_283($0);
    29367   STACKTOP = sp;return;
    29368  }
    29369  $28 = $4;
    29370  $29 = HEAP32[$28>>2]|0;
    29371  $30 = $29 >>> 11;
    29372  $31 = $30 & 8;
    29373  $32 = ($31|0)!=(0);
    29374  $33 = $4;
    29375  $34 = ((($33)) + 12|0);
    29376  if ($32) {
    29377   $37 = $34;
    29378  } else {
    29379   $35 = ((($34)) + 8|0);
    29380   $36 = HEAP32[$35>>2]|0;
    29381   $37 = $36;
    29382  }
    29383  $6 = $37;
    29384  $38 = $6;
    29385  $7 = $38;
    29386  $39 = $7;
    29387  $40 = $4;
    29388  $41 = HEAP32[$40>>2]|0;
    29389  $42 = $41 >>> 11;
    29390  $43 = $42 & 8;
    29391  $44 = ($43|0)!=(0);
    29392  $45 = $4;
    29393  if ($44) {
    29394   $46 = HEAP32[$45>>2]|0;
    29395   $47 = $46 >>> 11;
    29396   $48 = $47 & 496;
    29397   $49 = $48 >> 4;
    29398   $53 = $49;
    29399  } else {
    29400   $50 = ((($45)) + 12|0);
    29401   $51 = HEAP32[$50>>2]|0;
    29402   $53 = $51;
    29403  }
    29404  $52 = (($39) + ($53)|0);
    29405  $8 = $52;
    29406  while(1) {
    29407   $54 = $7;
    29408   $55 = $8;
    29409   $56 = ($54>>>0)<($55>>>0);
    29410   if (!($56)) {
    29411    break;
    29412   }
    29413   $57 = $7;
    29414   $58 = $8;
    29415   $59 = (_utf8len($57,$58)|0);
    29416   $9 = $59;
    29417   $60 = $7;
    29418   $61 = $9;
    29419   $62 = (($60) + ($61)|0);
    29420   $63 = $8;
    29421   $64 = ($62>>>0)>=($63>>>0);
    29422   if ($64) {
    29423    break;
    29424   }
    29425   $65 = $9;
    29426   $66 = $7;
    29427   $67 = (($66) + ($65)|0);
    29428   $7 = $67;
    29429  }
    29430  $68 = $7;
    29431  $69 = $6;
    29432  $70 = $68;
    29433  $71 = $69;
    29434  $72 = (($70) - ($71))|0;
    29435  $5 = $72;
    29436  $73 = $4;
    29437  $74 = HEAP32[$73>>2]|0;
    29438  $75 = $74 >>> 11;
    29439  $76 = $75 & 8;
    29440  $77 = ($76|0)!=(0);
    29441  $78 = $4;
    29442  $79 = ((($78)) + 12|0);
    29443  if ($77) {
    29444   $84 = $79;
    29445  } else {
    29446   $80 = ((($79)) + 8|0);
    29447   $81 = HEAP32[$80>>2]|0;
    29448   $84 = $81;
    29449  }
    29450  $82 = $5;
    29451  $83 = (($84) + ($82)|0);
    29452  $85 = HEAP8[$83>>0]|0;
    29453  $86 = $85 << 24 >> 24;
    29454  $87 = ($86|0)==(10);
    29455  $88 = $5;
    29456  $89 = ($88|0)>(0);
    29457  $or$cond = $87 & $89;
    29458  if ($or$cond) {
    29459   $90 = $4;
    29460   $91 = HEAP32[$90>>2]|0;
    29461   $92 = $91 >>> 11;
    29462   $93 = $92 & 8;
    29463   $94 = ($93|0)!=(0);
    29464   $95 = $4;
    29465   $96 = ((($95)) + 12|0);
    29466   if ($94) {
    29467    $102 = $96;
    29468   } else {
    29469    $97 = ((($96)) + 8|0);
    29470    $98 = HEAP32[$97>>2]|0;
    29471    $102 = $98;
    29472   }
    29473   $99 = $5;
    29474   $100 = (($99) - 1)|0;
    29475   $101 = (($102) + ($100)|0);
    29476   $103 = HEAP8[$101>>0]|0;
    29477   $104 = $103 << 24 >> 24;
    29478   $105 = ($104|0)==(13);
    29479   if ($105) {
    29480    $106 = $5;
    29481    $107 = (($106) + -1)|0;
    29482    $5 = $107;
    29483   }
    29484  }
    29485  $108 = $4;
    29486  $109 = HEAP32[$108>>2]|0;
    29487  $110 = $109 >>> 11;
    29488  $111 = $110 & 8;
    29489  $112 = ($111|0)!=(0);
    29490  $113 = $5;
    29491  if ($112) {
    29492   $10 = $113;
    29493   $114 = $4;
    29494   $115 = HEAP32[$114>>2]|0;
    29495   $116 = $115 >>> 11;
    29496   $117 = $116 & -497;
    29497   $118 = HEAP32[$114>>2]|0;
    29498   $119 = $117 & 2097151;
    29499   $120 = $119 << 11;
    29500   $121 = $118 & 2047;
    29501   $122 = $121 | $120;
    29502   HEAP32[$114>>2] = $122;
    29503   $123 = $10;
    29504   $124 = $123 << 4;
    29505   $125 = $4;
    29506   $126 = HEAP32[$125>>2]|0;
    29507   $127 = $126 >>> 11;
    29508   $128 = $127 | $124;
    29509   $129 = HEAP32[$125>>2]|0;
    29510   $130 = $128 & 2097151;
    29511   $131 = $130 << 11;
    29512   $132 = $129 & 2047;
    29513   $133 = $132 | $131;
    29514   HEAP32[$125>>2] = $133;
    29515  } else {
    29516   $134 = $4;
    29517   $135 = ((($134)) + 12|0);
    29518   HEAP32[$135>>2] = $113;
    29519  }
    29520  $136 = $4;
    29521  $137 = HEAP32[$136>>2]|0;
    29522  $138 = $137 >>> 11;
    29523  $139 = $138 & 8;
    29524  $140 = ($139|0)!=(0);
    29525  $141 = $4;
    29526  $142 = ((($141)) + 12|0);
    29527  if ($140) {
    29528   $147 = $142;
    29529  } else {
    29530   $143 = ((($142)) + 8|0);
    29531   $144 = HEAP32[$143>>2]|0;
    29532   $147 = $144;
    29533  }
    29534  $145 = $5;
    29535  $146 = (($147) + ($145)|0);
    29536  HEAP8[$146>>0] = 0;
    29537  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    29538  STACKTOP = sp;return;
    29539 }
    29540 function _mrb_str_downcase($0,$1,$2) {
    29541  $0 = $0|0;
    29542  $1 = $1|0;
    29543  $2 = $2|0;
    29544  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    29545  sp = STACKTOP;
    29546  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    29547  $$byval_copy1 = sp + 40|0;
    29548  $$byval_copy = sp + 32|0;
    29549  $4 = sp + 16|0;
    29550  $5 = sp + 8|0;
    29551  $6 = sp;
    29552  $3 = $1;
    29553  $7 = $3;
    29554  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    29555  _mrb_str_dup($5,$7,$$byval_copy);
    29556  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    29557  $8 = $3;
    29558  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    29559  _mrb_str_downcase_bang($6,$8,$$byval_copy1);
    29560  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    29561  STACKTOP = sp;return;
    29562 }
    29563 function _mrb_str_downcase_bang($0,$1,$2) {
    29564  $0 = $0|0;
    29565  $1 = $1|0;
    29566  $2 = $2|0;
    29567  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    29568  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    29569  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    29570  var $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    29571  sp = STACKTOP;
    29572  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    29573  $3 = $1;
    29574  $6 = 0;
    29575  $8 = HEAP32[$2>>2]|0;
    29576  $7 = $8;
    29577  $9 = $3;
    29578  $10 = $7;
    29579  _mrb_str_modify($9,$10);
    29580  $11 = $7;
    29581  $12 = HEAP32[$11>>2]|0;
    29582  $13 = $12 >>> 11;
    29583  $14 = $13 & 8;
    29584  $15 = ($14|0)!=(0);
    29585  $16 = $7;
    29586  $17 = ((($16)) + 12|0);
    29587  if ($15) {
    29588   $20 = $17;
    29589  } else {
    29590   $18 = ((($17)) + 8|0);
    29591   $19 = HEAP32[$18>>2]|0;
    29592   $20 = $19;
    29593  }
    29594  $4 = $20;
    29595  $21 = $7;
    29596  $22 = HEAP32[$21>>2]|0;
    29597  $23 = $22 >>> 11;
    29598  $24 = $23 & 8;
    29599  $25 = ($24|0)!=(0);
    29600  $26 = $7;
    29601  $27 = ((($26)) + 12|0);
    29602  if ($25) {
    29603   $43 = $27;
    29604  } else {
    29605   $28 = ((($27)) + 8|0);
    29606   $29 = HEAP32[$28>>2]|0;
    29607   $43 = $29;
    29608  }
    29609  $30 = $7;
    29610  $31 = HEAP32[$30>>2]|0;
    29611  $32 = $31 >>> 11;
    29612  $33 = $32 & 8;
    29613  $34 = ($33|0)!=(0);
    29614  $35 = $7;
    29615  if ($34) {
    29616   $36 = HEAP32[$35>>2]|0;
    29617   $37 = $36 >>> 11;
    29618   $38 = $37 & 496;
    29619   $39 = $38 >> 4;
    29620   $44 = $39;
    29621  } else {
    29622   $40 = ((($35)) + 12|0);
    29623   $41 = HEAP32[$40>>2]|0;
    29624   $44 = $41;
    29625  }
    29626  $42 = (($43) + ($44)|0);
    29627  $5 = $42;
    29628  while(1) {
    29629   $45 = $4;
    29630   $46 = $5;
    29631   $47 = ($45>>>0)<($46>>>0);
    29632   if (!($47)) {
    29633    break;
    29634   }
    29635   $48 = $4;
    29636   $49 = HEAP8[$48>>0]|0;
    29637   $50 = $49 << 24 >> 24;
    29638   $51 = (($50) - 65)|0;
    29639   $52 = ($51>>>0)<(26);
    29640   if ($52) {
    29641    $53 = $4;
    29642    $54 = HEAP8[$53>>0]|0;
    29643    $55 = $54 << 24 >> 24;
    29644    $56 = (($55) - 65)|0;
    29645    $57 = ($56>>>0)<(26);
    29646    $58 = $4;
    29647    $59 = HEAP8[$58>>0]|0;
    29648    $60 = $59 << 24 >> 24;
    29649    $61 = $60 | 32;
    29650    $62 = $57 ? $61 : $60;
    29651    $63 = $62&255;
    29652    $64 = $4;
    29653    HEAP8[$64>>0] = $63;
    29654    $6 = 1;
    29655   }
    29656   $65 = $4;
    29657   $66 = ((($65)) + 1|0);
    29658   $4 = $66;
    29659  }
    29660  $67 = $6;
    29661  $68 = ($67<<24>>24)!=(0);
    29662  if ($68) {
    29663   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    29664   STACKTOP = sp;return;
    29665  } else {
    29666   _mrb_nil_value_283($0);
    29667   STACKTOP = sp;return;
    29668  }
    29669 }
    29670 function _mrb_str_empty_p($0,$1,$2) {
    29671  $0 = $0|0;
    29672  $1 = $1|0;
    29673  $2 = $2|0;
    29674  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    29675  var sp = 0;
    29676  sp = STACKTOP;
    29677  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    29678  $3 = $1;
    29679  $5 = HEAP32[$2>>2]|0;
    29680  $4 = $5;
    29681  $6 = $4;
    29682  $7 = HEAP32[$6>>2]|0;
    29683  $8 = $7 >>> 11;
    29684  $9 = $8 & 8;
    29685  $10 = ($9|0)!=(0);
    29686  $11 = $4;
    29687  if ($10) {
    29688   $12 = HEAP32[$11>>2]|0;
    29689   $13 = $12 >>> 11;
    29690   $14 = $13 & 496;
    29691   $15 = $14 >> 4;
    29692   $19 = $15;
    29693  } else {
    29694   $16 = ((($11)) + 12|0);
    29695   $17 = HEAP32[$16>>2]|0;
    29696   $19 = $17;
    29697  }
    29698  $18 = ($19|0)==(0);
    29699  $20 = $18&1;
    29700  $21 = $20&255;
    29701  _mrb_bool_value_340($0,$21);
    29702  STACKTOP = sp;return;
    29703 }
    29704 function _mrb_str_eql($0,$1,$2) {
    29705  $0 = $0|0;
    29706  $1 = $1|0;
    29707  $2 = $2|0;
    29708  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    29709  sp = STACKTOP;
    29710  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    29711  $$byval_copy1 = sp + 32|0;
    29712  $$byval_copy = sp + 24|0;
    29713  $vararg_buffer = sp;
    29714  $4 = sp + 8|0;
    29715  $3 = $1;
    29716  $6 = $3;
    29717  HEAP32[$vararg_buffer>>2] = $4;
    29718  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    29719  $7 = ((($4)) + 4|0);
    29720  $8 = HEAP32[$7>>2]|0;
    29721  $9 = ($8|0)==(16);
    29722  if (!($9)) {
    29723   $15 = 0;
    29724   $14 = $15&1;
    29725   $16 = $14&255;
    29726   $5 = $16;
    29727   $17 = $5;
    29728   _mrb_bool_value_340($0,$17);
    29729   STACKTOP = sp;return;
    29730  }
    29731  $10 = $3;
    29732  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    29733  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    29734  $11 = (_str_eql($10,$$byval_copy,$$byval_copy1)|0);
    29735  $12 = $11&255;
    29736  $13 = ($12|0)!=(0);
    29737  $15 = $13;
    29738  $14 = $15&1;
    29739  $16 = $14&255;
    29740  $5 = $16;
    29741  $17 = $5;
    29742  _mrb_bool_value_340($0,$17);
    29743  STACKTOP = sp;return;
    29744 }
    29745 function _mrb_str_hash_m($0,$1,$2) {
    29746  $0 = $0|0;
    29747  $1 = $1|0;
    29748  $2 = $2|0;
    29749  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    29750  sp = STACKTOP;
    29751  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    29752  $$byval_copy = sp + 8|0;
    29753  $3 = $1;
    29754  $5 = $3;
    29755  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    29756  $6 = (_mrb_str_hash($5,$$byval_copy)|0);
    29757  $4 = $6;
    29758  $7 = $4;
    29759  _mrb_fixnum_value_290($0,$7);
    29760  STACKTOP = sp;return;
    29761 }
    29762 function _mrb_str_include($0,$1,$2) {
    29763  $0 = $0|0;
    29764  $1 = $1|0;
    29765  $2 = $2|0;
    29766  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    29767  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
    29768  var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    29769  sp = STACKTOP;
    29770  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    29771  $$byval_copy2 = sp + 48|0;
    29772  $$byval_copy1 = sp + 40|0;
    29773  $$byval_copy = sp + 32|0;
    29774  $vararg_buffer = sp;
    29775  $5 = sp + 16|0;
    29776  $7 = sp + 8|0;
    29777  $3 = $1;
    29778  $8 = $3;
    29779  HEAP32[$vararg_buffer>>2] = $5;
    29780  (_mrb_get_args($8,69199,$vararg_buffer)|0);
    29781  $9 = ((($5)) + 4|0);
    29782  $10 = HEAP32[$9>>2]|0;
    29783  $11 = ($10|0)==(3);
    29784  if (!($11)) {
    29785   $40 = $3;
    29786   ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    29787   _mrb_str_to_str($7,$40,$$byval_copy);
    29788   ;HEAP32[$5>>2]=HEAP32[$7>>2]|0;HEAP32[$5+4>>2]=HEAP32[$7+4>>2]|0;
    29789   $41 = $3;
    29790   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    29791   ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
    29792   $42 = (_str_index($41,$$byval_copy1,$$byval_copy2,0)|0);
    29793   $4 = $42;
    29794   $43 = $4;
    29795   $44 = ($43|0)!=(-1);
    29796   $45 = $44&1;
    29797   $46 = $45&255;
    29798   $6 = $46;
    29799   $47 = $6;
    29800   _mrb_bool_value_340($0,$47);
    29801   STACKTOP = sp;return;
    29802  }
    29803  $12 = HEAP32[$2>>2]|0;
    29804  $13 = HEAP32[$12>>2]|0;
    29805  $14 = $13 >>> 11;
    29806  $15 = $14 & 8;
    29807  $16 = ($15|0)!=(0);
    29808  $17 = HEAP32[$2>>2]|0;
    29809  $18 = ((($17)) + 12|0);
    29810  if ($16) {
    29811   $34 = $18;
    29812  } else {
    29813   $19 = ((($18)) + 8|0);
    29814   $20 = HEAP32[$19>>2]|0;
    29815   $34 = $20;
    29816  }
    29817  $21 = HEAP32[$5>>2]|0;
    29818  $22 = HEAP32[$2>>2]|0;
    29819  $23 = HEAP32[$22>>2]|0;
    29820  $24 = $23 >>> 11;
    29821  $25 = $24 & 8;
    29822  $26 = ($25|0)!=(0);
    29823  $27 = HEAP32[$2>>2]|0;
    29824  if ($26) {
    29825   $28 = HEAP32[$27>>2]|0;
    29826   $29 = $28 >>> 11;
    29827   $30 = $29 & 496;
    29828   $31 = $30 >> 4;
    29829   $35 = $31;
    29830  } else {
    29831   $32 = ((($27)) + 12|0);
    29832   $33 = HEAP32[$32>>2]|0;
    29833   $35 = $33;
    29834  }
    29835  $36 = (_memchr($34,$21,$35)|0);
    29836  $37 = ($36|0)!=(0|0);
    29837  $38 = $37&1;
    29838  $39 = $38&255;
    29839  $6 = $39;
    29840  $47 = $6;
    29841  _mrb_bool_value_340($0,$47);
    29842  STACKTOP = sp;return;
    29843 }
    29844 function _mrb_str_index($0,$1,$2) {
    29845  $0 = $0|0;
    29846  $1 = $1|0;
    29847  $2 = $2|0;
    29848  var $$byval_copy = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    29849  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
    29850  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
    29851  var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    29852  sp = STACKTOP;
    29853  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    29854  $$byval_copy9 = sp + 112|0;
    29855  $$byval_copy8 = sp + 104|0;
    29856  $$byval_copy7 = sp + 96|0;
    29857  $$byval_copy6 = sp + 88|0;
    29858  $$byval_copy5 = sp + 80|0;
    29859  $$byval_copy = sp + 72|0;
    29860  $vararg_buffer2 = sp + 8|0;
    29861  $vararg_buffer = sp;
    29862  $4 = sp + 60|0;
    29863  $5 = sp + 56|0;
    29864  $6 = sp + 48|0;
    29865  $9 = sp + 32|0;
    29866  $10 = sp + 24|0;
    29867  $11 = sp + 16|0;
    29868  $3 = $1;
    29869  $12 = $3;
    29870  HEAP32[$vararg_buffer>>2] = $4;
    29871  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    29872  HEAP32[$vararg_ptr1>>2] = $5;
    29873  (_mrb_get_args($12,68856,$vararg_buffer)|0);
    29874  $13 = HEAP32[$5>>2]|0;
    29875  $14 = ($13|0)==(2);
    29876  do {
    29877   if ($14) {
    29878    $15 = HEAP32[$4>>2]|0;
    29879    $16 = ((($15)) + 8|0);
    29880    $17 = HEAP32[$16>>2]|0;
    29881    $7 = $17;
    29882    $18 = HEAP32[$4>>2]|0;
    29883    ;HEAP32[$6>>2]=HEAP32[$18>>2]|0;HEAP32[$6+4>>2]=HEAP32[$18+4>>2]|0;
    29884   } else {
    29885    $7 = 0;
    29886    $19 = HEAP32[$5>>2]|0;
    29887    $20 = ($19|0)>(0);
    29888    if ($20) {
    29889     $21 = HEAP32[$4>>2]|0;
    29890     ;HEAP32[$6>>2]=HEAP32[$21>>2]|0;HEAP32[$6+4>>2]=HEAP32[$21+4>>2]|0;
    29891     break;
    29892    } else {
    29893     _mrb_nil_value_283($9);
    29894     ;HEAP32[$6>>2]=HEAP32[$9>>2]|0;HEAP32[$6+4>>2]=HEAP32[$9+4>>2]|0;
    29895     break;
    29896    }
    29897   }
    29898  } while(0);
    29899  $22 = $3;
    29900  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    29901  _mrb_regexp_check($22,$$byval_copy);
    29902  ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    29903  $23 = (_utf8_strlen($$byval_copy5,-1)|0);
    29904  $8 = $23;
    29905  $24 = $7;
    29906  $25 = ($24|0)<(0);
    29907  if ($25) {
    29908   $26 = $8;
    29909   $27 = $7;
    29910   $28 = (($27) + ($26))|0;
    29911   $7 = $28;
    29912   $29 = $7;
    29913   $30 = ($29|0)<(0);
    29914   if ($30) {
    29915    _mrb_nil_value_283($0);
    29916    STACKTOP = sp;return;
    29917   }
    29918  }
    29919  $31 = $7;
    29920  $32 = $8;
    29921  $33 = ($31|0)>=($32|0);
    29922  if ($33) {
    29923   _mrb_nil_value_283($0);
    29924   STACKTOP = sp;return;
    29925  }
    29926  $34 = $7;
    29927  ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0;
    29928  $35 = (_chars2bytes($$byval_copy6,0,$34)|0);
    29929  $7 = $35;
    29930  $36 = ((($6)) + 4|0);
    29931  $37 = HEAP32[$36>>2]|0;
    29932  $cond = ($37|0)==(16);
    29933  if (!($cond)) {
    29934   $38 = $3;
    29935   ;HEAP32[$$byval_copy7>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$6+4>>2]|0;
    29936   _mrb_check_string_type($11,$38,$$byval_copy7);
    29937   ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
    29938   $39 = ((($10)) + 4|0);
    29939   $40 = HEAP32[$39>>2]|0;
    29940   $41 = ($40|0)==(0);
    29941   if ($41) {
    29942    $42 = HEAP32[$10>>2]|0;
    29943    $43 = ($42|0)!=(0);
    29944    if (!($43)) {
    29945     $44 = $3;
    29946     $45 = $3;
    29947     $46 = (_mrb_class_get($45,69204)|0);
    29948     ;HEAP8[$vararg_buffer2>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$6+7>>0]|0;
    29949     _mrb_raisef($44,$46,56338,$vararg_buffer2);
    29950     // unreachable;
    29951    }
    29952   }
    29953   ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
    29954  }
    29955  $47 = $3;
    29956  $48 = $7;
    29957  ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
    29958  ;HEAP32[$$byval_copy9>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$6+4>>2]|0;
    29959  $49 = (_str_index($47,$$byval_copy8,$$byval_copy9,$48)|0);
    29960  $7 = $49;
    29961  $50 = $7;
    29962  $51 = ($50|0)==(-1);
    29963  if ($51) {
    29964   _mrb_nil_value_283($0);
    29965   STACKTOP = sp;return;
    29966  }
    29967  $52 = HEAP32[$2>>2]|0;
    29968  $53 = HEAP32[$52>>2]|0;
    29969  $54 = $53 >>> 11;
    29970  $55 = $54 & 8;
    29971  $56 = ($55|0)!=(0);
    29972  $57 = HEAP32[$2>>2]|0;
    29973  $58 = ((($57)) + 12|0);
    29974  if ($56) {
    29975   $62 = $58;
    29976  } else {
    29977   $59 = ((($58)) + 8|0);
    29978   $60 = HEAP32[$59>>2]|0;
    29979   $62 = $60;
    29980  }
    29981  $61 = $7;
    29982  $63 = (_bytes2chars($62,$61)|0);
    29983  $7 = $63;
    29984  $64 = $7;
    29985  _mrb_fixnum_value_290($0,$64);
    29986  STACKTOP = sp;return;
    29987 }
    29988 function _mrb_str_init($0,$1,$2) {
    29989  $0 = $0|0;
    29990  $1 = $1|0;
    29991  $2 = $2|0;
    29992  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    29993  sp = STACKTOP;
    29994  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    29995  $vararg_buffer = sp;
    29996  $4 = sp + 16|0;
    29997  $5 = sp + 8|0;
    29998  $3 = $1;
    29999  $6 = $3;
    30000  HEAP32[$vararg_buffer>>2] = $4;
    30001  $7 = (_mrb_get_args($6,56364,$vararg_buffer)|0);
    30002  $8 = ($7|0)==(1);
    30003  if ($8) {
    30004   $9 = $3;
    30005   $10 = HEAP32[$2>>2]|0;
    30006   $11 = HEAP32[$4>>2]|0;
    30007   _str_replace($5,$9,$10,$11);
    30008  }
    30009  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    30010  STACKTOP = sp;return;
    30011 }
    30012 function _mrb_str_replace($0,$1,$2) {
    30013  $0 = $0|0;
    30014  $1 = $1|0;
    30015  $2 = $2|0;
    30016  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    30017  sp = STACKTOP;
    30018  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    30019  $vararg_buffer = sp;
    30020  $4 = sp + 8|0;
    30021  $3 = $1;
    30022  $5 = $3;
    30023  HEAP32[$vararg_buffer>>2] = $4;
    30024  (_mrb_get_args($5,56362,$vararg_buffer)|0);
    30025  $6 = $3;
    30026  $7 = HEAP32[$2>>2]|0;
    30027  $8 = HEAP32[$4>>2]|0;
    30028  _str_replace($0,$6,$7,$8);
    30029  STACKTOP = sp;return;
    30030 }
    30031 function _mrb_str_size($0,$1,$2) {
    30032  $0 = $0|0;
    30033  $1 = $1|0;
    30034  $2 = $2|0;
    30035  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    30036  sp = STACKTOP;
    30037  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    30038  $$byval_copy = sp + 8|0;
    30039  $3 = $1;
    30040  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    30041  $5 = (_utf8_strlen($$byval_copy,-1)|0);
    30042  $4 = $5;
    30043  $6 = $4;
    30044  _mrb_fixnum_value_290($0,$6);
    30045  STACKTOP = sp;return;
    30046 }
    30047 function _mrb_str_reverse($0,$1,$2) {
    30048  $0 = $0|0;
    30049  $1 = $1|0;
    30050  $2 = $2|0;
    30051  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    30052  sp = STACKTOP;
    30053  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    30054  $$byval_copy1 = sp + 32|0;
    30055  $$byval_copy = sp + 24|0;
    30056  $4 = sp + 8|0;
    30057  $5 = sp;
    30058  $3 = $1;
    30059  $6 = $3;
    30060  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    30061  _mrb_str_dup($4,$6,$$byval_copy);
    30062  $7 = $3;
    30063  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    30064  _mrb_str_reverse_bang($5,$7,$$byval_copy1);
    30065  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    30066  STACKTOP = sp;return;
    30067 }
    30068 function _mrb_str_reverse_bang($0,$1,$2) {
    30069  $0 = $0|0;
    30070  $1 = $1|0;
    30071  $2 = $2|0;
    30072  var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    30073  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
    30074  var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
    30075  var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
    30076  var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
    30077  var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
    30078  var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
    30079  var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    30080  sp = STACKTOP;
    30081  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    30082  $$byval_copy = sp + 48|0;
    30083  $3 = $1;
    30084  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    30085  $15 = (_utf8_strlen($$byval_copy,-1)|0);
    30086  $4 = $15;
    30087  $16 = HEAP32[$2>>2]|0;
    30088  $17 = HEAP32[$16>>2]|0;
    30089  $18 = $17 >>> 11;
    30090  $19 = $18 & 8;
    30091  $20 = ($19|0)!=(0);
    30092  $21 = HEAP32[$2>>2]|0;
    30093  if ($20) {
    30094   $22 = HEAP32[$21>>2]|0;
    30095   $23 = $22 >>> 11;
    30096   $24 = $23 & 496;
    30097   $25 = $24 >> 4;
    30098   $28 = $25;
    30099  } else {
    30100   $26 = ((($21)) + 12|0);
    30101   $27 = HEAP32[$26>>2]|0;
    30102   $28 = $27;
    30103  }
    30104  $5 = $28;
    30105  $29 = $4;
    30106  $30 = $5;
    30107  $31 = ($29|0)==($30|0);
    30108  if ($31) {
    30109   $98 = HEAP32[$2>>2]|0;
    30110   $11 = $98;
    30111   $99 = $3;
    30112   $100 = $11;
    30113   _mrb_str_modify($99,$100);
    30114   $101 = $11;
    30115   $102 = HEAP32[$101>>2]|0;
    30116   $103 = $102 >>> 11;
    30117   $104 = $103 & 8;
    30118   $105 = ($104|0)!=(0);
    30119   $106 = $11;
    30120   if ($105) {
    30121    $107 = HEAP32[$106>>2]|0;
    30122    $108 = $107 >>> 11;
    30123    $109 = $108 & 496;
    30124    $110 = $109 >> 4;
    30125    $114 = $110;
    30126   } else {
    30127    $111 = ((($106)) + 12|0);
    30128    $112 = HEAP32[$111>>2]|0;
    30129    $114 = $112;
    30130   }
    30131   $113 = ($114|0)>(1);
    30132   L11: do {
    30133    if ($113) {
    30134     $115 = $11;
    30135     $116 = HEAP32[$115>>2]|0;
    30136     $117 = $116 >>> 11;
    30137     $118 = $117 & 8;
    30138     $119 = ($118|0)!=(0);
    30139     $120 = $11;
    30140     $121 = ((($120)) + 12|0);
    30141     if ($119) {
    30142      $124 = $121;
    30143     } else {
    30144      $122 = ((($121)) + 8|0);
    30145      $123 = HEAP32[$122>>2]|0;
    30146      $124 = $123;
    30147     }
    30148     $12 = $124;
    30149     $125 = $12;
    30150     $126 = $11;
    30151     $127 = HEAP32[$126>>2]|0;
    30152     $128 = $127 >>> 11;
    30153     $129 = $128 & 8;
    30154     $130 = ($129|0)!=(0);
    30155     $131 = $11;
    30156     if ($130) {
    30157      $132 = HEAP32[$131>>2]|0;
    30158      $133 = $132 >>> 11;
    30159      $134 = $133 & 496;
    30160      $135 = $134 >> 4;
    30161      $139 = $135;
    30162     } else {
    30163      $136 = ((($131)) + 12|0);
    30164      $137 = HEAP32[$136>>2]|0;
    30165      $139 = $137;
    30166     }
    30167     $138 = (($125) + ($139)|0);
    30168     $140 = ((($138)) + -1|0);
    30169     $13 = $140;
    30170     while(1) {
    30171      $141 = $12;
    30172      $142 = $13;
    30173      $143 = ($141>>>0)<($142>>>0);
    30174      if (!($143)) {
    30175       break L11;
    30176      }
    30177      $144 = $12;
    30178      $145 = HEAP8[$144>>0]|0;
    30179      $14 = $145;
    30180      $146 = $13;
    30181      $147 = HEAP8[$146>>0]|0;
    30182      $148 = $12;
    30183      $149 = ((($148)) + 1|0);
    30184      $12 = $149;
    30185      HEAP8[$148>>0] = $147;
    30186      $150 = $14;
    30187      $151 = $13;
    30188      $152 = ((($151)) + -1|0);
    30189      $13 = $152;
    30190      HEAP8[$151>>0] = $150;
    30191     }
    30192    }
    30193   } while(0);
    30194   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    30195   STACKTOP = sp;return;
    30196  }
    30197  $32 = $4;
    30198  $33 = ($32|0)>(1);
    30199  if ($33) {
    30200   $34 = $3;
    30201   $35 = HEAP32[$2>>2]|0;
    30202   _mrb_str_modify($34,$35);
    30203   $36 = HEAP32[$2>>2]|0;
    30204   $37 = HEAP32[$36>>2]|0;
    30205   $38 = $37 >>> 11;
    30206   $39 = $38 & 8;
    30207   $40 = ($39|0)!=(0);
    30208   $41 = HEAP32[$2>>2]|0;
    30209   if ($40) {
    30210    $42 = HEAP32[$41>>2]|0;
    30211    $43 = $42 >>> 11;
    30212    $44 = $43 & 496;
    30213    $45 = $44 >> 4;
    30214    $48 = $45;
    30215   } else {
    30216    $46 = ((($41)) + 12|0);
    30217    $47 = HEAP32[$46>>2]|0;
    30218    $48 = $47;
    30219   }
    30220   $5 = $48;
    30221   $49 = $3;
    30222   $50 = $5;
    30223   $51 = (_mrb_malloc($49,$50)|0);
    30224   $6 = $51;
    30225   $52 = $6;
    30226   $7 = $52;
    30227   $53 = $6;
    30228   $54 = $5;
    30229   $55 = (($53) + ($54)|0);
    30230   $8 = $55;
    30231   $56 = $6;
    30232   $57 = HEAP32[$2>>2]|0;
    30233   $58 = HEAP32[$57>>2]|0;
    30234   $59 = $58 >>> 11;
    30235   $60 = $59 & 8;
    30236   $61 = ($60|0)!=(0);
    30237   $62 = HEAP32[$2>>2]|0;
    30238   $63 = ((($62)) + 12|0);
    30239   if ($61) {
    30240    $67 = $63;
    30241   } else {
    30242    $64 = ((($63)) + 8|0);
    30243    $65 = HEAP32[$64>>2]|0;
    30244    $67 = $65;
    30245   }
    30246   $66 = $5;
    30247   _memcpy(($56|0),($67|0),($66|0))|0;
    30248   $68 = HEAP32[$2>>2]|0;
    30249   $69 = HEAP32[$68>>2]|0;
    30250   $70 = $69 >>> 11;
    30251   $71 = $70 & 8;
    30252   $72 = ($71|0)!=(0);
    30253   $73 = HEAP32[$2>>2]|0;
    30254   $74 = ((($73)) + 12|0);
    30255   if ($72) {
    30256    $79 = $74;
    30257   } else {
    30258    $75 = ((($74)) + 8|0);
    30259    $76 = HEAP32[$75>>2]|0;
    30260    $79 = $76;
    30261   }
    30262   $77 = $5;
    30263   $78 = (($79) + ($77)|0);
    30264   $9 = $78;
    30265   while(1) {
    30266    $80 = $7;
    30267    $81 = $8;
    30268    $82 = ($80>>>0)<($81>>>0);
    30269    if (!($82)) {
    30270     break;
    30271    }
    30272    $83 = $7;
    30273    $84 = $8;
    30274    $85 = (_utf8len($83,$84)|0);
    30275    $10 = $85;
    30276    $86 = $10;
    30277    $87 = $9;
    30278    $88 = (0 - ($86))|0;
    30279    $89 = (($87) + ($88)|0);
    30280    $9 = $89;
    30281    $90 = $9;
    30282    $91 = $7;
    30283    $92 = $10;
    30284    _memcpy(($90|0),($91|0),($92|0))|0;
    30285    $93 = $10;
    30286    $94 = $7;
    30287    $95 = (($94) + ($93)|0);
    30288    $7 = $95;
    30289   }
    30290   $96 = $3;
    30291   $97 = $6;
    30292   _mrb_free($96,$97);
    30293  }
    30294  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    30295  STACKTOP = sp;return;
    30296 }
    30297 function _mrb_str_rindex($0,$1,$2) {
    30298  $0 = $0|0;
    30299  $1 = $1|0;
    30300  $2 = $2|0;
    30301  var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
    30302  var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
    30303  var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
    30304  var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0;
    30305  var $vararg_ptr1 = 0, label = 0, sp = 0;
    30306  sp = STACKTOP;
    30307  STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
    30308  $$byval_copy11 = sp + 136|0;
    30309  $$byval_copy10 = sp + 128|0;
    30310  $$byval_copy9 = sp + 120|0;
    30311  $$byval_copy8 = sp + 112|0;
    30312  $$byval_copy7 = sp + 104|0;
    30313  $$byval_copy6 = sp + 96|0;
    30314  $$byval_copy5 = sp + 88|0;
    30315  $$byval_copy = sp + 80|0;
    30316  $vararg_buffer2 = sp + 8|0;
    30317  $vararg_buffer = sp;
    30318  $4 = sp + 68|0;
    30319  $5 = sp + 64|0;
    30320  $6 = sp + 56|0;
    30321  $7 = sp + 48|0;
    30322  $10 = sp + 32|0;
    30323  $11 = sp + 24|0;
    30324  $12 = sp + 16|0;
    30325  $3 = $1;
    30326  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    30327  $13 = (_utf8_strlen($$byval_copy,-1)|0);
    30328  $9 = $13;
    30329  $14 = $3;
    30330  HEAP32[$vararg_buffer>>2] = $4;
    30331  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    30332  HEAP32[$vararg_ptr1>>2] = $5;
    30333  (_mrb_get_args($14,68856,$vararg_buffer)|0);
    30334  $15 = HEAP32[$5>>2]|0;
    30335  $16 = ($15|0)==(2);
    30336  do {
    30337   if ($16) {
    30338    $17 = HEAP32[$4>>2]|0;
    30339    ;HEAP32[$6>>2]=HEAP32[$17>>2]|0;HEAP32[$6+4>>2]=HEAP32[$17+4>>2]|0;
    30340    $18 = HEAP32[$4>>2]|0;
    30341    $19 = ((($18)) + 8|0);
    30342    ;HEAP32[$7>>2]=HEAP32[$19>>2]|0;HEAP32[$7+4>>2]=HEAP32[$19+4>>2]|0;
    30343    $20 = HEAP32[$7>>2]|0;
    30344    $8 = $20;
    30345    $21 = $8;
    30346    $22 = ($21|0)<(0);
    30347    if ($22) {
    30348     $23 = $9;
    30349     $24 = $8;
    30350     $25 = (($24) + ($23))|0;
    30351     $8 = $25;
    30352     $26 = $8;
    30353     $27 = ($26|0)<(0);
    30354     if ($27) {
    30355      $28 = $3;
    30356      ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;
    30357      _mrb_regexp_check($28,$$byval_copy5);
    30358      _mrb_nil_value_283($0);
    30359      STACKTOP = sp;return;
    30360     }
    30361    }
    30362    $29 = $8;
    30363    $30 = $9;
    30364    $31 = ($29|0)>($30|0);
    30365    if ($31) {
    30366     $32 = $9;
    30367     $8 = $32;
    30368    }
    30369   } else {
    30370    $33 = $9;
    30371    $8 = $33;
    30372    $34 = HEAP32[$5>>2]|0;
    30373    $35 = ($34|0)>(0);
    30374    if ($35) {
    30375     $36 = HEAP32[$4>>2]|0;
    30376     ;HEAP32[$6>>2]=HEAP32[$36>>2]|0;HEAP32[$6+4>>2]=HEAP32[$36+4>>2]|0;
    30377     break;
    30378    } else {
    30379     _mrb_nil_value_283($10);
    30380     ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
    30381     break;
    30382    }
    30383   }
    30384  } while(0);
    30385  $37 = $8;
    30386  ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0;
    30387  $38 = (_chars2bytes($$byval_copy6,0,$37)|0);
    30388  $8 = $38;
    30389  $39 = $8;
    30390  $40 = $9;
    30391  ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
    30392  $41 = (_chars2bytes($$byval_copy7,$39,$40)|0);
    30393  $9 = $41;
    30394  $42 = $3;
    30395  ;HEAP32[$$byval_copy8>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$6+4>>2]|0;
    30396  _mrb_regexp_check($42,$$byval_copy8);
    30397  $43 = ((($6)) + 4|0);
    30398  $44 = HEAP32[$43>>2]|0;
    30399  $cond = ($44|0)==(16);
    30400  if (!($cond)) {
    30401   $45 = $3;
    30402   ;HEAP32[$$byval_copy9>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$6+4>>2]|0;
    30403   _mrb_check_string_type($12,$45,$$byval_copy9);
    30404   ;HEAP32[$11>>2]=HEAP32[$12>>2]|0;HEAP32[$11+4>>2]=HEAP32[$12+4>>2]|0;
    30405   $46 = ((($11)) + 4|0);
    30406   $47 = HEAP32[$46>>2]|0;
    30407   $48 = ($47|0)==(0);
    30408   if ($48) {
    30409    $49 = HEAP32[$11>>2]|0;
    30410    $50 = ($49|0)!=(0);
    30411    if (!($50)) {
    30412     $51 = $3;
    30413     $52 = $3;
    30414     $53 = (_mrb_class_get($52,69204)|0);
    30415     ;HEAP8[$vararg_buffer2>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$6+7>>0]|0;
    30416     _mrb_raisef($51,$53,56338,$vararg_buffer2);
    30417     // unreachable;
    30418    }
    30419   }
    30420   ;HEAP32[$6>>2]=HEAP32[$11>>2]|0;HEAP32[$6+4>>2]=HEAP32[$11+4>>2]|0;
    30421  }
    30422  $54 = $3;
    30423  $55 = $8;
    30424  ;HEAP32[$$byval_copy10>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$2+4>>2]|0;
    30425  ;HEAP32[$$byval_copy11>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$6+4>>2]|0;
    30426  $56 = (_str_rindex($54,$$byval_copy10,$$byval_copy11,$55)|0);
    30427  $8 = $56;
    30428  $57 = $8;
    30429  $58 = ($57|0)>=(0);
    30430  if (!($58)) {
    30431   _mrb_nil_value_283($0);
    30432   STACKTOP = sp;return;
    30433  }
    30434  $59 = HEAP32[$2>>2]|0;
    30435  $60 = HEAP32[$59>>2]|0;
    30436  $61 = $60 >>> 11;
    30437  $62 = $61 & 8;
    30438  $63 = ($62|0)!=(0);
    30439  $64 = HEAP32[$2>>2]|0;
    30440  $65 = ((($64)) + 12|0);
    30441  if ($63) {
    30442   $69 = $65;
    30443  } else {
    30444   $66 = ((($65)) + 8|0);
    30445   $67 = HEAP32[$66>>2]|0;
    30446   $69 = $67;
    30447  }
    30448  $68 = $8;
    30449  $70 = (_bytes2chars($69,$68)|0);
    30450  $8 = $70;
    30451  $71 = $8;
    30452  _mrb_fixnum_value_290($0,$71);
    30453  STACKTOP = sp;return;
    30454 }
    30455 function _mrb_str_split_m($0,$1,$2) {
    30456  $0 = $0|0;
    30457  $1 = $1|0;
    30458  $2 = $2|0;
    30459  var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy15 = 0, $$byval_copy16 = 0, $$byval_copy17 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
    30460  var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
    30461  var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
    30462  var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
    30463  var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
    30464  var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
    30465  var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0;
    30466  var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0;
    30467  var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0;
    30468  var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0;
    30469  var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0;
    30470  var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0;
    30471  var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0;
    30472  var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0;
    30473  var $340 = 0, $341 = 0, $342 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
    30474  var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
    30475  var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
    30476  var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
    30477  sp = STACKTOP;
    30478  STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0);
    30479  $$byval_copy17 = sp + 256|0;
    30480  $$byval_copy16 = sp + 248|0;
    30481  $$byval_copy15 = sp + 240|0;
    30482  $$byval_copy14 = sp + 232|0;
    30483  $$byval_copy13 = sp + 224|0;
    30484  $$byval_copy12 = sp + 216|0;
    30485  $$byval_copy11 = sp + 208|0;
    30486  $$byval_copy10 = sp + 200|0;
    30487  $$byval_copy9 = sp + 192|0;
    30488  $$byval_copy8 = sp + 184|0;
    30489  $$byval_copy7 = sp + 176|0;
    30490  $$byval_copy6 = sp + 168|0;
    30491  $$byval_copy5 = sp + 160|0;
    30492  $$byval_copy = sp + 152|0;
    30493  $vararg_buffer = sp;
    30494  $5 = sp + 136|0;
    30495  $11 = sp + 112|0;
    30496  $12 = sp + 104|0;
    30497  $13 = sp + 96|0;
    30498  $14 = sp + 88|0;
    30499  $20 = sp + 64|0;
    30500  $25 = sp + 40|0;
    30501  $26 = sp + 32|0;
    30502  $27 = sp + 24|0;
    30503  $29 = sp + 8|0;
    30504  $3 = $1;
    30505  _mrb_nil_value_283($5);
    30506  $6 = 1;
    30507  $7 = 0;
    30508  HEAP32[$11>>2] = 0;
    30509  $30 = $3;
    30510  HEAP32[$vararg_buffer>>2] = $5;
    30511  $vararg_ptr4 = ((($vararg_buffer)) + 4|0);
    30512  HEAP32[$vararg_ptr4>>2] = $11;
    30513  $31 = (_mrb_get_args($30,56334,$vararg_buffer)|0);
    30514  $4 = $31;
    30515  $32 = HEAP32[$11>>2]|0;
    30516  $33 = ($32|0)>(0);
    30517  $34 = $4;
    30518  $35 = ($34|0)==(2);
    30519  $36 = $33 ? $35 : 0;
    30520  $37 = $36&1;
    30521  $8 = $37;
    30522  $38 = $4;
    30523  $39 = ($38|0)==(2);
    30524  do {
    30525   if ($39) {
    30526    $40 = HEAP32[$11>>2]|0;
    30527    $41 = ($40|0)==(1);
    30528    if (!($41)) {
    30529     $7 = 1;
    30530     break;
    30531    }
    30532    $42 = HEAP32[$2>>2]|0;
    30533    $43 = HEAP32[$42>>2]|0;
    30534    $44 = $43 >>> 11;
    30535    $45 = $44 & 8;
    30536    $46 = ($45|0)!=(0);
    30537    $47 = HEAP32[$2>>2]|0;
    30538    if ($46) {
    30539     $48 = HEAP32[$47>>2]|0;
    30540     $49 = $48 >>> 11;
    30541     $50 = $49 & 496;
    30542     $51 = $50 >> 4;
    30543     $55 = $51;
    30544    } else {
    30545     $52 = ((($47)) + 12|0);
    30546     $53 = HEAP32[$52>>2]|0;
    30547     $55 = $53;
    30548    }
    30549    $54 = ($55|0)==(0);
    30550    $56 = $3;
    30551    if ($54) {
    30552     _mrb_ary_new_capa($0,$56,0);
    30553     STACKTOP = sp;return;
    30554    } else {
    30555     _mrb_ary_new_from_values($0,$56,1,$2);
    30556     STACKTOP = sp;return;
    30557    }
    30558   }
    30559  } while(0);
    30560  $57 = $4;
    30561  $58 = ($57|0)==(0);
    30562  do {
    30563   if ($58) {
    30564    label = 13;
    30565   } else {
    30566    $59 = ((($5)) + 4|0);
    30567    $60 = HEAP32[$59>>2]|0;
    30568    $61 = ($60|0)==(0);
    30569    if ($61) {
    30570     $62 = HEAP32[$5>>2]|0;
    30571     $63 = ($62|0)!=(0);
    30572     if (!($63)) {
    30573      label = 13;
    30574      break;
    30575     }
    30576    }
    30577    $64 = ((($5)) + 4|0);
    30578    $65 = HEAP32[$64>>2]|0;
    30579    $66 = ($65|0)==(16);
    30580    if (!($66)) {
    30581     $94 = $3;
    30582     ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    30583     _mrb_noregexp($94,$$byval_copy);
    30584     break;
    30585    }
    30586    $6 = 1;
    30587    $67 = HEAP32[$5>>2]|0;
    30588    $68 = HEAP32[$67>>2]|0;
    30589    $69 = $68 >>> 11;
    30590    $70 = $69 & 8;
    30591    $71 = ($70|0)!=(0);
    30592    $72 = HEAP32[$5>>2]|0;
    30593    if ($71) {
    30594     $73 = HEAP32[$72>>2]|0;
    30595     $74 = $73 >>> 11;
    30596     $75 = $74 & 496;
    30597     $76 = $75 >> 4;
    30598     $80 = $76;
    30599    } else {
    30600     $77 = ((($72)) + 12|0);
    30601     $78 = HEAP32[$77>>2]|0;
    30602     $80 = $78;
    30603    }
    30604    $79 = ($80|0)==(1);
    30605    if ($79) {
    30606     $81 = HEAP32[$5>>2]|0;
    30607     $82 = HEAP32[$81>>2]|0;
    30608     $83 = $82 >>> 11;
    30609     $84 = $83 & 8;
    30610     $85 = ($84|0)!=(0);
    30611     $86 = HEAP32[$5>>2]|0;
    30612     $87 = ((($86)) + 12|0);
    30613     if ($85) {
    30614      $91 = $87;
    30615     } else {
    30616      $88 = ((($87)) + 8|0);
    30617      $89 = HEAP32[$88>>2]|0;
    30618      $91 = $89;
    30619     }
    30620     $90 = HEAP8[$91>>0]|0;
    30621     $92 = $90 << 24 >> 24;
    30622     $93 = ($92|0)==(32);
    30623     if ($93) {
    30624      $6 = 0;
    30625     }
    30626    }
    30627   }
    30628  } while(0);
    30629  if ((label|0) == 13) {
    30630   $6 = 0;
    30631  }
    30632  $95 = $3;
    30633  _mrb_ary_new($14,$95);
    30634  ;HEAP32[$12>>2]=HEAP32[$14>>2]|0;HEAP32[$12+4>>2]=HEAP32[$14+4>>2]|0;
    30635  $9 = 0;
    30636  $96 = $6;
    30637  $97 = ($96|0)==(0);
    30638  L37: do {
    30639   if ($97) {
    30640    $15 = 1;
    30641    $16 = 0;
    30642    $98 = HEAP32[$2>>2]|0;
    30643    $99 = HEAP32[$98>>2]|0;
    30644    $100 = $99 >>> 11;
    30645    $101 = $100 & 8;
    30646    $102 = ($101|0)!=(0);
    30647    $103 = HEAP32[$2>>2]|0;
    30648    if ($102) {
    30649     $104 = HEAP32[$103>>2]|0;
    30650     $105 = $104 >>> 11;
    30651     $106 = $105 & 496;
    30652     $107 = $106 >> 4;
    30653     $110 = $107;
    30654    } else {
    30655     $108 = ((($103)) + 12|0);
    30656     $109 = HEAP32[$108>>2]|0;
    30657     $110 = $109;
    30658    }
    30659    $17 = $110;
    30660    $111 = $3;
    30661    $112 = (_mrb_gc_arena_save($111)|0);
    30662    $19 = $112;
    30663    $113 = $9;
    30664    $10 = $113;
    30665    $16 = $113;
    30666    while(1) {
    30667     $114 = $16;
    30668     $115 = $17;
    30669     $116 = ($114|0)<($115|0);
    30670     if (!($116)) {
    30671      break L37;
    30672     }
    30673     $117 = HEAP32[$2>>2]|0;
    30674     $118 = HEAP32[$117>>2]|0;
    30675     $119 = $118 >>> 11;
    30676     $120 = $119 & 8;
    30677     $121 = ($120|0)!=(0);
    30678     $122 = HEAP32[$2>>2]|0;
    30679     $123 = ((($122)) + 12|0);
    30680     if ($121) {
    30681      $129 = $123;
    30682     } else {
    30683      $124 = ((($123)) + 8|0);
    30684      $125 = HEAP32[$124>>2]|0;
    30685      $129 = $125;
    30686     }
    30687     $126 = $16;
    30688     $127 = (($126) + 1)|0;
    30689     $16 = $127;
    30690     $128 = (($129) + ($126)|0);
    30691     $130 = HEAP8[$128>>0]|0;
    30692     $131 = $130&255;
    30693     $18 = $131;
    30694     $132 = $15;
    30695     $133 = ($132<<24>>24)!=(0);
    30696     $134 = $18;
    30697     $135 = ($134|0)==(32);
    30698     if ($133) {
    30699      if (!($135)) {
    30700       $136 = $18;
    30701       $137 = (($136) - 9)|0;
    30702       $138 = ($137>>>0)<(5);
    30703       if (!($138)) {
    30704        $140 = $16;
    30705        $10 = $140;
    30706        $15 = 0;
    30707        $141 = $8;
    30708        $142 = ($141|0)!=(0);
    30709        if (!($142)) {
    30710         continue;
    30711        }
    30712        $143 = HEAP32[$11>>2]|0;
    30713        $144 = $7;
    30714        $145 = ($143|0)<=($144|0);
    30715        if ($145) {
    30716         break L37;
    30717        } else {
    30718         continue;
    30719        }
    30720       }
    30721      }
    30722      $139 = $16;
    30723      $9 = $139;
    30724      continue;
    30725     } else {
    30726      if (!($135)) {
    30727       $146 = $18;
    30728       $147 = (($146) - 9)|0;
    30729       $148 = ($147>>>0)<(5);
    30730       if (!($148)) {
    30731        $162 = $16;
    30732        $10 = $162;
    30733        continue;
    30734       }
    30735      }
    30736      $149 = $3;
    30737      $150 = $3;
    30738      $151 = $9;
    30739      $152 = $10;
    30740      $153 = $9;
    30741      $154 = (($152) - ($153))|0;
    30742      ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    30743      _byte_subseq($20,$150,$$byval_copy5,$151,$154);
    30744      ;HEAP32[$$byval_copy6>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$12+4>>2]|0;
    30745      ;HEAP32[$$byval_copy7>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$20+4>>2]|0;
    30746      _mrb_ary_push($149,$$byval_copy6,$$byval_copy7);
    30747      $155 = $3;
    30748      $156 = $19;
    30749      _mrb_gc_arena_restore($155,$156);
    30750      $15 = 1;
    30751      $157 = $16;
    30752      $9 = $157;
    30753      $158 = $8;
    30754      $159 = ($158|0)!=(0);
    30755      if (!($159)) {
    30756       continue;
    30757      }
    30758      $160 = $7;
    30759      $161 = (($160) + 1)|0;
    30760      $7 = $161;
    30761      continue;
    30762     }
    30763    }
    30764   } else {
    30765    $163 = $6;
    30766    $164 = ($163|0)==(1);
    30767    if (!($164)) {
    30768     $247 = $3;
    30769     ;HEAP32[$$byval_copy12>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$2+4>>2]|0;
    30770     _mrb_noregexp($247,$$byval_copy12);
    30771     break;
    30772    }
    30773    $165 = HEAP32[$2>>2]|0;
    30774    $166 = HEAP32[$165>>2]|0;
    30775    $167 = $166 >>> 11;
    30776    $168 = $167 & 8;
    30777    $169 = ($168|0)!=(0);
    30778    $170 = HEAP32[$2>>2]|0;
    30779    if ($169) {
    30780     $171 = HEAP32[$170>>2]|0;
    30781     $172 = $171 >>> 11;
    30782     $173 = $172 & 496;
    30783     $174 = $173 >> 4;
    30784     $177 = $174;
    30785    } else {
    30786     $175 = ((($170)) + 12|0);
    30787     $176 = HEAP32[$175>>2]|0;
    30788     $177 = $176;
    30789    }
    30790    $21 = $177;
    30791    $178 = HEAP32[$5>>2]|0;
    30792    $179 = HEAP32[$178>>2]|0;
    30793    $180 = $179 >>> 11;
    30794    $181 = $180 & 8;
    30795    $182 = ($181|0)!=(0);
    30796    $183 = HEAP32[$5>>2]|0;
    30797    if ($182) {
    30798     $184 = HEAP32[$183>>2]|0;
    30799     $185 = $184 >>> 11;
    30800     $186 = $185 & 496;
    30801     $187 = $186 >> 4;
    30802     $190 = $187;
    30803    } else {
    30804     $188 = ((($183)) + 12|0);
    30805     $189 = HEAP32[$188>>2]|0;
    30806     $190 = $189;
    30807    }
    30808    $22 = $190;
    30809    $23 = 0;
    30810    $191 = $3;
    30811    $192 = (_mrb_gc_arena_save($191)|0);
    30812    $24 = $192;
    30813    while(1) {
    30814     $193 = $23;
    30815     $194 = $21;
    30816     $195 = ($193|0)<($194|0);
    30817     if (!($195)) {
    30818      break;
    30819     }
    30820     $196 = $22;
    30821     $197 = ($196|0)>(0);
    30822     if ($197) {
    30823      $198 = HEAP32[$5>>2]|0;
    30824      $199 = HEAP32[$198>>2]|0;
    30825      $200 = $199 >>> 11;
    30826      $201 = $200 & 8;
    30827      $202 = ($201|0)!=(0);
    30828      $203 = HEAP32[$5>>2]|0;
    30829      $204 = ((($203)) + 12|0);
    30830      if ($202) {
    30831       $223 = $204;
    30832      } else {
    30833       $205 = ((($204)) + 8|0);
    30834       $206 = HEAP32[$205>>2]|0;
    30835       $223 = $206;
    30836      }
    30837      $207 = $22;
    30838      $208 = HEAP32[$2>>2]|0;
    30839      $209 = HEAP32[$208>>2]|0;
    30840      $210 = $209 >>> 11;
    30841      $211 = $210 & 8;
    30842      $212 = ($211|0)!=(0);
    30843      $213 = HEAP32[$2>>2]|0;
    30844      $214 = ((($213)) + 12|0);
    30845      if ($212) {
    30846       $219 = $214;
    30847      } else {
    30848       $215 = ((($214)) + 8|0);
    30849       $216 = HEAP32[$215>>2]|0;
    30850       $219 = $216;
    30851      }
    30852      $217 = $23;
    30853      $218 = (($219) + ($217)|0);
    30854      $220 = $21;
    30855      $221 = $23;
    30856      $222 = (($220) - ($221))|0;
    30857      $224 = (_mrb_memsearch($223,$207,$218,$222)|0);
    30858      $10 = $224;
    30859      $225 = $10;
    30860      $226 = ($225|0)<(0);
    30861      if ($226) {
    30862       break;
    30863      }
    30864     } else {
    30865      $227 = $23;
    30866      ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
    30867      $228 = (_chars2bytes($$byval_copy8,$227,1)|0);
    30868      $10 = $228;
    30869     }
    30870     $229 = $3;
    30871     $230 = $3;
    30872     $231 = $23;
    30873     $232 = $10;
    30874     ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;
    30875     _byte_subseq($25,$230,$$byval_copy9,$231,$232);
    30876     ;HEAP32[$$byval_copy10>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$12+4>>2]|0;
    30877     ;HEAP32[$$byval_copy11>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$25+4>>2]|0;
    30878     _mrb_ary_push($229,$$byval_copy10,$$byval_copy11);
    30879     $233 = $3;
    30880     $234 = $24;
    30881     _mrb_gc_arena_restore($233,$234);
    30882     $235 = $10;
    30883     $236 = $22;
    30884     $237 = (($235) + ($236))|0;
    30885     $238 = $23;
    30886     $239 = (($238) + ($237))|0;
    30887     $23 = $239;
    30888     $240 = $8;
    30889     $241 = ($240|0)!=(0);
    30890     if (!($241)) {
    30891      continue;
    30892     }
    30893     $242 = HEAP32[$11>>2]|0;
    30894     $243 = $7;
    30895     $244 = (($243) + 1)|0;
    30896     $7 = $244;
    30897     $245 = ($242|0)<=($244|0);
    30898     if ($245) {
    30899      break;
    30900     }
    30901    }
    30902    $246 = $23;
    30903    $9 = $246;
    30904   }
    30905  } while(0);
    30906  $248 = HEAP32[$2>>2]|0;
    30907  $249 = HEAP32[$248>>2]|0;
    30908  $250 = $249 >>> 11;
    30909  $251 = $250 & 8;
    30910  $252 = ($251|0)!=(0);
    30911  $253 = HEAP32[$2>>2]|0;
    30912  if ($252) {
    30913   $254 = HEAP32[$253>>2]|0;
    30914   $255 = $254 >>> 11;
    30915   $256 = $255 & 496;
    30916   $257 = $256 >> 4;
    30917   $261 = $257;
    30918  } else {
    30919   $258 = ((($253)) + 12|0);
    30920   $259 = HEAP32[$258>>2]|0;
    30921   $261 = $259;
    30922  }
    30923  $260 = ($261|0)>(0);
    30924  do {
    30925   if ($260) {
    30926    $262 = $8;
    30927    $263 = ($262|0)!=(0);
    30928    if (!($263)) {
    30929     $264 = HEAP32[$2>>2]|0;
    30930     $265 = HEAP32[$264>>2]|0;
    30931     $266 = $265 >>> 11;
    30932     $267 = $266 & 8;
    30933     $268 = ($267|0)!=(0);
    30934     $269 = HEAP32[$2>>2]|0;
    30935     if ($268) {
    30936      $270 = HEAP32[$269>>2]|0;
    30937      $271 = $270 >>> 11;
    30938      $272 = $271 & 496;
    30939      $273 = $272 >> 4;
    30940      $278 = $273;
    30941     } else {
    30942      $274 = ((($269)) + 12|0);
    30943      $275 = HEAP32[$274>>2]|0;
    30944      $278 = $275;
    30945     }
    30946     $276 = $9;
    30947     $277 = ($278|0)>($276|0);
    30948     $279 = HEAP32[$11>>2]|0;
    30949     $280 = ($279|0)<(0);
    30950     $or$cond = $277 | $280;
    30951     if (!($or$cond)) {
    30952      break;
    30953     }
    30954    }
    30955    $281 = HEAP32[$2>>2]|0;
    30956    $282 = HEAP32[$281>>2]|0;
    30957    $283 = $282 >>> 11;
    30958    $284 = $283 & 8;
    30959    $285 = ($284|0)!=(0);
    30960    $286 = HEAP32[$2>>2]|0;
    30961    if ($285) {
    30962     $287 = HEAP32[$286>>2]|0;
    30963     $288 = $287 >>> 11;
    30964     $289 = $288 & 496;
    30965     $290 = $289 >> 4;
    30966     $295 = $290;
    30967    } else {
    30968     $291 = ((($286)) + 12|0);
    30969     $292 = HEAP32[$291>>2]|0;
    30970     $295 = $292;
    30971    }
    30972    $293 = $9;
    30973    $294 = ($295|0)==($293|0);
    30974    $296 = $3;
    30975    if ($294) {
    30976     ;HEAP32[$$byval_copy13>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$2+4>>2]|0;
    30977     _mrb_str_new_empty($26,$296,$$byval_copy13);
    30978     ;HEAP32[$13>>2]=HEAP32[$26>>2]|0;HEAP32[$13+4>>2]=HEAP32[$26+4>>2]|0;
    30979    } else {
    30980     $297 = $9;
    30981     $298 = HEAP32[$2>>2]|0;
    30982     $299 = HEAP32[$298>>2]|0;
    30983     $300 = $299 >>> 11;
    30984     $301 = $300 & 8;
    30985     $302 = ($301|0)!=(0);
    30986     $303 = HEAP32[$2>>2]|0;
    30987     if ($302) {
    30988      $304 = HEAP32[$303>>2]|0;
    30989      $305 = $304 >>> 11;
    30990      $306 = $305 & 496;
    30991      $307 = $306 >> 4;
    30992      $312 = $307;
    30993     } else {
    30994      $308 = ((($303)) + 12|0);
    30995      $309 = HEAP32[$308>>2]|0;
    30996      $312 = $309;
    30997     }
    30998     $310 = $9;
    30999     $311 = (($312) - ($310))|0;
    31000     ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0;
    31001     _byte_subseq($27,$296,$$byval_copy14,$297,$311);
    31002     ;HEAP32[$13>>2]=HEAP32[$27>>2]|0;HEAP32[$13+4>>2]=HEAP32[$27+4>>2]|0;
    31003    }
    31004    $313 = $3;
    31005    ;HEAP32[$$byval_copy15>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$12+4>>2]|0;
    31006    ;HEAP32[$$byval_copy16>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$13+4>>2]|0;
    31007    _mrb_ary_push($313,$$byval_copy15,$$byval_copy16);
    31008   }
    31009  } while(0);
    31010  $314 = $8;
    31011  $315 = ($314|0)==(0);
    31012  $316 = HEAP32[$11>>2]|0;
    31013  $317 = ($316|0)==(0);
    31014  $or$cond3 = $315 & $317;
    31015  L119: do {
    31016   if ($or$cond3) {
    31017    while(1) {
    31018     $318 = HEAP32[$12>>2]|0;
    31019     $319 = ((($318)) + 12|0);
    31020     $320 = HEAP32[$319>>2]|0;
    31021     $28 = $320;
    31022     $321 = ($320|0)>(0);
    31023     if (!($321)) {
    31024      break L119;
    31025     }
    31026     $322 = HEAP32[$12>>2]|0;
    31027     $323 = ((($322)) + 20|0);
    31028     $324 = HEAP32[$323>>2]|0;
    31029     $325 = $28;
    31030     $326 = (($325) - 1)|0;
    31031     $327 = (($324) + ($326<<3)|0);
    31032     ;HEAP32[$13>>2]=HEAP32[$327>>2]|0;HEAP32[$13+4>>2]=HEAP32[$327+4>>2]|0;
    31033     $328 = HEAP32[$13>>2]|0;
    31034     $329 = HEAP32[$328>>2]|0;
    31035     $330 = $329 >>> 11;
    31036     $331 = $330 & 8;
    31037     $332 = ($331|0)!=(0);
    31038     $333 = HEAP32[$13>>2]|0;
    31039     if ($332) {
    31040      $334 = HEAP32[$333>>2]|0;
    31041      $335 = $334 >>> 11;
    31042      $336 = $335 & 496;
    31043      $337 = $336 >> 4;
    31044      $341 = $337;
    31045     } else {
    31046      $338 = ((($333)) + 12|0);
    31047      $339 = HEAP32[$338>>2]|0;
    31048      $341 = $339;
    31049     }
    31050     $340 = ($341|0)==(0);
    31051     if (!($340)) {
    31052      break L119;
    31053     }
    31054     $342 = $3;
    31055     ;HEAP32[$$byval_copy17>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$12+4>>2]|0;
    31056     _mrb_ary_pop($29,$342,$$byval_copy17);
    31057    }
    31058   }
    31059  } while(0);
    31060  ;HEAP32[$0>>2]=HEAP32[$12>>2]|0;HEAP32[$0+4>>2]=HEAP32[$12+4>>2]|0;
    31061  STACKTOP = sp;return;
    31062 }
    31063 function _mrb_str_to_f($0,$1,$2) {
    31064  $0 = $0|0;
    31065  $1 = $1|0;
    31066  $2 = $2|0;
    31067  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0;
    31068  sp = STACKTOP;
    31069  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    31070  $$byval_copy = sp + 8|0;
    31071  $3 = $1;
    31072  $4 = $3;
    31073  $5 = $3;
    31074  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    31075  $6 = (+_mrb_str_to_dbl($5,$$byval_copy,0));
    31076  $7 = $6;
    31077  _mrb_float_value_339($0,$4,$7);
    31078  STACKTOP = sp;return;
    31079 }
    31080 function _mrb_str_to_i($0,$1,$2) {
    31081  $0 = $0|0;
    31082  $1 = $1|0;
    31083  $2 = $2|0;
    31084  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
    31085  sp = STACKTOP;
    31086  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    31087  $$byval_copy = sp + 32|0;
    31088  $vararg_buffer1 = sp + 8|0;
    31089  $vararg_buffer = sp;
    31090  $4 = sp + 24|0;
    31091  $5 = sp + 16|0;
    31092  $3 = $1;
    31093  HEAP32[$4>>2] = 10;
    31094  $6 = $3;
    31095  HEAP32[$vararg_buffer>>2] = $4;
    31096  (_mrb_get_args($6,64768,$vararg_buffer)|0);
    31097  $7 = HEAP32[$4>>2]|0;
    31098  $8 = ($7|0)<(0);
    31099  $9 = $3;
    31100  if ($8) {
    31101   $10 = $3;
    31102   $11 = (_mrb_class_get($10,69160)|0);
    31103   $12 = HEAP32[$4>>2]|0;
    31104   _mrb_fixnum_value_290($5,$12);
    31105   ;HEAP8[$vararg_buffer1>>0]=HEAP8[$5>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$5+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$5+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$5+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$5+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$5+7>>0]|0;
    31106   _mrb_raisef($9,$11,56069,$vararg_buffer1);
    31107   // unreachable;
    31108  } else {
    31109   $13 = HEAP32[$4>>2]|0;
    31110   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    31111   _mrb_str_to_inum($0,$9,$$byval_copy,$13,0);
    31112   STACKTOP = sp;return;
    31113  }
    31114 }
    31115 function _mrb_str_to_s($0,$1,$2) {
    31116  $0 = $0|0;
    31117  $1 = $1|0;
    31118  $2 = $2|0;
    31119  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    31120  sp = STACKTOP;
    31121  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    31122  $$byval_copy1 = sp + 16|0;
    31123  $$byval_copy = sp + 8|0;
    31124  $3 = $1;
    31125  $4 = $3;
    31126  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    31127  $5 = (_mrb_obj_class($4,$$byval_copy)|0);
    31128  $6 = $3;
    31129  $7 = ((($6)) + 48|0);
    31130  $8 = HEAP32[$7>>2]|0;
    31131  $9 = ($5|0)!=($8|0);
    31132  if ($9) {
    31133   $10 = $3;
    31134   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    31135   _mrb_str_dup($0,$10,$$byval_copy1);
    31136   STACKTOP = sp;return;
    31137  } else {
    31138   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    31139   STACKTOP = sp;return;
    31140  }
    31141 }
    31142 function _mrb_str_upcase($0,$1,$2) {
    31143  $0 = $0|0;
    31144  $1 = $1|0;
    31145  $2 = $2|0;
    31146  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    31147  sp = STACKTOP;
    31148  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    31149  $$byval_copy1 = sp + 40|0;
    31150  $$byval_copy = sp + 32|0;
    31151  $4 = sp + 16|0;
    31152  $5 = sp + 8|0;
    31153  $6 = sp;
    31154  $3 = $1;
    31155  $7 = $3;
    31156  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    31157  _mrb_str_dup($5,$7,$$byval_copy);
    31158  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    31159  $8 = $3;
    31160  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    31161  _mrb_str_upcase_bang($6,$8,$$byval_copy1);
    31162  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    31163  STACKTOP = sp;return;
    31164 }
    31165 function _mrb_str_upcase_bang($0,$1,$2) {
    31166  $0 = $0|0;
    31167  $1 = $1|0;
    31168  $2 = $2|0;
    31169  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    31170  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    31171  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    31172  var $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    31173  sp = STACKTOP;
    31174  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    31175  $3 = $1;
    31176  $8 = HEAP32[$2>>2]|0;
    31177  $4 = $8;
    31178  $7 = 0;
    31179  $9 = $3;
    31180  $10 = $4;
    31181  _mrb_str_modify($9,$10);
    31182  $11 = HEAP32[$2>>2]|0;
    31183  $12 = HEAP32[$11>>2]|0;
    31184  $13 = $12 >>> 11;
    31185  $14 = $13 & 8;
    31186  $15 = ($14|0)!=(0);
    31187  $16 = HEAP32[$2>>2]|0;
    31188  $17 = ((($16)) + 12|0);
    31189  if ($15) {
    31190   $20 = $17;
    31191  } else {
    31192   $18 = ((($17)) + 8|0);
    31193   $19 = HEAP32[$18>>2]|0;
    31194   $20 = $19;
    31195  }
    31196  $5 = $20;
    31197  $21 = HEAP32[$2>>2]|0;
    31198  $22 = HEAP32[$21>>2]|0;
    31199  $23 = $22 >>> 11;
    31200  $24 = $23 & 8;
    31201  $25 = ($24|0)!=(0);
    31202  $26 = HEAP32[$2>>2]|0;
    31203  $27 = ((($26)) + 12|0);
    31204  if ($25) {
    31205   $43 = $27;
    31206  } else {
    31207   $28 = ((($27)) + 8|0);
    31208   $29 = HEAP32[$28>>2]|0;
    31209   $43 = $29;
    31210  }
    31211  $30 = HEAP32[$2>>2]|0;
    31212  $31 = HEAP32[$30>>2]|0;
    31213  $32 = $31 >>> 11;
    31214  $33 = $32 & 8;
    31215  $34 = ($33|0)!=(0);
    31216  $35 = HEAP32[$2>>2]|0;
    31217  if ($34) {
    31218   $36 = HEAP32[$35>>2]|0;
    31219   $37 = $36 >>> 11;
    31220   $38 = $37 & 496;
    31221   $39 = $38 >> 4;
    31222   $44 = $39;
    31223  } else {
    31224   $40 = ((($35)) + 12|0);
    31225   $41 = HEAP32[$40>>2]|0;
    31226   $44 = $41;
    31227  }
    31228  $42 = (($43) + ($44)|0);
    31229  $6 = $42;
    31230  while(1) {
    31231   $45 = $5;
    31232   $46 = $6;
    31233   $47 = ($45>>>0)<($46>>>0);
    31234   if (!($47)) {
    31235    break;
    31236   }
    31237   $48 = $5;
    31238   $49 = HEAP8[$48>>0]|0;
    31239   $50 = $49 << 24 >> 24;
    31240   $51 = (($50) - 97)|0;
    31241   $52 = ($51>>>0)<(26);
    31242   if ($52) {
    31243    $53 = $5;
    31244    $54 = HEAP8[$53>>0]|0;
    31245    $55 = $54 << 24 >> 24;
    31246    $56 = (($55) - 97)|0;
    31247    $57 = ($56>>>0)<(26);
    31248    $58 = $5;
    31249    $59 = HEAP8[$58>>0]|0;
    31250    $60 = $59 << 24 >> 24;
    31251    $61 = $60 & 95;
    31252    $62 = $57 ? $61 : $60;
    31253    $63 = $62&255;
    31254    $64 = $5;
    31255    HEAP8[$64>>0] = $63;
    31256    $7 = 1;
    31257   }
    31258   $65 = $5;
    31259   $66 = ((($65)) + 1|0);
    31260   $5 = $66;
    31261  }
    31262  $67 = $7;
    31263  $68 = ($67<<24>>24)!=(0);
    31264  if ($68) {
    31265   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    31266   STACKTOP = sp;return;
    31267  } else {
    31268   _mrb_nil_value_283($0);
    31269   STACKTOP = sp;return;
    31270  }
    31271 }
    31272 function _mrb_str_bytes($0,$1,$2) {
    31273  $0 = $0|0;
    31274  $1 = $1|0;
    31275  $2 = $2|0;
    31276  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    31277  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    31278  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    31279  sp = STACKTOP;
    31280  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    31281  $$byval_copy1 = sp + 40|0;
    31282  $$byval_copy = sp + 32|0;
    31283  $5 = sp + 16|0;
    31284  $8 = sp;
    31285  $3 = $1;
    31286  $9 = HEAP32[$2>>2]|0;
    31287  $4 = $9;
    31288  $10 = $3;
    31289  $11 = $4;
    31290  $12 = HEAP32[$11>>2]|0;
    31291  $13 = $12 >>> 11;
    31292  $14 = $13 & 8;
    31293  $15 = ($14|0)!=(0);
    31294  $16 = $4;
    31295  if ($15) {
    31296   $17 = HEAP32[$16>>2]|0;
    31297   $18 = $17 >>> 11;
    31298   $19 = $18 & 496;
    31299   $20 = $19 >> 4;
    31300   $23 = $20;
    31301  } else {
    31302   $21 = ((($16)) + 12|0);
    31303   $22 = HEAP32[$21>>2]|0;
    31304   $23 = $22;
    31305  }
    31306  _mrb_ary_new_capa($5,$10,$23);
    31307  $24 = $4;
    31308  $25 = HEAP32[$24>>2]|0;
    31309  $26 = $25 >>> 11;
    31310  $27 = $26 & 8;
    31311  $28 = ($27|0)!=(0);
    31312  $29 = $4;
    31313  $30 = ((($29)) + 12|0);
    31314  if ($28) {
    31315   $33 = $30;
    31316  } else {
    31317   $31 = ((($30)) + 8|0);
    31318   $32 = HEAP32[$31>>2]|0;
    31319   $33 = $32;
    31320  }
    31321  $6 = $33;
    31322  $34 = $6;
    31323  $35 = $4;
    31324  $36 = HEAP32[$35>>2]|0;
    31325  $37 = $36 >>> 11;
    31326  $38 = $37 & 8;
    31327  $39 = ($38|0)!=(0);
    31328  $40 = $4;
    31329  if ($39) {
    31330   $41 = HEAP32[$40>>2]|0;
    31331   $42 = $41 >>> 11;
    31332   $43 = $42 & 496;
    31333   $44 = $43 >> 4;
    31334   $48 = $44;
    31335  } else {
    31336   $45 = ((($40)) + 12|0);
    31337   $46 = HEAP32[$45>>2]|0;
    31338   $48 = $46;
    31339  }
    31340  $47 = (($34) + ($48)|0);
    31341  $7 = $47;
    31342  while(1) {
    31343   $49 = $6;
    31344   $50 = $7;
    31345   $51 = ($49>>>0)<($50>>>0);
    31346   if (!($51)) {
    31347    break;
    31348   }
    31349   $52 = $3;
    31350   $53 = $6;
    31351   $54 = HEAP8[$53>>0]|0;
    31352   $55 = $54&255;
    31353   _mrb_fixnum_value_290($8,$55);
    31354   ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    31355   ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
    31356   _mrb_ary_push($52,$$byval_copy,$$byval_copy1);
    31357   $56 = $6;
    31358   $57 = ((($56)) + 1|0);
    31359   $6 = $57;
    31360  }
    31361  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    31362  STACKTOP = sp;return;
    31363 }
    31364 function _mrb_str_freeze($0,$1,$2) {
    31365  $0 = $0|0;
    31366  $1 = $1|0;
    31367  $2 = $2|0;
    31368  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    31369  sp = STACKTOP;
    31370  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    31371  $3 = $1;
    31372  $5 = HEAP32[$2>>2]|0;
    31373  $4 = $5;
    31374  $6 = $4;
    31375  $7 = HEAP32[$6>>2]|0;
    31376  $8 = $7 >>> 11;
    31377  $9 = $8 | 4;
    31378  $10 = HEAP32[$6>>2]|0;
    31379  $11 = $9 & 2097151;
    31380  $12 = $11 << 11;
    31381  $13 = $10 & 2047;
    31382  $14 = $13 | $12;
    31383  HEAP32[$6>>2] = $14;
    31384  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    31385  STACKTOP = sp;return;
    31386 }
    31387 function _mrb_float_value_339($0,$1,$2) {
    31388  $0 = $0|0;
    31389  $1 = $1|0;
    31390  $2 = +$2;
    31391  var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0;
    31392  sp = STACKTOP;
    31393  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    31394  $5 = sp;
    31395  $3 = $1;
    31396  $4 = $2;
    31397  $6 = ((($5)) + 4|0);
    31398  HEAP32[$6>>2] = 6;
    31399  $7 = $4;
    31400  HEAPF32[$5>>2] = $7;
    31401  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    31402  STACKTOP = sp;return;
    31403 }
    31404 function _mrb_memsearch($0,$1,$2,$3) {
    31405  $0 = $0|0;
    31406  $1 = $1|0;
    31407  $2 = $2|0;
    31408  $3 = $3|0;
    31409  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    31410  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    31411  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    31412  sp = STACKTOP;
    31413  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    31414  $5 = $0;
    31415  $6 = $1;
    31416  $7 = $2;
    31417  $8 = $3;
    31418  $13 = $5;
    31419  $9 = $13;
    31420  $14 = $7;
    31421  $10 = $14;
    31422  $15 = $6;
    31423  $16 = $8;
    31424  $17 = ($15|0)>($16|0);
    31425  do {
    31426   if ($17) {
    31427    $4 = -1;
    31428   } else {
    31429    $18 = $6;
    31430    $19 = $8;
    31431    $20 = ($18|0)==($19|0);
    31432    if ($20) {
    31433     $21 = $5;
    31434     $22 = $7;
    31435     $23 = $6;
    31436     $24 = (_memcmp($21,$22,$23)|0);
    31437     $25 = ($24|0)==(0);
    31438     $26 = $25 ? 0 : -1;
    31439     $4 = $26;
    31440     break;
    31441    }
    31442    $27 = $6;
    31443    $28 = ($27|0)<(1);
    31444    if ($28) {
    31445     $4 = 0;
    31446     break;
    31447    }
    31448    $29 = $6;
    31449    $30 = ($29|0)==(1);
    31450    if (!($30)) {
    31451     $51 = $5;
    31452     $52 = $6;
    31453     $53 = $7;
    31454     $54 = $8;
    31455     $55 = (_mrb_memsearch_qs($51,$52,$53,$54)|0);
    31456     $4 = $55;
    31457     break;
    31458    }
    31459    $31 = $10;
    31460    $11 = $31;
    31461    $32 = $11;
    31462    $33 = $8;
    31463    $34 = (($32) + ($33)|0);
    31464    $12 = $34;
    31465    while(1) {
    31466     $35 = $10;
    31467     $36 = $12;
    31468     $37 = ($35>>>0)<($36>>>0);
    31469     if (!($37)) {
    31470      label = 13;
    31471      break;
    31472     }
    31473     $38 = $9;
    31474     $39 = HEAP8[$38>>0]|0;
    31475     $40 = $39&255;
    31476     $41 = $10;
    31477     $42 = HEAP8[$41>>0]|0;
    31478     $43 = $42&255;
    31479     $44 = ($40|0)==($43|0);
    31480     $45 = $10;
    31481     if ($44) {
    31482      label = 11;
    31483      break;
    31484     }
    31485     $50 = ((($45)) + 1|0);
    31486     $10 = $50;
    31487    }
    31488    if ((label|0) == 11) {
    31489     $46 = $11;
    31490     $47 = $45;
    31491     $48 = $46;
    31492     $49 = (($47) - ($48))|0;
    31493     $4 = $49;
    31494     break;
    31495    }
    31496    else if ((label|0) == 13) {
    31497     $4 = -1;
    31498     break;
    31499    }
    31500   }
    31501  } while(0);
    31502  $56 = $4;
    31503  STACKTOP = sp;return ($56|0);
    31504 }
    31505 function _mrb_str_new_empty($0,$1,$2) {
    31506  $0 = $0|0;
    31507  $1 = $1|0;
    31508  $2 = $2|0;
    31509  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    31510  sp = STACKTOP;
    31511  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    31512  $$byval_copy = sp + 8|0;
    31513  $3 = $1;
    31514  $5 = $3;
    31515  $6 = (_str_new($5,0,0)|0);
    31516  $4 = $6;
    31517  $7 = $3;
    31518  $8 = $4;
    31519  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    31520  _str_with_class($7,$8,$$byval_copy);
    31521  $9 = $4;
    31522  _mrb_obj_value_260($0,$9);
    31523  STACKTOP = sp;return;
    31524 }
    31525 function _mrb_memsearch_qs($0,$1,$2,$3) {
    31526  $0 = $0|0;
    31527  $1 = $1|0;
    31528  $2 = $2|0;
    31529  $3 = $3|0;
    31530  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    31531  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    31532  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    31533  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    31534  sp = STACKTOP;
    31535  STACKTOP = STACKTOP + 1072|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1072|0);
    31536  $13 = sp;
    31537  $5 = $0;
    31538  $6 = $1;
    31539  $7 = $2;
    31540  $8 = $3;
    31541  $14 = $5;
    31542  $9 = $14;
    31543  $15 = $5;
    31544  $16 = $6;
    31545  $17 = (($15) + ($16)|0);
    31546  $10 = $17;
    31547  $18 = $7;
    31548  $11 = $18;
    31549  $12 = 0;
    31550  while(1) {
    31551   $19 = $12;
    31552   $20 = ($19|0)<(256);
    31553   if (!($20)) {
    31554    break;
    31555   }
    31556   $21 = $6;
    31557   $22 = (($21) + 1)|0;
    31558   $23 = $12;
    31559   $24 = (($13) + ($23<<2)|0);
    31560   HEAP32[$24>>2] = $22;
    31561   $25 = $12;
    31562   $26 = (($25) + 1)|0;
    31563   $12 = $26;
    31564  }
    31565  while(1) {
    31566   $27 = $9;
    31567   $28 = $10;
    31568   $29 = ($27>>>0)<($28>>>0);
    31569   if (!($29)) {
    31570    break;
    31571   }
    31572   $30 = $10;
    31573   $31 = $9;
    31574   $32 = $30;
    31575   $33 = $31;
    31576   $34 = (($32) - ($33))|0;
    31577   $35 = $9;
    31578   $36 = HEAP8[$35>>0]|0;
    31579   $37 = $36&255;
    31580   $38 = (($13) + ($37<<2)|0);
    31581   HEAP32[$38>>2] = $34;
    31582   $39 = $9;
    31583   $40 = ((($39)) + 1|0);
    31584   $9 = $40;
    31585  }
    31586  while(1) {
    31587   $41 = $11;
    31588   $42 = $6;
    31589   $43 = (($41) + ($42)|0);
    31590   $44 = $7;
    31591   $45 = $8;
    31592   $46 = (($44) + ($45)|0);
    31593   $47 = ($43>>>0)<=($46>>>0);
    31594   if (!($47)) {
    31595    label = 11;
    31596    break;
    31597   }
    31598   $48 = $5;
    31599   $49 = HEAP8[$48>>0]|0;
    31600   $50 = $49&255;
    31601   $51 = $11;
    31602   $52 = HEAP8[$51>>0]|0;
    31603   $53 = $52&255;
    31604   $54 = ($50|0)==($53|0);
    31605   if ($54) {
    31606    $55 = $5;
    31607    $56 = $11;
    31608    $57 = $6;
    31609    $58 = (_memcmp($55,$56,$57)|0);
    31610    $59 = ($58|0)==(0);
    31611    if ($59) {
    31612     label = 9;
    31613     break;
    31614    }
    31615   }
    31616   $65 = $11;
    31617   $66 = $6;
    31618   $67 = (($65) + ($66)|0);
    31619   $68 = HEAP8[$67>>0]|0;
    31620   $69 = $68&255;
    31621   $70 = (($13) + ($69<<2)|0);
    31622   $71 = HEAP32[$70>>2]|0;
    31623   $72 = $11;
    31624   $73 = (($72) + ($71)|0);
    31625   $11 = $73;
    31626  }
    31627  if ((label|0) == 9) {
    31628   $60 = $11;
    31629   $61 = $7;
    31630   $62 = $60;
    31631   $63 = $61;
    31632   $64 = (($62) - ($63))|0;
    31633   $4 = $64;
    31634   $74 = $4;
    31635   STACKTOP = sp;return ($74|0);
    31636  }
    31637  else if ((label|0) == 11) {
    31638   $4 = -1;
    31639   $74 = $4;
    31640   STACKTOP = sp;return ($74|0);
    31641  }
    31642  return (0)|0;
    31643 }
    31644 function _str_rindex($0,$1,$2,$3) {
    31645  $0 = $0|0;
    31646  $1 = $1|0;
    31647  $2 = $2|0;
    31648  $3 = $3|0;
    31649  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    31650  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
    31651  var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
    31652  var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
    31653  var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
    31654  var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
    31655  var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    31656  sp = STACKTOP;
    31657  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    31658  $5 = $0;
    31659  $6 = $3;
    31660  $12 = HEAP32[$1>>2]|0;
    31661  $10 = $12;
    31662  $13 = HEAP32[$2>>2]|0;
    31663  $14 = HEAP32[$13>>2]|0;
    31664  $15 = $14 >>> 11;
    31665  $16 = $15 & 8;
    31666  $17 = ($16|0)!=(0);
    31667  $18 = HEAP32[$2>>2]|0;
    31668  if ($17) {
    31669   $19 = HEAP32[$18>>2]|0;
    31670   $20 = $19 >>> 11;
    31671   $21 = $20 & 496;
    31672   $22 = $21 >> 4;
    31673   $25 = $22;
    31674  } else {
    31675   $23 = ((($18)) + 12|0);
    31676   $24 = HEAP32[$23>>2]|0;
    31677   $25 = $24;
    31678  }
    31679  $11 = $25;
    31680  $26 = $10;
    31681  $27 = HEAP32[$26>>2]|0;
    31682  $28 = $27 >>> 11;
    31683  $29 = $28 & 8;
    31684  $30 = ($29|0)!=(0);
    31685  $31 = $10;
    31686  if ($30) {
    31687   $32 = HEAP32[$31>>2]|0;
    31688   $33 = $32 >>> 11;
    31689   $34 = $33 & 496;
    31690   $35 = $34 >> 4;
    31691   $40 = $35;
    31692  } else {
    31693   $36 = ((($31)) + 12|0);
    31694   $37 = HEAP32[$36>>2]|0;
    31695   $40 = $37;
    31696  }
    31697  $38 = $11;
    31698  $39 = ($40|0)<($38|0);
    31699  if ($39) {
    31700   $4 = -1;
    31701   $131 = $4;
    31702   STACKTOP = sp;return ($131|0);
    31703  }
    31704  $41 = $10;
    31705  $42 = HEAP32[$41>>2]|0;
    31706  $43 = $42 >>> 11;
    31707  $44 = $43 & 8;
    31708  $45 = ($44|0)!=(0);
    31709  $46 = $10;
    31710  if ($45) {
    31711   $47 = HEAP32[$46>>2]|0;
    31712   $48 = $47 >>> 11;
    31713   $49 = $48 & 496;
    31714   $50 = $49 >> 4;
    31715   $55 = $50;
    31716  } else {
    31717   $51 = ((($46)) + 12|0);
    31718   $52 = HEAP32[$51>>2]|0;
    31719   $55 = $52;
    31720  }
    31721  $53 = $6;
    31722  $54 = (($55) - ($53))|0;
    31723  $56 = $11;
    31724  $57 = ($54|0)<($56|0);
    31725  if ($57) {
    31726   $58 = $10;
    31727   $59 = HEAP32[$58>>2]|0;
    31728   $60 = $59 >>> 11;
    31729   $61 = $60 & 8;
    31730   $62 = ($61|0)!=(0);
    31731   $63 = $10;
    31732   if ($62) {
    31733    $64 = HEAP32[$63>>2]|0;
    31734    $65 = $64 >>> 11;
    31735    $66 = $65 & 496;
    31736    $67 = $66 >> 4;
    31737    $72 = $67;
    31738   } else {
    31739    $68 = ((($63)) + 12|0);
    31740    $69 = HEAP32[$68>>2]|0;
    31741    $72 = $69;
    31742   }
    31743   $70 = $11;
    31744   $71 = (($72) - ($70))|0;
    31745   $6 = $71;
    31746  }
    31747  $73 = $10;
    31748  $74 = HEAP32[$73>>2]|0;
    31749  $75 = $74 >>> 11;
    31750  $76 = $75 & 8;
    31751  $77 = ($76|0)!=(0);
    31752  $78 = $10;
    31753  $79 = ((($78)) + 12|0);
    31754  if ($77) {
    31755   $82 = $79;
    31756  } else {
    31757   $80 = ((($79)) + 8|0);
    31758   $81 = HEAP32[$80>>2]|0;
    31759   $82 = $81;
    31760  }
    31761  $8 = $82;
    31762  $83 = $10;
    31763  $84 = HEAP32[$83>>2]|0;
    31764  $85 = $84 >>> 11;
    31765  $86 = $85 & 8;
    31766  $87 = ($86|0)!=(0);
    31767  $88 = $10;
    31768  $89 = ((($88)) + 12|0);
    31769  if ($87) {
    31770   $94 = $89;
    31771  } else {
    31772   $90 = ((($89)) + 8|0);
    31773   $91 = HEAP32[$90>>2]|0;
    31774   $94 = $91;
    31775  }
    31776  $92 = $6;
    31777  $93 = (($94) + ($92)|0);
    31778  $7 = $93;
    31779  $95 = HEAP32[$2>>2]|0;
    31780  $96 = HEAP32[$95>>2]|0;
    31781  $97 = $96 >>> 11;
    31782  $98 = $97 & 8;
    31783  $99 = ($98|0)!=(0);
    31784  $100 = HEAP32[$2>>2]|0;
    31785  $101 = ((($100)) + 12|0);
    31786  if ($99) {
    31787   $104 = $101;
    31788  } else {
    31789   $102 = ((($101)) + 8|0);
    31790   $103 = HEAP32[$102>>2]|0;
    31791   $104 = $103;
    31792  }
    31793  $9 = $104;
    31794  $105 = $11;
    31795  $106 = ($105|0)!=(0);
    31796  if (!($106)) {
    31797   $130 = $6;
    31798   $4 = $130;
    31799   $131 = $4;
    31800   STACKTOP = sp;return ($131|0);
    31801  }
    31802  while(1) {
    31803   $107 = $8;
    31804   $108 = $7;
    31805   $109 = ($107>>>0)<=($108>>>0);
    31806   if (!($109)) {
    31807    label = 34;
    31808    break;
    31809   }
    31810   $110 = $7;
    31811   $111 = $9;
    31812   $112 = $11;
    31813   $113 = (_memcmp($110,$111,$112)|0);
    31814   $114 = ($113|0)==(0);
    31815   $115 = $7;
    31816   if ($114) {
    31817    break;
    31818   }
    31819   $129 = ((($115)) + -1|0);
    31820   $7 = $129;
    31821  }
    31822  if ((label|0) == 34) {
    31823   $4 = -1;
    31824   $131 = $4;
    31825   STACKTOP = sp;return ($131|0);
    31826  }
    31827  $116 = $10;
    31828  $117 = HEAP32[$116>>2]|0;
    31829  $118 = $117 >>> 11;
    31830  $119 = $118 & 8;
    31831  $120 = ($119|0)!=(0);
    31832  $121 = $10;
    31833  $122 = ((($121)) + 12|0);
    31834  if ($120) {
    31835   $127 = $122;
    31836  } else {
    31837   $123 = ((($122)) + 8|0);
    31838   $124 = HEAP32[$123>>2]|0;
    31839   $127 = $124;
    31840  }
    31841  $125 = $115;
    31842  $126 = $127;
    31843  $128 = (($125) - ($126))|0;
    31844  $4 = $128;
    31845  $131 = $4;
    31846  STACKTOP = sp;return ($131|0);
    31847 }
    31848 function _bytes2chars($0,$1) {
    31849  $0 = $0|0;
    31850  $1 = $1|0;
    31851  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    31852  var $8 = 0, $9 = 0, label = 0, sp = 0;
    31853  sp = STACKTOP;
    31854  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    31855  $2 = $0;
    31856  $3 = $1;
    31857  $4 = 0;
    31858  $5 = 0;
    31859  while(1) {
    31860   $7 = $5;
    31861   $8 = $3;
    31862   $9 = ($7|0)<($8|0);
    31863   if (!($9)) {
    31864    break;
    31865   }
    31866   $10 = $2;
    31867   $11 = $2;
    31868   $12 = $3;
    31869   $13 = (($11) + ($12)|0);
    31870   $14 = (_utf8len($10,$13)|0);
    31871   $6 = $14;
    31872   $15 = $6;
    31873   $16 = $5;
    31874   $17 = (($16) + ($15))|0;
    31875   $5 = $17;
    31876   $18 = $6;
    31877   $19 = $2;
    31878   $20 = (($19) + ($18)|0);
    31879   $2 = $20;
    31880   $21 = $4;
    31881   $22 = (($21) + 1)|0;
    31882   $4 = $22;
    31883  }
    31884  $23 = $4;
    31885  STACKTOP = sp;return ($23|0);
    31886 }
    31887 function _str_index($0,$1,$2,$3) {
    31888  $0 = $0|0;
    31889  $1 = $1|0;
    31890  $2 = $2|0;
    31891  $3 = $3|0;
    31892  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0;
    31893  var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0;
    31894  var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
    31895  var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
    31896  var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
    31897  var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    31898  sp = STACKTOP;
    31899  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    31900  $5 = $0;
    31901  $6 = $3;
    31902  $12 = HEAP32[$1>>2]|0;
    31903  $13 = HEAP32[$12>>2]|0;
    31904  $14 = $13 >>> 11;
    31905  $15 = $14 & 8;
    31906  $16 = ($15|0)!=(0);
    31907  $17 = HEAP32[$1>>2]|0;
    31908  if ($16) {
    31909   $18 = HEAP32[$17>>2]|0;
    31910   $19 = $18 >>> 11;
    31911   $20 = $19 & 496;
    31912   $21 = $20 >> 4;
    31913   $24 = $21;
    31914  } else {
    31915   $22 = ((($17)) + 12|0);
    31916   $23 = HEAP32[$22>>2]|0;
    31917   $24 = $23;
    31918  }
    31919  $10 = $24;
    31920  $25 = HEAP32[$2>>2]|0;
    31921  $26 = HEAP32[$25>>2]|0;
    31922  $27 = $26 >>> 11;
    31923  $28 = $27 & 8;
    31924  $29 = ($28|0)!=(0);
    31925  $30 = HEAP32[$2>>2]|0;
    31926  if ($29) {
    31927   $31 = HEAP32[$30>>2]|0;
    31928   $32 = $31 >>> 11;
    31929   $33 = $32 & 496;
    31930   $34 = $33 >> 4;
    31931   $37 = $34;
    31932  } else {
    31933   $35 = ((($30)) + 12|0);
    31934   $36 = HEAP32[$35>>2]|0;
    31935   $37 = $36;
    31936  }
    31937  $11 = $37;
    31938  $38 = $6;
    31939  $39 = ($38|0)<(0);
    31940  if ($39) {
    31941   $40 = $10;
    31942   $41 = $6;
    31943   $42 = (($41) + ($40))|0;
    31944   $6 = $42;
    31945   $43 = $6;
    31946   $44 = ($43|0)<(0);
    31947   if ($44) {
    31948    $4 = -1;
    31949    $116 = $4;
    31950    STACKTOP = sp;return ($116|0);
    31951   }
    31952  }
    31953  $45 = $10;
    31954  $46 = $6;
    31955  $47 = (($45) - ($46))|0;
    31956  $48 = $11;
    31957  $49 = ($47|0)<($48|0);
    31958  if ($49) {
    31959   $4 = -1;
    31960   $116 = $4;
    31961   STACKTOP = sp;return ($116|0);
    31962  }
    31963  $50 = HEAP32[$1>>2]|0;
    31964  $51 = HEAP32[$50>>2]|0;
    31965  $52 = $51 >>> 11;
    31966  $53 = $52 & 8;
    31967  $54 = ($53|0)!=(0);
    31968  $55 = HEAP32[$1>>2]|0;
    31969  $56 = ((($55)) + 12|0);
    31970  if ($54) {
    31971   $59 = $56;
    31972  } else {
    31973   $57 = ((($56)) + 8|0);
    31974   $58 = HEAP32[$57>>2]|0;
    31975   $59 = $58;
    31976  }
    31977  $8 = $59;
    31978  $60 = $6;
    31979  $61 = ($60|0)!=(0);
    31980  if ($61) {
    31981   $62 = $6;
    31982   $63 = $8;
    31983   $64 = (($63) + ($62)|0);
    31984   $8 = $64;
    31985  }
    31986  $65 = $11;
    31987  $66 = ($65|0)==(0);
    31988  if ($66) {
    31989   $67 = $6;
    31990   $4 = $67;
    31991   $116 = $4;
    31992   STACKTOP = sp;return ($116|0);
    31993  }
    31994  $68 = HEAP32[$2>>2]|0;
    31995  $69 = HEAP32[$68>>2]|0;
    31996  $70 = $69 >>> 11;
    31997  $71 = $70 & 8;
    31998  $72 = ($71|0)!=(0);
    31999  $73 = HEAP32[$2>>2]|0;
    32000  $74 = ((($73)) + 12|0);
    32001  if ($72) {
    32002   $77 = $74;
    32003  } else {
    32004   $75 = ((($74)) + 8|0);
    32005   $76 = HEAP32[$75>>2]|0;
    32006   $77 = $76;
    32007  }
    32008  $9 = $77;
    32009  $78 = HEAP32[$2>>2]|0;
    32010  $79 = HEAP32[$78>>2]|0;
    32011  $80 = $79 >>> 11;
    32012  $81 = $80 & 8;
    32013  $82 = ($81|0)!=(0);
    32014  $83 = HEAP32[$2>>2]|0;
    32015  if ($82) {
    32016   $84 = HEAP32[$83>>2]|0;
    32017   $85 = $84 >>> 11;
    32018   $86 = $85 & 496;
    32019   $87 = $86 >> 4;
    32020   $90 = $87;
    32021  } else {
    32022   $88 = ((($83)) + 12|0);
    32023   $89 = HEAP32[$88>>2]|0;
    32024   $90 = $89;
    32025  }
    32026  $11 = $90;
    32027  $91 = HEAP32[$1>>2]|0;
    32028  $92 = HEAP32[$91>>2]|0;
    32029  $93 = $92 >>> 11;
    32030  $94 = $93 & 8;
    32031  $95 = ($94|0)!=(0);
    32032  $96 = HEAP32[$1>>2]|0;
    32033  if ($95) {
    32034   $97 = HEAP32[$96>>2]|0;
    32035   $98 = $97 >>> 11;
    32036   $99 = $98 & 496;
    32037   $100 = $99 >> 4;
    32038   $105 = $100;
    32039  } else {
    32040   $101 = ((($96)) + 12|0);
    32041   $102 = HEAP32[$101>>2]|0;
    32042   $105 = $102;
    32043  }
    32044  $103 = $6;
    32045  $104 = (($105) - ($103))|0;
    32046  $10 = $104;
    32047  $106 = $9;
    32048  $107 = $11;
    32049  $108 = $8;
    32050  $109 = $10;
    32051  $110 = (_mrb_memsearch($106,$107,$108,$109)|0);
    32052  $7 = $110;
    32053  $111 = $7;
    32054  $112 = ($111|0)<(0);
    32055  $113 = $7;
    32056  if ($112) {
    32057   $4 = $113;
    32058   $116 = $4;
    32059   STACKTOP = sp;return ($116|0);
    32060  } else {
    32061   $114 = $6;
    32062   $115 = (($113) + ($114))|0;
    32063   $4 = $115;
    32064   $116 = $4;
    32065   STACKTOP = sp;return ($116|0);
    32066  }
    32067  return (0)|0;
    32068 }
    32069 function _mrb_bool_value_340($0,$1) {
    32070  $0 = $0|0;
    32071  $1 = $1|0;
    32072  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    32073  sp = STACKTOP;
    32074  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    32075  $3 = sp;
    32076  $2 = $1;
    32077  $4 = $2;
    32078  $5 = $4&255;
    32079  $6 = ($5|0)!=(0);
    32080  $7 = $6 ? 2 : 0;
    32081  $8 = ((($3)) + 4|0);
    32082  HEAP32[$8>>2] = $7;
    32083  HEAP32[$3>>2] = 1;
    32084  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    32085  STACKTOP = sp;return;
    32086 }
    32087 function _mrb_str_aref($0,$1,$2,$3) {
    32088  $0 = $0|0;
    32089  $1 = $1|0;
    32090  $2 = $2|0;
    32091  $3 = $3|0;
    32092  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
    32093  var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
    32094  var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0;
    32095  var $8 = 0, $9 = 0, label = 0, sp = 0;
    32096  sp = STACKTOP;
    32097  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    32098  $$byval_copy8 = sp + 96|0;
    32099  $$byval_copy7 = sp + 88|0;
    32100  $$byval_copy6 = sp + 80|0;
    32101  $$byval_copy5 = sp + 72|0;
    32102  $$byval_copy4 = sp + 64|0;
    32103  $$byval_copy3 = sp + 56|0;
    32104  $$byval_copy2 = sp + 48|0;
    32105  $$byval_copy1 = sp + 40|0;
    32106  $$byval_copy = sp + 32|0;
    32107  $6 = sp + 16|0;
    32108  $7 = sp + 12|0;
    32109  $8 = sp + 8|0;
    32110  $9 = sp;
    32111  $4 = $1;
    32112  $10 = $4;
    32113  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    32114  _mrb_regexp_check($10,$$byval_copy);
    32115  $11 = ((($3)) + 4|0);
    32116  $12 = HEAP32[$11>>2]|0;
    32117  switch ($12|0) {
    32118  case 3:  {
    32119   $13 = HEAP32[$3>>2]|0;
    32120   $5 = $13;
    32121   break;
    32122  }
    32123  case 16:  {
    32124   $35 = $4;
    32125   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    32126   ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0;
    32127   $36 = (_str_index($35,$$byval_copy2,$$byval_copy3,0)|0);
    32128   $37 = ($36|0)!=(-1);
    32129   if ($37) {
    32130    $38 = $4;
    32131    ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;
    32132    _mrb_str_dup($0,$38,$$byval_copy4);
    32133    STACKTOP = sp;return;
    32134   } else {
    32135    _mrb_nil_value_283($0);
    32136    STACKTOP = sp;return;
    32137   }
    32138   break;
    32139  }
    32140  case 17:  {
    32141   ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    32142   $39 = (_utf8_strlen($$byval_copy5,-1)|0);
    32143   HEAP32[$8>>2] = $39;
    32144   $40 = $4;
    32145   $41 = HEAP32[$8>>2]|0;
    32146   ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0;
    32147   $42 = (_mrb_range_beg_len($40,$$byval_copy6,$7,$8,$41)|0);
    32148   $43 = ($42<<24>>24)!=(0);
    32149   if ($43) {
    32150    $44 = $4;
    32151    $45 = HEAP32[$7>>2]|0;
    32152    $46 = HEAP32[$8>>2]|0;
    32153    ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
    32154    _str_subseq($0,$44,$$byval_copy7,$45,$46);
    32155    STACKTOP = sp;return;
    32156   } else {
    32157    _mrb_nil_value_283($0);
    32158    STACKTOP = sp;return;
    32159   }
    32160   break;
    32161  }
    32162  default: {
    32163   $47 = $4;
    32164   ;HEAP32[$$byval_copy8>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$3+4>>2]|0;
    32165   _mrb_Integer($9,$47,$$byval_copy8);
    32166   ;HEAP32[$3>>2]=HEAP32[$9>>2]|0;HEAP32[$3+4>>2]=HEAP32[$9+4>>2]|0;
    32167   $48 = ((($3)) + 4|0);
    32168   $49 = HEAP32[$48>>2]|0;
    32169   $50 = ($49|0)==(0);
    32170   if ($50) {
    32171    $51 = HEAP32[$3>>2]|0;
    32172    $52 = ($51|0)!=(0);
    32173    if (!($52)) {
    32174     $53 = $4;
    32175     $54 = $4;
    32176     $55 = (_mrb_class_get($54,69204)|0);
    32177     _mrb_raise($53,$55,56408);
    32178     // unreachable;
    32179    }
    32180   }
    32181   $56 = HEAP32[$3>>2]|0;
    32182   $5 = $56;
    32183  }
    32184  }
    32185  $14 = $4;
    32186  $15 = $5;
    32187  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    32188  _str_substr($6,$14,$$byval_copy1,$15,1);
    32189  ;HEAP32[$2>>2]=HEAP32[$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$6+4>>2]|0;
    32190  $16 = ((($2)) + 4|0);
    32191  $17 = HEAP32[$16>>2]|0;
    32192  $18 = ($17|0)==(0);
    32193  if ($18) {
    32194   $19 = HEAP32[$2>>2]|0;
    32195   $20 = ($19|0)!=(0);
    32196   if ($20) {
    32197    label = 5;
    32198   }
    32199  } else {
    32200   label = 5;
    32201  }
    32202  if ((label|0) == 5) {
    32203   $21 = HEAP32[$2>>2]|0;
    32204   $22 = HEAP32[$21>>2]|0;
    32205   $23 = $22 >>> 11;
    32206   $24 = $23 & 8;
    32207   $25 = ($24|0)!=(0);
    32208   $26 = HEAP32[$2>>2]|0;
    32209   if ($25) {
    32210    $27 = HEAP32[$26>>2]|0;
    32211    $28 = $27 >>> 11;
    32212    $29 = $28 & 496;
    32213    $30 = $29 >> 4;
    32214    $34 = $30;
    32215   } else {
    32216    $31 = ((($26)) + 12|0);
    32217    $32 = HEAP32[$31>>2]|0;
    32218    $34 = $32;
    32219   }
    32220   $33 = ($34|0)==(0);
    32221   if ($33) {
    32222    _mrb_nil_value_283($0);
    32223    STACKTOP = sp;return;
    32224   }
    32225  }
    32226  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    32227  STACKTOP = sp;return;
    32228 }
    32229 function _kh_alloc_n2s($0,$1) {
    32230  $0 = $0|0;
    32231  $1 = $1|0;
    32232  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    32233  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    32234  sp = STACKTOP;
    32235  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    32236  $2 = $0;
    32237  $3 = $1;
    32238  $7 = $3;
    32239  $8 = HEAP32[$7>>2]|0;
    32240  $4 = $8;
    32241  $5 = 4;
    32242  $9 = $2;
    32243  $10 = $4;
    32244  $11 = $10;
    32245  $12 = (($11>>>0) / 4)&-1;
    32246  $13 = $5;
    32247  $14 = $4;
    32248  $15 = Math_imul($13, $14)|0;
    32249  $16 = (($12) + ($15))|0;
    32250  $17 = (_mrb_malloc($9,$16)|0);
    32251  $6 = $17;
    32252  $18 = $3;
    32253  $19 = ((($18)) + 8|0);
    32254  HEAP32[$19>>2] = 0;
    32255  $20 = $3;
    32256  $21 = ((($20)) + 4|0);
    32257  HEAP32[$21>>2] = 0;
    32258  $22 = $6;
    32259  $23 = $3;
    32260  $24 = ((($23)) + 16|0);
    32261  HEAP32[$24>>2] = $22;
    32262  $25 = $3;
    32263  $26 = ((($25)) + 20|0);
    32264  HEAP32[$26>>2] = 0;
    32265  $27 = $6;
    32266  $28 = $5;
    32267  $29 = $4;
    32268  $30 = Math_imul($28, $29)|0;
    32269  $31 = (($27) + ($30)|0);
    32270  $32 = $3;
    32271  $33 = ((($32)) + 12|0);
    32272  HEAP32[$33>>2] = $31;
    32273  $34 = $3;
    32274  $35 = ((($34)) + 12|0);
    32275  $36 = HEAP32[$35>>2]|0;
    32276  $37 = $4;
    32277  $38 = (($37>>>0) / 4)&-1;
    32278  _kh_fill_flags_342($36,-86,$38);
    32279  STACKTOP = sp;return;
    32280 }
    32281 function _kh_fill_flags_342($0,$1,$2) {
    32282  $0 = $0|0;
    32283  $1 = $1|0;
    32284  $2 = $2|0;
    32285  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    32286  sp = STACKTOP;
    32287  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    32288  $3 = $0;
    32289  $4 = $1;
    32290  $5 = $2;
    32291  while(1) {
    32292   $6 = $5;
    32293   $7 = (($6) + -1)|0;
    32294   $5 = $7;
    32295   $8 = ($6>>>0)>(0);
    32296   if (!($8)) {
    32297    break;
    32298   }
    32299   $9 = $4;
    32300   $10 = $3;
    32301   $11 = ((($10)) + 1|0);
    32302   $3 = $11;
    32303   HEAP8[$10>>0] = $9;
    32304  }
    32305  STACKTOP = sp;return;
    32306 }
    32307 function _kh_init_n2s_size($0,$1) {
    32308  $0 = $0|0;
    32309  $1 = $1|0;
    32310  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    32311  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    32312  sp = STACKTOP;
    32313  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    32314  $2 = $0;
    32315  $3 = $1;
    32316  $5 = $2;
    32317  $6 = (_mrb_calloc($5,1,24)|0);
    32318  $4 = $6;
    32319  $7 = $3;
    32320  $8 = ($7>>>0)<(8);
    32321  if ($8) {
    32322   $3 = 8;
    32323  }
    32324  $9 = $3;
    32325  $10 = (($9) + -1)|0;
    32326  $3 = $10;
    32327  $11 = $3;
    32328  $12 = $11 >>> 1;
    32329  $13 = $3;
    32330  $14 = $13 | $12;
    32331  $3 = $14;
    32332  $15 = $3;
    32333  $16 = $15 >>> 2;
    32334  $17 = $3;
    32335  $18 = $17 | $16;
    32336  $3 = $18;
    32337  $19 = $3;
    32338  $20 = $19 >>> 4;
    32339  $21 = $3;
    32340  $22 = $21 | $20;
    32341  $3 = $22;
    32342  $23 = $3;
    32343  $24 = $23 >>> 8;
    32344  $25 = $3;
    32345  $26 = $25 | $24;
    32346  $3 = $26;
    32347  $27 = $3;
    32348  $28 = $27 >>> 16;
    32349  $29 = $3;
    32350  $30 = $29 | $28;
    32351  $3 = $30;
    32352  $31 = $3;
    32353  $32 = (($31) + 1)|0;
    32354  $3 = $32;
    32355  $33 = $3;
    32356  $34 = $4;
    32357  HEAP32[$34>>2] = $33;
    32358  $35 = $2;
    32359  $36 = $4;
    32360  _kh_alloc_n2s($35,$36);
    32361  $37 = $4;
    32362  STACKTOP = sp;return ($37|0);
    32363 }
    32364 function _kh_init_n2s($0) {
    32365  $0 = $0|0;
    32366  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    32367  sp = STACKTOP;
    32368  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    32369  $1 = $0;
    32370  $2 = $1;
    32371  $3 = (_kh_init_n2s_size($2,8)|0);
    32372  STACKTOP = sp;return ($3|0);
    32373 }
    32374 function _kh_destroy_n2s($0,$1) {
    32375  $0 = $0|0;
    32376  $1 = $1|0;
    32377  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    32378  sp = STACKTOP;
    32379  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    32380  $2 = $0;
    32381  $3 = $1;
    32382  $4 = $3;
    32383  $5 = ($4|0)!=(0|0);
    32384  if (!($5)) {
    32385   STACKTOP = sp;return;
    32386  }
    32387  $6 = $2;
    32388  $7 = $3;
    32389  $8 = ((($7)) + 16|0);
    32390  $9 = HEAP32[$8>>2]|0;
    32391  _mrb_free($6,$9);
    32392  $10 = $2;
    32393  $11 = $3;
    32394  _mrb_free($10,$11);
    32395  STACKTOP = sp;return;
    32396 }
    32397 function _kh_get_n2s($0,$1,$2) {
    32398  $0 = $0|0;
    32399  $1 = $1|0;
    32400  $2 = $2|0;
    32401  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
    32402  var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
    32403  var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
    32404  var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
    32405  var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
    32406  var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    32407  sp = STACKTOP;
    32408  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    32409  $4 = $0;
    32410  $5 = $1;
    32411  $6 = $2;
    32412  $9 = $4;
    32413  $10 = $6;
    32414  $11 = (_sym_hash_func($9,$10)|0);
    32415  $12 = $5;
    32416  $13 = HEAP32[$12>>2]|0;
    32417  $14 = (($13) - 1)|0;
    32418  $15 = $11 & $14;
    32419  $7 = $15;
    32420  $8 = 0;
    32421  while(1) {
    32422   $16 = $5;
    32423   $17 = ((($16)) + 12|0);
    32424   $18 = HEAP32[$17>>2]|0;
    32425   $19 = $7;
    32426   $20 = (($19>>>0) / 4)&-1;
    32427   $21 = (($18) + ($20)|0);
    32428   $22 = HEAP8[$21>>0]|0;
    32429   $23 = $22&255;
    32430   $24 = $7;
    32431   $25 = (($24>>>0) % 4)&-1;
    32432   $26 = (56449 + ($25)|0);
    32433   $27 = HEAP8[$26>>0]|0;
    32434   $28 = $27&255;
    32435   $29 = $23 & $28;
    32436   $30 = ($29|0)!=(0);
    32437   $31 = $30 ^ 1;
    32438   $32 = $5;
    32439   if (!($31)) {
    32440    label = 8;
    32441    break;
    32442   }
    32443   $33 = ((($32)) + 12|0);
    32444   $34 = HEAP32[$33>>2]|0;
    32445   $35 = $7;
    32446   $36 = (($35>>>0) / 4)&-1;
    32447   $37 = (($34) + ($36)|0);
    32448   $38 = HEAP8[$37>>0]|0;
    32449   $39 = $38&255;
    32450   $40 = $7;
    32451   $41 = (($40>>>0) % 4)&-1;
    32452   $42 = (56453 + ($41)|0);
    32453   $43 = HEAP8[$42>>0]|0;
    32454   $44 = $43&255;
    32455   $45 = $39 & $44;
    32456   $46 = ($45|0)!=(0);
    32457   if (!($46)) {
    32458    $47 = $4;
    32459    $48 = ((($47)) + 560|0);
    32460    $49 = HEAP32[$48>>2]|0;
    32461    $50 = $5;
    32462    $51 = ((($50)) + 16|0);
    32463    $52 = HEAP32[$51>>2]|0;
    32464    $53 = $7;
    32465    $54 = (($52) + ($53<<2)|0);
    32466    $55 = HEAP32[$54>>2]|0;
    32467    $56 = (($49) + ($55<<3)|0);
    32468    $57 = ((($56)) + 2|0);
    32469    $58 = HEAP16[$57>>1]|0;
    32470    $59 = $58&65535;
    32471    $60 = $4;
    32472    $61 = ((($60)) + 560|0);
    32473    $62 = HEAP32[$61>>2]|0;
    32474    $63 = $6;
    32475    $64 = (($62) + ($63<<3)|0);
    32476    $65 = ((($64)) + 2|0);
    32477    $66 = HEAP16[$65>>1]|0;
    32478    $67 = $66&65535;
    32479    $68 = ($59|0)==($67|0);
    32480    if ($68) {
    32481     $69 = $4;
    32482     $70 = ((($69)) + 560|0);
    32483     $71 = HEAP32[$70>>2]|0;
    32484     $72 = $5;
    32485     $73 = ((($72)) + 16|0);
    32486     $74 = HEAP32[$73>>2]|0;
    32487     $75 = $7;
    32488     $76 = (($74) + ($75<<2)|0);
    32489     $77 = HEAP32[$76>>2]|0;
    32490     $78 = (($71) + ($77<<3)|0);
    32491     $79 = ((($78)) + 4|0);
    32492     $80 = HEAP32[$79>>2]|0;
    32493     $81 = $4;
    32494     $82 = ((($81)) + 560|0);
    32495     $83 = HEAP32[$82>>2]|0;
    32496     $84 = $6;
    32497     $85 = (($83) + ($84<<3)|0);
    32498     $86 = ((($85)) + 4|0);
    32499     $87 = HEAP32[$86>>2]|0;
    32500     $88 = $4;
    32501     $89 = ((($88)) + 560|0);
    32502     $90 = HEAP32[$89>>2]|0;
    32503     $91 = $5;
    32504     $92 = ((($91)) + 16|0);
    32505     $93 = HEAP32[$92>>2]|0;
    32506     $94 = $7;
    32507     $95 = (($93) + ($94<<2)|0);
    32508     $96 = HEAP32[$95>>2]|0;
    32509     $97 = (($90) + ($96<<3)|0);
    32510     $98 = ((($97)) + 2|0);
    32511     $99 = HEAP16[$98>>1]|0;
    32512     $100 = $99&65535;
    32513     $101 = (_memcmp($80,$87,$100)|0);
    32514     $102 = ($101|0)==(0);
    32515     if ($102) {
    32516      label = 6;
    32517      break;
    32518     }
    32519    }
    32520   }
    32521   $104 = $7;
    32522   $105 = $8;
    32523   $106 = (($105) + 1)|0;
    32524   $8 = $106;
    32525   $107 = (($104) + ($106))|0;
    32526   $108 = $5;
    32527   $109 = HEAP32[$108>>2]|0;
    32528   $110 = (($109) - 1)|0;
    32529   $111 = $107 & $110;
    32530   $7 = $111;
    32531  }
    32532  if ((label|0) == 6) {
    32533   $103 = $7;
    32534   $3 = $103;
    32535   $113 = $3;
    32536   STACKTOP = sp;return ($113|0);
    32537  }
    32538  else if ((label|0) == 8) {
    32539   $112 = HEAP32[$32>>2]|0;
    32540   $3 = $112;
    32541   $113 = $3;
    32542   STACKTOP = sp;return ($113|0);
    32543  }
    32544  return (0)|0;
    32545 }
    32546 function _sym_hash_func($0,$1) {
    32547  $0 = $0|0;
    32548  $1 = $1|0;
    32549  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    32550  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    32551  sp = STACKTOP;
    32552  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    32553  $2 = $0;
    32554  $3 = $1;
    32555  $4 = 0;
    32556  $8 = $2;
    32557  $9 = ((($8)) + 560|0);
    32558  $10 = HEAP32[$9>>2]|0;
    32559  $11 = $3;
    32560  $12 = (($10) + ($11<<3)|0);
    32561  $13 = ((($12)) + 2|0);
    32562  $14 = HEAP16[$13>>1]|0;
    32563  $15 = $14&65535;
    32564  $6 = $15;
    32565  $16 = $2;
    32566  $17 = ((($16)) + 560|0);
    32567  $18 = HEAP32[$17>>2]|0;
    32568  $19 = $3;
    32569  $20 = (($18) + ($19<<3)|0);
    32570  $21 = ((($20)) + 4|0);
    32571  $22 = HEAP32[$21>>2]|0;
    32572  $7 = $22;
    32573  $5 = 0;
    32574  while(1) {
    32575   $23 = $5;
    32576   $24 = $6;
    32577   $25 = ($23>>>0)<($24>>>0);
    32578   $26 = $4;
    32579   if (!($25)) {
    32580    break;
    32581   }
    32582   $27 = $26 << 5;
    32583   $28 = $4;
    32584   $29 = (($27) - ($28))|0;
    32585   $30 = $7;
    32586   $31 = ((($30)) + 1|0);
    32587   $7 = $31;
    32588   $32 = HEAP8[$30>>0]|0;
    32589   $33 = $32 << 24 >> 24;
    32590   $34 = (($29) + ($33))|0;
    32591   $4 = $34;
    32592   $35 = $5;
    32593   $36 = (($35) + 1)|0;
    32594   $5 = $36;
    32595  }
    32596  STACKTOP = sp;return ($26|0);
    32597 }
    32598 function _kh_resize_n2s($0,$1,$2) {
    32599  $0 = $0|0;
    32600  $1 = $1|0;
    32601  $2 = $2|0;
    32602  var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    32603  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    32604  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    32605  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    32606  sp = STACKTOP;
    32607  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    32608  $6 = sp + 24|0;
    32609  $3 = $0;
    32610  $4 = $1;
    32611  $5 = $2;
    32612  $13 = $5;
    32613  $14 = ($13>>>0)<(8);
    32614  $$ = $14 ? 8 : $2;
    32615  $5 = $$;
    32616  $15 = $5;
    32617  $16 = (($15) + -1)|0;
    32618  $5 = $16;
    32619  $17 = $5;
    32620  $18 = $17 >>> 1;
    32621  $19 = $5;
    32622  $20 = $19 | $18;
    32623  $5 = $20;
    32624  $21 = $5;
    32625  $22 = $21 >>> 2;
    32626  $23 = $5;
    32627  $24 = $23 | $22;
    32628  $5 = $24;
    32629  $25 = $5;
    32630  $26 = $25 >>> 4;
    32631  $27 = $5;
    32632  $28 = $27 | $26;
    32633  $5 = $28;
    32634  $29 = $5;
    32635  $30 = $29 >>> 8;
    32636  $31 = $5;
    32637  $32 = $31 | $30;
    32638  $5 = $32;
    32639  $33 = $5;
    32640  $34 = $33 >>> 16;
    32641  $35 = $5;
    32642  $36 = $35 | $34;
    32643  $5 = $36;
    32644  $37 = $5;
    32645  $38 = (($37) + 1)|0;
    32646  $5 = $38;
    32647  $39 = $4;
    32648  $40 = ((($39)) + 12|0);
    32649  $41 = HEAP32[$40>>2]|0;
    32650  $7 = $41;
    32651  $42 = $4;
    32652  $43 = ((($42)) + 16|0);
    32653  $44 = HEAP32[$43>>2]|0;
    32654  $8 = $44;
    32655  $45 = $4;
    32656  $46 = ((($45)) + 20|0);
    32657  $47 = HEAP32[$46>>2]|0;
    32658  $9 = $47;
    32659  $48 = $4;
    32660  $49 = HEAP32[$48>>2]|0;
    32661  $10 = $49;
    32662  $50 = $5;
    32663  HEAP32[$6>>2] = $50;
    32664  $51 = $3;
    32665  _kh_alloc_n2s($51,$6);
    32666  $11 = 0;
    32667  while(1) {
    32668   $52 = $11;
    32669   $53 = $10;
    32670   $54 = ($52>>>0)<($53>>>0);
    32671   if (!($54)) {
    32672    break;
    32673   }
    32674   $55 = $7;
    32675   $56 = $11;
    32676   $57 = (($56>>>0) / 4)&-1;
    32677   $58 = (($55) + ($57)|0);
    32678   $59 = HEAP8[$58>>0]|0;
    32679   $60 = $59&255;
    32680   $61 = $11;
    32681   $62 = (($61>>>0) % 4)&-1;
    32682   $63 = (56457 + ($62)|0);
    32683   $64 = HEAP8[$63>>0]|0;
    32684   $65 = $64&255;
    32685   $66 = $60 & $65;
    32686   $67 = ($66|0)!=(0);
    32687   if (!($67)) {
    32688    $68 = $3;
    32689    $69 = $8;
    32690    $70 = $11;
    32691    $71 = (($69) + ($70<<2)|0);
    32692    $72 = HEAP32[$71>>2]|0;
    32693    $73 = (_kh_put_n2s($68,$6,$72,0)|0);
    32694    $12 = $73;
    32695   }
    32696   $74 = $11;
    32697   $75 = (($74) + 1)|0;
    32698   $11 = $75;
    32699  }
    32700  $76 = $4;
    32701  ;HEAP32[$76>>2]=HEAP32[$6>>2]|0;HEAP32[$76+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$76+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$76+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$76+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$76+20>>2]=HEAP32[$6+20>>2]|0;
    32702  $77 = $3;
    32703  $78 = $8;
    32704  _mrb_free($77,$78);
    32705  STACKTOP = sp;return;
    32706 }
    32707 function _kh_put_n2s($0,$1,$2,$3) {
    32708  $0 = $0|0;
    32709  $1 = $1|0;
    32710  $2 = $2|0;
    32711  $3 = $3|0;
    32712  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    32713  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    32714  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    32715  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    32716  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    32717  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $21 = 0, $22 = 0, $23 = 0;
    32718  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
    32719  var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
    32720  var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
    32721  var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
    32722  var $98 = 0, $99 = 0, label = 0, sp = 0;
    32723  sp = STACKTOP;
    32724  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    32725  $5 = $0;
    32726  $6 = $1;
    32727  $7 = $2;
    32728  $8 = $3;
    32729  $11 = 0;
    32730  $12 = $6;
    32731  $13 = ((($12)) + 8|0);
    32732  $14 = HEAP32[$13>>2]|0;
    32733  $15 = $6;
    32734  $16 = HEAP32[$15>>2]|0;
    32735  $17 = $16 >>> 2;
    32736  $18 = $6;
    32737  $19 = HEAP32[$18>>2]|0;
    32738  $20 = $19 >>> 1;
    32739  $21 = $17 | $20;
    32740  $22 = ($14>>>0)>=($21>>>0);
    32741  if ($22) {
    32742   $23 = $5;
    32743   $24 = $6;
    32744   $25 = $6;
    32745   $26 = HEAP32[$25>>2]|0;
    32746   $27 = $26<<1;
    32747   _kh_resize_n2s($23,$24,$27);
    32748  }
    32749  $28 = $5;
    32750  $29 = $7;
    32751  $30 = (_sym_hash_func($28,$29)|0);
    32752  $31 = $6;
    32753  $32 = HEAP32[$31>>2]|0;
    32754  $33 = (($32) - 1)|0;
    32755  $34 = $30 & $33;
    32756  $9 = $34;
    32757  $35 = $6;
    32758  $36 = HEAP32[$35>>2]|0;
    32759  $10 = $36;
    32760  while(1) {
    32761   $37 = $6;
    32762   $38 = ((($37)) + 12|0);
    32763   $39 = HEAP32[$38>>2]|0;
    32764   $40 = $9;
    32765   $41 = (($40>>>0) / 4)&-1;
    32766   $42 = (($39) + ($41)|0);
    32767   $43 = HEAP8[$42>>0]|0;
    32768   $44 = $43&255;
    32769   $45 = $9;
    32770   $46 = (($45>>>0) % 4)&-1;
    32771   $47 = (56449 + ($46)|0);
    32772   $48 = HEAP8[$47>>0]|0;
    32773   $49 = $48&255;
    32774   $50 = $44 & $49;
    32775   $51 = ($50|0)!=(0);
    32776   $52 = $51 ^ 1;
    32777   if (!($52)) {
    32778    break;
    32779   }
    32780   $53 = $6;
    32781   $54 = ((($53)) + 12|0);
    32782   $55 = HEAP32[$54>>2]|0;
    32783   $56 = $9;
    32784   $57 = (($56>>>0) / 4)&-1;
    32785   $58 = (($55) + ($57)|0);
    32786   $59 = HEAP8[$58>>0]|0;
    32787   $60 = $59&255;
    32788   $61 = $9;
    32789   $62 = (($61>>>0) % 4)&-1;
    32790   $63 = (56453 + ($62)|0);
    32791   $64 = HEAP8[$63>>0]|0;
    32792   $65 = $64&255;
    32793   $66 = $60 & $65;
    32794   $67 = ($66|0)!=(0);
    32795   if ($67) {
    32796    $128 = $10;
    32797    $129 = $6;
    32798    $130 = HEAP32[$129>>2]|0;
    32799    $131 = ($128|0)==($130|0);
    32800    if ($131) {
    32801     $132 = $9;
    32802     $10 = $132;
    32803    }
    32804   } else {
    32805    $68 = $5;
    32806    $69 = ((($68)) + 560|0);
    32807    $70 = HEAP32[$69>>2]|0;
    32808    $71 = $6;
    32809    $72 = ((($71)) + 16|0);
    32810    $73 = HEAP32[$72>>2]|0;
    32811    $74 = $9;
    32812    $75 = (($73) + ($74<<2)|0);
    32813    $76 = HEAP32[$75>>2]|0;
    32814    $77 = (($70) + ($76<<3)|0);
    32815    $78 = ((($77)) + 2|0);
    32816    $79 = HEAP16[$78>>1]|0;
    32817    $80 = $79&65535;
    32818    $81 = $5;
    32819    $82 = ((($81)) + 560|0);
    32820    $83 = HEAP32[$82>>2]|0;
    32821    $84 = $7;
    32822    $85 = (($83) + ($84<<3)|0);
    32823    $86 = ((($85)) + 2|0);
    32824    $87 = HEAP16[$86>>1]|0;
    32825    $88 = $87&65535;
    32826    $89 = ($80|0)==($88|0);
    32827    if ($89) {
    32828     $90 = $5;
    32829     $91 = ((($90)) + 560|0);
    32830     $92 = HEAP32[$91>>2]|0;
    32831     $93 = $6;
    32832     $94 = ((($93)) + 16|0);
    32833     $95 = HEAP32[$94>>2]|0;
    32834     $96 = $9;
    32835     $97 = (($95) + ($96<<2)|0);
    32836     $98 = HEAP32[$97>>2]|0;
    32837     $99 = (($92) + ($98<<3)|0);
    32838     $100 = ((($99)) + 4|0);
    32839     $101 = HEAP32[$100>>2]|0;
    32840     $102 = $5;
    32841     $103 = ((($102)) + 560|0);
    32842     $104 = HEAP32[$103>>2]|0;
    32843     $105 = $7;
    32844     $106 = (($104) + ($105<<3)|0);
    32845     $107 = ((($106)) + 4|0);
    32846     $108 = HEAP32[$107>>2]|0;
    32847     $109 = $5;
    32848     $110 = ((($109)) + 560|0);
    32849     $111 = HEAP32[$110>>2]|0;
    32850     $112 = $6;
    32851     $113 = ((($112)) + 16|0);
    32852     $114 = HEAP32[$113>>2]|0;
    32853     $115 = $9;
    32854     $116 = (($114) + ($115<<2)|0);
    32855     $117 = HEAP32[$116>>2]|0;
    32856     $118 = (($111) + ($117<<3)|0);
    32857     $119 = ((($118)) + 2|0);
    32858     $120 = HEAP16[$119>>1]|0;
    32859     $121 = $120&65535;
    32860     $122 = (_memcmp($101,$108,$121)|0);
    32861     $123 = ($122|0)==(0);
    32862     if ($123) {
    32863      label = 8;
    32864      break;
    32865     }
    32866    }
    32867   }
    32868   $133 = $9;
    32869   $134 = $11;
    32870   $135 = (($134) + 1)|0;
    32871   $11 = $135;
    32872   $136 = (($133) + ($135))|0;
    32873   $137 = $6;
    32874   $138 = HEAP32[$137>>2]|0;
    32875   $139 = (($138) - 1)|0;
    32876   $140 = $136 & $139;
    32877   $9 = $140;
    32878  }
    32879  if ((label|0) == 8) {
    32880   $124 = $8;
    32881   $125 = ($124|0)!=(0|0);
    32882   if ($125) {
    32883    $126 = $8;
    32884    HEAP32[$126>>2] = 0;
    32885   }
    32886   $127 = $9;
    32887   $4 = $127;
    32888   $205 = $4;
    32889   STACKTOP = sp;return ($205|0);
    32890  }
    32891  $141 = $10;
    32892  $142 = $6;
    32893  $143 = HEAP32[$142>>2]|0;
    32894  $144 = ($141|0)!=($143|0);
    32895  $145 = $7;
    32896  $146 = $6;
    32897  $147 = ((($146)) + 16|0);
    32898  $148 = HEAP32[$147>>2]|0;
    32899  if ($144) {
    32900   $149 = $10;
    32901   $150 = (($148) + ($149<<2)|0);
    32902   HEAP32[$150>>2] = $145;
    32903   $151 = $10;
    32904   $152 = (($151>>>0) % 4)&-1;
    32905   $153 = (56453 + ($152)|0);
    32906   $154 = HEAP8[$153>>0]|0;
    32907   $155 = $154&255;
    32908   $156 = $155 ^ -1;
    32909   $157 = $6;
    32910   $158 = ((($157)) + 12|0);
    32911   $159 = HEAP32[$158>>2]|0;
    32912   $160 = $10;
    32913   $161 = (($160>>>0) / 4)&-1;
    32914   $162 = (($159) + ($161)|0);
    32915   $163 = HEAP8[$162>>0]|0;
    32916   $164 = $163&255;
    32917   $165 = $164 & $156;
    32918   $166 = $165&255;
    32919   HEAP8[$162>>0] = $166;
    32920   $167 = $6;
    32921   $168 = ((($167)) + 4|0);
    32922   $169 = HEAP32[$168>>2]|0;
    32923   $170 = (($169) + 1)|0;
    32924   HEAP32[$168>>2] = $170;
    32925   $171 = $8;
    32926   $172 = ($171|0)!=(0|0);
    32927   if ($172) {
    32928    $173 = $8;
    32929    HEAP32[$173>>2] = 2;
    32930   }
    32931   $174 = $10;
    32932   $4 = $174;
    32933   $205 = $4;
    32934   STACKTOP = sp;return ($205|0);
    32935  } else {
    32936   $175 = $9;
    32937   $176 = (($148) + ($175<<2)|0);
    32938   HEAP32[$176>>2] = $145;
    32939   $177 = $9;
    32940   $178 = (($177>>>0) % 4)&-1;
    32941   $179 = (56449 + ($178)|0);
    32942   $180 = HEAP8[$179>>0]|0;
    32943   $181 = $180&255;
    32944   $182 = $181 ^ -1;
    32945   $183 = $6;
    32946   $184 = ((($183)) + 12|0);
    32947   $185 = HEAP32[$184>>2]|0;
    32948   $186 = $9;
    32949   $187 = (($186>>>0) / 4)&-1;
    32950   $188 = (($185) + ($187)|0);
    32951   $189 = HEAP8[$188>>0]|0;
    32952   $190 = $189&255;
    32953   $191 = $190 & $182;
    32954   $192 = $191&255;
    32955   HEAP8[$188>>0] = $192;
    32956   $193 = $6;
    32957   $194 = ((($193)) + 4|0);
    32958   $195 = HEAP32[$194>>2]|0;
    32959   $196 = (($195) + 1)|0;
    32960   HEAP32[$194>>2] = $196;
    32961   $197 = $6;
    32962   $198 = ((($197)) + 8|0);
    32963   $199 = HEAP32[$198>>2]|0;
    32964   $200 = (($199) + 1)|0;
    32965   HEAP32[$198>>2] = $200;
    32966   $201 = $8;
    32967   $202 = ($201|0)!=(0|0);
    32968   if ($202) {
    32969    $203 = $8;
    32970    HEAP32[$203>>2] = 1;
    32971   }
    32972   $204 = $9;
    32973   $4 = $204;
    32974   $205 = $4;
    32975   STACKTOP = sp;return ($205|0);
    32976  }
    32977  return (0)|0;
    32978 }
    32979 function _mrb_intern($0,$1,$2) {
    32980  $0 = $0|0;
    32981  $1 = $1|0;
    32982  $2 = $2|0;
    32983  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    32984  sp = STACKTOP;
    32985  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    32986  $3 = $0;
    32987  $4 = $1;
    32988  $5 = $2;
    32989  $6 = $3;
    32990  $7 = $4;
    32991  $8 = $5;
    32992  $9 = (_sym_intern($6,$7,$8,0)|0);
    32993  STACKTOP = sp;return ($9|0);
    32994 }
    32995 function _sym_intern($0,$1,$2,$3) {
    32996  $0 = $0|0;
    32997  $1 = $1|0;
    32998  $2 = $2|0;
    32999  $3 = $3|0;
    33000  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    33001  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    33002  var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    33003  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    33004  var $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
    33005  var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0;
    33006  var sp = 0;
    33007  sp = STACKTOP;
    33008  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    33009  $5 = $0;
    33010  $6 = $1;
    33011  $7 = $2;
    33012  $8 = $3;
    33013  $14 = $5;
    33014  $15 = ((($14)) + 556|0);
    33015  $16 = HEAP32[$15>>2]|0;
    33016  $9 = $16;
    33017  $17 = $5;
    33018  $18 = ((($17)) + 560|0);
    33019  $19 = HEAP32[$18>>2]|0;
    33020  $10 = $19;
    33021  $20 = $5;
    33022  $21 = $7;
    33023  _sym_validate_len($20,$21);
    33024  $22 = $10;
    33025  $23 = ($22|0)!=(0|0);
    33026  if ($23) {
    33027   $24 = $8;
    33028   $25 = $10;
    33029   $26 = HEAP8[$25>>0]|0;
    33030   $27 = $24 & 1;
    33031   $28 = $26 & -2;
    33032   $29 = $28 | $27;
    33033   HEAP8[$25>>0] = $29;
    33034   $30 = $7;
    33035   $31 = $30&65535;
    33036   $32 = $10;
    33037   $33 = ((($32)) + 2|0);
    33038   HEAP16[$33>>1] = $31;
    33039   $34 = $6;
    33040   $35 = $10;
    33041   $36 = ((($35)) + 4|0);
    33042   HEAP32[$36>>2] = $34;
    33043   $37 = $5;
    33044   $38 = $9;
    33045   $39 = (_kh_get_n2s($37,$38,0)|0);
    33046   $11 = $39;
    33047   $40 = $11;
    33048   $41 = $9;
    33049   $42 = HEAP32[$41>>2]|0;
    33050   $43 = ($40|0)!=($42|0);
    33051   if ($43) {
    33052    $44 = $9;
    33053    $45 = ((($44)) + 16|0);
    33054    $46 = HEAP32[$45>>2]|0;
    33055    $47 = $11;
    33056    $48 = (($46) + ($47<<2)|0);
    33057    $49 = HEAP32[$48>>2]|0;
    33058    $4 = $49;
    33059    $122 = $4;
    33060    STACKTOP = sp;return ($122|0);
    33061   }
    33062  }
    33063  $50 = $5;
    33064  $51 = ((($50)) + 552|0);
    33065  $52 = HEAP32[$51>>2]|0;
    33066  $53 = (($52) + 1)|0;
    33067  HEAP32[$51>>2] = $53;
    33068  $12 = $53;
    33069  $54 = $5;
    33070  $55 = ((($54)) + 564|0);
    33071  $56 = HEAP32[$55>>2]|0;
    33072  $57 = $12;
    33073  $58 = ($56>>>0)<($57>>>0);
    33074  if ($58) {
    33075   $59 = $5;
    33076   $60 = ((($59)) + 564|0);
    33077   $61 = HEAP32[$60>>2]|0;
    33078   $62 = ($61|0)==(0);
    33079   $63 = $5;
    33080   $64 = ((($63)) + 564|0);
    33081   if ($62) {
    33082    HEAP32[$64>>2] = 100;
    33083   } else {
    33084    $65 = HEAP32[$64>>2]|0;
    33085    $66 = (+($65>>>0));
    33086    $67 = $66 * 1.2;
    33087    $68 = (~~(($67))>>>0);
    33088    $69 = $5;
    33089    $70 = ((($69)) + 564|0);
    33090    HEAP32[$70>>2] = $68;
    33091   }
    33092   $71 = $5;
    33093   $72 = $5;
    33094   $73 = ((($72)) + 560|0);
    33095   $74 = HEAP32[$73>>2]|0;
    33096   $75 = $5;
    33097   $76 = ((($75)) + 564|0);
    33098   $77 = HEAP32[$76>>2]|0;
    33099   $78 = (($77) + 1)|0;
    33100   $79 = $78<<3;
    33101   $80 = (_mrb_realloc($71,$74,$79)|0);
    33102   $81 = $5;
    33103   $82 = ((($81)) + 560|0);
    33104   HEAP32[$82>>2] = $80;
    33105  }
    33106  $83 = $5;
    33107  $84 = ((($83)) + 560|0);
    33108  $85 = HEAP32[$84>>2]|0;
    33109  $86 = $12;
    33110  $87 = (($85) + ($86<<3)|0);
    33111  $10 = $87;
    33112  $88 = $7;
    33113  $89 = $88&65535;
    33114  $90 = $10;
    33115  $91 = ((($90)) + 2|0);
    33116  HEAP16[$91>>1] = $89;
    33117  $92 = $8;
    33118  $93 = $92&255;
    33119  $94 = ($93|0)!=(0);
    33120  if ($94) {
    33121   $95 = $6;
    33122   $96 = $10;
    33123   $97 = ((($96)) + 4|0);
    33124   HEAP32[$97>>2] = $95;
    33125   $98 = $10;
    33126   $99 = HEAP8[$98>>0]|0;
    33127   $100 = $99 & -2;
    33128   $101 = $100 | 1;
    33129   HEAP8[$98>>0] = $101;
    33130  } else {
    33131   $102 = $5;
    33132   $103 = $7;
    33133   $104 = (($103) + 1)|0;
    33134   $105 = (_mrb_malloc($102,$104)|0);
    33135   $13 = $105;
    33136   $106 = $13;
    33137   $107 = $6;
    33138   $108 = $7;
    33139   _memcpy(($106|0),($107|0),($108|0))|0;
    33140   $109 = $13;
    33141   $110 = $7;
    33142   $111 = (($109) + ($110)|0);
    33143   HEAP8[$111>>0] = 0;
    33144   $112 = $13;
    33145   $113 = $10;
    33146   $114 = ((($113)) + 4|0);
    33147   HEAP32[$114>>2] = $112;
    33148   $115 = $10;
    33149   $116 = HEAP8[$115>>0]|0;
    33150   $117 = $116 & -2;
    33151   HEAP8[$115>>0] = $117;
    33152  }
    33153  $118 = $5;
    33154  $119 = $9;
    33155  $120 = $12;
    33156  (_kh_put_n2s($118,$119,$120,0)|0);
    33157  $121 = $12;
    33158  $4 = $121;
    33159  $122 = $4;
    33160  STACKTOP = sp;return ($122|0);
    33161 }
    33162 function _sym_validate_len($0,$1) {
    33163  $0 = $0|0;
    33164  $1 = $1|0;
    33165  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    33166  sp = STACKTOP;
    33167  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33168  $2 = $0;
    33169  $3 = $1;
    33170  $4 = $3;
    33171  $5 = ($4>>>0)>=(65535);
    33172  if ($5) {
    33173   $6 = $2;
    33174   $7 = $2;
    33175   $8 = (_mrb_class_get($7,69160)|0);
    33176   _mrb_raise($6,$8,56461);
    33177   // unreachable;
    33178  } else {
    33179   STACKTOP = sp;return;
    33180  }
    33181 }
    33182 function _mrb_intern_static($0,$1,$2) {
    33183  $0 = $0|0;
    33184  $1 = $1|0;
    33185  $2 = $2|0;
    33186  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33187  sp = STACKTOP;
    33188  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33189  $3 = $0;
    33190  $4 = $1;
    33191  $5 = $2;
    33192  $6 = $3;
    33193  $7 = $4;
    33194  $8 = $5;
    33195  $9 = (_sym_intern($6,$7,$8,1)|0);
    33196  STACKTOP = sp;return ($9|0);
    33197 }
    33198 function _mrb_intern_cstr($0,$1) {
    33199  $0 = $0|0;
    33200  $1 = $1|0;
    33201  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    33202  sp = STACKTOP;
    33203  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33204  $2 = $0;
    33205  $3 = $1;
    33206  $4 = $2;
    33207  $5 = $3;
    33208  $6 = $3;
    33209  $7 = (_strlen($6)|0);
    33210  $8 = (_mrb_intern($4,$5,$7)|0);
    33211  STACKTOP = sp;return ($8|0);
    33212 }
    33213 function _mrb_intern_str($0,$1) {
    33214  $0 = $0|0;
    33215  $1 = $1|0;
    33216  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
    33217  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33218  sp = STACKTOP;
    33219  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33220  $2 = $0;
    33221  $3 = $2;
    33222  $4 = HEAP32[$1>>2]|0;
    33223  $5 = HEAP32[$4>>2]|0;
    33224  $6 = $5 >>> 11;
    33225  $7 = $6 & 8;
    33226  $8 = ($7|0)!=(0);
    33227  $9 = HEAP32[$1>>2]|0;
    33228  $10 = ((($9)) + 12|0);
    33229  if ($8) {
    33230   $25 = $10;
    33231  } else {
    33232   $11 = ((($10)) + 8|0);
    33233   $12 = HEAP32[$11>>2]|0;
    33234   $25 = $12;
    33235  }
    33236  $13 = HEAP32[$1>>2]|0;
    33237  $14 = HEAP32[$13>>2]|0;
    33238  $15 = $14 >>> 11;
    33239  $16 = $15 & 8;
    33240  $17 = ($16|0)!=(0);
    33241  $18 = HEAP32[$1>>2]|0;
    33242  if ($17) {
    33243   $19 = HEAP32[$18>>2]|0;
    33244   $20 = $19 >>> 11;
    33245   $21 = $20 & 496;
    33246   $22 = $21 >> 4;
    33247   $26 = $22;
    33248   $27 = (_mrb_intern($3,$25,$26)|0);
    33249   STACKTOP = sp;return ($27|0);
    33250  } else {
    33251   $23 = ((($18)) + 12|0);
    33252   $24 = HEAP32[$23>>2]|0;
    33253   $26 = $24;
    33254   $27 = (_mrb_intern($3,$25,$26)|0);
    33255   STACKTOP = sp;return ($27|0);
    33256  }
    33257  return (0)|0;
    33258 }
    33259 function _mrb_check_intern($0,$1,$2,$3) {
    33260  $0 = $0|0;
    33261  $1 = $1|0;
    33262  $2 = $2|0;
    33263  $3 = $3|0;
    33264  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    33265  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33266  sp = STACKTOP;
    33267  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    33268  $4 = $1;
    33269  $5 = $2;
    33270  $6 = $3;
    33271  $10 = $4;
    33272  $11 = ((($10)) + 556|0);
    33273  $12 = HEAP32[$11>>2]|0;
    33274  $7 = $12;
    33275  $13 = $4;
    33276  $14 = ((($13)) + 560|0);
    33277  $15 = HEAP32[$14>>2]|0;
    33278  $8 = $15;
    33279  $16 = $4;
    33280  $17 = $6;
    33281  _sym_validate_len($16,$17);
    33282  $18 = $6;
    33283  $19 = $18&65535;
    33284  $20 = $8;
    33285  $21 = ((($20)) + 2|0);
    33286  HEAP16[$21>>1] = $19;
    33287  $22 = $5;
    33288  $23 = $8;
    33289  $24 = ((($23)) + 4|0);
    33290  HEAP32[$24>>2] = $22;
    33291  $25 = $4;
    33292  $26 = $7;
    33293  $27 = (_kh_get_n2s($25,$26,0)|0);
    33294  $9 = $27;
    33295  $28 = $9;
    33296  $29 = $7;
    33297  $30 = HEAP32[$29>>2]|0;
    33298  $31 = ($28|0)!=($30|0);
    33299  if ($31) {
    33300   $32 = $7;
    33301   $33 = ((($32)) + 16|0);
    33302   $34 = HEAP32[$33>>2]|0;
    33303   $35 = $9;
    33304   $36 = (($34) + ($35<<2)|0);
    33305   $37 = HEAP32[$36>>2]|0;
    33306   _mrb_symbol_value_354($0,$37);
    33307   STACKTOP = sp;return;
    33308  } else {
    33309   _mrb_nil_value_355($0);
    33310   STACKTOP = sp;return;
    33311  }
    33312 }
    33313 function _mrb_symbol_value_354($0,$1) {
    33314  $0 = $0|0;
    33315  $1 = $1|0;
    33316  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    33317  sp = STACKTOP;
    33318  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33319  $3 = sp;
    33320  $2 = $1;
    33321  $4 = ((($3)) + 4|0);
    33322  HEAP32[$4>>2] = 4;
    33323  $5 = $2;
    33324  HEAP32[$3>>2] = $5;
    33325  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    33326  STACKTOP = sp;return;
    33327 }
    33328 function _mrb_nil_value_355($0) {
    33329  $0 = $0|0;
    33330  var $1 = 0, $2 = 0, label = 0, sp = 0;
    33331  sp = STACKTOP;
    33332  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33333  $1 = sp;
    33334  $2 = ((($1)) + 4|0);
    33335  HEAP32[$2>>2] = 0;
    33336  HEAP32[$1>>2] = 0;
    33337  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    33338  STACKTOP = sp;return;
    33339 }
    33340 function _mrb_check_intern_cstr($0,$1,$2) {
    33341  $0 = $0|0;
    33342  $1 = $1|0;
    33343  $2 = $2|0;
    33344  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    33345  sp = STACKTOP;
    33346  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33347  $3 = $1;
    33348  $4 = $2;
    33349  $5 = $3;
    33350  $6 = $4;
    33351  $7 = $4;
    33352  $8 = (_strlen($7)|0);
    33353  _mrb_check_intern($0,$5,$6,$8);
    33354  STACKTOP = sp;return;
    33355 }
    33356 function _mrb_check_intern_str($0,$1,$2) {
    33357  $0 = $0|0;
    33358  $1 = $1|0;
    33359  $2 = $2|0;
    33360  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0;
    33361  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33362  sp = STACKTOP;
    33363  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33364  $3 = $1;
    33365  $4 = $3;
    33366  $5 = HEAP32[$2>>2]|0;
    33367  $6 = HEAP32[$5>>2]|0;
    33368  $7 = $6 >>> 11;
    33369  $8 = $7 & 8;
    33370  $9 = ($8|0)!=(0);
    33371  $10 = HEAP32[$2>>2]|0;
    33372  $11 = ((($10)) + 12|0);
    33373  if ($9) {
    33374   $26 = $11;
    33375  } else {
    33376   $12 = ((($11)) + 8|0);
    33377   $13 = HEAP32[$12>>2]|0;
    33378   $26 = $13;
    33379  }
    33380  $14 = HEAP32[$2>>2]|0;
    33381  $15 = HEAP32[$14>>2]|0;
    33382  $16 = $15 >>> 11;
    33383  $17 = $16 & 8;
    33384  $18 = ($17|0)!=(0);
    33385  $19 = HEAP32[$2>>2]|0;
    33386  if ($18) {
    33387   $20 = HEAP32[$19>>2]|0;
    33388   $21 = $20 >>> 11;
    33389   $22 = $21 & 496;
    33390   $23 = $22 >> 4;
    33391   $27 = $23;
    33392   _mrb_check_intern($0,$4,$26,$27);
    33393   STACKTOP = sp;return;
    33394  } else {
    33395   $24 = ((($19)) + 12|0);
    33396   $25 = HEAP32[$24>>2]|0;
    33397   $27 = $25;
    33398   _mrb_check_intern($0,$4,$26,$27);
    33399   STACKTOP = sp;return;
    33400  }
    33401 }
    33402 function _mrb_sym2name_len($0,$1,$2) {
    33403  $0 = $0|0;
    33404  $1 = $1|0;
    33405  $2 = $2|0;
    33406  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    33407  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33408  sp = STACKTOP;
    33409  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33410  $4 = $0;
    33411  $5 = $1;
    33412  $6 = $2;
    33413  $7 = $5;
    33414  $8 = ($7|0)==(0);
    33415  if (!($8)) {
    33416   $9 = $4;
    33417   $10 = ((($9)) + 552|0);
    33418   $11 = HEAP32[$10>>2]|0;
    33419   $12 = $5;
    33420   $13 = ($11>>>0)<($12>>>0);
    33421   if (!($13)) {
    33422    $17 = $6;
    33423    $18 = ($17|0)!=(0|0);
    33424    if ($18) {
    33425     $19 = $4;
    33426     $20 = ((($19)) + 560|0);
    33427     $21 = HEAP32[$20>>2]|0;
    33428     $22 = $5;
    33429     $23 = (($21) + ($22<<3)|0);
    33430     $24 = ((($23)) + 2|0);
    33431     $25 = HEAP16[$24>>1]|0;
    33432     $26 = $25&65535;
    33433     $27 = $6;
    33434     HEAP32[$27>>2] = $26;
    33435    }
    33436    $28 = $4;
    33437    $29 = ((($28)) + 560|0);
    33438    $30 = HEAP32[$29>>2]|0;
    33439    $31 = $5;
    33440    $32 = (($30) + ($31<<3)|0);
    33441    $33 = ((($32)) + 4|0);
    33442    $34 = HEAP32[$33>>2]|0;
    33443    $3 = $34;
    33444    $35 = $3;
    33445    STACKTOP = sp;return ($35|0);
    33446   }
    33447  }
    33448  $14 = $6;
    33449  $15 = ($14|0)!=(0|0);
    33450  if ($15) {
    33451   $16 = $6;
    33452   HEAP32[$16>>2] = 0;
    33453  }
    33454  $3 = 0;
    33455  $35 = $3;
    33456  STACKTOP = sp;return ($35|0);
    33457 }
    33458 function _mrb_free_symtbl($0) {
    33459  $0 = $0|0;
    33460  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    33461  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33462  sp = STACKTOP;
    33463  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33464  $1 = $0;
    33465  $2 = 1;
    33466  $4 = $1;
    33467  $5 = ((($4)) + 552|0);
    33468  $6 = HEAP32[$5>>2]|0;
    33469  $7 = (($6) + 1)|0;
    33470  $3 = $7;
    33471  while(1) {
    33472   $8 = $2;
    33473   $9 = $3;
    33474   $10 = ($8>>>0)<($9>>>0);
    33475   $11 = $1;
    33476   if (!($10)) {
    33477    break;
    33478   }
    33479   $12 = ((($11)) + 560|0);
    33480   $13 = HEAP32[$12>>2]|0;
    33481   $14 = $2;
    33482   $15 = (($13) + ($14<<3)|0);
    33483   $16 = HEAP8[$15>>0]|0;
    33484   $17 = $16 & 1;
    33485   $18 = ($17<<24>>24)!=(0);
    33486   if (!($18)) {
    33487    $19 = $1;
    33488    $20 = $1;
    33489    $21 = ((($20)) + 560|0);
    33490    $22 = HEAP32[$21>>2]|0;
    33491    $23 = $2;
    33492    $24 = (($22) + ($23<<3)|0);
    33493    $25 = ((($24)) + 4|0);
    33494    $26 = HEAP32[$25>>2]|0;
    33495    _mrb_free($19,$26);
    33496   }
    33497   $27 = $2;
    33498   $28 = (($27) + 1)|0;
    33499   $2 = $28;
    33500  }
    33501  $29 = $1;
    33502  $30 = ((($29)) + 560|0);
    33503  $31 = HEAP32[$30>>2]|0;
    33504  _mrb_free($11,$31);
    33505  $32 = $1;
    33506  $33 = $1;
    33507  $34 = ((($33)) + 556|0);
    33508  $35 = HEAP32[$34>>2]|0;
    33509  _kh_destroy_n2s($32,$35);
    33510  STACKTOP = sp;return;
    33511 }
    33512 function _mrb_init_symtbl($0) {
    33513  $0 = $0|0;
    33514  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    33515  sp = STACKTOP;
    33516  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33517  $1 = $0;
    33518  $2 = $1;
    33519  $3 = (_kh_init_n2s($2)|0);
    33520  $4 = $1;
    33521  $5 = ((($4)) + 556|0);
    33522  HEAP32[$5>>2] = $3;
    33523  STACKTOP = sp;return;
    33524 }
    33525 function _mrb_sym2str($0,$1,$2) {
    33526  $0 = $0|0;
    33527  $1 = $1|0;
    33528  $2 = $2|0;
    33529  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33530  sp = STACKTOP;
    33531  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33532  $5 = sp + 4|0;
    33533  $3 = $1;
    33534  $4 = $2;
    33535  $7 = $3;
    33536  $8 = $4;
    33537  $9 = (_mrb_sym2name_len($7,$8,$5)|0);
    33538  $6 = $9;
    33539  $10 = $6;
    33540  $11 = ($10|0)!=(0|0);
    33541  if ($11) {
    33542   $12 = $3;
    33543   $13 = $6;
    33544   $14 = HEAP32[$5>>2]|0;
    33545   _mrb_str_new_static($0,$12,$13,$14);
    33546   STACKTOP = sp;return;
    33547  } else {
    33548   _mrb_undef_value($0);
    33549   STACKTOP = sp;return;
    33550  }
    33551 }
    33552 function _mrb_undef_value($0) {
    33553  $0 = $0|0;
    33554  var $1 = 0, $2 = 0, label = 0, sp = 0;
    33555  sp = STACKTOP;
    33556  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33557  $1 = sp;
    33558  $2 = ((($1)) + 4|0);
    33559  HEAP32[$2>>2] = 5;
    33560  HEAP32[$1>>2] = 0;
    33561  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    33562  STACKTOP = sp;return;
    33563 }
    33564 function _mrb_sym2name($0,$1) {
    33565  $0 = $0|0;
    33566  $1 = $1|0;
    33567  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    33568  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33569  sp = STACKTOP;
    33570  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    33571  $$byval_copy = sp + 40|0;
    33572  $5 = sp + 20|0;
    33573  $7 = sp + 8|0;
    33574  $8 = sp;
    33575  $3 = $0;
    33576  $4 = $1;
    33577  $9 = $3;
    33578  $10 = $4;
    33579  $11 = (_mrb_sym2name_len($9,$10,$5)|0);
    33580  $6 = $11;
    33581  $12 = $6;
    33582  $13 = ($12|0)!=(0|0);
    33583  if (!($13)) {
    33584   $2 = 0;
    33585   $37 = $2;
    33586   STACKTOP = sp;return ($37|0);
    33587  }
    33588  $14 = $6;
    33589  $15 = (_symname_p($14)|0);
    33590  $16 = $15&255;
    33591  $17 = ($16|0)!=(0);
    33592  if ($17) {
    33593   $18 = $6;
    33594   $19 = (_strlen($18)|0);
    33595   $20 = HEAP32[$5>>2]|0;
    33596   $21 = ($19|0)==($20|0);
    33597   if ($21) {
    33598    $22 = $6;
    33599    $2 = $22;
    33600    $37 = $2;
    33601    STACKTOP = sp;return ($37|0);
    33602   }
    33603  }
    33604  $23 = $3;
    33605  $24 = $3;
    33606  $25 = $6;
    33607  $26 = HEAP32[$5>>2]|0;
    33608  _mrb_str_new_static($8,$24,$25,$26);
    33609  ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
    33610  _mrb_str_dump($7,$23,$$byval_copy);
    33611  $27 = HEAP32[$7>>2]|0;
    33612  $28 = HEAP32[$27>>2]|0;
    33613  $29 = $28 >>> 11;
    33614  $30 = $29 & 8;
    33615  $31 = ($30|0)!=(0);
    33616  $32 = HEAP32[$7>>2]|0;
    33617  $33 = ((($32)) + 12|0);
    33618  if ($31) {
    33619   $36 = $33;
    33620  } else {
    33621   $34 = ((($33)) + 8|0);
    33622   $35 = HEAP32[$34>>2]|0;
    33623   $36 = $35;
    33624  }
    33625  $2 = $36;
    33626  $37 = $2;
    33627  STACKTOP = sp;return ($37|0);
    33628 }
    33629 function _symname_p($0) {
    33630  $0 = $0|0;
    33631  var $$off = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
    33632  var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
    33633  var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
    33634  var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
    33635  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    33636  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    33637  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
    33638  var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $switch = 0, label = 0, sp = 0;
    33639  sp = STACKTOP;
    33640  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33641  $2 = $0;
    33642  $5 = $2;
    33643  $3 = $5;
    33644  $4 = 0;
    33645  $6 = $3;
    33646  $7 = ($6|0)!=(0|0);
    33647  if (!($7)) {
    33648   $1 = 0;
    33649   $155 = $1;
    33650   STACKTOP = sp;return ($155|0);
    33651  }
    33652  $8 = $3;
    33653  $9 = HEAP8[$8>>0]|0;
    33654  $10 = $9 << 24 >> 24;
    33655  L5: do {
    33656   switch ($10|0) {
    33657   case 0:  {
    33658    $1 = 0;
    33659    $155 = $1;
    33660    STACKTOP = sp;return ($155|0);
    33661    break;
    33662   }
    33663   case 36:  {
    33664    $11 = $3;
    33665    $12 = ((($11)) + 1|0);
    33666    $3 = $12;
    33667    $13 = (_is_special_global_name($12)|0);
    33668    $14 = ($13<<24>>24)!=(0);
    33669    if ($14) {
    33670     $1 = 1;
    33671     $155 = $1;
    33672     STACKTOP = sp;return ($155|0);
    33673    } else {
    33674     label = 36;
    33675    }
    33676    break;
    33677   }
    33678   case 64:  {
    33679    $15 = $3;
    33680    $16 = ((($15)) + 1|0);
    33681    $3 = $16;
    33682    $17 = HEAP8[$16>>0]|0;
    33683    $18 = $17 << 24 >> 24;
    33684    $19 = ($18|0)==(64);
    33685    if ($19) {
    33686     $20 = $3;
    33687     $21 = ((($20)) + 1|0);
    33688     $3 = $21;
    33689     label = 36;
    33690    } else {
    33691     label = 36;
    33692    }
    33693    break;
    33694   }
    33695   case 60:  {
    33696    $22 = $3;
    33697    $23 = ((($22)) + 1|0);
    33698    $3 = $23;
    33699    $24 = HEAP8[$23>>0]|0;
    33700    $25 = $24 << 24 >> 24;
    33701    switch ($25|0) {
    33702    case 60:  {
    33703     $26 = $3;
    33704     $27 = ((($26)) + 1|0);
    33705     $3 = $27;
    33706     break L5;
    33707     break;
    33708    }
    33709    case 61:  {
    33710     break;
    33711    }
    33712    default: {
    33713     break L5;
    33714    }
    33715    }
    33716    $28 = $3;
    33717    $29 = ((($28)) + 1|0);
    33718    $3 = $29;
    33719    $30 = HEAP8[$29>>0]|0;
    33720    $31 = $30 << 24 >> 24;
    33721    $32 = ($31|0)==(62);
    33722    if ($32) {
    33723     $33 = $3;
    33724     $34 = ((($33)) + 1|0);
    33725     $3 = $34;
    33726    }
    33727    break;
    33728   }
    33729   case 62:  {
    33730    $35 = $3;
    33731    $36 = ((($35)) + 1|0);
    33732    $3 = $36;
    33733    $37 = HEAP8[$36>>0]|0;
    33734    $38 = $37 << 24 >> 24;
    33735    $$off = (($38) + -61)|0;
    33736    $switch = ($$off>>>0)<(2);
    33737    if ($switch) {
    33738     $39 = $3;
    33739     $40 = ((($39)) + 1|0);
    33740     $3 = $40;
    33741    }
    33742    break;
    33743   }
    33744   case 61:  {
    33745    $41 = $3;
    33746    $42 = ((($41)) + 1|0);
    33747    $3 = $42;
    33748    $43 = HEAP8[$42>>0]|0;
    33749    $44 = $43 << 24 >> 24;
    33750    switch ($44|0) {
    33751    case 126:  {
    33752     $45 = $3;
    33753     $46 = ((($45)) + 1|0);
    33754     $3 = $46;
    33755     break L5;
    33756     break;
    33757    }
    33758    case 61:  {
    33759     $47 = $3;
    33760     $48 = ((($47)) + 1|0);
    33761     $3 = $48;
    33762     $49 = HEAP8[$48>>0]|0;
    33763     $50 = $49 << 24 >> 24;
    33764     $51 = ($50|0)==(61);
    33765     if (!($51)) {
    33766      break L5;
    33767     }
    33768     $52 = $3;
    33769     $53 = ((($52)) + 1|0);
    33770     $3 = $53;
    33771     break L5;
    33772     break;
    33773    }
    33774    default: {
    33775     $1 = 0;
    33776     $155 = $1;
    33777     STACKTOP = sp;return ($155|0);
    33778    }
    33779    }
    33780    break;
    33781   }
    33782   case 42:  {
    33783    $54 = $3;
    33784    $55 = ((($54)) + 1|0);
    33785    $3 = $55;
    33786    $56 = HEAP8[$55>>0]|0;
    33787    $57 = $56 << 24 >> 24;
    33788    $58 = ($57|0)==(42);
    33789    if ($58) {
    33790     $59 = $3;
    33791     $60 = ((($59)) + 1|0);
    33792     $3 = $60;
    33793    }
    33794    break;
    33795   }
    33796   case 33:  {
    33797    $61 = $3;
    33798    $62 = ((($61)) + 1|0);
    33799    $3 = $62;
    33800    $63 = HEAP8[$62>>0]|0;
    33801    $64 = $63 << 24 >> 24;
    33802    $65 = ($64|0)==(61);
    33803    if ($65) {
    33804     $66 = $3;
    33805     $67 = ((($66)) + 1|0);
    33806     $3 = $67;
    33807    }
    33808    break;
    33809   }
    33810   case 45: case 43:  {
    33811    $68 = $3;
    33812    $69 = ((($68)) + 1|0);
    33813    $3 = $69;
    33814    $70 = HEAP8[$69>>0]|0;
    33815    $71 = $70 << 24 >> 24;
    33816    $72 = ($71|0)==(64);
    33817    if ($72) {
    33818     $73 = $3;
    33819     $74 = ((($73)) + 1|0);
    33820     $3 = $74;
    33821    }
    33822    break;
    33823   }
    33824   case 124:  {
    33825    $75 = $3;
    33826    $76 = ((($75)) + 1|0);
    33827    $3 = $76;
    33828    $77 = HEAP8[$76>>0]|0;
    33829    $78 = $77 << 24 >> 24;
    33830    $79 = ($78|0)==(124);
    33831    if ($79) {
    33832     $80 = $3;
    33833     $81 = ((($80)) + 1|0);
    33834     $3 = $81;
    33835    }
    33836    break;
    33837   }
    33838   case 38:  {
    33839    $82 = $3;
    33840    $83 = ((($82)) + 1|0);
    33841    $3 = $83;
    33842    $84 = HEAP8[$83>>0]|0;
    33843    $85 = $84 << 24 >> 24;
    33844    $86 = ($85|0)==(38);
    33845    if ($86) {
    33846     $87 = $3;
    33847     $88 = ((($87)) + 1|0);
    33848     $3 = $88;
    33849    }
    33850    break;
    33851   }
    33852   case 96: case 126: case 37: case 47: case 94:  {
    33853    $89 = $3;
    33854    $90 = ((($89)) + 1|0);
    33855    $3 = $90;
    33856    break;
    33857   }
    33858   case 91:  {
    33859    $91 = $3;
    33860    $92 = ((($91)) + 1|0);
    33861    $3 = $92;
    33862    $93 = HEAP8[$92>>0]|0;
    33863    $94 = $93 << 24 >> 24;
    33864    $95 = ($94|0)!=(93);
    33865    if ($95) {
    33866     $1 = 0;
    33867     $155 = $1;
    33868     STACKTOP = sp;return ($155|0);
    33869    } else {
    33870     $96 = $3;
    33871     $97 = ((($96)) + 1|0);
    33872     $3 = $97;
    33873     $98 = HEAP8[$97>>0]|0;
    33874     $99 = $98 << 24 >> 24;
    33875     $100 = ($99|0)==(61);
    33876     if (!($100)) {
    33877      break L5;
    33878     }
    33879     $101 = $3;
    33880     $102 = ((($101)) + 1|0);
    33881     $3 = $102;
    33882     break L5;
    33883    }
    33884    break;
    33885   }
    33886   default: {
    33887    $103 = $3;
    33888    $104 = HEAP8[$103>>0]|0;
    33889    $105 = $104 << 24 >> 24;
    33890    $106 = (($105) - 65)|0;
    33891    $107 = ($106>>>0)<(26);
    33892    $108 = $107 ^ 1;
    33893    $109 = $108&1;
    33894    $110 = $109&255;
    33895    $4 = $110;
    33896    label = 36;
    33897   }
    33898   }
    33899  } while(0);
    33900  L45: do {
    33901   if ((label|0) == 36) {
    33902    $111 = $3;
    33903    $112 = HEAP8[$111>>0]|0;
    33904    $113 = $112 << 24 >> 24;
    33905    $114 = ($113|0)!=(95);
    33906    if ($114) {
    33907     $115 = $3;
    33908     $116 = HEAP8[$115>>0]|0;
    33909     $117 = $116 << 24 >> 24;
    33910     $118 = $117 | 32;
    33911     $119 = (($118) - 97)|0;
    33912     $120 = ($119>>>0)<(26);
    33913     if (!($120)) {
    33914      $1 = 0;
    33915      $155 = $1;
    33916      STACKTOP = sp;return ($155|0);
    33917     }
    33918    }
    33919    while(1) {
    33920     $121 = $3;
    33921     $122 = HEAP8[$121>>0]|0;
    33922     $123 = $122 << 24 >> 24;
    33923     $124 = ($123|0)!=(-1);
    33924     if (!($124)) {
    33925      break;
    33926     }
    33927     $125 = $3;
    33928     $126 = HEAP8[$125>>0]|0;
    33929     $127 = $126 << 24 >> 24;
    33930     $128 = $127 | 32;
    33931     $129 = (($128) - 97)|0;
    33932     $130 = ($129>>>0)<(26);
    33933     if (!($130)) {
    33934      $131 = $3;
    33935      $132 = HEAP8[$131>>0]|0;
    33936      $133 = $132 << 24 >> 24;
    33937      $134 = (($133) - 48)|0;
    33938      $135 = ($134>>>0)<(10);
    33939      if (!($135)) {
    33940       $136 = $3;
    33941       $137 = HEAP8[$136>>0]|0;
    33942       $138 = $137 << 24 >> 24;
    33943       $139 = ($138|0)==(95);
    33944       if (!($139)) {
    33945        break;
    33946       }
    33947      }
    33948     }
    33949     $140 = $3;
    33950     $141 = ((($140)) + 1|0);
    33951     $3 = $141;
    33952    }
    33953    $142 = $4;
    33954    $143 = ($142<<24>>24)!=(0);
    33955    if ($143) {
    33956     $144 = $3;
    33957     $145 = HEAP8[$144>>0]|0;
    33958     $146 = $145 << 24 >> 24;
    33959     switch ($146|0) {
    33960     case 61: case 63: case 33:  {
    33961      break;
    33962     }
    33963     default: {
    33964      break L45;
    33965     }
    33966     }
    33967     $147 = $3;
    33968     $148 = ((($147)) + 1|0);
    33969     $3 = $148;
    33970    }
    33971   }
    33972  } while(0);
    33973  $149 = $3;
    33974  $150 = HEAP8[$149>>0]|0;
    33975  $151 = $150 << 24 >> 24;
    33976  $152 = ($151|0)!=(0);
    33977  $153 = $152 ? 0 : 1;
    33978  $154 = $153&255;
    33979  $1 = $154;
    33980  $155 = $1;
    33981  STACKTOP = sp;return ($155|0);
    33982 }
    33983 function _is_special_global_name($0) {
    33984  $0 = $0|0;
    33985  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    33986  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    33987  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    33988  sp = STACKTOP;
    33989  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    33990  $2 = $0;
    33991  $3 = $2;
    33992  $4 = HEAP8[$3>>0]|0;
    33993  $5 = $4 << 24 >> 24;
    33994  L1: do {
    33995   switch ($5|0) {
    33996   case 48: case 43: case 39: case 96: case 38: case 34: case 62: case 60: case 58: case 61: case 46: case 44: case 59: case 92: case 47: case 64: case 33: case 63: case 36: case 42: case 126:  {
    33997    $6 = $2;
    33998    $7 = ((($6)) + 1|0);
    33999    $2 = $7;
    34000    break;
    34001   }
    34002   case 45:  {
    34003    $8 = $2;
    34004    $9 = ((($8)) + 1|0);
    34005    $2 = $9;
    34006    $10 = $2;
    34007    $11 = HEAP8[$10>>0]|0;
    34008    $12 = $11 << 24 >> 24;
    34009    $13 = ($12|0)!=(-1);
    34010    if ($13) {
    34011     $14 = $2;
    34012     $15 = HEAP8[$14>>0]|0;
    34013     $16 = $15 << 24 >> 24;
    34014     $17 = $16 | 32;
    34015     $18 = (($17) - 97)|0;
    34016     $19 = ($18>>>0)<(26);
    34017     if (!($19)) {
    34018      $20 = $2;
    34019      $21 = HEAP8[$20>>0]|0;
    34020      $22 = $21 << 24 >> 24;
    34021      $23 = (($22) - 48)|0;
    34022      $24 = ($23>>>0)<(10);
    34023      if (!($24)) {
    34024       $25 = $2;
    34025       $26 = HEAP8[$25>>0]|0;
    34026       $27 = $26 << 24 >> 24;
    34027       $28 = ($27|0)==(95);
    34028       if (!($28)) {
    34029        break L1;
    34030       }
    34031      }
    34032     }
    34033     $29 = $2;
    34034     $30 = ((($29)) + 1|0);
    34035     $2 = $30;
    34036    }
    34037    break;
    34038   }
    34039   default: {
    34040    $31 = $2;
    34041    $32 = HEAP8[$31>>0]|0;
    34042    $33 = $32 << 24 >> 24;
    34043    $34 = (($33) - 48)|0;
    34044    $35 = ($34>>>0)<(10);
    34045    if ($35) {
    34046     while(1) {
    34047      $36 = $2;
    34048      $37 = ((($36)) + 1|0);
    34049      $2 = $37;
    34050      $38 = $2;
    34051      $39 = HEAP8[$38>>0]|0;
    34052      $40 = $39 << 24 >> 24;
    34053      $41 = (($40) - 48)|0;
    34054      $42 = ($41>>>0)<(10);
    34055      if (!($42)) {
    34056       break L1;
    34057      }
    34058     }
    34059    }
    34060    $1 = 0;
    34061    $49 = $1;
    34062    STACKTOP = sp;return ($49|0);
    34063   }
    34064   }
    34065  } while(0);
    34066  $43 = $2;
    34067  $44 = HEAP8[$43>>0]|0;
    34068  $45 = ($44<<24>>24)!=(0);
    34069  $46 = $45 ^ 1;
    34070  $47 = $46&1;
    34071  $48 = $47&255;
    34072  $1 = $48;
    34073  $49 = $1;
    34074  STACKTOP = sp;return ($49|0);
    34075 }
    34076 function _mrb_init_symbol($0) {
    34077  $0 = $0|0;
    34078  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    34079  var $9 = 0, label = 0, sp = 0;
    34080  sp = STACKTOP;
    34081  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34082  $1 = $0;
    34083  $3 = $1;
    34084  $4 = $1;
    34085  $5 = ((($4)) + 32|0);
    34086  $6 = HEAP32[$5>>2]|0;
    34087  $7 = (_mrb_define_class($3,56484,$6)|0);
    34088  $2 = $7;
    34089  $8 = $1;
    34090  $9 = ((($8)) + 80|0);
    34091  HEAP32[$9>>2] = $7;
    34092  $10 = $1;
    34093  $11 = $2;
    34094  _mrb_define_method($10,$11,69591,119,262144);
    34095  $12 = $1;
    34096  $13 = $2;
    34097  _mrb_define_method($12,$13,56491,120,0);
    34098  $14 = $1;
    34099  $15 = $2;
    34100  _mrb_define_method($14,$15,69276,120,0);
    34101  $16 = $1;
    34102  $17 = $2;
    34103  _mrb_define_method($16,$17,56499,121,0);
    34104  $18 = $1;
    34105  $19 = $2;
    34106  _mrb_define_method($18,$19,69281,122,0);
    34107  $20 = $1;
    34108  $21 = $2;
    34109  _mrb_define_method($20,$21,69156,123,262144);
    34110  STACKTOP = sp;return;
    34111 }
    34112 function _sym_equal($0,$1,$2) {
    34113  $0 = $0|0;
    34114  $1 = $1|0;
    34115  $2 = $2|0;
    34116  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    34117  sp = STACKTOP;
    34118  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    34119  $$byval_copy1 = sp + 32|0;
    34120  $$byval_copy = sp + 24|0;
    34121  $vararg_buffer = sp;
    34122  $4 = sp + 8|0;
    34123  $3 = $1;
    34124  $5 = $3;
    34125  HEAP32[$vararg_buffer>>2] = $4;
    34126  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    34127  $6 = $3;
    34128  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    34129  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    34130  $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
    34131  _mrb_bool_value_369($0,$7);
    34132  STACKTOP = sp;return;
    34133 }
    34134 function _mrb_sym_to_s($0,$1,$2) {
    34135  $0 = $0|0;
    34136  $1 = $1|0;
    34137  $2 = $2|0;
    34138  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34139  sp = STACKTOP;
    34140  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34141  $6 = sp;
    34142  $3 = $1;
    34143  $7 = HEAP32[$2>>2]|0;
    34144  $4 = $7;
    34145  $8 = $3;
    34146  $9 = $4;
    34147  $10 = (_mrb_sym2name_len($8,$9,$6)|0);
    34148  $5 = $10;
    34149  $11 = $3;
    34150  $12 = $5;
    34151  $13 = HEAP32[$6>>2]|0;
    34152  _mrb_str_new_static($0,$11,$12,$13);
    34153  STACKTOP = sp;return;
    34154 }
    34155 function _sym_to_sym($0,$1,$2) {
    34156  $0 = $0|0;
    34157  $1 = $1|0;
    34158  $2 = $2|0;
    34159  var $3 = 0, label = 0, sp = 0;
    34160  sp = STACKTOP;
    34161  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34162  $3 = $1;
    34163  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    34164  STACKTOP = sp;return;
    34165 }
    34166 function _sym_inspect($0,$1,$2) {
    34167  $0 = $0|0;
    34168  $1 = $1|0;
    34169  $2 = $2|0;
    34170  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    34171  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    34172  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0;
    34173  var $9 = 0, label = 0, sp = 0;
    34174  sp = STACKTOP;
    34175  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    34176  $$byval_copy = sp + 48|0;
    34177  $4 = sp + 32|0;
    34178  $6 = sp + 24|0;
    34179  $9 = sp + 8|0;
    34180  $10 = sp;
    34181  $3 = $1;
    34182  $11 = HEAP32[$2>>2]|0;
    34183  $7 = $11;
    34184  $12 = $3;
    34185  $13 = $7;
    34186  $14 = (_mrb_sym2name_len($12,$13,$6)|0);
    34187  $5 = $14;
    34188  $15 = $3;
    34189  $16 = HEAP32[$6>>2]|0;
    34190  $17 = (($16) + 1)|0;
    34191  _mrb_str_new($9,$15,0,$17);
    34192  ;HEAP32[$4>>2]=HEAP32[$9>>2]|0;HEAP32[$4+4>>2]=HEAP32[$9+4>>2]|0;
    34193  $18 = HEAP32[$4>>2]|0;
    34194  $19 = HEAP32[$18>>2]|0;
    34195  $20 = $19 >>> 11;
    34196  $21 = $20 & 8;
    34197  $22 = ($21|0)!=(0);
    34198  $23 = HEAP32[$4>>2]|0;
    34199  $24 = ((($23)) + 12|0);
    34200  if ($22) {
    34201   $27 = $24;
    34202  } else {
    34203   $25 = ((($24)) + 8|0);
    34204   $26 = HEAP32[$25>>2]|0;
    34205   $27 = $26;
    34206  }
    34207  $8 = $27;
    34208  $28 = HEAP32[$4>>2]|0;
    34209  $29 = HEAP32[$28>>2]|0;
    34210  $30 = $29 >>> 11;
    34211  $31 = $30 & 8;
    34212  $32 = ($31|0)!=(0);
    34213  $33 = HEAP32[$4>>2]|0;
    34214  $34 = ((($33)) + 12|0);
    34215  if ($32) {
    34216   $37 = $34;
    34217  } else {
    34218   $35 = ((($34)) + 8|0);
    34219   $36 = HEAP32[$35>>2]|0;
    34220   $37 = $36;
    34221  }
    34222  HEAP8[$37>>0] = 58;
    34223  $38 = $8;
    34224  $39 = ((($38)) + 1|0);
    34225  $40 = $5;
    34226  $41 = HEAP32[$6>>2]|0;
    34227  _memcpy(($39|0),($40|0),($41|0))|0;
    34228  $42 = $5;
    34229  $43 = (_symname_p($42)|0);
    34230  $44 = ($43<<24>>24)!=(0);
    34231  if ($44) {
    34232   $45 = $5;
    34233   $46 = (_strlen($45)|0);
    34234   $47 = HEAP32[$6>>2]|0;
    34235   $48 = ($46|0)!=($47|0);
    34236   if (!($48)) {
    34237    ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    34238    STACKTOP = sp;return;
    34239   }
    34240  }
    34241  $49 = $3;
    34242  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    34243  _mrb_str_dump($10,$49,$$byval_copy);
    34244  ;HEAP32[$4>>2]=HEAP32[$10>>2]|0;HEAP32[$4+4>>2]=HEAP32[$10+4>>2]|0;
    34245  $50 = HEAP32[$4>>2]|0;
    34246  $51 = HEAP32[$50>>2]|0;
    34247  $52 = $51 >>> 11;
    34248  $53 = $52 & 8;
    34249  $54 = ($53|0)!=(0);
    34250  $55 = HEAP32[$4>>2]|0;
    34251  $56 = ((($55)) + 12|0);
    34252  if ($54) {
    34253   $59 = $56;
    34254  } else {
    34255   $57 = ((($56)) + 8|0);
    34256   $58 = HEAP32[$57>>2]|0;
    34257   $59 = $58;
    34258  }
    34259  $8 = $59;
    34260  $60 = $8;
    34261  HEAP8[$60>>0] = 58;
    34262  $61 = $8;
    34263  $62 = ((($61)) + 1|0);
    34264  HEAP8[$62>>0] = 34;
    34265  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    34266  STACKTOP = sp;return;
    34267 }
    34268 function _sym_cmp($0,$1,$2) {
    34269  $0 = $0|0;
    34270  $1 = $1|0;
    34271  $2 = $2|0;
    34272  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    34273  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    34274  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    34275  sp = STACKTOP;
    34276  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    34277  $vararg_buffer = sp;
    34278  $4 = sp + 40|0;
    34279  $11 = sp + 8|0;
    34280  $12 = sp + 4|0;
    34281  $3 = $1;
    34282  $13 = $3;
    34283  HEAP32[$vararg_buffer>>2] = $4;
    34284  (_mrb_get_args($13,69199,$vararg_buffer)|0);
    34285  $14 = ((($4)) + 4|0);
    34286  $15 = HEAP32[$14>>2]|0;
    34287  $16 = ($15|0)!=(4);
    34288  if ($16) {
    34289   _mrb_nil_value_355($0);
    34290   STACKTOP = sp;return;
    34291  }
    34292  $17 = HEAP32[$2>>2]|0;
    34293  $5 = $17;
    34294  $18 = HEAP32[$4>>2]|0;
    34295  $6 = $18;
    34296  $19 = $5;
    34297  $20 = $6;
    34298  $21 = ($19|0)==($20|0);
    34299  if ($21) {
    34300   _mrb_fixnum_value_368($0,0);
    34301   STACKTOP = sp;return;
    34302  }
    34303  $22 = $3;
    34304  $23 = $5;
    34305  $24 = (_mrb_sym2name_len($22,$23,$11)|0);
    34306  $7 = $24;
    34307  $25 = $3;
    34308  $26 = $6;
    34309  $27 = (_mrb_sym2name_len($25,$26,$12)|0);
    34310  $8 = $27;
    34311  $28 = HEAP32[$11>>2]|0;
    34312  $29 = HEAP32[$12>>2]|0;
    34313  $30 = ($28|0)>($29|0);
    34314  $31 = HEAP32[$12>>2]|0;
    34315  $32 = HEAP32[$11>>2]|0;
    34316  $33 = $30 ? $31 : $32;
    34317  $10 = $33;
    34318  $34 = $7;
    34319  $35 = $8;
    34320  $36 = $10;
    34321  $37 = (_memcmp($34,$35,$36)|0);
    34322  $9 = $37;
    34323  $38 = $9;
    34324  $39 = ($38|0)==(0);
    34325  if (!($39)) {
    34326   $46 = $9;
    34327   $47 = ($46|0)>(0);
    34328   if ($47) {
    34329    _mrb_fixnum_value_368($0,1);
    34330    STACKTOP = sp;return;
    34331   } else {
    34332    _mrb_fixnum_value_368($0,-1);
    34333    STACKTOP = sp;return;
    34334   }
    34335  }
    34336  $40 = HEAP32[$11>>2]|0;
    34337  $41 = HEAP32[$12>>2]|0;
    34338  $42 = ($40|0)==($41|0);
    34339  if ($42) {
    34340   _mrb_fixnum_value_368($0,0);
    34341   STACKTOP = sp;return;
    34342  }
    34343  $43 = HEAP32[$11>>2]|0;
    34344  $44 = HEAP32[$12>>2]|0;
    34345  $45 = ($43|0)>($44|0);
    34346  if ($45) {
    34347   _mrb_fixnum_value_368($0,1);
    34348   STACKTOP = sp;return;
    34349  } else {
    34350   _mrb_fixnum_value_368($0,-1);
    34351   STACKTOP = sp;return;
    34352  }
    34353 }
    34354 function _mrb_fixnum_value_368($0,$1) {
    34355  $0 = $0|0;
    34356  $1 = $1|0;
    34357  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    34358  sp = STACKTOP;
    34359  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34360  $3 = sp;
    34361  $2 = $1;
    34362  $4 = ((($3)) + 4|0);
    34363  HEAP32[$4>>2] = 3;
    34364  $5 = $2;
    34365  HEAP32[$3>>2] = $5;
    34366  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    34367  STACKTOP = sp;return;
    34368 }
    34369 function _mrb_bool_value_369($0,$1) {
    34370  $0 = $0|0;
    34371  $1 = $1|0;
    34372  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    34373  sp = STACKTOP;
    34374  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34375  $3 = sp;
    34376  $2 = $1;
    34377  $4 = $2;
    34378  $5 = $4&255;
    34379  $6 = ($5|0)!=(0);
    34380  $7 = $6 ? 2 : 0;
    34381  $8 = ((($3)) + 4|0);
    34382  HEAP32[$8>>2] = $7;
    34383  HEAP32[$3>>2] = 1;
    34384  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    34385  STACKTOP = sp;return;
    34386 }
    34387 function _mrb_gc_mark_gv($0) {
    34388  $0 = $0|0;
    34389  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    34390  sp = STACKTOP;
    34391  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34392  $1 = $0;
    34393  $2 = $1;
    34394  $3 = $1;
    34395  $4 = ((($3)) + 24|0);
    34396  $5 = HEAP32[$4>>2]|0;
    34397  _mark_tbl($2,$5);
    34398  STACKTOP = sp;return;
    34399 }
    34400 function _mark_tbl($0,$1) {
    34401  $0 = $0|0;
    34402  $1 = $1|0;
    34403  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    34404  sp = STACKTOP;
    34405  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34406  $2 = $0;
    34407  $3 = $1;
    34408  $4 = $3;
    34409  $5 = ($4|0)!=(0|0);
    34410  if (!($5)) {
    34411   STACKTOP = sp;return;
    34412  }
    34413  $6 = $2;
    34414  $7 = $3;
    34415  (_iv_foreach($6,$7,124,0)|0);
    34416  STACKTOP = sp;return;
    34417 }
    34418 function _iv_mark_i($0,$1,$2,$3) {
    34419  $0 = $0|0;
    34420  $1 = $1|0;
    34421  $2 = $2|0;
    34422  $3 = $3|0;
    34423  var $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34424  sp = STACKTOP;
    34425  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34426  $4 = $0;
    34427  $5 = $1;
    34428  $6 = $3;
    34429  $7 = ((($2)) + 4|0);
    34430  $8 = HEAP32[$7>>2]|0;
    34431  $9 = ($8>>>0)<(8);
    34432  if ($9) {
    34433   STACKTOP = sp;return 0;
    34434  }
    34435  $10 = $4;
    34436  $11 = HEAP32[$2>>2]|0;
    34437  _mrb_gc_mark($10,$11);
    34438  STACKTOP = sp;return 0;
    34439 }
    34440 function _iv_foreach($0,$1,$2,$3) {
    34441  $0 = $0|0;
    34442  $1 = $1|0;
    34443  $2 = $2|0;
    34444  $3 = $3|0;
    34445  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    34446  var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    34447  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34448  sp = STACKTOP;
    34449  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    34450  $$byval_copy = sp + 32|0;
    34451  $5 = $0;
    34452  $6 = $1;
    34453  $7 = $2;
    34454  $8 = $3;
    34455  $13 = $6;
    34456  $14 = HEAP32[$13>>2]|0;
    34457  $9 = $14;
    34458  L1: while(1) {
    34459   $15 = $9;
    34460   $16 = ($15|0)!=(0|0);
    34461   if (!($16)) {
    34462    label = 15;
    34463    break;
    34464   }
    34465   $10 = 0;
    34466   while(1) {
    34467    $17 = $10;
    34468    $18 = ($17>>>0)<(4);
    34469    $19 = $9;
    34470    if (!($18)) {
    34471     break;
    34472    }
    34473    $20 = $10;
    34474    $21 = (($19) + ($20<<2)|0);
    34475    $22 = HEAP32[$21>>2]|0;
    34476    $12 = $22;
    34477    $23 = $9;
    34478    $24 = ((($23)) + 48|0);
    34479    $25 = HEAP32[$24>>2]|0;
    34480    $26 = ($25|0)!=(0|0);
    34481    if (!($26)) {
    34482     $27 = $10;
    34483     $28 = $6;
    34484     $29 = ((($28)) + 8|0);
    34485     $30 = HEAP32[$29>>2]|0;
    34486     $31 = ($27>>>0)>=($30>>>0);
    34487     if ($31) {
    34488      label = 7;
    34489      break L1;
    34490     }
    34491    }
    34492    $32 = $12;
    34493    $33 = ($32|0)!=(0);
    34494    if ($33) {
    34495     $34 = $7;
    34496     $35 = $5;
    34497     $36 = $12;
    34498     $37 = $9;
    34499     $38 = ((($37)) + 16|0);
    34500     $39 = $10;
    34501     $40 = (($38) + ($39<<3)|0);
    34502     $41 = $8;
    34503     ;HEAP32[$$byval_copy>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$40+4>>2]|0;
    34504     $42 = (FUNCTION_TABLE_iiiii[$34 & 255]($35,$36,$$byval_copy,$41)|0);
    34505     $11 = $42;
    34506     $43 = $11;
    34507     $44 = ($43|0)>(0);
    34508     if ($44) {
    34509      label = 10;
    34510      break L1;
    34511     }
    34512     $45 = $11;
    34513     $46 = ($45|0)<(0);
    34514     if ($46) {
    34515      $47 = $6;
    34516      $48 = ((($47)) + 4|0);
    34517      $49 = HEAP32[$48>>2]|0;
    34518      $50 = (($49) + -1)|0;
    34519      HEAP32[$48>>2] = $50;
    34520      $51 = $9;
    34521      $52 = $10;
    34522      $53 = (($51) + ($52<<2)|0);
    34523      HEAP32[$53>>2] = 0;
    34524     }
    34525    }
    34526    $54 = $10;
    34527    $55 = (($54) + 1)|0;
    34528    $10 = $55;
    34529   }
    34530   $56 = ((($19)) + 48|0);
    34531   $57 = HEAP32[$56>>2]|0;
    34532   $9 = $57;
    34533  }
    34534  if ((label|0) == 7) {
    34535   $4 = 0;
    34536   $58 = $4;
    34537   STACKTOP = sp;return ($58|0);
    34538  }
    34539  else if ((label|0) == 10) {
    34540   $4 = 0;
    34541   $58 = $4;
    34542   STACKTOP = sp;return ($58|0);
    34543  }
    34544  else if ((label|0) == 15) {
    34545   $4 = 1;
    34546   $58 = $4;
    34547   STACKTOP = sp;return ($58|0);
    34548  }
    34549  return (0)|0;
    34550 }
    34551 function _mrb_gc_free_gv($0) {
    34552  $0 = $0|0;
    34553  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34554  sp = STACKTOP;
    34555  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34556  $1 = $0;
    34557  $2 = $1;
    34558  $3 = ((($2)) + 24|0);
    34559  $4 = HEAP32[$3>>2]|0;
    34560  $5 = ($4|0)!=(0|0);
    34561  if (!($5)) {
    34562   STACKTOP = sp;return;
    34563  }
    34564  $6 = $1;
    34565  $7 = $1;
    34566  $8 = ((($7)) + 24|0);
    34567  $9 = HEAP32[$8>>2]|0;
    34568  _iv_free($6,$9);
    34569  STACKTOP = sp;return;
    34570 }
    34571 function _iv_free($0,$1) {
    34572  $0 = $0|0;
    34573  $1 = $1|0;
    34574  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34575  sp = STACKTOP;
    34576  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34577  $2 = $0;
    34578  $3 = $1;
    34579  $6 = $3;
    34580  $7 = HEAP32[$6>>2]|0;
    34581  $4 = $7;
    34582  while(1) {
    34583   $8 = $4;
    34584   $9 = ($8|0)!=(0|0);
    34585   if (!($9)) {
    34586    break;
    34587   }
    34588   $10 = $4;
    34589   $5 = $10;
    34590   $11 = $4;
    34591   $12 = ((($11)) + 48|0);
    34592   $13 = HEAP32[$12>>2]|0;
    34593   $4 = $13;
    34594   $14 = $2;
    34595   $15 = $5;
    34596   _mrb_free($14,$15);
    34597  }
    34598  $16 = $2;
    34599  $17 = $3;
    34600  _mrb_free($16,$17);
    34601  STACKTOP = sp;return;
    34602 }
    34603 function _mrb_gc_mark_iv($0,$1) {
    34604  $0 = $0|0;
    34605  $1 = $1|0;
    34606  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    34607  sp = STACKTOP;
    34608  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34609  $2 = $0;
    34610  $3 = $1;
    34611  $4 = $2;
    34612  $5 = $3;
    34613  $6 = ((($5)) + 12|0);
    34614  $7 = HEAP32[$6>>2]|0;
    34615  _mark_tbl($4,$7);
    34616  STACKTOP = sp;return;
    34617 }
    34618 function _mrb_gc_mark_iv_size($0,$1) {
    34619  $0 = $0|0;
    34620  $1 = $1|0;
    34621  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    34622  sp = STACKTOP;
    34623  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34624  $2 = $0;
    34625  $3 = $1;
    34626  $4 = $2;
    34627  $5 = $3;
    34628  $6 = ((($5)) + 12|0);
    34629  $7 = HEAP32[$6>>2]|0;
    34630  $8 = (_iv_size($4,$7)|0);
    34631  STACKTOP = sp;return ($8|0);
    34632 }
    34633 function _iv_size($0,$1) {
    34634  $0 = $0|0;
    34635  $1 = $1|0;
    34636  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    34637  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34638  sp = STACKTOP;
    34639  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    34640  $3 = $0;
    34641  $4 = $1;
    34642  $6 = 0;
    34643  $7 = $4;
    34644  $8 = ($7|0)!=(0|0);
    34645  if (!($8)) {
    34646   $2 = 0;
    34647   $34 = $2;
    34648   STACKTOP = sp;return ($34|0);
    34649  }
    34650  $9 = $4;
    34651  $10 = ((($9)) + 4|0);
    34652  $11 = HEAP32[$10>>2]|0;
    34653  $12 = ($11>>>0)>(0);
    34654  $13 = $4;
    34655  if ($12) {
    34656   $14 = ((($13)) + 4|0);
    34657   $15 = HEAP32[$14>>2]|0;
    34658   $2 = $15;
    34659   $34 = $2;
    34660   STACKTOP = sp;return ($34|0);
    34661  }
    34662  $16 = HEAP32[$13>>2]|0;
    34663  $5 = $16;
    34664  while(1) {
    34665   $17 = $5;
    34666   $18 = ($17|0)!=(0|0);
    34667   if (!($18)) {
    34668    label = 10;
    34669    break;
    34670   }
    34671   $19 = $5;
    34672   $20 = ((($19)) + 48|0);
    34673   $21 = HEAP32[$20>>2]|0;
    34674   $22 = ($21|0)==(0|0);
    34675   if ($22) {
    34676    label = 8;
    34677    break;
    34678   }
    34679   $29 = $5;
    34680   $30 = ((($29)) + 48|0);
    34681   $31 = HEAP32[$30>>2]|0;
    34682   $5 = $31;
    34683   $32 = $6;
    34684   $33 = (($32) + 4)|0;
    34685   $6 = $33;
    34686  }
    34687  if ((label|0) == 8) {
    34688   $23 = $4;
    34689   $24 = ((($23)) + 8|0);
    34690   $25 = HEAP32[$24>>2]|0;
    34691   $26 = $6;
    34692   $27 = (($26) + ($25))|0;
    34693   $6 = $27;
    34694   $28 = $6;
    34695   $2 = $28;
    34696   $34 = $2;
    34697   STACKTOP = sp;return ($34|0);
    34698  }
    34699  else if ((label|0) == 10) {
    34700   $2 = 0;
    34701   $34 = $2;
    34702   STACKTOP = sp;return ($34|0);
    34703  }
    34704  return (0)|0;
    34705 }
    34706 function _mrb_gc_free_iv($0,$1) {
    34707  $0 = $0|0;
    34708  $1 = $1|0;
    34709  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34710  sp = STACKTOP;
    34711  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34712  $2 = $0;
    34713  $3 = $1;
    34714  $4 = $3;
    34715  $5 = ((($4)) + 12|0);
    34716  $6 = HEAP32[$5>>2]|0;
    34717  $7 = ($6|0)!=(0|0);
    34718  if (!($7)) {
    34719   STACKTOP = sp;return;
    34720  }
    34721  $8 = $2;
    34722  $9 = $3;
    34723  $10 = ((($9)) + 12|0);
    34724  $11 = HEAP32[$10>>2]|0;
    34725  _iv_free($8,$11);
    34726  STACKTOP = sp;return;
    34727 }
    34728 function _mrb_vm_special_get($0,$1,$2) {
    34729  $0 = $0|0;
    34730  $1 = $1|0;
    34731  $2 = $2|0;
    34732  var $3 = 0, $4 = 0, label = 0, sp = 0;
    34733  sp = STACKTOP;
    34734  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34735  $3 = $1;
    34736  $4 = $2;
    34737  _mrb_fixnum_value_380($0,0);
    34738  STACKTOP = sp;return;
    34739 }
    34740 function _mrb_fixnum_value_380($0,$1) {
    34741  $0 = $0|0;
    34742  $1 = $1|0;
    34743  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    34744  sp = STACKTOP;
    34745  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34746  $3 = sp;
    34747  $2 = $1;
    34748  $4 = ((($3)) + 4|0);
    34749  HEAP32[$4>>2] = 3;
    34750  $5 = $2;
    34751  HEAP32[$3>>2] = $5;
    34752  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    34753  STACKTOP = sp;return;
    34754 }
    34755 function _mrb_vm_special_set($0,$1,$2) {
    34756  $0 = $0|0;
    34757  $1 = $1|0;
    34758  $2 = $2|0;
    34759  var $3 = 0, $4 = 0, label = 0, sp = 0;
    34760  sp = STACKTOP;
    34761  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34762  $3 = $0;
    34763  $4 = $1;
    34764  STACKTOP = sp;return;
    34765 }
    34766 function _mrb_obj_iv_get($0,$1,$2,$3) {
    34767  $0 = $0|0;
    34768  $1 = $1|0;
    34769  $2 = $2|0;
    34770  $3 = $3|0;
    34771  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34772  sp = STACKTOP;
    34773  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    34774  $7 = sp;
    34775  $4 = $1;
    34776  $5 = $2;
    34777  $6 = $3;
    34778  $8 = $5;
    34779  $9 = ((($8)) + 12|0);
    34780  $10 = HEAP32[$9>>2]|0;
    34781  $11 = ($10|0)!=(0|0);
    34782  if ($11) {
    34783   $12 = $4;
    34784   $13 = $5;
    34785   $14 = ((($13)) + 12|0);
    34786   $15 = HEAP32[$14>>2]|0;
    34787   $16 = $6;
    34788   $17 = (_iv_get($12,$15,$16,$7)|0);
    34789   $18 = $17&255;
    34790   $19 = ($18|0)!=(0);
    34791   if ($19) {
    34792    ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    34793    STACKTOP = sp;return;
    34794   }
    34795  }
    34796  _mrb_nil_value_381($0);
    34797  STACKTOP = sp;return;
    34798 }
    34799 function _iv_get($0,$1,$2,$3) {
    34800  $0 = $0|0;
    34801  $1 = $1|0;
    34802  $2 = $2|0;
    34803  $3 = $3|0;
    34804  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    34805  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0;
    34806  var $8 = 0, $9 = 0, label = 0, sp = 0;
    34807  sp = STACKTOP;
    34808  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    34809  $5 = $0;
    34810  $6 = $1;
    34811  $7 = $2;
    34812  $8 = $3;
    34813  $12 = $6;
    34814  $13 = HEAP32[$12>>2]|0;
    34815  $9 = $13;
    34816  L1: while(1) {
    34817   $14 = $9;
    34818   $15 = ($14|0)!=(0|0);
    34819   if (!($15)) {
    34820    label = 14;
    34821    break;
    34822   }
    34823   $10 = 0;
    34824   while(1) {
    34825    $16 = $10;
    34826    $17 = ($16>>>0)<(4);
    34827    $18 = $9;
    34828    if (!($17)) {
    34829     break;
    34830    }
    34831    $19 = $10;
    34832    $20 = (($18) + ($19<<2)|0);
    34833    $21 = HEAP32[$20>>2]|0;
    34834    $11 = $21;
    34835    $22 = $9;
    34836    $23 = ((($22)) + 48|0);
    34837    $24 = HEAP32[$23>>2]|0;
    34838    $25 = ($24|0)!=(0|0);
    34839    if (!($25)) {
    34840     $26 = $10;
    34841     $27 = $6;
    34842     $28 = ((($27)) + 8|0);
    34843     $29 = HEAP32[$28>>2]|0;
    34844     $30 = ($26>>>0)>=($29>>>0);
    34845     if ($30) {
    34846      label = 7;
    34847      break L1;
    34848     }
    34849    }
    34850    $31 = $11;
    34851    $32 = $7;
    34852    $33 = ($31|0)==($32|0);
    34853    if ($33) {
    34854     label = 9;
    34855     break L1;
    34856    }
    34857    $41 = $10;
    34858    $42 = (($41) + 1)|0;
    34859    $10 = $42;
    34860   }
    34861   $43 = ((($18)) + 48|0);
    34862   $44 = HEAP32[$43>>2]|0;
    34863   $9 = $44;
    34864  }
    34865  if ((label|0) == 7) {
    34866   $4 = 0;
    34867   $45 = $4;
    34868   STACKTOP = sp;return ($45|0);
    34869  }
    34870  else if ((label|0) == 9) {
    34871   $34 = $8;
    34872   $35 = ($34|0)!=(0|0);
    34873   if ($35) {
    34874    $36 = $8;
    34875    $37 = $9;
    34876    $38 = ((($37)) + 16|0);
    34877    $39 = $10;
    34878    $40 = (($38) + ($39<<3)|0);
    34879    ;HEAP32[$36>>2]=HEAP32[$40>>2]|0;HEAP32[$36+4>>2]=HEAP32[$40+4>>2]|0;
    34880   }
    34881   $4 = 1;
    34882   $45 = $4;
    34883   STACKTOP = sp;return ($45|0);
    34884  }
    34885  else if ((label|0) == 14) {
    34886   $4 = 0;
    34887   $45 = $4;
    34888   STACKTOP = sp;return ($45|0);
    34889  }
    34890  return (0)|0;
    34891 }
    34892 function _mrb_nil_value_381($0) {
    34893  $0 = $0|0;
    34894  var $1 = 0, $2 = 0, label = 0, sp = 0;
    34895  sp = STACKTOP;
    34896  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34897  $1 = sp;
    34898  $2 = ((($1)) + 4|0);
    34899  HEAP32[$2>>2] = 0;
    34900  HEAP32[$1>>2] = 0;
    34901  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    34902  STACKTOP = sp;return;
    34903 }
    34904 function _mrb_iv_get($0,$1,$2,$3) {
    34905  $0 = $0|0;
    34906  $1 = $1|0;
    34907  $2 = $2|0;
    34908  $3 = $3|0;
    34909  var $$byval_copy = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34910  sp = STACKTOP;
    34911  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34912  $$byval_copy = sp + 8|0;
    34913  $4 = $1;
    34914  $5 = $3;
    34915  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    34916  $6 = (_obj_iv_p($$byval_copy)|0);
    34917  $7 = ($6<<24>>24)!=(0);
    34918  if ($7) {
    34919   $8 = $4;
    34920   $9 = HEAP32[$2>>2]|0;
    34921   $10 = $5;
    34922   _mrb_obj_iv_get($0,$8,$9,$10);
    34923   STACKTOP = sp;return;
    34924  } else {
    34925   _mrb_nil_value_381($0);
    34926   STACKTOP = sp;return;
    34927  }
    34928 }
    34929 function _obj_iv_p($0) {
    34930  $0 = $0|0;
    34931  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    34932  sp = STACKTOP;
    34933  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34934  $2 = ((($0)) + 4|0);
    34935  $3 = HEAP32[$2>>2]|0;
    34936  switch ($3|0) {
    34937  case 18: case 21: case 15: case 12: case 10: case 9: case 8:  {
    34938   $1 = 1;
    34939   break;
    34940  }
    34941  default: {
    34942   $1 = 0;
    34943  }
    34944  }
    34945  $4 = $1;
    34946  STACKTOP = sp;return ($4|0);
    34947 }
    34948 function _mrb_obj_iv_set($0,$1,$2,$3) {
    34949  $0 = $0|0;
    34950  $1 = $1|0;
    34951  $2 = $2|0;
    34952  $3 = $3|0;
    34953  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    34954  var sp = 0;
    34955  sp = STACKTOP;
    34956  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    34957  $$byval_copy = sp + 16|0;
    34958  $4 = $0;
    34959  $5 = $1;
    34960  $6 = $2;
    34961  $8 = $5;
    34962  $9 = ((($8)) + 12|0);
    34963  $10 = HEAP32[$9>>2]|0;
    34964  $7 = $10;
    34965  $11 = $7;
    34966  $12 = ($11|0)!=(0|0);
    34967  if (!($12)) {
    34968   $13 = $4;
    34969   $14 = (_iv_new($13)|0);
    34970   $15 = $5;
    34971   $16 = ((($15)) + 12|0);
    34972   HEAP32[$16>>2] = $14;
    34973   $7 = $14;
    34974  }
    34975  $17 = $4;
    34976  $18 = $5;
    34977  _mrb_write_barrier($17,$18);
    34978  $19 = $4;
    34979  $20 = $7;
    34980  $21 = $6;
    34981  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    34982  _iv_put($19,$20,$21,$$byval_copy);
    34983  STACKTOP = sp;return;
    34984 }
    34985 function _iv_new($0) {
    34986  $0 = $0|0;
    34987  var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    34988  sp = STACKTOP;
    34989  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    34990  $1 = $0;
    34991  $3 = $1;
    34992  $4 = (_mrb_malloc($3,12)|0);
    34993  $2 = $4;
    34994  $5 = $2;
    34995  $6 = ((($5)) + 4|0);
    34996  HEAP32[$6>>2] = 0;
    34997  $7 = $2;
    34998  HEAP32[$7>>2] = 0;
    34999  $8 = $2;
    35000  $9 = ((($8)) + 8|0);
    35001  HEAP32[$9>>2] = 0;
    35002  $10 = $2;
    35003  STACKTOP = sp;return ($10|0);
    35004 }
    35005 function _iv_put($0,$1,$2,$3) {
    35006  $0 = $0|0;
    35007  $1 = $1|0;
    35008  $2 = $2|0;
    35009  $3 = $3|0;
    35010  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    35011  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    35012  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    35013  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
    35014  var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $or$cond = 0, label = 0, sp = 0;
    35015  sp = STACKTOP;
    35016  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    35017  $4 = $0;
    35018  $5 = $1;
    35019  $6 = $2;
    35020  $13 = $5;
    35021  $14 = HEAP32[$13>>2]|0;
    35022  $7 = $14;
    35023  $8 = 0;
    35024  $9 = 0;
    35025  $10 = 0;
    35026  L1: while(1) {
    35027   $15 = $7;
    35028   $16 = ($15|0)!=(0|0);
    35029   if (!($16)) {
    35030    label = 14;
    35031    break;
    35032   }
    35033   $11 = 0;
    35034   while(1) {
    35035    $17 = $11;
    35036    $18 = ($17>>>0)<(4);
    35037    $19 = $7;
    35038    if (!($18)) {
    35039     break;
    35040    }
    35041    $20 = $11;
    35042    $21 = (($19) + ($20<<2)|0);
    35043    $22 = HEAP32[$21>>2]|0;
    35044    $12 = $22;
    35045    $23 = $7;
    35046    $24 = ((($23)) + 48|0);
    35047    $25 = HEAP32[$24>>2]|0;
    35048    $26 = ($25|0)!=(0|0);
    35049    if (!($26)) {
    35050     $27 = $11;
    35051     $28 = $5;
    35052     $29 = ((($28)) + 8|0);
    35053     $30 = HEAP32[$29>>2]|0;
    35054     $31 = ($27>>>0)>=($30>>>0);
    35055     if ($31) {
    35056      label = 7;
    35057      break L1;
    35058     }
    35059    }
    35060    $48 = $9;
    35061    $49 = ($48|0)==(0|0);
    35062    $50 = $12;
    35063    $51 = ($50|0)==(0);
    35064    $or$cond = $49 & $51;
    35065    if ($or$cond) {
    35066     $52 = $7;
    35067     $9 = $52;
    35068     $53 = $11;
    35069     $10 = $53;
    35070    } else {
    35071     $54 = $12;
    35072     $55 = $6;
    35073     $56 = ($54|0)==($55|0);
    35074     if ($56) {
    35075      label = 11;
    35076      break L1;
    35077     }
    35078    }
    35079    $61 = $11;
    35080    $62 = (($61) + 1)|0;
    35081    $11 = $62;
    35082   }
    35083   $8 = $19;
    35084   $63 = $7;
    35085   $64 = ((($63)) + 48|0);
    35086   $65 = HEAP32[$64>>2]|0;
    35087   $7 = $65;
    35088  }
    35089  if ((label|0) == 7) {
    35090   $32 = $6;
    35091   $33 = $7;
    35092   $34 = $11;
    35093   $35 = (($33) + ($34<<2)|0);
    35094   HEAP32[$35>>2] = $32;
    35095   $36 = $7;
    35096   $37 = ((($36)) + 16|0);
    35097   $38 = $11;
    35098   $39 = (($37) + ($38<<3)|0);
    35099   ;HEAP32[$39>>2]=HEAP32[$3>>2]|0;HEAP32[$39+4>>2]=HEAP32[$3+4>>2]|0;
    35100   $40 = $11;
    35101   $41 = (($40) + 1)|0;
    35102   $42 = $5;
    35103   $43 = ((($42)) + 8|0);
    35104   HEAP32[$43>>2] = $41;
    35105   $44 = $5;
    35106   $45 = ((($44)) + 4|0);
    35107   $46 = HEAP32[$45>>2]|0;
    35108   $47 = (($46) + 1)|0;
    35109   HEAP32[$45>>2] = $47;
    35110   STACKTOP = sp;return;
    35111  }
    35112  else if ((label|0) == 11) {
    35113   $57 = $7;
    35114   $58 = ((($57)) + 16|0);
    35115   $59 = $11;
    35116   $60 = (($58) + ($59<<3)|0);
    35117   ;HEAP32[$60>>2]=HEAP32[$3>>2]|0;HEAP32[$60+4>>2]=HEAP32[$3+4>>2]|0;
    35118   STACKTOP = sp;return;
    35119  }
    35120  else if ((label|0) == 14) {
    35121   $66 = $5;
    35122   $67 = ((($66)) + 4|0);
    35123   $68 = HEAP32[$67>>2]|0;
    35124   $69 = (($68) + 1)|0;
    35125   HEAP32[$67>>2] = $69;
    35126   $70 = $9;
    35127   $71 = ($70|0)!=(0|0);
    35128   if ($71) {
    35129    $72 = $6;
    35130    $73 = $9;
    35131    $74 = $10;
    35132    $75 = (($73) + ($74<<2)|0);
    35133    HEAP32[$75>>2] = $72;
    35134    $76 = $9;
    35135    $77 = ((($76)) + 16|0);
    35136    $78 = $10;
    35137    $79 = (($77) + ($78<<3)|0);
    35138    ;HEAP32[$79>>2]=HEAP32[$3>>2]|0;HEAP32[$79+4>>2]=HEAP32[$3+4>>2]|0;
    35139    STACKTOP = sp;return;
    35140   }
    35141   $80 = $4;
    35142   $81 = (_mrb_malloc($80,52)|0);
    35143   $7 = $81;
    35144   $82 = $7;
    35145   $83 = ($82|0)!=(0|0);
    35146   if (!($83)) {
    35147    STACKTOP = sp;return;
    35148   }
    35149   $84 = $7;
    35150   $85 = ((($84)) + 48|0);
    35151   HEAP32[$85>>2] = 0;
    35152   $86 = $6;
    35153   $87 = $7;
    35154   HEAP32[$87>>2] = $86;
    35155   $88 = $7;
    35156   $89 = ((($88)) + 16|0);
    35157   ;HEAP32[$89>>2]=HEAP32[$3>>2]|0;HEAP32[$89+4>>2]=HEAP32[$3+4>>2]|0;
    35158   $90 = $5;
    35159   $91 = ((($90)) + 8|0);
    35160   HEAP32[$91>>2] = 1;
    35161   $92 = $8;
    35162   $93 = ($92|0)!=(0|0);
    35163   $94 = $7;
    35164   if ($93) {
    35165    $95 = $8;
    35166    $96 = ((($95)) + 48|0);
    35167    HEAP32[$96>>2] = $94;
    35168    STACKTOP = sp;return;
    35169   } else {
    35170    $97 = $5;
    35171    HEAP32[$97>>2] = $94;
    35172    STACKTOP = sp;return;
    35173   }
    35174  }
    35175 }
    35176 function _mrb_obj_iv_ifnone($0,$1,$2,$3) {
    35177  $0 = $0|0;
    35178  $1 = $1|0;
    35179  $2 = $2|0;
    35180  $3 = $3|0;
    35181  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0, $6 = 0;
    35182  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35183  sp = STACKTOP;
    35184  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35185  $$byval_copy = sp + 16|0;
    35186  $4 = $0;
    35187  $5 = $1;
    35188  $6 = $2;
    35189  $8 = $5;
    35190  $9 = ((($8)) + 12|0);
    35191  $10 = HEAP32[$9>>2]|0;
    35192  $7 = $10;
    35193  $11 = $7;
    35194  $12 = ($11|0)!=(0|0);
    35195  $13 = $4;
    35196  if ($12) {
    35197   $17 = $7;
    35198   $18 = $6;
    35199   $19 = (_iv_get($13,$17,$18,$3)|0);
    35200   $20 = ($19<<24>>24)!=(0);
    35201   if ($20) {
    35202    STACKTOP = sp;return;
    35203   }
    35204  } else {
    35205   $14 = (_iv_new($13)|0);
    35206   $15 = $5;
    35207   $16 = ((($15)) + 12|0);
    35208   HEAP32[$16>>2] = $14;
    35209   $7 = $14;
    35210  }
    35211  $21 = $4;
    35212  $22 = $5;
    35213  _mrb_write_barrier($21,$22);
    35214  $23 = $4;
    35215  $24 = $7;
    35216  $25 = $6;
    35217  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    35218  _iv_put($23,$24,$25,$$byval_copy);
    35219  STACKTOP = sp;return;
    35220 }
    35221 function _mrb_iv_set($0,$1,$2,$3) {
    35222  $0 = $0|0;
    35223  $1 = $1|0;
    35224  $2 = $2|0;
    35225  $3 = $3|0;
    35226  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35227  sp = STACKTOP;
    35228  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35229  $$byval_copy1 = sp + 16|0;
    35230  $$byval_copy = sp + 8|0;
    35231  $4 = $0;
    35232  $5 = $2;
    35233  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    35234  $6 = (_obj_iv_p($$byval_copy)|0);
    35235  $7 = ($6<<24>>24)!=(0);
    35236  $8 = $4;
    35237  if ($7) {
    35238   $9 = HEAP32[$1>>2]|0;
    35239   $10 = $5;
    35240   ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
    35241   _mrb_obj_iv_set($8,$9,$10,$$byval_copy1);
    35242   STACKTOP = sp;return;
    35243  } else {
    35244   $11 = $4;
    35245   $12 = (_mrb_class_get($11,69160)|0);
    35246   _mrb_raise($8,$12,56506);
    35247   // unreachable;
    35248  }
    35249 }
    35250 function _mrb_obj_iv_defined($0,$1,$2) {
    35251  $0 = $0|0;
    35252  $1 = $1|0;
    35253  $2 = $2|0;
    35254  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35255  sp = STACKTOP;
    35256  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35257  $4 = $0;
    35258  $5 = $1;
    35259  $6 = $2;
    35260  $8 = $5;
    35261  $9 = ((($8)) + 12|0);
    35262  $10 = HEAP32[$9>>2]|0;
    35263  $7 = $10;
    35264  $11 = $7;
    35265  $12 = ($11|0)!=(0|0);
    35266  if ($12) {
    35267   $13 = $4;
    35268   $14 = $7;
    35269   $15 = $6;
    35270   $16 = (_iv_get($13,$14,$15,0)|0);
    35271   $3 = $16;
    35272   $17 = $3;
    35273   STACKTOP = sp;return ($17|0);
    35274  } else {
    35275   $3 = 0;
    35276   $17 = $3;
    35277   STACKTOP = sp;return ($17|0);
    35278  }
    35279  return (0)|0;
    35280 }
    35281 function _mrb_iv_defined($0,$1,$2) {
    35282  $0 = $0|0;
    35283  $1 = $1|0;
    35284  $2 = $2|0;
    35285  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35286  sp = STACKTOP;
    35287  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35288  $$byval_copy = sp + 8|0;
    35289  $4 = $0;
    35290  $5 = $2;
    35291  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    35292  $6 = (_obj_iv_p($$byval_copy)|0);
    35293  $7 = ($6<<24>>24)!=(0);
    35294  if ($7) {
    35295   $8 = $4;
    35296   $9 = HEAP32[$1>>2]|0;
    35297   $10 = $5;
    35298   $11 = (_mrb_obj_iv_defined($8,$9,$10)|0);
    35299   $3 = $11;
    35300   $12 = $3;
    35301   STACKTOP = sp;return ($12|0);
    35302  } else {
    35303   $3 = 0;
    35304   $12 = $3;
    35305   STACKTOP = sp;return ($12|0);
    35306  }
    35307  return (0)|0;
    35308 }
    35309 function _mrb_iv_p($0,$1) {
    35310  $0 = $0|0;
    35311  $1 = $1|0;
    35312  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    35313  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    35314  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35315  sp = STACKTOP;
    35316  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35317  $7 = sp;
    35318  $3 = $0;
    35319  $4 = $1;
    35320  $8 = $3;
    35321  $9 = $4;
    35322  $10 = (_mrb_sym2name_len($8,$9,$7)|0);
    35323  $5 = $10;
    35324  $11 = HEAP32[$7>>2]|0;
    35325  $12 = ($11|0)<(2);
    35326  if ($12) {
    35327   $2 = 0;
    35328   $54 = $2;
    35329   STACKTOP = sp;return ($54|0);
    35330  }
    35331  $13 = $5;
    35332  $14 = HEAP8[$13>>0]|0;
    35333  $15 = $14 << 24 >> 24;
    35334  $16 = ($15|0)!=(64);
    35335  if ($16) {
    35336   $2 = 0;
    35337   $54 = $2;
    35338   STACKTOP = sp;return ($54|0);
    35339  }
    35340  $17 = $5;
    35341  $18 = ((($17)) + 1|0);
    35342  $19 = HEAP8[$18>>0]|0;
    35343  $20 = $19 << 24 >> 24;
    35344  $21 = ($20|0)==(64);
    35345  if ($21) {
    35346   $2 = 0;
    35347   $54 = $2;
    35348   STACKTOP = sp;return ($54|0);
    35349  }
    35350  $6 = 1;
    35351  while(1) {
    35352   $22 = $6;
    35353   $23 = HEAP32[$7>>2]|0;
    35354   $24 = ($22|0)<($23|0);
    35355   if (!($24)) {
    35356    label = 15;
    35357    break;
    35358   }
    35359   $25 = $5;
    35360   $26 = $6;
    35361   $27 = (($25) + ($26)|0);
    35362   $28 = HEAP8[$27>>0]|0;
    35363   $29 = $28 << 24 >> 24;
    35364   $30 = $29 | 32;
    35365   $31 = (($30) - 97)|0;
    35366   $32 = ($31>>>0)<(26);
    35367   if (!($32)) {
    35368    $33 = $5;
    35369    $34 = $6;
    35370    $35 = (($33) + ($34)|0);
    35371    $36 = HEAP8[$35>>0]|0;
    35372    $37 = $36 << 24 >> 24;
    35373    $38 = (($37) - 48)|0;
    35374    $39 = ($38>>>0)<(10);
    35375    if (!($39)) {
    35376     $40 = $5;
    35377     $41 = $6;
    35378     $42 = (($40) + ($41)|0);
    35379     $43 = HEAP8[$42>>0]|0;
    35380     $44 = $43 << 24 >> 24;
    35381     $45 = ($44|0)==(95);
    35382     if (!($45)) {
    35383      $46 = $5;
    35384      $47 = $6;
    35385      $48 = (($46) + ($47)|0);
    35386      $49 = HEAP8[$48>>0]|0;
    35387      $50 = $49 << 24 >> 24;
    35388      $51 = ($50>>>0)<=(127);
    35389      if ($51) {
    35390       label = 13;
    35391       break;
    35392      }
    35393     }
    35394    }
    35395   }
    35396   $52 = $6;
    35397   $53 = (($52) + 1)|0;
    35398   $6 = $53;
    35399  }
    35400  if ((label|0) == 13) {
    35401   $2 = 0;
    35402   $54 = $2;
    35403   STACKTOP = sp;return ($54|0);
    35404  }
    35405  else if ((label|0) == 15) {
    35406   $2 = 1;
    35407   $54 = $2;
    35408   STACKTOP = sp;return ($54|0);
    35409  }
    35410  return (0)|0;
    35411 }
    35412 function _mrb_iv_check($0,$1) {
    35413  $0 = $0|0;
    35414  $1 = $1|0;
    35415  var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    35416  sp = STACKTOP;
    35417  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35418  $vararg_buffer = sp;
    35419  $4 = sp + 8|0;
    35420  $2 = $0;
    35421  $3 = $1;
    35422  $5 = $2;
    35423  $6 = $3;
    35424  $7 = (_mrb_iv_p($5,$6)|0);
    35425  $8 = ($7<<24>>24)!=(0);
    35426  if ($8) {
    35427   STACKTOP = sp;return;
    35428  } else {
    35429   $9 = $2;
    35430   $10 = $3;
    35431   $11 = $2;
    35432   $12 = $3;
    35433   _mrb_sym2str($4,$11,$12);
    35434   ;HEAP8[$vararg_buffer>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$4+7>>0]|0;
    35435   _mrb_name_error($9,$10,56535,$vararg_buffer);
    35436   // unreachable;
    35437  }
    35438 }
    35439 function _mrb_iv_copy($0,$1,$2) {
    35440  $0 = $0|0;
    35441  $1 = $1|0;
    35442  $2 = $2|0;
    35443  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    35444  var $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35445  sp = STACKTOP;
    35446  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    35447  $3 = $0;
    35448  $6 = HEAP32[$1>>2]|0;
    35449  $4 = $6;
    35450  $7 = HEAP32[$2>>2]|0;
    35451  $5 = $7;
    35452  $8 = $4;
    35453  $9 = ((($8)) + 12|0);
    35454  $10 = HEAP32[$9>>2]|0;
    35455  $11 = ($10|0)!=(0|0);
    35456  if ($11) {
    35457   $12 = $3;
    35458   $13 = $4;
    35459   $14 = ((($13)) + 12|0);
    35460   $15 = HEAP32[$14>>2]|0;
    35461   _iv_free($12,$15);
    35462   $16 = $4;
    35463   $17 = ((($16)) + 12|0);
    35464   HEAP32[$17>>2] = 0;
    35465  }
    35466  $18 = $5;
    35467  $19 = ((($18)) + 12|0);
    35468  $20 = HEAP32[$19>>2]|0;
    35469  $21 = ($20|0)!=(0|0);
    35470  if (!($21)) {
    35471   STACKTOP = sp;return;
    35472  }
    35473  $22 = $3;
    35474  $23 = $4;
    35475  _mrb_write_barrier($22,$23);
    35476  $24 = $3;
    35477  $25 = $5;
    35478  $26 = ((($25)) + 12|0);
    35479  $27 = HEAP32[$26>>2]|0;
    35480  $28 = (_iv_copy($24,$27)|0);
    35481  $29 = $4;
    35482  $30 = ((($29)) + 12|0);
    35483  HEAP32[$30>>2] = $28;
    35484  STACKTOP = sp;return;
    35485 }
    35486 function _iv_copy($0,$1) {
    35487  $0 = $0|0;
    35488  $1 = $1|0;
    35489  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    35490  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0;
    35491  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35492  sp = STACKTOP;
    35493  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    35494  $$byval_copy = sp + 40|0;
    35495  $9 = sp;
    35496  $3 = $0;
    35497  $4 = $1;
    35498  $10 = $4;
    35499  $11 = HEAP32[$10>>2]|0;
    35500  $5 = $11;
    35501  $12 = $3;
    35502  $13 = (_iv_new($12)|0);
    35503  $6 = $13;
    35504  L1: while(1) {
    35505   $14 = $5;
    35506   $15 = ($14|0)!=(0|0);
    35507   if (!($15)) {
    35508    label = 10;
    35509    break;
    35510   }
    35511   $7 = 0;
    35512   while(1) {
    35513    $16 = $7;
    35514    $17 = ($16>>>0)<(4);
    35515    $18 = $5;
    35516    if (!($17)) {
    35517     break;
    35518    }
    35519    $19 = $7;
    35520    $20 = (($18) + ($19<<2)|0);
    35521    $21 = HEAP32[$20>>2]|0;
    35522    $8 = $21;
    35523    $22 = $5;
    35524    $23 = ((($22)) + 16|0);
    35525    $24 = $7;
    35526    $25 = (($23) + ($24<<3)|0);
    35527    ;HEAP32[$9>>2]=HEAP32[$25>>2]|0;HEAP32[$9+4>>2]=HEAP32[$25+4>>2]|0;
    35528    $26 = $5;
    35529    $27 = ((($26)) + 48|0);
    35530    $28 = HEAP32[$27>>2]|0;
    35531    $29 = ($28|0)==(0|0);
    35532    if ($29) {
    35533     $30 = $7;
    35534     $31 = $4;
    35535     $32 = ((($31)) + 8|0);
    35536     $33 = HEAP32[$32>>2]|0;
    35537     $34 = ($30>>>0)>=($33>>>0);
    35538     if ($34) {
    35539      label = 7;
    35540      break L1;
    35541     }
    35542    }
    35543    $36 = $3;
    35544    $37 = $6;
    35545    $38 = $8;
    35546    ;HEAP32[$$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$9+4>>2]|0;
    35547    _iv_put($36,$37,$38,$$byval_copy);
    35548    $39 = $7;
    35549    $40 = (($39) + 1)|0;
    35550    $7 = $40;
    35551   }
    35552   $41 = ((($18)) + 48|0);
    35553   $42 = HEAP32[$41>>2]|0;
    35554   $5 = $42;
    35555  }
    35556  if ((label|0) == 7) {
    35557   $35 = $6;
    35558   $2 = $35;
    35559   $44 = $2;
    35560   STACKTOP = sp;return ($44|0);
    35561  }
    35562  else if ((label|0) == 10) {
    35563   $43 = $6;
    35564   $2 = $43;
    35565   $44 = $2;
    35566   STACKTOP = sp;return ($44|0);
    35567  }
    35568  return (0)|0;
    35569 }
    35570 function _mrb_obj_iv_inspect($0,$1,$2) {
    35571  $0 = $0|0;
    35572  $1 = $1|0;
    35573  $2 = $2|0;
    35574  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
    35575  var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0;
    35576  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35577  sp = STACKTOP;
    35578  STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
    35579  $$byval_copy7 = sp + 144|0;
    35580  $$byval_copy6 = sp + 136|0;
    35581  $$byval_copy5 = sp + 128|0;
    35582  $$byval_copy4 = sp + 120|0;
    35583  $$byval_copy3 = sp + 112|0;
    35584  $$byval_copy2 = sp + 104|0;
    35585  $$byval_copy1 = sp + 96|0;
    35586  $$byval_copy = sp + 88|0;
    35587  $8 = sp + 56|0;
    35588  $9 = sp + 48|0;
    35589  $10 = sp + 40|0;
    35590  $11 = sp + 32|0;
    35591  $12 = sp + 24|0;
    35592  $13 = sp + 16|0;
    35593  $14 = sp + 8|0;
    35594  $15 = sp;
    35595  $3 = $1;
    35596  $4 = $2;
    35597  $16 = $4;
    35598  $17 = ((($16)) + 12|0);
    35599  $18 = HEAP32[$17>>2]|0;
    35600  $5 = $18;
    35601  $19 = $3;
    35602  $20 = $5;
    35603  $21 = (_iv_size($19,$20)|0);
    35604  $6 = $21;
    35605  $22 = $6;
    35606  $23 = ($22>>>0)>(0);
    35607  $24 = $3;
    35608  $25 = $4;
    35609  if ($23) {
    35610   _mrb_obj_value_389($8,$25);
    35611   ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
    35612   $26 = (_mrb_obj_classname($24,$$byval_copy)|0);
    35613   $7 = $26;
    35614   $27 = $3;
    35615   _mrb_str_buf_new($9,$27,30);
    35616   $28 = $3;
    35617   ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
    35618   _mrb_str_cat($10,$28,$$byval_copy1,56584,2);
    35619   $29 = $3;
    35620   $30 = $7;
    35621   ;HEAP32[$$byval_copy2>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$9+4>>2]|0;
    35622   _mrb_str_cat_cstr($11,$29,$$byval_copy2,$30);
    35623   $31 = $3;
    35624   ;HEAP32[$$byval_copy3>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$9+4>>2]|0;
    35625   _mrb_str_cat($12,$31,$$byval_copy3,68074,1);
    35626   $32 = $3;
    35627   $33 = $3;
    35628   $34 = $4;
    35629   _mrb_ptr_to_str($13,$33,$34);
    35630   ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
    35631   ;HEAP32[$$byval_copy5>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$13+4>>2]|0;
    35632   _mrb_str_concat($32,$$byval_copy4,$$byval_copy5);
    35633   $35 = $3;
    35634   $36 = $5;
    35635   (_iv_foreach($35,$36,125,$9)|0);
    35636   $37 = $3;
    35637   ;HEAP32[$$byval_copy6>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$9+4>>2]|0;
    35638   _mrb_str_cat($14,$37,$$byval_copy6,65540,1);
    35639   ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
    35640   STACKTOP = sp;return;
    35641  } else {
    35642   _mrb_obj_value_389($15,$25);
    35643   ;HEAP32[$$byval_copy7>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$15+4>>2]|0;
    35644   _mrb_any_to_s($0,$24,$$byval_copy7);
    35645   STACKTOP = sp;return;
    35646  }
    35647 }
    35648 function _mrb_obj_value_389($0,$1) {
    35649  $0 = $0|0;
    35650  $1 = $1|0;
    35651  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    35652  sp = STACKTOP;
    35653  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    35654  $3 = sp;
    35655  $2 = $1;
    35656  $4 = $2;
    35657  $5 = HEAP32[$4>>2]|0;
    35658  $6 = $5 & 255;
    35659  $7 = ((($3)) + 4|0);
    35660  HEAP32[$7>>2] = $6;
    35661  $8 = $2;
    35662  HEAP32[$3>>2] = $8;
    35663  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    35664  STACKTOP = sp;return;
    35665 }
    35666 function _inspect_i($0,$1,$2,$3) {
    35667  $0 = $0|0;
    35668  $1 = $1|0;
    35669  $2 = $2|0;
    35670  $3 = $3|0;
    35671  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
    35672  var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
    35673  var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35674  sp = STACKTOP;
    35675  STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
    35676  $$byval_copy7 = sp + 160|0;
    35677  $$byval_copy6 = sp + 152|0;
    35678  $$byval_copy5 = sp + 144|0;
    35679  $$byval_copy4 = sp + 136|0;
    35680  $$byval_copy3 = sp + 128|0;
    35681  $$byval_copy2 = sp + 120|0;
    35682  $$byval_copy1 = sp + 112|0;
    35683  $$byval_copy = sp + 104|0;
    35684  $7 = sp + 80|0;
    35685  $9 = sp + 72|0;
    35686  $10 = sp + 64|0;
    35687  $12 = sp + 48|0;
    35688  $13 = sp + 40|0;
    35689  $14 = sp + 32|0;
    35690  $15 = sp + 24|0;
    35691  $16 = sp + 16|0;
    35692  $17 = sp + 8|0;
    35693  $18 = sp;
    35694  $4 = $0;
    35695  $5 = $1;
    35696  $6 = $3;
    35697  $19 = $6;
    35698  ;HEAP32[$7>>2]=HEAP32[$19>>2]|0;HEAP32[$7+4>>2]=HEAP32[$19+4>>2]|0;
    35699  $20 = HEAP32[$7>>2]|0;
    35700  $21 = HEAP32[$20>>2]|0;
    35701  $22 = $21 >>> 11;
    35702  $23 = $22 & 8;
    35703  $24 = ($23|0)!=(0);
    35704  $25 = HEAP32[$7>>2]|0;
    35705  $26 = ((($25)) + 12|0);
    35706  if ($24) {
    35707   $29 = $26;
    35708  } else {
    35709   $27 = ((($26)) + 8|0);
    35710   $28 = HEAP32[$27>>2]|0;
    35711   $29 = $28;
    35712  }
    35713  $11 = $29;
    35714  $30 = $11;
    35715  $31 = HEAP8[$30>>0]|0;
    35716  $32 = $31 << 24 >> 24;
    35717  $33 = ($32|0)==(45);
    35718  if ($33) {
    35719   $34 = $11;
    35720   HEAP8[$34>>0] = 35;
    35721   $35 = $4;
    35722   ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    35723   _mrb_str_cat($12,$35,$$byval_copy,67795,1);
    35724  } else {
    35725   $36 = $4;
    35726   ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
    35727   _mrb_str_cat($13,$36,$$byval_copy1,57540,2);
    35728  }
    35729  $37 = $4;
    35730  $38 = $5;
    35731  $39 = (_mrb_sym2name_len($37,$38,$9)|0);
    35732  $8 = $39;
    35733  $40 = $4;
    35734  $41 = $8;
    35735  $42 = HEAP32[$9>>2]|0;
    35736  ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0;
    35737  _mrb_str_cat($14,$40,$$byval_copy2,$41,$42);
    35738  $43 = $4;
    35739  ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
    35740  _mrb_str_cat($15,$43,$$byval_copy3,66243,1);
    35741  $44 = ((($2)) + 4|0);
    35742  $45 = HEAP32[$44>>2]|0;
    35743  $46 = ($45|0)==(8);
    35744  $47 = $4;
    35745  if ($46) {
    35746   ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
    35747   _mrb_any_to_s($16,$47,$$byval_copy4);
    35748   ;HEAP32[$10>>2]=HEAP32[$16>>2]|0;HEAP32[$10+4>>2]=HEAP32[$16+4>>2]|0;
    35749   $48 = $4;
    35750   ;HEAP32[$$byval_copy6>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$7+4>>2]|0;
    35751   ;HEAP32[$$byval_copy7>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$10+4>>2]|0;
    35752   _mrb_str_cat_str($18,$48,$$byval_copy6,$$byval_copy7);
    35753   STACKTOP = sp;return 0;
    35754  } else {
    35755   ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    35756   _mrb_inspect($17,$47,$$byval_copy5);
    35757   ;HEAP32[$10>>2]=HEAP32[$17>>2]|0;HEAP32[$10+4>>2]=HEAP32[$17+4>>2]|0;
    35758   $48 = $4;
    35759   ;HEAP32[$$byval_copy6>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$7+4>>2]|0;
    35760   ;HEAP32[$$byval_copy7>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$10+4>>2]|0;
    35761   _mrb_str_cat_str($18,$48,$$byval_copy6,$$byval_copy7);
    35762   STACKTOP = sp;return 0;
    35763  }
    35764  return (0)|0;
    35765 }
    35766 function _mrb_iv_remove($0,$1,$2,$3) {
    35767  $0 = $0|0;
    35768  $1 = $1|0;
    35769  $2 = $2|0;
    35770  $3 = $3|0;
    35771  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35772  sp = STACKTOP;
    35773  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35774  $$byval_copy = sp + 24|0;
    35775  $7 = sp;
    35776  $4 = $1;
    35777  $5 = $3;
    35778  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    35779  $8 = (_obj_iv_p($$byval_copy)|0);
    35780  $9 = ($8<<24>>24)!=(0);
    35781  if ($9) {
    35782   $10 = HEAP32[$2>>2]|0;
    35783   $11 = ((($10)) + 12|0);
    35784   $12 = HEAP32[$11>>2]|0;
    35785   $6 = $12;
    35786   $13 = $6;
    35787   $14 = ($13|0)!=(0|0);
    35788   if ($14) {
    35789    $15 = $4;
    35790    $16 = $6;
    35791    $17 = $5;
    35792    $18 = (_iv_del($15,$16,$17,$7)|0);
    35793    $19 = $18&255;
    35794    $20 = ($19|0)!=(0);
    35795    if ($20) {
    35796     ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    35797     STACKTOP = sp;return;
    35798    }
    35799   }
    35800  }
    35801  _mrb_undef_value_396($0);
    35802  STACKTOP = sp;return;
    35803 }
    35804 function _iv_del($0,$1,$2,$3) {
    35805  $0 = $0|0;
    35806  $1 = $1|0;
    35807  $2 = $2|0;
    35808  $3 = $3|0;
    35809  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    35810  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    35811  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35812  sp = STACKTOP;
    35813  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35814  $5 = $0;
    35815  $6 = $1;
    35816  $7 = $2;
    35817  $8 = $3;
    35818  $12 = $6;
    35819  $13 = HEAP32[$12>>2]|0;
    35820  $9 = $13;
    35821  L1: while(1) {
    35822   $14 = $9;
    35823   $15 = ($14|0)!=(0|0);
    35824   if (!($15)) {
    35825    label = 14;
    35826    break;
    35827   }
    35828   $10 = 0;
    35829   while(1) {
    35830    $16 = $10;
    35831    $17 = ($16>>>0)<(4);
    35832    $18 = $9;
    35833    if (!($17)) {
    35834     break;
    35835    }
    35836    $19 = $10;
    35837    $20 = (($18) + ($19<<2)|0);
    35838    $21 = HEAP32[$20>>2]|0;
    35839    $11 = $21;
    35840    $22 = $9;
    35841    $23 = ((($22)) + 48|0);
    35842    $24 = HEAP32[$23>>2]|0;
    35843    $25 = ($24|0)!=(0|0);
    35844    if (!($25)) {
    35845     $26 = $10;
    35846     $27 = $6;
    35847     $28 = ((($27)) + 8|0);
    35848     $29 = HEAP32[$28>>2]|0;
    35849     $30 = ($26>>>0)>=($29>>>0);
    35850     if ($30) {
    35851      label = 7;
    35852      break L1;
    35853     }
    35854    }
    35855    $31 = $11;
    35856    $32 = $7;
    35857    $33 = ($31|0)==($32|0);
    35858    if ($33) {
    35859     label = 9;
    35860     break L1;
    35861    }
    35862    $48 = $10;
    35863    $49 = (($48) + 1)|0;
    35864    $10 = $49;
    35865   }
    35866   $50 = ((($18)) + 48|0);
    35867   $51 = HEAP32[$50>>2]|0;
    35868   $9 = $51;
    35869  }
    35870  if ((label|0) == 7) {
    35871   $4 = 0;
    35872   $52 = $4;
    35873   STACKTOP = sp;return ($52|0);
    35874  }
    35875  else if ((label|0) == 9) {
    35876   $34 = $6;
    35877   $35 = ((($34)) + 4|0);
    35878   $36 = HEAP32[$35>>2]|0;
    35879   $37 = (($36) + -1)|0;
    35880   HEAP32[$35>>2] = $37;
    35881   $38 = $9;
    35882   $39 = $10;
    35883   $40 = (($38) + ($39<<2)|0);
    35884   HEAP32[$40>>2] = 0;
    35885   $41 = $8;
    35886   $42 = ($41|0)!=(0|0);
    35887   if ($42) {
    35888    $43 = $8;
    35889    $44 = $9;
    35890    $45 = ((($44)) + 16|0);
    35891    $46 = $10;
    35892    $47 = (($45) + ($46<<3)|0);
    35893    ;HEAP32[$43>>2]=HEAP32[$47>>2]|0;HEAP32[$43+4>>2]=HEAP32[$47+4>>2]|0;
    35894   }
    35895   $4 = 1;
    35896   $52 = $4;
    35897   STACKTOP = sp;return ($52|0);
    35898  }
    35899  else if ((label|0) == 14) {
    35900   $4 = 0;
    35901   $52 = $4;
    35902   STACKTOP = sp;return ($52|0);
    35903  }
    35904  return (0)|0;
    35905 }
    35906 function _mrb_undef_value_396($0) {
    35907  $0 = $0|0;
    35908  var $1 = 0, $2 = 0, label = 0, sp = 0;
    35909  sp = STACKTOP;
    35910  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    35911  $1 = sp;
    35912  $2 = ((($1)) + 4|0);
    35913  HEAP32[$2>>2] = 5;
    35914  HEAP32[$1>>2] = 0;
    35915  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    35916  STACKTOP = sp;return;
    35917 }
    35918 function _mrb_vm_iv_get($0,$1,$2) {
    35919  $0 = $0|0;
    35920  $1 = $1|0;
    35921  $2 = $2|0;
    35922  var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35923  sp = STACKTOP;
    35924  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    35925  $$byval_copy = sp + 8|0;
    35926  $3 = $1;
    35927  $4 = $2;
    35928  $5 = $3;
    35929  $6 = $3;
    35930  $7 = ((($6)) + 12|0);
    35931  $8 = HEAP32[$7>>2]|0;
    35932  $9 = ((($8)) + 4|0);
    35933  $10 = HEAP32[$9>>2]|0;
    35934  $11 = $4;
    35935  ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    35936  _mrb_iv_get($0,$5,$$byval_copy,$11);
    35937  STACKTOP = sp;return;
    35938 }
    35939 function _mrb_vm_iv_set($0,$1,$2) {
    35940  $0 = $0|0;
    35941  $1 = $1|0;
    35942  $2 = $2|0;
    35943  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35944  sp = STACKTOP;
    35945  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35946  $$byval_copy1 = sp + 16|0;
    35947  $$byval_copy = sp + 8|0;
    35948  $3 = $0;
    35949  $4 = $1;
    35950  $5 = $3;
    35951  $6 = $3;
    35952  $7 = ((($6)) + 12|0);
    35953  $8 = HEAP32[$7>>2]|0;
    35954  $9 = ((($8)) + 4|0);
    35955  $10 = HEAP32[$9>>2]|0;
    35956  $11 = $4;
    35957  ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    35958  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    35959  _mrb_iv_set($5,$$byval_copy,$11,$$byval_copy1);
    35960  STACKTOP = sp;return;
    35961 }
    35962 function _mrb_obj_instance_variables($0,$1,$2) {
    35963  $0 = $0|0;
    35964  $1 = $1|0;
    35965  $2 = $2|0;
    35966  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    35967  sp = STACKTOP;
    35968  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    35969  $$byval_copy = sp + 24|0;
    35970  $4 = sp + 8|0;
    35971  $5 = sp;
    35972  $3 = $1;
    35973  $6 = $3;
    35974  _mrb_ary_new($5,$6);
    35975  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    35976  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    35977  $7 = (_obj_iv_p($$byval_copy)|0);
    35978  $8 = $7&255;
    35979  $9 = ($8|0)!=(0);
    35980  if ($9) {
    35981   $10 = HEAP32[$2>>2]|0;
    35982   $11 = ((($10)) + 12|0);
    35983   $12 = HEAP32[$11>>2]|0;
    35984   $13 = ($12|0)!=(0|0);
    35985   if ($13) {
    35986    $14 = $3;
    35987    $15 = HEAP32[$2>>2]|0;
    35988    $16 = ((($15)) + 12|0);
    35989    $17 = HEAP32[$16>>2]|0;
    35990    (_iv_foreach($14,$17,126,$4)|0);
    35991   }
    35992  }
    35993  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    35994  STACKTOP = sp;return;
    35995 }
    35996 function _iv_i($0,$1,$2,$3) {
    35997  $0 = $0|0;
    35998  $1 = $1|0;
    35999  $2 = $2|0;
    36000  $3 = $3|0;
    36001  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    36002  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36003  sp = STACKTOP;
    36004  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    36005  $$byval_copy1 = sp + 48|0;
    36006  $$byval_copy = sp + 40|0;
    36007  $7 = sp + 16|0;
    36008  $9 = sp + 8|0;
    36009  $10 = sp;
    36010  $4 = $0;
    36011  $5 = $1;
    36012  $6 = $3;
    36013  $11 = $6;
    36014  ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
    36015  $12 = $4;
    36016  $13 = $5;
    36017  $14 = (_mrb_sym2name_len($12,$13,$9)|0);
    36018  $8 = $14;
    36019  $15 = HEAP32[$9>>2]|0;
    36020  $16 = ($15|0)>(1);
    36021  if (!($16)) {
    36022   STACKTOP = sp;return 0;
    36023  }
    36024  $17 = $8;
    36025  $18 = HEAP8[$17>>0]|0;
    36026  $19 = $18 << 24 >> 24;
    36027  $20 = ($19|0)==(64);
    36028  if (!($20)) {
    36029   STACKTOP = sp;return 0;
    36030  }
    36031  $21 = $8;
    36032  $22 = ((($21)) + 1|0);
    36033  $23 = HEAP8[$22>>0]|0;
    36034  $24 = $23 << 24 >> 24;
    36035  $25 = ($24|0)!=(64);
    36036  if (!($25)) {
    36037   STACKTOP = sp;return 0;
    36038  }
    36039  $26 = $4;
    36040  $27 = $5;
    36041  _mrb_symbol_value_397($10,$27);
    36042  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    36043  ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
    36044  _mrb_ary_push($26,$$byval_copy,$$byval_copy1);
    36045  STACKTOP = sp;return 0;
    36046 }
    36047 function _mrb_symbol_value_397($0,$1) {
    36048  $0 = $0|0;
    36049  $1 = $1|0;
    36050  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    36051  sp = STACKTOP;
    36052  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    36053  $3 = sp;
    36054  $2 = $1;
    36055  $4 = ((($3)) + 4|0);
    36056  HEAP32[$4>>2] = 4;
    36057  $5 = $2;
    36058  HEAP32[$3>>2] = $5;
    36059  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    36060  STACKTOP = sp;return;
    36061 }
    36062 function _mrb_mod_class_variables($0,$1,$2) {
    36063  $0 = $0|0;
    36064  $1 = $1|0;
    36065  $2 = $2|0;
    36066  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    36067  var sp = 0;
    36068  sp = STACKTOP;
    36069  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    36070  $4 = sp + 16|0;
    36071  $6 = sp;
    36072  $3 = $1;
    36073  $7 = $3;
    36074  _mrb_ary_new($6,$7);
    36075  ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
    36076  $8 = HEAP32[$2>>2]|0;
    36077  $5 = $8;
    36078  while(1) {
    36079   $9 = $5;
    36080   $10 = ($9|0)!=(0|0);
    36081   if (!($10)) {
    36082    break;
    36083   }
    36084   $11 = $5;
    36085   $12 = ((($11)) + 12|0);
    36086   $13 = HEAP32[$12>>2]|0;
    36087   $14 = ($13|0)!=(0|0);
    36088   if ($14) {
    36089    $15 = $3;
    36090    $16 = $5;
    36091    $17 = ((($16)) + 12|0);
    36092    $18 = HEAP32[$17>>2]|0;
    36093    (_iv_foreach($15,$18,127,$4)|0);
    36094   }
    36095   $19 = $5;
    36096   $20 = ((($19)) + 20|0);
    36097   $21 = HEAP32[$20>>2]|0;
    36098   $5 = $21;
    36099  }
    36100  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    36101  STACKTOP = sp;return;
    36102 }
    36103 function _cv_i($0,$1,$2,$3) {
    36104  $0 = $0|0;
    36105  $1 = $1|0;
    36106  $2 = $2|0;
    36107  $3 = $3|0;
    36108  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    36109  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36110  sp = STACKTOP;
    36111  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    36112  $$byval_copy1 = sp + 48|0;
    36113  $$byval_copy = sp + 40|0;
    36114  $7 = sp + 16|0;
    36115  $9 = sp + 8|0;
    36116  $10 = sp;
    36117  $4 = $0;
    36118  $5 = $1;
    36119  $6 = $3;
    36120  $11 = $6;
    36121  ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
    36122  $12 = $4;
    36123  $13 = $5;
    36124  $14 = (_mrb_sym2name_len($12,$13,$9)|0);
    36125  $8 = $14;
    36126  $15 = HEAP32[$9>>2]|0;
    36127  $16 = ($15|0)>(2);
    36128  if (!($16)) {
    36129   STACKTOP = sp;return 0;
    36130  }
    36131  $17 = $8;
    36132  $18 = HEAP8[$17>>0]|0;
    36133  $19 = $18 << 24 >> 24;
    36134  $20 = ($19|0)==(64);
    36135  if (!($20)) {
    36136   STACKTOP = sp;return 0;
    36137  }
    36138  $21 = $8;
    36139  $22 = ((($21)) + 1|0);
    36140  $23 = HEAP8[$22>>0]|0;
    36141  $24 = $23 << 24 >> 24;
    36142  $25 = ($24|0)==(64);
    36143  if (!($25)) {
    36144   STACKTOP = sp;return 0;
    36145  }
    36146  $26 = $4;
    36147  $27 = $5;
    36148  _mrb_symbol_value_397($10,$27);
    36149  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    36150  ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
    36151  _mrb_ary_push($26,$$byval_copy,$$byval_copy1);
    36152  STACKTOP = sp;return 0;
    36153 }
    36154 function _mrb_mod_cv_get($0,$1,$2,$3) {
    36155  $0 = $0|0;
    36156  $1 = $1|0;
    36157  $2 = $2|0;
    36158  $3 = $3|0;
    36159  var $$old = 0, $$old1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    36160  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    36161  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    36162  var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    36163  sp = STACKTOP;
    36164  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    36165  $vararg_buffer = sp;
    36166  $8 = sp + 48|0;
    36167  $9 = sp + 40|0;
    36168  $10 = sp + 32|0;
    36169  $11 = sp + 24|0;
    36170  $12 = sp + 16|0;
    36171  $4 = $1;
    36172  $5 = $2;
    36173  $6 = $3;
    36174  $13 = $5;
    36175  $7 = $13;
    36176  while(1) {
    36177   $14 = $5;
    36178   $15 = ($14|0)!=(0|0);
    36179   if (!($15)) {
    36180    break;
    36181   }
    36182   $16 = $5;
    36183   $17 = ((($16)) + 12|0);
    36184   $18 = HEAP32[$17>>2]|0;
    36185   $19 = ($18|0)!=(0|0);
    36186   if ($19) {
    36187    $20 = $4;
    36188    $21 = $5;
    36189    $22 = ((($21)) + 12|0);
    36190    $23 = HEAP32[$22>>2]|0;
    36191    $24 = $6;
    36192    $25 = (_iv_get($20,$23,$24,$8)|0);
    36193    $26 = $25&255;
    36194    $27 = ($26|0)!=(0);
    36195    if ($27) {
    36196     label = 5;
    36197     break;
    36198    }
    36199   }
    36200   $28 = $5;
    36201   $29 = ((($28)) + 20|0);
    36202   $30 = HEAP32[$29>>2]|0;
    36203   $5 = $30;
    36204  }
    36205  if ((label|0) == 5) {
    36206   ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
    36207   STACKTOP = sp;return;
    36208  }
    36209  $31 = $7;
    36210  $32 = ($31|0)!=(0|0);
    36211  L11: do {
    36212   if ($32) {
    36213    $33 = $7;
    36214    $34 = HEAP32[$33>>2]|0;
    36215    $35 = $34 & 255;
    36216    $36 = ($35|0)==(12);
    36217    if ($36) {
    36218     $37 = $4;
    36219     $38 = $7;
    36220     $39 = $4;
    36221     $40 = (_mrb_intern_static($39,68237,12)|0);
    36222     _mrb_obj_iv_get($10,$37,$38,$40);
    36223     ;HEAP32[$9>>2]=HEAP32[$10>>2]|0;HEAP32[$9+4>>2]=HEAP32[$10+4>>2]|0;
    36224     $41 = HEAP32[$9>>2]|0;
    36225     $5 = $41;
    36226     $42 = $5;
    36227     $43 = HEAP32[$42>>2]|0;
    36228     $44 = $43 & 255;
    36229     $45 = ($44|0)==(9);
    36230     $46 = $5;
    36231     $47 = ($46|0)!=(0|0);
    36232     $or$cond = $45 & $47;
    36233     if ($or$cond) {
    36234      while(1) {
    36235       $48 = $5;
    36236       $49 = ((($48)) + 12|0);
    36237       $50 = HEAP32[$49>>2]|0;
    36238       $51 = ($50|0)!=(0|0);
    36239       if ($51) {
    36240        $52 = $4;
    36241        $53 = $5;
    36242        $54 = ((($53)) + 12|0);
    36243        $55 = HEAP32[$54>>2]|0;
    36244        $56 = $6;
    36245        $57 = (_iv_get($52,$55,$56,$8)|0);
    36246        $58 = $57&255;
    36247        $59 = ($58|0)!=(0);
    36248        if ($59) {
    36249         break;
    36250        }
    36251       }
    36252       $60 = $5;
    36253       $61 = ((($60)) + 20|0);
    36254       $62 = HEAP32[$61>>2]|0;
    36255       $5 = $62;
    36256       $$old = $5;
    36257       $$old1 = ($$old|0)!=(0|0);
    36258       if (!($$old1)) {
    36259        break L11;
    36260       }
    36261      }
    36262      ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
    36263      STACKTOP = sp;return;
    36264     }
    36265    }
    36266   }
    36267  } while(0);
    36268  $63 = $4;
    36269  $64 = $6;
    36270  $65 = $4;
    36271  $66 = $6;
    36272  _mrb_sym2str($11,$65,$66);
    36273  $67 = $7;
    36274  _mrb_obj_value_389($12,$67);
    36275  ;HEAP8[$vararg_buffer>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$11+7>>0]|0;
    36276  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    36277  ;HEAP8[$vararg_ptr2>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$12+7>>0]|0;
    36278  _mrb_name_error($63,$64,56587,$vararg_buffer);
    36279  // unreachable;
    36280 }
    36281 function _mrb_cv_get($0,$1,$2,$3) {
    36282  $0 = $0|0;
    36283  $1 = $1|0;
    36284  $2 = $2|0;
    36285  $3 = $3|0;
    36286  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    36287  sp = STACKTOP;
    36288  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    36289  $4 = $1;
    36290  $5 = $3;
    36291  $6 = $4;
    36292  $7 = HEAP32[$2>>2]|0;
    36293  $8 = $5;
    36294  _mrb_mod_cv_get($0,$6,$7,$8);
    36295  STACKTOP = sp;return;
    36296 }
    36297 function _mrb_mod_cv_set($0,$1,$2,$3) {
    36298  $0 = $0|0;
    36299  $1 = $1|0;
    36300  $2 = $2|0;
    36301  $3 = $3|0;
    36302  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    36303  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    36304  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36305  sp = STACKTOP;
    36306  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    36307  $$byval_copy1 = sp + 32|0;
    36308  $$byval_copy = sp + 24|0;
    36309  $4 = $0;
    36310  $5 = $1;
    36311  $6 = $2;
    36312  $9 = $5;
    36313  $7 = $9;
    36314  while(1) {
    36315   $10 = $5;
    36316   $11 = ($10|0)!=(0|0);
    36317   if (!($11)) {
    36318    break;
    36319   }
    36320   $12 = $5;
    36321   $13 = ((($12)) + 12|0);
    36322   $14 = HEAP32[$13>>2]|0;
    36323   $15 = ($14|0)!=(0|0);
    36324   if ($15) {
    36325    $16 = $5;
    36326    $17 = ((($16)) + 12|0);
    36327    $18 = HEAP32[$17>>2]|0;
    36328    $8 = $18;
    36329    $19 = $4;
    36330    $20 = $8;
    36331    $21 = $6;
    36332    $22 = (_iv_get($19,$20,$21,0)|0);
    36333    $23 = ($22<<24>>24)!=(0);
    36334    if ($23) {
    36335     label = 5;
    36336     break;
    36337    }
    36338   }
    36339   $29 = $5;
    36340   $30 = ((($29)) + 20|0);
    36341   $31 = HEAP32[$30>>2]|0;
    36342   $5 = $31;
    36343  }
    36344  if ((label|0) == 5) {
    36345   $24 = $4;
    36346   $25 = $5;
    36347   _mrb_write_barrier($24,$25);
    36348   $26 = $4;
    36349   $27 = $8;
    36350   $28 = $6;
    36351   ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    36352   _iv_put($26,$27,$28,$$byval_copy);
    36353   STACKTOP = sp;return;
    36354  }
    36355  $32 = $7;
    36356  $33 = ((($32)) + 12|0);
    36357  $34 = HEAP32[$33>>2]|0;
    36358  $35 = ($34|0)!=(0|0);
    36359  if (!($35)) {
    36360   $36 = $4;
    36361   $37 = (_iv_new($36)|0);
    36362   $38 = $7;
    36363   $39 = ((($38)) + 12|0);
    36364   HEAP32[$39>>2] = $37;
    36365  }
    36366  $40 = $4;
    36367  $41 = $7;
    36368  _mrb_write_barrier($40,$41);
    36369  $42 = $4;
    36370  $43 = $7;
    36371  $44 = ((($43)) + 12|0);
    36372  $45 = HEAP32[$44>>2]|0;
    36373  $46 = $6;
    36374  ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
    36375  _iv_put($42,$45,$46,$$byval_copy1);
    36376  STACKTOP = sp;return;
    36377 }
    36378 function _mrb_cv_set($0,$1,$2,$3) {
    36379  $0 = $0|0;
    36380  $1 = $1|0;
    36381  $2 = $2|0;
    36382  $3 = $3|0;
    36383  var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    36384  sp = STACKTOP;
    36385  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    36386  $$byval_copy = sp + 8|0;
    36387  $4 = $0;
    36388  $5 = $2;
    36389  $6 = $4;
    36390  $7 = HEAP32[$1>>2]|0;
    36391  $8 = $5;
    36392  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    36393  _mrb_mod_cv_set($6,$7,$8,$$byval_copy);
    36394  STACKTOP = sp;return;
    36395 }
    36396 function _mrb_mod_cv_defined($0,$1,$2) {
    36397  $0 = $0|0;
    36398  $1 = $1|0;
    36399  $2 = $2|0;
    36400  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    36401  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36402  sp = STACKTOP;
    36403  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    36404  $4 = $0;
    36405  $5 = $1;
    36406  $6 = $2;
    36407  while(1) {
    36408   $8 = $5;
    36409   $9 = ($8|0)!=(0|0);
    36410   if (!($9)) {
    36411    label = 7;
    36412    break;
    36413   }
    36414   $10 = $5;
    36415   $11 = ((($10)) + 12|0);
    36416   $12 = HEAP32[$11>>2]|0;
    36417   $13 = ($12|0)!=(0|0);
    36418   if ($13) {
    36419    $14 = $5;
    36420    $15 = ((($14)) + 12|0);
    36421    $16 = HEAP32[$15>>2]|0;
    36422    $7 = $16;
    36423    $17 = $4;
    36424    $18 = $7;
    36425    $19 = $6;
    36426    $20 = (_iv_get($17,$18,$19,0)|0);
    36427    $21 = ($20<<24>>24)!=(0);
    36428    if ($21) {
    36429     label = 5;
    36430     break;
    36431    }
    36432   }
    36433   $22 = $5;
    36434   $23 = ((($22)) + 20|0);
    36435   $24 = HEAP32[$23>>2]|0;
    36436   $5 = $24;
    36437  }
    36438  if ((label|0) == 5) {
    36439   $3 = 1;
    36440   $25 = $3;
    36441   STACKTOP = sp;return ($25|0);
    36442  }
    36443  else if ((label|0) == 7) {
    36444   $3 = 0;
    36445   $25 = $3;
    36446   STACKTOP = sp;return ($25|0);
    36447  }
    36448  return (0)|0;
    36449 }
    36450 function _mrb_cv_defined($0,$1,$2) {
    36451  $0 = $0|0;
    36452  $1 = $1|0;
    36453  $2 = $2|0;
    36454  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    36455  sp = STACKTOP;
    36456  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    36457  $3 = $0;
    36458  $4 = $2;
    36459  $5 = $3;
    36460  $6 = HEAP32[$1>>2]|0;
    36461  $7 = $4;
    36462  $8 = (_mrb_mod_cv_defined($5,$6,$7)|0);
    36463  STACKTOP = sp;return ($8|0);
    36464 }
    36465 function _mrb_vm_cv_get($0,$1,$2) {
    36466  $0 = $0|0;
    36467  $1 = $1|0;
    36468  $2 = $2|0;
    36469  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0;
    36470  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36471  sp = STACKTOP;
    36472  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    36473  $3 = $1;
    36474  $4 = $2;
    36475  $6 = $3;
    36476  $7 = ((($6)) + 12|0);
    36477  $8 = HEAP32[$7>>2]|0;
    36478  $9 = ((($8)) + 16|0);
    36479  $10 = HEAP32[$9>>2]|0;
    36480  $11 = ((($10)) + 4|0);
    36481  $12 = HEAP32[$11>>2]|0;
    36482  $13 = ((($12)) + 16|0);
    36483  $14 = HEAP32[$13>>2]|0;
    36484  $5 = $14;
    36485  $15 = $5;
    36486  $16 = ($15|0)!=(0|0);
    36487  if ($16) {
    36488   $24 = $3;
    36489   $25 = $5;
    36490   $26 = $4;
    36491   _mrb_mod_cv_get($0,$24,$25,$26);
    36492   STACKTOP = sp;return;
    36493  }
    36494  $17 = $3;
    36495  $18 = ((($17)) + 12|0);
    36496  $19 = HEAP32[$18>>2]|0;
    36497  $20 = ((($19)) + 16|0);
    36498  $21 = HEAP32[$20>>2]|0;
    36499  $22 = ((($21)) + 44|0);
    36500  $23 = HEAP32[$22>>2]|0;
    36501  $5 = $23;
    36502  $24 = $3;
    36503  $25 = $5;
    36504  $26 = $4;
    36505  _mrb_mod_cv_get($0,$24,$25,$26);
    36506  STACKTOP = sp;return;
    36507 }
    36508 function _mrb_vm_cv_set($0,$1,$2) {
    36509  $0 = $0|0;
    36510  $1 = $1|0;
    36511  $2 = $2|0;
    36512  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
    36513  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36514  sp = STACKTOP;
    36515  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    36516  $$byval_copy = sp + 16|0;
    36517  $3 = $0;
    36518  $4 = $1;
    36519  $6 = $3;
    36520  $7 = ((($6)) + 12|0);
    36521  $8 = HEAP32[$7>>2]|0;
    36522  $9 = ((($8)) + 16|0);
    36523  $10 = HEAP32[$9>>2]|0;
    36524  $11 = ((($10)) + 4|0);
    36525  $12 = HEAP32[$11>>2]|0;
    36526  $13 = ((($12)) + 16|0);
    36527  $14 = HEAP32[$13>>2]|0;
    36528  $5 = $14;
    36529  $15 = $5;
    36530  $16 = ($15|0)!=(0|0);
    36531  if (!($16)) {
    36532   $17 = $3;
    36533   $18 = ((($17)) + 12|0);
    36534   $19 = HEAP32[$18>>2]|0;
    36535   $20 = ((($19)) + 16|0);
    36536   $21 = HEAP32[$20>>2]|0;
    36537   $22 = ((($21)) + 44|0);
    36538   $23 = HEAP32[$22>>2]|0;
    36539   $5 = $23;
    36540  }
    36541  $24 = $3;
    36542  $25 = $5;
    36543  $26 = $4;
    36544  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    36545  _mrb_mod_cv_set($24,$25,$26,$$byval_copy);
    36546  STACKTOP = sp;return;
    36547 }
    36548 function _mrb_const_get($0,$1,$2,$3) {
    36549  $0 = $0|0;
    36550  $1 = $1|0;
    36551  $2 = $2|0;
    36552  $3 = $3|0;
    36553  var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36554  sp = STACKTOP;
    36555  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    36556  $$byval_copy = sp + 8|0;
    36557  $4 = $1;
    36558  $5 = $3;
    36559  $6 = $4;
    36560  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    36561  _mod_const_check($6,$$byval_copy);
    36562  $7 = $4;
    36563  $8 = HEAP32[$2>>2]|0;
    36564  $9 = $5;
    36565  _const_get($0,$7,$8,$9);
    36566  STACKTOP = sp;return;
    36567 }
    36568 function _mod_const_check($0,$1) {
    36569  $0 = $0|0;
    36570  $1 = $1|0;
    36571  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    36572  sp = STACKTOP;
    36573  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    36574  $2 = $0;
    36575  $3 = ((($1)) + 4|0);
    36576  $4 = HEAP32[$3>>2]|0;
    36577  switch ($4|0) {
    36578  case 12: case 10: case 9:  {
    36579   STACKTOP = sp;return;
    36580   break;
    36581  }
    36582  default: {
    36583   $5 = $2;
    36584   $6 = $2;
    36585   $7 = (_mrb_class_get($6,69204)|0);
    36586   _mrb_raise($5,$7,56625);
    36587   // unreachable;
    36588  }
    36589  }
    36590 }
    36591 function _const_get($0,$1,$2,$3) {
    36592  $0 = $0|0;
    36593  $1 = $1|0;
    36594  $2 = $2|0;
    36595  $3 = $3|0;
    36596  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    36597  var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    36598  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    36599  sp = STACKTOP;
    36600  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    36601  $$byval_copy = sp + 56|0;
    36602  $8 = sp + 32|0;
    36603  $11 = sp + 16|0;
    36604  $12 = sp + 8|0;
    36605  $13 = sp;
    36606  $4 = $1;
    36607  $5 = $2;
    36608  $6 = $3;
    36609  $14 = $5;
    36610  $7 = $14;
    36611  $10 = 0;
    36612  L1: while(1) {
    36613   while(1) {
    36614    $15 = $7;
    36615    $16 = ($15|0)!=(0|0);
    36616    if (!($16)) {
    36617     break;
    36618    }
    36619    $17 = $7;
    36620    $18 = ((($17)) + 12|0);
    36621    $19 = HEAP32[$18>>2]|0;
    36622    $20 = ($19|0)!=(0|0);
    36623    if ($20) {
    36624     $21 = $7;
    36625     $22 = ((($21)) + 12|0);
    36626     $23 = HEAP32[$22>>2]|0;
    36627     $9 = $23;
    36628     $24 = $4;
    36629     $25 = $9;
    36630     $26 = $6;
    36631     $27 = (_iv_get($24,$25,$26,$8)|0);
    36632     $28 = ($27<<24>>24)!=(0);
    36633     if ($28) {
    36634      label = 6;
    36635      break L1;
    36636     }
    36637    }
    36638    $29 = $7;
    36639    $30 = ((($29)) + 20|0);
    36640    $31 = HEAP32[$30>>2]|0;
    36641    $7 = $31;
    36642   }
    36643   $32 = $10;
    36644   $33 = ($32<<24>>24)==(0);
    36645   $34 = $5;
    36646   $35 = ($34|0)!=(0|0);
    36647   $or$cond = $33 & $35;
    36648   if (!($or$cond)) {
    36649    label = 11;
    36650    break;
    36651   }
    36652   $36 = $5;
    36653   $37 = HEAP32[$36>>2]|0;
    36654   $38 = $37 & 255;
    36655   $39 = ($38|0)==(10);
    36656   if (!($39)) {
    36657    label = 11;
    36658    break;
    36659   }
    36660   $40 = $4;
    36661   $41 = ((($40)) + 32|0);
    36662   $42 = HEAP32[$41>>2]|0;
    36663   $7 = $42;
    36664   $10 = 1;
    36665  }
    36666  if ((label|0) == 6) {
    36667   ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
    36668   STACKTOP = sp;return;
    36669  }
    36670  else if ((label|0) == 11) {
    36671   $43 = $6;
    36672   _mrb_symbol_value_397($12,$43);
    36673   ;HEAP32[$11>>2]=HEAP32[$12>>2]|0;HEAP32[$11+4>>2]=HEAP32[$12+4>>2]|0;
    36674   $44 = $4;
    36675   $45 = $5;
    36676   _mrb_obj_value_389($13,$45);
    36677   $46 = $4;
    36678   $47 = (_mrb_intern_static($46,66034,13)|0);
    36679   ;HEAP32[$$byval_copy>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$13+4>>2]|0;
    36680   _mrb_funcall_argv($0,$44,$$byval_copy,$47,1,$11);
    36681   STACKTOP = sp;return;
    36682  }
    36683 }
    36684 function _mrb_vm_const_get($0,$1,$2) {
    36685  $0 = $0|0;
    36686  $1 = $1|0;
    36687  $2 = $2|0;
    36688  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    36689  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    36690  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    36691  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36692  sp = STACKTOP;
    36693  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    36694  $7 = sp + 16|0;
    36695  $8 = sp + 8|0;
    36696  $9 = sp;
    36697  $3 = $1;
    36698  $4 = $2;
    36699  $10 = $3;
    36700  $11 = ((($10)) + 12|0);
    36701  $12 = HEAP32[$11>>2]|0;
    36702  $13 = ((($12)) + 16|0);
    36703  $14 = HEAP32[$13>>2]|0;
    36704  $15 = ((($14)) + 4|0);
    36705  $16 = HEAP32[$15>>2]|0;
    36706  $17 = ((($16)) + 16|0);
    36707  $18 = HEAP32[$17>>2]|0;
    36708  $5 = $18;
    36709  $19 = $5;
    36710  $20 = ($19|0)!=(0|0);
    36711  if (!($20)) {
    36712   $21 = $3;
    36713   $22 = ((($21)) + 12|0);
    36714   $23 = HEAP32[$22>>2]|0;
    36715   $24 = ((($23)) + 16|0);
    36716   $25 = HEAP32[$24>>2]|0;
    36717   $26 = ((($25)) + 44|0);
    36718   $27 = HEAP32[$26>>2]|0;
    36719   $5 = $27;
    36720  }
    36721  $28 = $5;
    36722  $29 = ($28|0)!=(0|0);
    36723  L4: do {
    36724   if ($29) {
    36725    $30 = $5;
    36726    $31 = ((($30)) + 12|0);
    36727    $32 = HEAP32[$31>>2]|0;
    36728    $33 = ($32|0)!=(0|0);
    36729    if ($33) {
    36730     $34 = $3;
    36731     $35 = $5;
    36732     $36 = ((($35)) + 12|0);
    36733     $37 = HEAP32[$36>>2]|0;
    36734     $38 = $4;
    36735     $39 = (_iv_get($34,$37,$38,$7)|0);
    36736     $40 = $39&255;
    36737     $41 = ($40|0)!=(0);
    36738     if ($41) {
    36739      ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    36740      STACKTOP = sp;return;
    36741     }
    36742    }
    36743    $42 = $5;
    36744    $43 = HEAP32[$42>>2]|0;
    36745    $44 = $43 & 255;
    36746    $45 = ($44|0)==(12);
    36747    if ($45) {
    36748     $46 = $3;
    36749     $47 = $5;
    36750     $48 = $3;
    36751     $49 = (_mrb_intern_static($48,68237,12)|0);
    36752     _mrb_obj_iv_get($9,$46,$47,$49);
    36753     ;HEAP32[$8>>2]=HEAP32[$9>>2]|0;HEAP32[$8+4>>2]=HEAP32[$9+4>>2]|0;
    36754     $50 = HEAP32[$8>>2]|0;
    36755     $6 = $50;
    36756     $51 = $6;
    36757     $52 = HEAP32[$51>>2]|0;
    36758     $53 = $52 & 255;
    36759     $54 = ($53|0)==(9);
    36760     if ($54) {
    36761      $55 = $6;
    36762      $5 = $55;
    36763     }
    36764    }
    36765    $56 = $5;
    36766    $6 = $56;
    36767    while(1) {
    36768     $57 = $3;
    36769     $58 = $6;
    36770     $59 = (_mrb_class_outer_module($57,$58)|0);
    36771     $6 = $59;
    36772     $60 = $6;
    36773     $61 = ($60|0)!=(0|0);
    36774     if (!($61)) {
    36775      break L4;
    36776     }
    36777     $62 = $6;
    36778     $63 = ((($62)) + 12|0);
    36779     $64 = HEAP32[$63>>2]|0;
    36780     $65 = ($64|0)!=(0|0);
    36781     if (!($65)) {
    36782      continue;
    36783     }
    36784     $66 = $3;
    36785     $67 = $6;
    36786     $68 = ((($67)) + 12|0);
    36787     $69 = HEAP32[$68>>2]|0;
    36788     $70 = $4;
    36789     $71 = (_iv_get($66,$69,$70,$7)|0);
    36790     $72 = $71&255;
    36791     $73 = ($72|0)!=(0);
    36792     if ($73) {
    36793      break;
    36794     }
    36795    }
    36796    ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    36797    STACKTOP = sp;return;
    36798   }
    36799  } while(0);
    36800  $74 = $3;
    36801  $75 = $5;
    36802  $76 = $4;
    36803  _const_get($0,$74,$75,$76);
    36804  STACKTOP = sp;return;
    36805 }
    36806 function _mrb_const_set($0,$1,$2,$3) {
    36807  $0 = $0|0;
    36808  $1 = $1|0;
    36809  $2 = $2|0;
    36810  $3 = $3|0;
    36811  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    36812  sp = STACKTOP;
    36813  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    36814  $$byval_copy2 = sp + 24|0;
    36815  $$byval_copy1 = sp + 16|0;
    36816  $$byval_copy = sp + 8|0;
    36817  $4 = $0;
    36818  $5 = $2;
    36819  $6 = $4;
    36820  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    36821  _mod_const_check($6,$$byval_copy);
    36822  $7 = $4;
    36823  $8 = $5;
    36824  ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;
    36825  ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;
    36826  _mrb_iv_set($7,$$byval_copy1,$8,$$byval_copy2);
    36827  STACKTOP = sp;return;
    36828 }
    36829 function _mrb_vm_const_set($0,$1,$2) {
    36830  $0 = $0|0;
    36831  $1 = $1|0;
    36832  $2 = $2|0;
    36833  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
    36834  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36835  sp = STACKTOP;
    36836  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    36837  $$byval_copy = sp + 16|0;
    36838  $3 = $0;
    36839  $4 = $1;
    36840  $6 = $3;
    36841  $7 = ((($6)) + 12|0);
    36842  $8 = HEAP32[$7>>2]|0;
    36843  $9 = ((($8)) + 16|0);
    36844  $10 = HEAP32[$9>>2]|0;
    36845  $11 = ((($10)) + 4|0);
    36846  $12 = HEAP32[$11>>2]|0;
    36847  $13 = ((($12)) + 16|0);
    36848  $14 = HEAP32[$13>>2]|0;
    36849  $5 = $14;
    36850  $15 = $5;
    36851  $16 = ($15|0)!=(0|0);
    36852  if (!($16)) {
    36853   $17 = $3;
    36854   $18 = ((($17)) + 12|0);
    36855   $19 = HEAP32[$18>>2]|0;
    36856   $20 = ((($19)) + 16|0);
    36857   $21 = HEAP32[$20>>2]|0;
    36858   $22 = ((($21)) + 44|0);
    36859   $23 = HEAP32[$22>>2]|0;
    36860   $5 = $23;
    36861  }
    36862  $24 = $3;
    36863  $25 = $5;
    36864  $26 = $4;
    36865  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    36866  _mrb_obj_iv_set($24,$25,$26,$$byval_copy);
    36867  STACKTOP = sp;return;
    36868 }
    36869 function _mrb_define_const($0,$1,$2,$3) {
    36870  $0 = $0|0;
    36871  $1 = $1|0;
    36872  $2 = $2|0;
    36873  $3 = $3|0;
    36874  var $$byval_copy = 0, $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36875  sp = STACKTOP;
    36876  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    36877  $$byval_copy = sp + 16|0;
    36878  $4 = $0;
    36879  $5 = $1;
    36880  $6 = $2;
    36881  $7 = $4;
    36882  $8 = $5;
    36883  $9 = $4;
    36884  $10 = $6;
    36885  $11 = (_mrb_intern_cstr($9,$10)|0);
    36886  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    36887  _mrb_obj_iv_set($7,$8,$11,$$byval_copy);
    36888  STACKTOP = sp;return;
    36889 }
    36890 function _mrb_define_global_const($0,$1,$2) {
    36891  $0 = $0|0;
    36892  $1 = $1|0;
    36893  $2 = $2|0;
    36894  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    36895  sp = STACKTOP;
    36896  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    36897  $$byval_copy = sp + 8|0;
    36898  $3 = $0;
    36899  $4 = $1;
    36900  $5 = $3;
    36901  $6 = $3;
    36902  $7 = ((($6)) + 32|0);
    36903  $8 = HEAP32[$7>>2]|0;
    36904  $9 = $4;
    36905  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    36906  _mrb_define_const($5,$8,$9,$$byval_copy);
    36907  STACKTOP = sp;return;
    36908 }
    36909 function _mrb_mod_constants($0,$1,$2) {
    36910  $0 = $0|0;
    36911  $1 = $1|0;
    36912  $2 = $2|0;
    36913  var $$old = 0, $$old1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    36914  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
    36915  sp = STACKTOP;
    36916  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    36917  $vararg_buffer = sp;
    36918  $4 = sp + 24|0;
    36919  $5 = sp + 36|0;
    36920  $7 = sp + 8|0;
    36921  $3 = $1;
    36922  HEAP8[$5>>0] = 1;
    36923  $8 = HEAP32[$2>>2]|0;
    36924  $6 = $8;
    36925  $9 = $3;
    36926  HEAP32[$vararg_buffer>>2] = $5;
    36927  (_mrb_get_args($9,68724,$vararg_buffer)|0);
    36928  $10 = $3;
    36929  _mrb_ary_new($7,$10);
    36930  ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
    36931  $$old = $6;
    36932  $$old1 = ($$old|0)!=(0|0);
    36933  L1: do {
    36934   if ($$old1) {
    36935    while(1) {
    36936     $11 = $6;
    36937     $12 = ((($11)) + 12|0);
    36938     $13 = HEAP32[$12>>2]|0;
    36939     $14 = ($13|0)!=(0|0);
    36940     if ($14) {
    36941      $15 = $3;
    36942      $16 = $6;
    36943      $17 = ((($16)) + 12|0);
    36944      $18 = HEAP32[$17>>2]|0;
    36945      (_iv_foreach($15,$18,128,$4)|0);
    36946     }
    36947     $19 = HEAP8[$5>>0]|0;
    36948     $20 = ($19<<24>>24)!=(0);
    36949     if (!($20)) {
    36950      break L1;
    36951     }
    36952     $21 = $6;
    36953     $22 = ((($21)) + 20|0);
    36954     $23 = HEAP32[$22>>2]|0;
    36955     $6 = $23;
    36956     $24 = $6;
    36957     $25 = $3;
    36958     $26 = ((($25)) + 32|0);
    36959     $27 = HEAP32[$26>>2]|0;
    36960     $28 = ($24|0)!=($27|0);
    36961     $29 = $6;
    36962     $30 = ($29|0)!=(0|0);
    36963     $or$cond = $28 & $30;
    36964     if (!($or$cond)) {
    36965      break;
    36966     }
    36967    }
    36968   }
    36969  } while(0);
    36970  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    36971  STACKTOP = sp;return;
    36972 }
    36973 function _const_i($0,$1,$2,$3) {
    36974  $0 = $0|0;
    36975  $1 = $1|0;
    36976  $2 = $2|0;
    36977  $3 = $3|0;
    36978  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    36979  var $8 = 0, $9 = 0, label = 0, sp = 0;
    36980  sp = STACKTOP;
    36981  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    36982  $$byval_copy1 = sp + 48|0;
    36983  $$byval_copy = sp + 40|0;
    36984  $7 = sp + 16|0;
    36985  $9 = sp + 8|0;
    36986  $10 = sp;
    36987  $4 = $0;
    36988  $5 = $1;
    36989  $6 = $3;
    36990  $11 = $6;
    36991  ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
    36992  $12 = $4;
    36993  $13 = $5;
    36994  $14 = (_mrb_sym2name_len($12,$13,$9)|0);
    36995  $8 = $14;
    36996  $15 = HEAP32[$9>>2]|0;
    36997  $16 = ($15|0)>=(1);
    36998  if (!($16)) {
    36999   STACKTOP = sp;return 0;
    37000  }
    37001  $17 = $8;
    37002  $18 = HEAP8[$17>>0]|0;
    37003  $19 = $18 << 24 >> 24;
    37004  $20 = (($19) - 65)|0;
    37005  $21 = ($20>>>0)<(26);
    37006  if (!($21)) {
    37007   STACKTOP = sp;return 0;
    37008  }
    37009  $22 = $4;
    37010  $23 = $5;
    37011  _mrb_symbol_value_397($10,$23);
    37012  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    37013  ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
    37014  _mrb_ary_push($22,$$byval_copy,$$byval_copy1);
    37015  STACKTOP = sp;return 0;
    37016 }
    37017 function _mrb_gv_get($0,$1,$2) {
    37018  $0 = $0|0;
    37019  $1 = $1|0;
    37020  $2 = $2|0;
    37021  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    37022  sp = STACKTOP;
    37023  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    37024  $5 = sp;
    37025  $3 = $1;
    37026  $4 = $2;
    37027  $6 = $3;
    37028  $7 = ((($6)) + 24|0);
    37029  $8 = HEAP32[$7>>2]|0;
    37030  $9 = ($8|0)!=(0|0);
    37031  if (!($9)) {
    37032   _mrb_nil_value_381($0);
    37033   STACKTOP = sp;return;
    37034  }
    37035  $10 = $3;
    37036  $11 = $3;
    37037  $12 = ((($11)) + 24|0);
    37038  $13 = HEAP32[$12>>2]|0;
    37039  $14 = $4;
    37040  $15 = (_iv_get($10,$13,$14,$5)|0);
    37041  $16 = ($15<<24>>24)!=(0);
    37042  if ($16) {
    37043   ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    37044   STACKTOP = sp;return;
    37045  } else {
    37046   _mrb_nil_value_381($0);
    37047   STACKTOP = sp;return;
    37048  }
    37049 }
    37050 function _mrb_gv_set($0,$1,$2) {
    37051  $0 = $0|0;
    37052  $1 = $1|0;
    37053  $2 = $2|0;
    37054  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    37055  sp = STACKTOP;
    37056  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    37057  $$byval_copy = sp + 16|0;
    37058  $3 = $0;
    37059  $4 = $1;
    37060  $6 = $3;
    37061  $7 = ((($6)) + 24|0);
    37062  $8 = HEAP32[$7>>2]|0;
    37063  $9 = ($8|0)!=(0|0);
    37064  $10 = $3;
    37065  if ($9) {
    37066   $14 = ((($10)) + 24|0);
    37067   $15 = HEAP32[$14>>2]|0;
    37068   $5 = $15;
    37069  } else {
    37070   $11 = (_iv_new($10)|0);
    37071   $12 = $3;
    37072   $13 = ((($12)) + 24|0);
    37073   HEAP32[$13>>2] = $11;
    37074   $5 = $11;
    37075  }
    37076  $16 = $3;
    37077  $17 = $5;
    37078  $18 = $4;
    37079  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    37080  _iv_put($16,$17,$18,$$byval_copy);
    37081  STACKTOP = sp;return;
    37082 }
    37083 function _mrb_f_global_variables($0,$1,$2) {
    37084  $0 = $0|0;
    37085  $1 = $1|0;
    37086  $2 = $2|0;
    37087  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    37088  var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    37089  sp = STACKTOP;
    37090  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    37091  $$byval_copy1 = sp + 40|0;
    37092  $$byval_copy = sp + 32|0;
    37093  $5 = sp + 16|0;
    37094  $7 = sp + 48|0;
    37095  $8 = sp;
    37096  $3 = $1;
    37097  $9 = $3;
    37098  $10 = ((($9)) + 24|0);
    37099  $11 = HEAP32[$10>>2]|0;
    37100  $4 = $11;
    37101  $12 = $3;
    37102  _mrb_ary_new($5,$12);
    37103  $13 = $4;
    37104  $14 = ($13|0)!=(0|0);
    37105  if ($14) {
    37106   $15 = $3;
    37107   $16 = $4;
    37108   (_iv_foreach($15,$16,129,$5)|0);
    37109  }
    37110  HEAP8[$7>>0] = 36;
    37111  $17 = ((($7)) + 2|0);
    37112  HEAP8[$17>>0] = 0;
    37113  $6 = 1;
    37114  while(1) {
    37115   $18 = $6;
    37116   $19 = ($18>>>0)<=(9);
    37117   if (!($19)) {
    37118    break;
    37119   }
    37120   $20 = $6;
    37121   $21 = (($20) + 48)|0;
    37122   $22 = $21&255;
    37123   $23 = ((($7)) + 1|0);
    37124   HEAP8[$23>>0] = $22;
    37125   $24 = $3;
    37126   $25 = $3;
    37127   $26 = (_mrb_intern($25,$7,2)|0);
    37128   _mrb_symbol_value_397($8,$26);
    37129   ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    37130   ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
    37131   _mrb_ary_push($24,$$byval_copy,$$byval_copy1);
    37132   $27 = $6;
    37133   $28 = (($27) + 1)|0;
    37134   $6 = $28;
    37135  }
    37136  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    37137  STACKTOP = sp;return;
    37138 }
    37139 function _gv_i($0,$1,$2,$3) {
    37140  $0 = $0|0;
    37141  $1 = $1|0;
    37142  $2 = $2|0;
    37143  $3 = $3|0;
    37144  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    37145  sp = STACKTOP;
    37146  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    37147  $$byval_copy1 = sp + 40|0;
    37148  $$byval_copy = sp + 32|0;
    37149  $7 = sp + 8|0;
    37150  $8 = sp;
    37151  $4 = $0;
    37152  $5 = $1;
    37153  $6 = $3;
    37154  $9 = $6;
    37155  ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
    37156  $10 = $4;
    37157  $11 = $5;
    37158  _mrb_symbol_value_397($8,$11);
    37159  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    37160  ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
    37161  _mrb_ary_push($10,$$byval_copy,$$byval_copy1);
    37162  STACKTOP = sp;return 0;
    37163 }
    37164 function _mrb_const_defined($0,$1,$2) {
    37165  $0 = $0|0;
    37166  $1 = $1|0;
    37167  $2 = $2|0;
    37168  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    37169  sp = STACKTOP;
    37170  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    37171  $$byval_copy = sp + 8|0;
    37172  $3 = $0;
    37173  $4 = $2;
    37174  $5 = $3;
    37175  $6 = $4;
    37176  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    37177  $7 = (_mrb_const_defined_0($5,$$byval_copy,$6,1,1)|0);
    37178  STACKTOP = sp;return ($7|0);
    37179 }
    37180 function _mrb_const_defined_0($0,$1,$2,$3,$4) {
    37181  $0 = $0|0;
    37182  $1 = $1|0;
    37183  $2 = $2|0;
    37184  $3 = $3|0;
    37185  $4 = $4|0;
    37186  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    37187  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    37188  var $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    37189  sp = STACKTOP;
    37190  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    37191  $6 = $0;
    37192  $7 = $2;
    37193  $8 = $3;
    37194  $9 = $4;
    37195  $13 = HEAP32[$1>>2]|0;
    37196  $10 = $13;
    37197  $12 = 0;
    37198  $14 = $10;
    37199  $11 = $14;
    37200  L1: while(1) {
    37201   while(1) {
    37202    $15 = $11;
    37203    $16 = ($15|0)!=(0|0);
    37204    if (!($16)) {
    37205     break;
    37206    }
    37207    $17 = $11;
    37208    $18 = ((($17)) + 12|0);
    37209    $19 = HEAP32[$18>>2]|0;
    37210    $20 = ($19|0)!=(0|0);
    37211    if ($20) {
    37212     $21 = $6;
    37213     $22 = $11;
    37214     $23 = ((($22)) + 12|0);
    37215     $24 = HEAP32[$23>>2]|0;
    37216     $25 = $7;
    37217     $26 = (_iv_get($21,$24,$25,0)|0);
    37218     $27 = $26&255;
    37219     $28 = ($27|0)!=(0);
    37220     if ($28) {
    37221      label = 6;
    37222      break L1;
    37223     }
    37224    }
    37225    $29 = $9;
    37226    $30 = ($29<<24>>24)!=(0);
    37227    if (!($30)) {
    37228     $31 = $10;
    37229     $32 = $6;
    37230     $33 = ((($32)) + 32|0);
    37231     $34 = HEAP32[$33>>2]|0;
    37232     $35 = ($31|0)!=($34|0);
    37233     if ($35) {
    37234      break;
    37235     }
    37236    }
    37237    $36 = $11;
    37238    $37 = ((($36)) + 20|0);
    37239    $38 = HEAP32[$37>>2]|0;
    37240    $11 = $38;
    37241   }
    37242   $39 = $8;
    37243   $40 = ($39<<24>>24)!=(0);
    37244   $41 = $12;
    37245   $42 = ($41<<24>>24)!=(0);
    37246   $or$cond = $40 | $42;
    37247   if ($or$cond) {
    37248    label = 13;
    37249    break;
    37250   }
    37251   $43 = $10;
    37252   $44 = HEAP32[$43>>2]|0;
    37253   $45 = $44 & 255;
    37254   $46 = ($45|0)==(10);
    37255   if (!($46)) {
    37256    label = 13;
    37257    break;
    37258   }
    37259   $12 = 1;
    37260   $47 = $6;
    37261   $48 = ((($47)) + 32|0);
    37262   $49 = HEAP32[$48>>2]|0;
    37263   $11 = $49;
    37264  }
    37265  if ((label|0) == 6) {
    37266   $5 = 1;
    37267   $50 = $5;
    37268   STACKTOP = sp;return ($50|0);
    37269  }
    37270  else if ((label|0) == 13) {
    37271   $5 = 0;
    37272   $50 = $5;
    37273   STACKTOP = sp;return ($50|0);
    37274  }
    37275  return (0)|0;
    37276 }
    37277 function _mrb_const_defined_at($0,$1,$2) {
    37278  $0 = $0|0;
    37279  $1 = $1|0;
    37280  $2 = $2|0;
    37281  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    37282  sp = STACKTOP;
    37283  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    37284  $$byval_copy = sp + 8|0;
    37285  $3 = $0;
    37286  $4 = $2;
    37287  $5 = $3;
    37288  $6 = $4;
    37289  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    37290  $7 = (_mrb_const_defined_0($5,$$byval_copy,$6,1,0)|0);
    37291  STACKTOP = sp;return ($7|0);
    37292 }
    37293 function _mrb_attr_get($0,$1,$2,$3) {
    37294  $0 = $0|0;
    37295  $1 = $1|0;
    37296  $2 = $2|0;
    37297  $3 = $3|0;
    37298  var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    37299  sp = STACKTOP;
    37300  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    37301  $$byval_copy = sp + 8|0;
    37302  $4 = $1;
    37303  $5 = $3;
    37304  $6 = $4;
    37305  $7 = $5;
    37306  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    37307  _mrb_iv_get($0,$6,$$byval_copy,$7);
    37308  STACKTOP = sp;return;
    37309 }
    37310 function _mrb_class_sym($0,$1,$2) {
    37311  $0 = $0|0;
    37312  $1 = $1|0;
    37313  $2 = $2|0;
    37314  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    37315  var $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    37316  sp = STACKTOP;
    37317  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    37318  $7 = sp + 16|0;
    37319  $8 = sp + 8|0;
    37320  $9 = sp;
    37321  $4 = $0;
    37322  $5 = $1;
    37323  $6 = $2;
    37324  $10 = $4;
    37325  $11 = $5;
    37326  $12 = $4;
    37327  $13 = (_mrb_intern_static($12,64870,11)|0);
    37328  _mrb_obj_iv_get($8,$10,$11,$13);
    37329  ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;
    37330  $14 = ((($7)) + 4|0);
    37331  $15 = HEAP32[$14>>2]|0;
    37332  $16 = ($15|0)==(0);
    37333  if ($16) {
    37334   $17 = HEAP32[$7>>2]|0;
    37335   $18 = ($17|0)!=(0);
    37336   if (!($18)) {
    37337    $19 = $6;
    37338    $20 = ($19|0)!=(0|0);
    37339    if ($20) {
    37340     $21 = $5;
    37341     HEAP32[$9>>2] = $21;
    37342     $22 = ((($9)) + 4|0);
    37343     HEAP32[$22>>2] = 0;
    37344     $23 = $4;
    37345     $24 = $6;
    37346     $25 = ((($24)) + 12|0);
    37347     $26 = HEAP32[$25>>2]|0;
    37348     (_iv_foreach($23,$26,130,$9)|0);
    37349     $27 = ((($9)) + 4|0);
    37350     $28 = HEAP32[$27>>2]|0;
    37351     $3 = $28;
    37352     $30 = $3;
    37353     STACKTOP = sp;return ($30|0);
    37354    } else {
    37355     $3 = 0;
    37356     $30 = $3;
    37357     STACKTOP = sp;return ($30|0);
    37358    }
    37359   }
    37360  }
    37361  $29 = HEAP32[$7>>2]|0;
    37362  $3 = $29;
    37363  $30 = $3;
    37364  STACKTOP = sp;return ($30|0);
    37365 }
    37366 function _csym_i($0,$1,$2,$3) {
    37367  $0 = $0|0;
    37368  $1 = $1|0;
    37369  $2 = $2|0;
    37370  $3 = $3|0;
    37371  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    37372  var $8 = 0, $9 = 0, label = 0, sp = 0;
    37373  sp = STACKTOP;
    37374  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    37375  $5 = $0;
    37376  $6 = $1;
    37377  $7 = $3;
    37378  $10 = $7;
    37379  $8 = $10;
    37380  $11 = $8;
    37381  $12 = HEAP32[$11>>2]|0;
    37382  $9 = $12;
    37383  $13 = ((($2)) + 4|0);
    37384  $14 = HEAP32[$13>>2]|0;
    37385  $15 = $9;
    37386  $16 = HEAP32[$15>>2]|0;
    37387  $17 = $16 & 255;
    37388  $18 = ($14|0)==($17|0);
    37389  if ($18) {
    37390   $19 = HEAP32[$2>>2]|0;
    37391   $20 = $9;
    37392   $21 = ($19|0)==($20|0);
    37393   if ($21) {
    37394    $22 = $6;
    37395    $23 = $8;
    37396    $24 = ((($23)) + 4|0);
    37397    HEAP32[$24>>2] = $22;
    37398    $4 = 1;
    37399    $25 = $4;
    37400    STACKTOP = sp;return ($25|0);
    37401   }
    37402  }
    37403  $4 = 0;
    37404  $25 = $4;
    37405  STACKTOP = sp;return ($25|0);
    37406 }
    37407 function _mrb_funcall($0,$1,$2,$3,$4,$varargs) {
    37408  $0 = $0|0;
    37409  $1 = $1|0;
    37410  $2 = $2|0;
    37411  $3 = $3|0;
    37412  $4 = $4|0;
    37413  $varargs = $varargs|0;
    37414  var $$byval_copy = 0, $$field$field = 0.0, $$field3 = 0, $$index2 = 0, $$index6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
    37415  var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0;
    37416  var $expanded10 = 0, $expanded11 = 0, $expanded7 = 0, $expanded9 = 0, label = 0, sp = 0;
    37417  sp = STACKTOP;
    37418  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    37419  $$byval_copy = sp + 112|0;
    37420  $8 = sp + 32|0;
    37421  $9 = sp + 16|0;
    37422  $12 = sp;
    37423  $5 = $1;
    37424  $6 = $3;
    37425  $7 = $4;
    37426  $13 = $5;
    37427  $14 = $6;
    37428  $15 = (_mrb_intern_cstr($13,$14)|0);
    37429  $11 = $15;
    37430  $16 = $7;
    37431  $17 = ($16|0)>(8);
    37432  if ($17) {
    37433   $18 = $5;
    37434   $19 = $5;
    37435   $20 = (_mrb_class_get($19,69160)|0);
    37436   _mrb_raise($18,$20,56663);
    37437   // unreachable;
    37438  }
    37439  HEAP32[$9>>2] = $varargs;
    37440  $10 = 0;
    37441  while(1) {
    37442   $21 = $10;
    37443   $22 = $7;
    37444   $23 = ($21|0)<($22|0);
    37445   if (!($23)) {
    37446    break;
    37447   }
    37448   $24 = $10;
    37449   $25 = (($8) + ($24<<3)|0);
    37450   $arglist_current = HEAP32[$9>>2]|0;
    37451   $26 = $arglist_current;
    37452   $27 = ((0) + 4|0);
    37453   $expanded7 = $27;
    37454   $expanded = (($expanded7) - 1)|0;
    37455   $28 = (($26) + ($expanded))|0;
    37456   $29 = ((0) + 4|0);
    37457   $expanded11 = $29;
    37458   $expanded10 = (($expanded11) - 1)|0;
    37459   $expanded9 = $expanded10 ^ -1;
    37460   $30 = $28 & $expanded9;
    37461   $31 = $30;
    37462   $$field$field = +HEAPF32[$31>>2];
    37463   $$index2 = ((($31)) + 4|0);
    37464   $$field3 = HEAP32[$$index2>>2]|0;
    37465   $arglist_next = ((($31)) + 8|0);
    37466   HEAP32[$9>>2] = $arglist_next;
    37467   HEAPF32[$12>>2] = $$field$field;
    37468   $$index6 = ((($12)) + 4|0);
    37469   HEAP32[$$index6>>2] = $$field3;
    37470   ;HEAP32[$25>>2]=HEAP32[$12>>2]|0;HEAP32[$25+4>>2]=HEAP32[$12+4>>2]|0;
    37471   $32 = $10;
    37472   $33 = (($32) + 1)|0;
    37473   $10 = $33;
    37474  }
    37475  $34 = $5;
    37476  $35 = $11;
    37477  $36 = $7;
    37478  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    37479  _mrb_funcall_argv($0,$34,$$byval_copy,$35,$36,$8);
    37480  STACKTOP = sp;return;
    37481 }
    37482 function _mrb_funcall_argv($0,$1,$2,$3,$4,$5) {
    37483  $0 = $0|0;
    37484  $1 = $1|0;
    37485  $2 = $2|0;
    37486  $3 = $3|0;
    37487  $4 = $4|0;
    37488  $5 = $5|0;
    37489  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    37490  sp = STACKTOP;
    37491  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    37492  $$byval_copy1 = sp + 32|0;
    37493  $$byval_copy = sp + 24|0;
    37494  $10 = sp;
    37495  $6 = $1;
    37496  $7 = $3;
    37497  $8 = $4;
    37498  $9 = $5;
    37499  $11 = $6;
    37500  $12 = $7;
    37501  $13 = $8;
    37502  $14 = $9;
    37503  _mrb_nil_value_419($10);
    37504  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    37505  ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
    37506  _mrb_funcall_with_block($0,$11,$$byval_copy,$12,$13,$14,$$byval_copy1);
    37507  STACKTOP = sp;return;
    37508 }
    37509 function _mrb_nil_value_419($0) {
    37510  $0 = $0|0;
    37511  var $1 = 0, $2 = 0, label = 0, sp = 0;
    37512  sp = STACKTOP;
    37513  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    37514  $1 = sp;
    37515  $2 = ((($1)) + 4|0);
    37516  HEAP32[$2>>2] = 0;
    37517  HEAP32[$1>>2] = 0;
    37518  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    37519  STACKTOP = sp;return;
    37520 }
    37521 function _mrb_funcall_with_block($0,$1,$2,$3,$4,$5,$6) {
    37522  $0 = $0|0;
    37523  $1 = $1|0;
    37524  $2 = $2|0;
    37525  $3 = $3|0;
    37526  $4 = $4|0;
    37527  $5 = $5|0;
    37528  $6 = $6|0;
    37529  var $$0 = 0, $$088 = 0, $$089 = 0, $$090 = 0, $$091 = 0, $$091$phi = 0, $$092 = 0, $$092$phi = 0, $$094 = 0, $$094$phi = 0, $$097 = 0, $$097$phi = 0, $$1 = 0, $$193 = 0, $$195 = 0, $$198 = 0, $$2 = 0, $$296 = 0, $$299 = 0, $$byval_copy = 0;
    37530  var $$byval_copy100 = 0, $$byval_copy101 = 0, $$byval_copy102 = 0, $$byval_copy103 = 0, $$byval_copy104 = 0, $$reg2mem86$0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
    37531  var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
    37532  var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
    37533  var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
    37534  var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
    37535  var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
    37536  var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
    37537  var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
    37538  var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    37539  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    37540  var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
    37541  var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
    37542  var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond113 = 0, $cond114 = 0, $cond115 = 0, $cond116 = 0, $cond117 = 0, $cond118 = 0;
    37543  var $cond119 = 0, $cond120 = 0, $cond121 = 0, $cond122 = 0, $cond123 = 0, $cond124 = 0, $cond125 = 0, $cond126 = 0, $cond127 = 0, $cond128 = 0, $cond129 = 0, $cond130 = 0, $cond131 = 0, $cond132 = 0, $cond133 = 0, $cond134 = 0, $vararg_buffer = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0;
    37544  var sp = 0;
    37545  sp = STACKTOP;
    37546  STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0);
    37547  $$byval_copy104 = sp + 272|0;
    37548  $$byval_copy103 = sp + 264|0;
    37549  $$byval_copy102 = sp + 256|0;
    37550  $$byval_copy101 = sp + 248|0;
    37551  $$byval_copy100 = sp + 240|0;
    37552  $$byval_copy = sp + 232|0;
    37553  $vararg_buffer = sp;
    37554  _setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
    37555  $7 = sp + 224|0;
    37556  $8 = sp + 64|0;
    37557  $9 = sp + 56|0;
    37558  $10 = sp + 48|0;
    37559  $11 = sp + 40|0;
    37560  $12 = sp + 32|0;
    37561  $13 = sp + 24|0;
    37562  $14 = sp + 16|0;
    37563  $15 = sp + 8|0;
    37564  $16 = HEAP32[$1>>2]|0;
    37565  $17 = ($16|0)!=(0|0);
    37566  do {
    37567   if ($17) {
    37568    $67 = ((($1)) + 12|0);
    37569    $68 = HEAP32[$67>>2]|0;
    37570    $69 = ((($68)) + 4|0);
    37571    $70 = HEAP32[$69>>2]|0;
    37572    $71 = ($70|0)!=(0|0);
    37573    if (!($71)) {
    37574     __THREW__ = 0;
    37575     invoke_vi(134,($1|0));
    37576     $72 = __THREW__; __THREW__ = 0;
    37577     if ((($72|0) != 0) & ((threwValue|0) != 0)) { $73 = _testSetjmp(HEAP32[$72>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($73|0) == 0) { _longjmp($72|0, threwValue|0); } tempRet0 = (threwValue); } else { $73 = -1; };
    37578     $74 = tempRet0;
    37579     $cond117 = ($73|0)==(1);
    37580     if ($cond117) {
    37581      $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $74;
    37582      break;
    37583     }
    37584    }
    37585    $75 = ((($1)) + 12|0);
    37586    $76 = HEAP32[$75>>2]|0;
    37587    $77 = ((($76)) + 16|0);
    37588    $78 = HEAP32[$77>>2]|0;
    37589    $79 = ((($78)) + 12|0);
    37590    $80 = HEAP32[$79>>2]|0;
    37591    $81 = ($4|0)<(0);
    37592    if ($81) {
    37593     __THREW__ = 0;
    37594     $82 = (invoke_iii(135,($1|0),(69160|0))|0);
    37595     $83 = __THREW__; __THREW__ = 0;
    37596     if ((($83|0) != 0) & ((threwValue|0) != 0)) { $84 = _testSetjmp(HEAP32[$83>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($84|0) == 0) { _longjmp($83|0, threwValue|0); } tempRet0 = (threwValue); } else { $84 = -1; };
    37597     $85 = tempRet0;
    37598     $cond133 = ($84|0)==(1);
    37599     if ($cond133) {
    37600      $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $85;
    37601      break;
    37602     }
    37603     __THREW__ = 0;
    37604     invoke_vii(136,($12|0),($4|0));
    37605     $86 = __THREW__; __THREW__ = 0;
    37606     if ((($86|0) != 0) & ((threwValue|0) != 0)) { $87 = _testSetjmp(HEAP32[$86>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($87|0) == 0) { _longjmp($86|0, threwValue|0); } tempRet0 = (threwValue); } else { $87 = -1; };
    37607     $88 = tempRet0;
    37608     $cond134 = ($87|0)==(1);
    37609     if ($cond134) {
    37610      $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $88;
    37611      break;
    37612     }
    37613     __THREW__ = 0;
    37614     ;HEAP8[$vararg_buffer>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$12+7>>0]|0;
    37615     invoke_viiii(137,($1|0),($82|0),(56693|0),($vararg_buffer|0));
    37616     $89 = __THREW__; __THREW__ = 0;
    37617     if ((($89|0) != 0) & ((threwValue|0) != 0)) { $90 = _testSetjmp(HEAP32[$89>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($90|0) == 0) { _longjmp($89|0, threwValue|0); } tempRet0 = (threwValue); } else { $90 = -1; };
    37618     $91 = tempRet0;
    37619     $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $91;
    37620     break;
    37621    }
    37622    __THREW__ = 0;
    37623    ;HEAP32[$$byval_copy101>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$2+4>>2]|0;
    37624    $92 = (invoke_iii(138,($1|0),($$byval_copy101|0))|0);
    37625    $93 = __THREW__; __THREW__ = 0;
    37626    if ((($93|0) != 0) & ((threwValue|0) != 0)) { $94 = _testSetjmp(HEAP32[$93>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($94|0) == 0) { _longjmp($93|0, threwValue|0); } tempRet0 = (threwValue); } else { $94 = -1; };
    37627    $95 = tempRet0;
    37628    $cond118 = ($94|0)==(1);
    37629    if ($cond118) {
    37630     $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $95;
    37631    } else {
    37632     HEAP32[$11>>2] = $92;
    37633     __THREW__ = 0;
    37634     $96 = (invoke_iiii(139,($1|0),($11|0),($3|0))|0);
    37635     $97 = __THREW__; __THREW__ = 0;
    37636     if ((($97|0) != 0) & ((threwValue|0) != 0)) { $98 = _testSetjmp(HEAP32[$97>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($98|0) == 0) { _longjmp($97|0, threwValue|0); } tempRet0 = (threwValue); } else { $98 = -1; };
    37637     $99 = tempRet0;
    37638     $cond119 = ($98|0)==(1);
    37639     if ($cond119) {
    37640      $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $99;
    37641     } else {
    37642      $100 = ($96|0)!=(0|0);
    37643      if ($100) {
    37644       $$088 = $80;$$089 = 0;$$090 = $96;$$195 = $4;$$198 = $3;
    37645      } else {
    37646       __THREW__ = 0;
    37647       $101 = (invoke_iiii(140,($1|0),(65621|0),14)|0);
    37648       $102 = __THREW__; __THREW__ = 0;
    37649       if ((($102|0) != 0) & ((threwValue|0) != 0)) { $103 = _testSetjmp(HEAP32[$102>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($103|0) == 0) { _longjmp($102|0, threwValue|0); } tempRet0 = (threwValue); } else { $103 = -1; };
    37650       $104 = tempRet0;
    37651       $cond120 = ($103|0)==(1);
    37652       if ($cond120) {
    37653        $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $104;
    37654        break;
    37655       }
    37656       __THREW__ = 0;
    37657       $105 = (invoke_iiii(139,($1|0),($11|0),($101|0))|0);
    37658       $106 = __THREW__; __THREW__ = 0;
    37659       if ((($106|0) != 0) & ((threwValue|0) != 0)) { $107 = _testSetjmp(HEAP32[$106>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($107|0) == 0) { _longjmp($106|0, threwValue|0); } tempRet0 = (threwValue); } else { $107 = -1; };
    37660       $108 = tempRet0;
    37661       $cond121 = ($107|0)==(1);
    37662       if ($cond121) {
    37663        $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $101;$$reg2mem86$0 = $108;
    37664        break;
    37665       }
    37666       $109 = (($80) + 1)|0;
    37667       $110 = (($4) + 1)|0;
    37668       $$088 = $109;$$089 = $3;$$090 = $105;$$195 = $110;$$198 = $101;
    37669      }
    37670      __THREW__ = 0;
    37671      $111 = (invoke_ii(141,($1|0))|0);
    37672      $112 = __THREW__; __THREW__ = 0;
    37673      if ((($112|0) != 0) & ((threwValue|0) != 0)) { $113 = _testSetjmp(HEAP32[$112>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($113|0) == 0) { _longjmp($112|0, threwValue|0); } tempRet0 = (threwValue); } else { $113 = -1; };
    37674      $114 = tempRet0;
    37675      $cond122 = ($113|0)==(1);
    37676      if ($cond122) {
    37677       $$091 = 0;$$092 = $5;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $114;
    37678      } else {
    37679       HEAP32[$111>>2] = $$198;
    37680       $115 = ((($111)) + 4|0);
    37681       HEAP32[$115>>2] = $$090;
    37682       $116 = ((($1)) + 12|0);
    37683       $117 = HEAP32[$116>>2]|0;
    37684       $118 = ((($117)) + 4|0);
    37685       $119 = HEAP32[$118>>2]|0;
    37686       $120 = ((($111)) + 8|0);
    37687       HEAP32[$120>>2] = $119;
    37688       $121 = ((($111)) + 36|0);
    37689       HEAP32[$121>>2] = $$195;
    37690       $122 = HEAP32[$11>>2]|0;
    37691       $123 = ((($111)) + 44|0);
    37692       HEAP32[$123>>2] = $122;
    37693       $124 = ((($1)) + 12|0);
    37694       $125 = HEAP32[$124>>2]|0;
    37695       $126 = ((($125)) + 4|0);
    37696       $127 = HEAP32[$126>>2]|0;
    37697       $128 = (($127) + ($$088<<3)|0);
    37698       $129 = ((($1)) + 12|0);
    37699       $130 = HEAP32[$129>>2]|0;
    37700       $131 = ((($130)) + 4|0);
    37701       HEAP32[$131>>2] = $128;
    37702       $132 = ((($1)) + 12|0);
    37703       $133 = HEAP32[$132>>2]|0;
    37704       $134 = ((($133)) + 8|0);
    37705       $135 = HEAP32[$134>>2]|0;
    37706       $136 = ($135>>>0)<=($5>>>0);
    37707       if ($136) {
    37708        $137 = ((($1)) + 12|0);
    37709        $138 = HEAP32[$137>>2]|0;
    37710        $139 = ((($138)) + 12|0);
    37711        $140 = HEAP32[$139>>2]|0;
    37712        $141 = ($5>>>0)<($140>>>0);
    37713        if ($141) {
    37714         $142 = ((($1)) + 12|0);
    37715         $143 = HEAP32[$142>>2]|0;
    37716         $144 = ((($143)) + 8|0);
    37717         $145 = HEAP32[$144>>2]|0;
    37718         $146 = $5;
    37719         $147 = $145;
    37720         $148 = (($146) - ($147))|0;
    37721         $149 = (($148|0) / 8)&-1;
    37722         $$0 = $149;
    37723        } else {
    37724         $$0 = -1;
    37725        }
    37726       } else {
    37727        $$0 = -1;
    37728       }
    37729       $150 = HEAP32[$$090>>2]|0;
    37730       $151 = $150 >>> 11;
    37731       $152 = $151 & 128;
    37732       $153 = ($152|0)!=(0);
    37733       if ($153) {
    37734        $154 = (($$195) + 2)|0;
    37735        $155 = ((($111)) + 12|0);
    37736        HEAP32[$155>>2] = $154;
    37737        $156 = ((($111)) + 12|0);
    37738        $157 = HEAP32[$156>>2]|0;
    37739        __THREW__ = 0;
    37740        invoke_viii(142,($1|0),($157|0),0);
    37741        $158 = __THREW__; __THREW__ = 0;
    37742        if ((($158|0) != 0) & ((threwValue|0) != 0)) { $159 = _testSetjmp(HEAP32[$158>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($159|0) == 0) { _longjmp($158|0, threwValue|0); } tempRet0 = (threwValue); } else { $159 = -1; };
    37743        $160 = tempRet0;
    37744        $cond132 = ($159|0)==(1);
    37745        if ($cond132) {
    37746         $$091 = 0;$$092 = $5;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $160;
    37747         break;
    37748        }
    37749       } else {
    37750        $161 = ((($$090)) + 12|0);
    37751        $162 = HEAP32[$161>>2]|0;
    37752        $163 = ((($162)) + 2|0);
    37753        $164 = HEAP16[$163>>1]|0;
    37754        $165 = $164&65535;
    37755        $166 = (($165) + ($$088))|0;
    37756        $167 = ((($111)) + 12|0);
    37757        HEAP32[$167>>2] = $166;
    37758        $168 = ((($111)) + 12|0);
    37759        $169 = HEAP32[$168>>2]|0;
    37760        $170 = (($$195) + 2)|0;
    37761        __THREW__ = 0;
    37762        invoke_viii(142,($1|0),($169|0),($170|0));
    37763        $171 = __THREW__; __THREW__ = 0;
    37764        if ((($171|0) != 0) & ((threwValue|0) != 0)) { $172 = _testSetjmp(HEAP32[$171>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($172|0) == 0) { _longjmp($171|0, threwValue|0); } tempRet0 = (threwValue); } else { $172 = -1; };
    37765        $173 = tempRet0;
    37766        $cond123 = ($172|0)==(1);
    37767        if ($cond123) {
    37768         $$091 = 0;$$092 = $5;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $173;
    37769         break;
    37770        }
    37771       }
    37772       $174 = ($$0|0)>=(0);
    37773       if ($174) {
    37774        $175 = ((($1)) + 12|0);
    37775        $176 = HEAP32[$175>>2]|0;
    37776        $177 = ((($176)) + 8|0);
    37777        $178 = HEAP32[$177>>2]|0;
    37778        $179 = (($178) + ($$0<<3)|0);
    37779        $$193 = $179;
    37780       } else {
    37781        $$193 = $5;
    37782       }
    37783       $180 = ((($1)) + 12|0);
    37784       $181 = HEAP32[$180>>2]|0;
    37785       $182 = ((($181)) + 4|0);
    37786       $183 = HEAP32[$182>>2]|0;
    37787       ;HEAP32[$183>>2]=HEAP32[$2>>2]|0;HEAP32[$183+4>>2]=HEAP32[$2+4>>2]|0;
    37788       $184 = ($$089|0)!=(0);
    37789       if ($184) {
    37790        $185 = ((($1)) + 12|0);
    37791        $186 = HEAP32[$185>>2]|0;
    37792        $187 = ((($186)) + 4|0);
    37793        $188 = HEAP32[$187>>2]|0;
    37794        $189 = ((($188)) + 8|0);
    37795        __THREW__ = 0;
    37796        invoke_vii(143,($13|0),($$089|0));
    37797        $190 = __THREW__; __THREW__ = 0;
    37798        if ((($190|0) != 0) & ((threwValue|0) != 0)) { $191 = _testSetjmp(HEAP32[$190>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($191|0) == 0) { _longjmp($190|0, threwValue|0); } tempRet0 = (threwValue); } else { $191 = -1; };
    37799        $192 = tempRet0;
    37800        $cond130 = ($191|0)==(1);
    37801        if ($cond130) {
    37802         $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $192;
    37803         break;
    37804        }
    37805        ;HEAP32[$189>>2]=HEAP32[$13>>2]|0;HEAP32[$189+4>>2]=HEAP32[$13+4>>2]|0;
    37806        $193 = ($$195|0)>(1);
    37807        if ($193) {
    37808         $194 = ((($1)) + 12|0);
    37809         $195 = HEAP32[$194>>2]|0;
    37810         $196 = ((($195)) + 4|0);
    37811         $197 = HEAP32[$196>>2]|0;
    37812         $198 = ((($197)) + 16|0);
    37813         $199 = (($$195) - 1)|0;
    37814         __THREW__ = 0;
    37815         invoke_viii(144,($198|0),($$193|0),($199|0));
    37816         $200 = __THREW__; __THREW__ = 0;
    37817         if ((($200|0) != 0) & ((threwValue|0) != 0)) { $201 = _testSetjmp(HEAP32[$200>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($201|0) == 0) { _longjmp($200|0, threwValue|0); } tempRet0 = (threwValue); } else { $201 = -1; };
    37818         $202 = tempRet0;
    37819         $cond131 = ($201|0)==(1);
    37820         if ($cond131) {
    37821          $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $202;
    37822          break;
    37823         }
    37824        }
    37825       } else {
    37826        $203 = ($$195|0)>(0);
    37827        if ($203) {
    37828         $204 = ((($1)) + 12|0);
    37829         $205 = HEAP32[$204>>2]|0;
    37830         $206 = ((($205)) + 4|0);
    37831         $207 = HEAP32[$206>>2]|0;
    37832         $208 = ((($207)) + 8|0);
    37833         __THREW__ = 0;
    37834         invoke_viii(144,($208|0),($$193|0),($$195|0));
    37835         $209 = __THREW__; __THREW__ = 0;
    37836         if ((($209|0) != 0) & ((threwValue|0) != 0)) { $210 = _testSetjmp(HEAP32[$209>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($210|0) == 0) { _longjmp($209|0, threwValue|0); } tempRet0 = (threwValue); } else { $210 = -1; };
    37837         $211 = tempRet0;
    37838         $cond129 = ($210|0)==(1);
    37839         if ($cond129) {
    37840          $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $211;
    37841          break;
    37842         }
    37843        }
    37844       }
    37845       $212 = ((($1)) + 12|0);
    37846       $213 = HEAP32[$212>>2]|0;
    37847       $214 = ((($213)) + 4|0);
    37848       $215 = HEAP32[$214>>2]|0;
    37849       $216 = (($$195) + 1)|0;
    37850       $217 = (($215) + ($216<<3)|0);
    37851       ;HEAP32[$217>>2]=HEAP32[$6>>2]|0;HEAP32[$217+4>>2]=HEAP32[$6+4>>2]|0;
    37852       $218 = HEAP32[$$090>>2]|0;
    37853       $219 = $218 >>> 11;
    37854       $220 = $219 & 128;
    37855       $221 = ($220|0)!=(0);
    37856       if (!($221)) {
    37857        $247 = ((($111)) + 40|0);
    37858        HEAP32[$247>>2] = -1;
    37859        __THREW__ = 0;
    37860        ;HEAP32[$$byval_copy103>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$2+4>>2]|0;
    37861        invoke_viiii(147,($15|0),($1|0),($$090|0),($$byval_copy103|0));
    37862        $248 = __THREW__; __THREW__ = 0;
    37863        if ((($248|0) != 0) & ((threwValue|0) != 0)) { $249 = _testSetjmp(HEAP32[$248>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($249|0) == 0) { _longjmp($248|0, threwValue|0); } tempRet0 = (threwValue); } else { $249 = -1; };
    37864        $250 = tempRet0;
    37865        $cond124 = ($249|0)==(1);
    37866        if ($cond124) {
    37867         $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $250;
    37868         break;
    37869        }
    37870        ;HEAP32[$7>>2]=HEAP32[$15>>2]|0;HEAP32[$7+4>>2]=HEAP32[$15+4>>2]|0;
    37871        $$1 = 0;$$2 = $$193;$$296 = $$195;$$299 = $$198;
    37872        label = 52;
    37873        break;
    37874       }
    37875       __THREW__ = 0;
    37876       $222 = (invoke_ii(145,($1|0))|0);
    37877       $223 = __THREW__; __THREW__ = 0;
    37878       if ((($223|0) != 0) & ((threwValue|0) != 0)) { $224 = _testSetjmp(HEAP32[$223>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($224|0) == 0) { _longjmp($223|0, threwValue|0); } tempRet0 = (threwValue); } else { $224 = -1; };
    37879       $225 = tempRet0;
    37880       $cond125 = ($224|0)==(1);
    37881       if ($cond125) {
    37882        $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $225;
    37883       } else {
    37884        $226 = ((($111)) + 40|0);
    37885        HEAP32[$226>>2] = -2;
    37886        $227 = ((($$090)) + 12|0);
    37887        $228 = HEAP32[$227>>2]|0;
    37888        __THREW__ = 0;
    37889        ;HEAP32[$$byval_copy102>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$2+4>>2]|0;
    37890        invoke_viii($228|0,($14|0),($1|0),($$byval_copy102|0));
    37891        $229 = __THREW__; __THREW__ = 0;
    37892        if ((($229|0) != 0) & ((threwValue|0) != 0)) { $230 = _testSetjmp(HEAP32[$229>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($230|0) == 0) { _longjmp($229|0, threwValue|0); } tempRet0 = (threwValue); } else { $230 = -1; };
    37893        $231 = tempRet0;
    37894        $cond126 = ($230|0)==(1);
    37895        if ($cond126) {
    37896         $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $231;
    37897        } else {
    37898         ;HEAP32[$7>>2]=HEAP32[$14>>2]|0;HEAP32[$7+4>>2]=HEAP32[$14+4>>2]|0;
    37899         $232 = ((($1)) + 12|0);
    37900         $233 = HEAP32[$232>>2]|0;
    37901         $234 = ((($233)) + 16|0);
    37902         $235 = HEAP32[$234>>2]|0;
    37903         $236 = ((($235)) + 8|0);
    37904         $237 = HEAP32[$236>>2]|0;
    37905         $238 = ((($1)) + 12|0);
    37906         $239 = HEAP32[$238>>2]|0;
    37907         $240 = ((($239)) + 4|0);
    37908         HEAP32[$240>>2] = $237;
    37909         __THREW__ = 0;
    37910         invoke_vi(132,($1|0));
    37911         $241 = __THREW__; __THREW__ = 0;
    37912         if ((($241|0) != 0) & ((threwValue|0) != 0)) { $242 = _testSetjmp(HEAP32[$241>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($242|0) == 0) { _longjmp($241|0, threwValue|0); } tempRet0 = (threwValue); } else { $242 = -1; };
    37913         $243 = tempRet0;
    37914         $cond127 = ($242|0)==(1);
    37915         if ($cond127) {
    37916          $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $243;
    37917         } else {
    37918          __THREW__ = 0;
    37919          invoke_vii(146,($1|0),($222|0));
    37920          $244 = __THREW__; __THREW__ = 0;
    37921          if ((($244|0) != 0) & ((threwValue|0) != 0)) { $245 = _testSetjmp(HEAP32[$244>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($245|0) == 0) { _longjmp($244|0, threwValue|0); } tempRet0 = (threwValue); } else { $245 = -1; };
    37922          $246 = tempRet0;
    37923          $cond128 = ($245|0)==(1);
    37924          if ($cond128) {
    37925           $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $246;
    37926          } else {
    37927           $$1 = 0;$$2 = $$193;$$296 = $$195;$$299 = $$198;
    37928           label = 52;
    37929          }
    37930         }
    37931        }
    37932       }
    37933      }
    37934     }
    37935    }
    37936   } else {
    37937    $18 = ((($1)) + 12|0);
    37938    $19 = HEAP32[$18>>2]|0;
    37939    $20 = ((($19)) + 16|0);
    37940    $21 = HEAP32[$20>>2]|0;
    37941    $22 = ((($1)) + 12|0);
    37942    $23 = HEAP32[$22>>2]|0;
    37943    $24 = ((($23)) + 20|0);
    37944    $25 = HEAP32[$24>>2]|0;
    37945    $26 = $21;
    37946    $27 = $25;
    37947    $28 = (($26) - ($27))|0;
    37948    $29 = (($28|0) / 48)&-1;
    37949    _setjmpTable = _saveSetjmp($8,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
    37950    __THREW__ = 0;
    37951    $30 = __THREW__; __THREW__ = 0;
    37952    if ((($30|0) != 0) & ((threwValue|0) != 0)) { $31 = _testSetjmp(HEAP32[$30>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($31|0) == 0) { _longjmp($30|0, threwValue|0); } tempRet0 = (threwValue); } else { $31 = -1; };
    37953    $32 = tempRet0;
    37954    $cond = ($31|0)==(1);
    37955    if ($cond) {
    37956     $$091 = $29;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $32;
    37957    } else {
    37958     $$091 = $29;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = 0;
    37959    }
    37960   }
    37961  } while(0);
    37962  L52: while(1) {
    37963   if ((label|0) == 52) {
    37964    label = 0;
    37965    __THREW__ = 0;
    37966    ;HEAP32[$$byval_copy104>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy104+4>>2]=HEAP32[$7+4>>2]|0;
    37967    invoke_vii(148,($1|0),($$byval_copy104|0));
    37968    $251 = __THREW__; __THREW__ = 0;
    37969    if ((($251|0) != 0) & ((threwValue|0) != 0)) { $252 = _testSetjmp(HEAP32[$251>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($252|0) == 0) { _longjmp($251|0, threwValue|0); } tempRet0 = (threwValue); } else { $252 = -1; };
    37970    $253 = tempRet0;
    37971    $cond114 = ($252|0)==(1);
    37972    if ($cond114) {
    37973     $$091 = $$1;$$092 = $$2;$$094 = $$296;$$097 = $$299;$$reg2mem86$0 = $253;
    37974    } else {
    37975     break;
    37976    }
    37977   }
    37978   $33 = ($$reg2mem86$0|0)==(0);
    37979   if ($33) {
    37980    HEAP32[$1>>2] = $8;
    37981    __THREW__ = 0;
    37982    ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    37983    ;HEAP32[$$byval_copy100>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$6+4>>2]|0;
    37984    invoke_viiiiiii(131,($9|0),($1|0),($$byval_copy|0),($$097|0),($$094|0),($$092|0),($$byval_copy100|0));
    37985    $34 = __THREW__; __THREW__ = 0;
    37986    if ((($34|0) != 0) & ((threwValue|0) != 0)) { $35 = _testSetjmp(HEAP32[$34>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($35|0) == 0) { _longjmp($34|0, threwValue|0); } tempRet0 = (threwValue); } else { $35 = -1; };
    37987    $36 = tempRet0;
    37988    $cond116 = ($35|0)==(1);
    37989    if ($cond116) {
    37990     $$097$phi = $$097;$$094$phi = $$094;$$092$phi = $$092;$$091$phi = $$091;$$reg2mem86$0 = $36;$$097 = $$097$phi;$$094 = $$094$phi;$$092 = $$092$phi;$$091 = $$091$phi;
    37991     continue;
    37992    }
    37993    ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
    37994    HEAP32[$1>>2] = 0;
    37995    $$1 = $$091;$$2 = $$092;$$296 = $$094;$$299 = $$097;
    37996    label = 52;
    37997    continue;
    37998   }
    37999   while(1) {
    38000    $37 = ((($1)) + 12|0);
    38001    $38 = HEAP32[$37>>2]|0;
    38002    $39 = ((($38)) + 16|0);
    38003    $40 = HEAP32[$39>>2]|0;
    38004    $41 = ((($1)) + 12|0);
    38005    $42 = HEAP32[$41>>2]|0;
    38006    $43 = ((($42)) + 20|0);
    38007    $44 = HEAP32[$43>>2]|0;
    38008    $45 = $40;
    38009    $46 = $44;
    38010    $47 = (($45) - ($46))|0;
    38011    $48 = (($47|0) / 48)&-1;
    38012    $49 = ($$091|0)<($48|0);
    38013    if (!($49)) {
    38014     break;
    38015    }
    38016    $50 = ((($1)) + 12|0);
    38017    $51 = HEAP32[$50>>2]|0;
    38018    $52 = ((($51)) + 16|0);
    38019    $53 = HEAP32[$52>>2]|0;
    38020    $54 = ((($53)) + 8|0);
    38021    $55 = HEAP32[$54>>2]|0;
    38022    $56 = ((($1)) + 12|0);
    38023    $57 = HEAP32[$56>>2]|0;
    38024    $58 = ((($57)) + 4|0);
    38025    HEAP32[$58>>2] = $55;
    38026    __THREW__ = 0;
    38027    invoke_vi(132,($1|0));
    38028    $59 = __THREW__; __THREW__ = 0;
    38029    if ((($59|0) != 0) & ((threwValue|0) != 0)) { $60 = _testSetjmp(HEAP32[$59>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($60|0) == 0) { _longjmp($59|0, threwValue|0); } tempRet0 = (threwValue); } else { $60 = -1; };
    38030    $61 = tempRet0;
    38031    $cond115 = ($60|0)==(1);
    38032    if ($cond115) {
    38033     $$097$phi = $$097;$$094$phi = $$094;$$092$phi = $$092;$$091$phi = $$091;$$reg2mem86$0 = $61;$$097 = $$097$phi;$$094 = $$094$phi;$$092 = $$092$phi;$$091 = $$091$phi;
    38034     continue L52;
    38035    }
    38036   }
    38037   HEAP32[$1>>2] = 0;
    38038   $62 = ((($1)) + 20|0);
    38039   $63 = HEAP32[$62>>2]|0;
    38040   __THREW__ = 0;
    38041   invoke_vii(133,($10|0),($63|0));
    38042   $64 = __THREW__; __THREW__ = 0;
    38043   if ((($64|0) != 0) & ((threwValue|0) != 0)) { $65 = _testSetjmp(HEAP32[$64>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($65|0) == 0) { _longjmp($64|0, threwValue|0); } tempRet0 = (threwValue); } else { $65 = -1; };
    38044   $66 = tempRet0;
    38045   $cond113 = ($65|0)==(1);
    38046   if ($cond113) {
    38047    $$097$phi = $$097;$$094$phi = $$094;$$092$phi = $$092;$$091$phi = $$091;$$reg2mem86$0 = $66;$$097 = $$097$phi;$$094 = $$094$phi;$$092 = $$092$phi;$$091 = $$091$phi;
    38048    continue;
    38049   }
    38050   ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
    38051   $$1 = $$091;$$2 = $$092;$$296 = $$094;$$299 = $$097;
    38052   label = 52;
    38053  }
    38054  ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    38055  _free(_setjmpTable|0);
    38056  STACKTOP = sp;return;
    38057 }
    38058 function _cipop($0) {
    38059  $0 = $0|0;
    38060  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    38061  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0;
    38062  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    38063  sp = STACKTOP;
    38064  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    38065  $1 = $0;
    38066  $6 = $1;
    38067  $7 = ((($6)) + 12|0);
    38068  $8 = HEAP32[$7>>2]|0;
    38069  $2 = $8;
    38070  $9 = $2;
    38071  $10 = ((($9)) + 16|0);
    38072  $11 = HEAP32[$10>>2]|0;
    38073  $12 = ((($11)) + 24|0);
    38074  $13 = HEAP32[$12>>2]|0;
    38075  $14 = ($13|0)!=(0|0);
    38076  if (!($14)) {
    38077   $41 = $2;
    38078   $42 = ((($41)) + 16|0);
    38079   $43 = HEAP32[$42>>2]|0;
    38080   $44 = ((($43)) + -48|0);
    38081   HEAP32[$42>>2] = $44;
    38082   STACKTOP = sp;return;
    38083  }
    38084  $15 = $2;
    38085  $16 = ((($15)) + 16|0);
    38086  $17 = HEAP32[$16>>2]|0;
    38087  $18 = ((($17)) + 24|0);
    38088  $19 = HEAP32[$18>>2]|0;
    38089  $3 = $19;
    38090  $20 = $3;
    38091  $21 = HEAP32[$20>>2]|0;
    38092  $22 = $21 >>> 11;
    38093  $4 = $22;
    38094  $23 = $1;
    38095  $24 = $4;
    38096  $25 = $24<<3;
    38097  $26 = (_mrb_malloc($23,$25)|0);
    38098  $5 = $26;
    38099  $27 = $3;
    38100  $28 = ((($27)) + 20|0);
    38101  HEAP32[$28>>2] = -1;
    38102  $29 = $4;
    38103  $30 = ($29>>>0)>(0);
    38104  if ($30) {
    38105   $31 = $5;
    38106   $32 = $3;
    38107   $33 = ((($32)) + 12|0);
    38108   $34 = HEAP32[$33>>2]|0;
    38109   $35 = $4;
    38110   _stack_copy($31,$34,$35);
    38111  }
    38112  $36 = $5;
    38113  $37 = $3;
    38114  $38 = ((($37)) + 12|0);
    38115  HEAP32[$38>>2] = $36;
    38116  $39 = $1;
    38117  $40 = $3;
    38118  _mrb_write_barrier($39,$40);
    38119  $41 = $2;
    38120  $42 = ((($41)) + 16|0);
    38121  $43 = HEAP32[$42>>2]|0;
    38122  $44 = ((($43)) + -48|0);
    38123  HEAP32[$42>>2] = $44;
    38124  STACKTOP = sp;return;
    38125 }
    38126 function _mrb_obj_value_420($0,$1) {
    38127  $0 = $0|0;
    38128  $1 = $1|0;
    38129  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    38130  sp = STACKTOP;
    38131  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    38132  $3 = sp;
    38133  $2 = $1;
    38134  $4 = $2;
    38135  $5 = HEAP32[$4>>2]|0;
    38136  $6 = $5 & 255;
    38137  $7 = ((($3)) + 4|0);
    38138  HEAP32[$7>>2] = $6;
    38139  $8 = $2;
    38140  HEAP32[$3>>2] = $8;
    38141  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    38142  STACKTOP = sp;return;
    38143 }
    38144 function _stack_init($0) {
    38145  $0 = $0|0;
    38146  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    38147  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    38148  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    38149  sp = STACKTOP;
    38150  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    38151  $1 = $0;
    38152  $3 = $1;
    38153  $4 = ((($3)) + 12|0);
    38154  $5 = HEAP32[$4>>2]|0;
    38155  $2 = $5;
    38156  $6 = $1;
    38157  $7 = (_mrb_calloc($6,128,8)|0);
    38158  $8 = $2;
    38159  $9 = ((($8)) + 8|0);
    38160  HEAP32[$9>>2] = $7;
    38161  $10 = $2;
    38162  $11 = ((($10)) + 8|0);
    38163  $12 = HEAP32[$11>>2]|0;
    38164  $13 = ((($12)) + 1024|0);
    38165  $14 = $2;
    38166  $15 = ((($14)) + 12|0);
    38167  HEAP32[$15>>2] = $13;
    38168  $16 = $2;
    38169  $17 = ((($16)) + 8|0);
    38170  $18 = HEAP32[$17>>2]|0;
    38171  $19 = $2;
    38172  $20 = ((($19)) + 4|0);
    38173  HEAP32[$20>>2] = $18;
    38174  $21 = $1;
    38175  $22 = (_mrb_calloc($21,32,48)|0);
    38176  $23 = $2;
    38177  $24 = ((($23)) + 20|0);
    38178  HEAP32[$24>>2] = $22;
    38179  $25 = $2;
    38180  $26 = ((($25)) + 20|0);
    38181  $27 = HEAP32[$26>>2]|0;
    38182  $28 = ((($27)) + 1536|0);
    38183  $29 = $2;
    38184  $30 = ((($29)) + 24|0);
    38185  HEAP32[$30>>2] = $28;
    38186  $31 = $2;
    38187  $32 = ((($31)) + 20|0);
    38188  $33 = HEAP32[$32>>2]|0;
    38189  $34 = $2;
    38190  $35 = ((($34)) + 16|0);
    38191  HEAP32[$35>>2] = $33;
    38192  $36 = $1;
    38193  $37 = ((($36)) + 32|0);
    38194  $38 = HEAP32[$37>>2]|0;
    38195  $39 = $2;
    38196  $40 = ((($39)) + 16|0);
    38197  $41 = HEAP32[$40>>2]|0;
    38198  $42 = ((($41)) + 44|0);
    38199  HEAP32[$42>>2] = $38;
    38200  $43 = $2;
    38201  $44 = ((($43)) + 4|0);
    38202  $45 = HEAP32[$44>>2]|0;
    38203  $46 = $2;
    38204  $47 = ((($46)) + 16|0);
    38205  $48 = HEAP32[$47>>2]|0;
    38206  $49 = ((($48)) + 8|0);
    38207  HEAP32[$49>>2] = $45;
    38208  STACKTOP = sp;return;
    38209 }
    38210 function _mrb_fixnum_value_421($0,$1) {
    38211  $0 = $0|0;
    38212  $1 = $1|0;
    38213  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    38214  sp = STACKTOP;
    38215  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    38216  $3 = sp;
    38217  $2 = $1;
    38218  $4 = ((($3)) + 4|0);
    38219  HEAP32[$4>>2] = 3;
    38220  $5 = $2;
    38221  HEAP32[$3>>2] = $5;
    38222  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    38223  STACKTOP = sp;return;
    38224 }
    38225 function _mrb_class_423($0,$1) {
    38226  $0 = $0|0;
    38227  $1 = $1|0;
    38228  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    38229  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    38230  sp = STACKTOP;
    38231  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    38232  $3 = $0;
    38233  $4 = ((($1)) + 4|0);
    38234  $5 = HEAP32[$4>>2]|0;
    38235  L1: do {
    38236   switch ($5|0) {
    38237   case 0:  {
    38238    $6 = HEAP32[$1>>2]|0;
    38239    $7 = ($6|0)!=(0);
    38240    $8 = $3;
    38241    if ($7) {
    38242     $9 = ((($8)) + 72|0);
    38243     $10 = HEAP32[$9>>2]|0;
    38244     $2 = $10;
    38245     break L1;
    38246    } else {
    38247     $11 = ((($8)) + 76|0);
    38248     $12 = HEAP32[$11>>2]|0;
    38249     $2 = $12;
    38250     break L1;
    38251    }
    38252    break;
    38253   }
    38254   case 2:  {
    38255    $13 = $3;
    38256    $14 = ((($13)) + 68|0);
    38257    $15 = HEAP32[$14>>2]|0;
    38258    $2 = $15;
    38259    break;
    38260   }
    38261   case 4:  {
    38262    $16 = $3;
    38263    $17 = ((($16)) + 80|0);
    38264    $18 = HEAP32[$17>>2]|0;
    38265    $2 = $18;
    38266    break;
    38267   }
    38268   case 3:  {
    38269    $19 = $3;
    38270    $20 = ((($19)) + 64|0);
    38271    $21 = HEAP32[$20>>2]|0;
    38272    $2 = $21;
    38273    break;
    38274   }
    38275   case 6:  {
    38276    $22 = $3;
    38277    $23 = ((($22)) + 60|0);
    38278    $24 = HEAP32[$23>>2]|0;
    38279    $2 = $24;
    38280    break;
    38281   }
    38282   case 7:  {
    38283    $25 = $3;
    38284    $26 = ((($25)) + 32|0);
    38285    $27 = HEAP32[$26>>2]|0;
    38286    $2 = $27;
    38287    break;
    38288   }
    38289   case 20:  {
    38290    $2 = 0;
    38291    break;
    38292   }
    38293   default: {
    38294    $28 = HEAP32[$1>>2]|0;
    38295    $29 = ((($28)) + 4|0);
    38296    $30 = HEAP32[$29>>2]|0;
    38297    $2 = $30;
    38298   }
    38299   }
    38300  } while(0);
    38301  $31 = $2;
    38302  STACKTOP = sp;return ($31|0);
    38303 }
    38304 function _cipush($0) {
    38305  $0 = $0|0;
    38306  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    38307  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    38308  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    38309  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    38310  sp = STACKTOP;
    38311  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    38312  $1 = $0;
    38313  $7 = $1;
    38314  $8 = ((($7)) + 12|0);
    38315  $9 = HEAP32[$8>>2]|0;
    38316  $2 = $9;
    38317  $10 = $2;
    38318  $11 = ((($10)) + 16|0);
    38319  $12 = HEAP32[$11>>2]|0;
    38320  $3 = $12;
    38321  $13 = $3;
    38322  $14 = ((($13)) + 20|0);
    38323  $15 = HEAP32[$14>>2]|0;
    38324  $4 = $15;
    38325  $16 = $3;
    38326  $17 = ((($16)) + 16|0);
    38327  $18 = HEAP32[$17>>2]|0;
    38328  $5 = $18;
    38329  $19 = $3;
    38330  $20 = ((($19)) + 48|0);
    38331  $21 = $2;
    38332  $22 = ((($21)) + 24|0);
    38333  $23 = HEAP32[$22>>2]|0;
    38334  $24 = ($20|0)==($23|0);
    38335  if ($24) {
    38336   $25 = $3;
    38337   $26 = $2;
    38338   $27 = ((($26)) + 20|0);
    38339   $28 = HEAP32[$27>>2]|0;
    38340   $29 = $25;
    38341   $30 = $28;
    38342   $31 = (($29) - ($30))|0;
    38343   $32 = (($31|0) / 48)&-1;
    38344   $6 = $32;
    38345   $33 = $1;
    38346   $34 = $2;
    38347   $35 = ((($34)) + 20|0);
    38348   $36 = HEAP32[$35>>2]|0;
    38349   $37 = $6;
    38350   $38 = ($37*48)|0;
    38351   $39 = $38<<1;
    38352   $40 = (_mrb_realloc($33,$36,$39)|0);
    38353   $41 = $2;
    38354   $42 = ((($41)) + 20|0);
    38355   HEAP32[$42>>2] = $40;
    38356   $43 = $2;
    38357   $44 = ((($43)) + 20|0);
    38358   $45 = HEAP32[$44>>2]|0;
    38359   $46 = $6;
    38360   $47 = (($45) + (($46*48)|0)|0);
    38361   $48 = $2;
    38362   $49 = ((($48)) + 16|0);
    38363   HEAP32[$49>>2] = $47;
    38364   $50 = $2;
    38365   $51 = ((($50)) + 20|0);
    38366   $52 = HEAP32[$51>>2]|0;
    38367   $53 = $6;
    38368   $54 = $53<<1;
    38369   $55 = (($52) + (($54*48)|0)|0);
    38370   $56 = $2;
    38371   $57 = ((($56)) + 24|0);
    38372   HEAP32[$57>>2] = $55;
    38373  }
    38374  $58 = $2;
    38375  $59 = ((($58)) + 16|0);
    38376  $60 = HEAP32[$59>>2]|0;
    38377  $61 = ((($60)) + 48|0);
    38378  HEAP32[$59>>2] = $61;
    38379  $3 = $61;
    38380  $62 = $4;
    38381  $63 = $3;
    38382  $64 = ((($63)) + 20|0);
    38383  HEAP32[$64>>2] = $62;
    38384  $65 = $5;
    38385  $66 = $3;
    38386  $67 = ((($66)) + 16|0);
    38387  HEAP32[$67>>2] = $65;
    38388  $68 = $3;
    38389  $69 = ((($68)) + 24|0);
    38390  HEAP32[$69>>2] = 0;
    38391  $70 = $3;
    38392  $71 = ((($70)) + 28|0);
    38393  HEAP32[$71>>2] = 0;
    38394  $72 = $3;
    38395  $73 = ((($72)) + 32|0);
    38396  HEAP32[$73>>2] = 0;
    38397  $74 = $3;
    38398  $75 = ((($74)) + 4|0);
    38399  HEAP32[$75>>2] = 0;
    38400  $76 = $3;
    38401  STACKTOP = sp;return ($76|0);
    38402 }
    38403 function _stack_extend($0,$1,$2) {
    38404  $0 = $0|0;
    38405  $1 = $1|0;
    38406  $2 = $2|0;
    38407  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    38408  var $8 = 0, $9 = 0, label = 0, sp = 0;
    38409  sp = STACKTOP;
    38410  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    38411  $3 = $0;
    38412  $4 = $1;
    38413  $5 = $2;
    38414  $6 = $3;
    38415  $7 = ((($6)) + 12|0);
    38416  $8 = HEAP32[$7>>2]|0;
    38417  $9 = ((($8)) + 4|0);
    38418  $10 = HEAP32[$9>>2]|0;
    38419  $11 = $4;
    38420  $12 = (($10) + ($11<<3)|0);
    38421  $13 = $3;
    38422  $14 = ((($13)) + 12|0);
    38423  $15 = HEAP32[$14>>2]|0;
    38424  $16 = ((($15)) + 12|0);
    38425  $17 = HEAP32[$16>>2]|0;
    38426  $18 = ($12>>>0)>=($17>>>0);
    38427  if (!($18)) {
    38428   $22 = $3;
    38429   $23 = $4;
    38430   $24 = $5;
    38431   _init_new_stack_space($22,$23,$24);
    38432   STACKTOP = sp;return;
    38433  }
    38434  $19 = $3;
    38435  $20 = $4;
    38436  $21 = $5;
    38437  _stack_extend_alloc($19,$20,$21);
    38438  $22 = $3;
    38439  $23 = $4;
    38440  $24 = $5;
    38441  _init_new_stack_space($22,$23,$24);
    38442  STACKTOP = sp;return;
    38443 }
    38444 function _mrb_symbol_value_425($0,$1) {
    38445  $0 = $0|0;
    38446  $1 = $1|0;
    38447  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    38448  sp = STACKTOP;
    38449  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    38450  $3 = sp;
    38451  $2 = $1;
    38452  $4 = ((($3)) + 4|0);
    38453  HEAP32[$4>>2] = 4;
    38454  $5 = $2;
    38455  HEAP32[$3>>2] = $5;
    38456  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    38457  STACKTOP = sp;return;
    38458 }
    38459 function _stack_copy($0,$1,$2) {
    38460  $0 = $0|0;
    38461  $1 = $1|0;
    38462  $2 = $2|0;
    38463  var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    38464  sp = STACKTOP;
    38465  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    38466  $3 = $0;
    38467  $4 = $1;
    38468  $5 = $2;
    38469  while(1) {
    38470   $6 = $5;
    38471   $7 = (($6) + -1)|0;
    38472   $5 = $7;
    38473   $8 = ($6>>>0)>(0);
    38474   if (!($8)) {
    38475    break;
    38476   }
    38477   $9 = $3;
    38478   $10 = ((($9)) + 8|0);
    38479   $3 = $10;
    38480   $11 = $4;
    38481   $12 = ((($11)) + 8|0);
    38482   $4 = $12;
    38483   ;HEAP32[$9>>2]=HEAP32[$11>>2]|0;HEAP32[$9+4>>2]=HEAP32[$11+4>>2]|0;
    38484  }
    38485  STACKTOP = sp;return;
    38486 }
    38487 function _mrb_run($0,$1,$2,$3) {
    38488  $0 = $0|0;
    38489  $1 = $1|0;
    38490  $2 = $2|0;
    38491  $3 = $3|0;
    38492  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    38493  sp = STACKTOP;
    38494  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    38495  $$byval_copy = sp + 8|0;
    38496  $4 = $1;
    38497  $5 = $2;
    38498  $6 = $4;
    38499  $7 = $5;
    38500  $8 = $4;
    38501  $9 = ((($8)) + 12|0);
    38502  $10 = HEAP32[$9>>2]|0;
    38503  $11 = ((($10)) + 16|0);
    38504  $12 = HEAP32[$11>>2]|0;
    38505  $13 = ((($12)) + 36|0);
    38506  $14 = HEAP32[$13>>2]|0;
    38507  $15 = (($14) + 2)|0;
    38508  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    38509  _mrb_context_run($0,$6,$7,$$byval_copy,$15);
    38510  STACKTOP = sp;return;
    38511 }
    38512 function _mrb_context_run($0,$1,$2,$3,$4) {
    38513  $0 = $0|0;
    38514  $1 = $1|0;
    38515  $2 = $2|0;
    38516  $3 = $3|0;
    38517  $4 = $4|0;
    38518  var $$0 = 0, $$01004 = 0, $$01005 = 0, $$01006 = 0, $$01007 = 0, $$01008 = 0, $$01009 = 0, $$01010 = 0, $$01011 = 0, $$01012 = 0, $$01013 = 0, $$01014 = 0, $$01015 = 0, $$01016 = 0, $$01017 = 0, $$01018 = 0, $$01019 = 0, $$01021 = 0, $$01021$phi = 0, $$01023 = 0;
    38519  var $$01025 = 0, $$01026 = 0, $$01027 = 0, $$01029 = 0, $$01031 = 0, $$01032 = 0, $$01033 = 0, $$01034 = 0, $$01035 = 0, $$01036 = 0, $$01037 = 0, $$01038 = 0, $$01039 = 0, $$01040 = 0, $$01041 = 0, $$01042 = 0, $$01043 = 0, $$01046 = 0, $$01048 = 0, $$01050 = 0;
    38520  var $$01053 = 0, $$01059 = 0, $$01065 = 0, $$01072 = 0, $$01079 = 0, $$01086 = 0, $$1 = 0, $$11020 = 0, $$11020$phi = 0, $$11022 = 0, $$11024 = 0, $$11028 = 0, $$11030 = 0, $$11044 = 0, $$11044$phi = 0, $$11047 = 0, $$11047$phi = 0, $$11049 = 0, $$11049$phi = 0, $$11051 = 0;
    38521  var $$11054 = 0, $$11054$phi = 0, $$11060 = 0, $$11060$phi = 0, $$11066 = 0, $$11066$phi = 0, $$11073 = 0, $$11073$phi = 0, $$11080 = 0, $$11080$phi = 0, $$11087 = 0, $$11087$phi = 0, $$2 = 0, $$21045 = 0, $$21045$phi = 0, $$21052 = 0, $$21055 = 0, $$21055$phi = 0, $$21061 = 0, $$21067 = 0;
    38522  var $$21074 = 0, $$21081 = 0, $$21088 = 0, $$3 = 0, $$31056 = 0, $$31062 = 0, $$31062$phi = 0, $$31068 = 0, $$31068$phi = 0, $$31075 = 0, $$31075$phi = 0, $$31082 = 0, $$31089 = 0, $$4 = 0, $$41057 = 0, $$41063 = 0, $$41069 = 0, $$41076 = 0, $$41083 = 0, $$41090 = 0;
    38523  var $$5 = 0, $$5$phi = 0, $$51058 = 0, $$51058$phi = 0, $$51064 = 0, $$51070 = 0, $$51077 = 0, $$51084 = 0, $$51084$phi = 0, $$51091 = 0, $$51091$phi = 0, $$6 = 0, $$6$phi = 0, $$61071 = 0, $$61071$phi = 0, $$61078 = 0, $$61085 = 0, $$61092 = 0, $$7 = 0, $$71093 = 0;
    38524  var $$8 = 0, $$8$phi = 0, $$81094 = 0, $$81094$phi = 0, $$byval_copy = 0, $$byval_copy1097 = 0, $$byval_copy1098 = 0, $$byval_copy1099 = 0, $$byval_copy1100 = 0, $$byval_copy1101 = 0, $$byval_copy1102 = 0, $$byval_copy1103 = 0, $$byval_copy1104 = 0, $$byval_copy1105 = 0, $$byval_copy1106 = 0, $$byval_copy1107 = 0, $$byval_copy1108 = 0, $$byval_copy1109 = 0, $$byval_copy1110 = 0, $$byval_copy1111 = 0;
    38525  var $$byval_copy1112 = 0, $$byval_copy1113 = 0, $$byval_copy1114 = 0, $$byval_copy1115 = 0, $$byval_copy1116 = 0, $$byval_copy1117 = 0, $$byval_copy1118 = 0, $$byval_copy1119 = 0, $$byval_copy1120 = 0, $$byval_copy1121 = 0, $$byval_copy1122 = 0, $$byval_copy1123 = 0, $$byval_copy1124 = 0, $$byval_copy1125 = 0, $$byval_copy1126 = 0, $$byval_copy1127 = 0, $$byval_copy1128 = 0, $$byval_copy1129 = 0, $$byval_copy1130 = 0, $$byval_copy1131 = 0;
    38526  var $$byval_copy1132 = 0, $$byval_copy1133 = 0, $$byval_copy1134 = 0, $$byval_copy1135 = 0, $$byval_copy1136 = 0, $$byval_copy1137 = 0, $$byval_copy1138 = 0, $$byval_copy1139 = 0, $$byval_copy1140 = 0, $$byval_copy1141 = 0, $$byval_copy1142 = 0, $$byval_copy1143 = 0, $$byval_copy1144 = 0, $$byval_copy1145 = 0, $$byval_copy1146 = 0, $$byval_copy1147 = 0, $$byval_copy1148 = 0, $$byval_copy1149 = 0, $$byval_copy1150 = 0, $$byval_copy1151 = 0;
    38527  var $$byval_copy1152 = 0, $$byval_copy1153 = 0, $$byval_copy1154 = 0, $$byval_copy1155 = 0, $$byval_copy1156 = 0, $$reg2mem1000$0 = 0, $$reg2mem1002$0 = 0, $$reg2mem992$0 = 0, $$reg2mem994$0 = 0, $$reg2mem996$0 = 0, $$reg2mem998$0 = 0, $$sink$reg2mem$0 = 0, $$sink10 = 0, $$sink11$reg2mem$0 = 0, $$sink17 = 0, $$sink19 = 0, $$sink2$reg2mem$0 = 0, $$sink24$reg2mem$0 = 0, $$sink25$reg2mem$0 = 0.0, $$sink28$reg2mem$0 = 0;
    38528  var $$sink3$reg2mem$0 = 0, $$sink31$reg2mem$0 = 0, $$sink34$reg2mem$0 = 0, $$sink37$reg2mem$0 = 0, $$sink40$reg2mem$0 = 0, $$sink43$reg2mem$0 = 0, $$sink5$reg2mem$0 = 0, $$sink8 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0;
    38529  var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0;
    38530  var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0;
    38531  var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0;
    38532  var $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0;
    38533  var $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0;
    38534  var $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0;
    38535  var $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0;
    38536  var $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0;
    38537  var $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0;
    38538  var $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0;
    38539  var $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0;
    38540  var $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0;
    38541  var $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0;
    38542  var $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0;
    38543  var $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0;
    38544  var $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0;
    38545  var $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0;
    38546  var $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0;
    38547  var $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0;
    38548  var $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0;
    38549  var $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0;
    38550  var $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0;
    38551  var $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0;
    38552  var $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0;
    38553  var $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0;
    38554  var $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0;
    38555  var $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0;
    38556  var $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0;
    38557  var $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0;
    38558  var $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0;
    38559  var $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0;
    38560  var $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0;
    38561  var $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0;
    38562  var $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0;
    38563  var $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0;
    38564  var $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0;
    38565  var $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0;
    38566  var $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0;
    38567  var $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0;
    38568  var $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0;
    38569  var $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0;
    38570  var $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0;
    38571  var $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0;
    38572  var $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0;
    38573  var $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0;
    38574  var $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0;
    38575  var $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0;
    38576  var $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0;
    38577  var $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0;
    38578  var $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0;
    38579  var $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0;
    38580  var $1929 = 0, $193 = 0, $1930 = 0.0, $1931 = 0.0, $1932 = 0.0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0.0, $1942 = 0, $1943 = 0, $1944 = 0.0, $1945 = 0.0, $1946 = 0;
    38581  var $1947 = 0, $1948 = 0.0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0.0, $1953 = 0.0, $1954 = 0, $1955 = 0, $1956 = 0.0, $1957 = 0, $1958 = 0, $1959 = 0.0, $196 = 0, $1960 = 0.0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0;
    38582  var $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0;
    38583  var $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0;
    38584  var $2000 = 0, $2001 = 0.0, $2002 = 0.0, $2003 = 0.0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0.0, $2012 = 0, $2013 = 0, $2014 = 0.0, $2015 = 0.0, $2016 = 0, $2017 = 0, $2018 = 0.0;
    38585  var $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0.0, $2023 = 0.0, $2024 = 0, $2025 = 0, $2026 = 0.0, $2027 = 0, $2028 = 0, $2029 = 0.0, $203 = 0, $2030 = 0.0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0;
    38586  var $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0;
    38587  var $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0.0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0.0, $2071 = 0, $2072 = 0;
    38588  var $2073 = 0.0, $2074 = 0.0, $2075 = 0, $2076 = 0, $2077 = 0.0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0.0, $2082 = 0.0, $2083 = 0, $2084 = 0, $2085 = 0.0, $2086 = 0, $2087 = 0, $2088 = 0.0, $2089 = 0.0, $209 = 0, $2090 = 0;
    38589  var $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0;
    38590  var $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0.0, $2117 = 0.0, $2118 = 0.0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0.0, $2125 = 0, $2126 = 0;
    38591  var $2127 = 0.0, $2128 = 0.0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0.0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0.0, $2136 = 0.0, $2137 = 0, $2138 = 0, $2139 = 0.0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0.0, $2143 = 0.0, $2144 = 0;
    38592  var $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0;
    38593  var $2163 = 0.0, $2164 = 0.0, $2165 = 0.0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0.0, $2172 = 0, $2173 = 0.0, $2174 = 0.0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0;
    38594  var $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0;
    38595  var $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0.0, $2208 = 0.0, $2209 = 0.0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0.0, $2214 = 0.0, $2215 = 0.0, $2216 = 0;
    38596  var $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0;
    38597  var $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0;
    38598  var $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0.0, $2267 = 0, $2268 = 0, $2269 = 0.0, $227 = 0, $2270 = 0;
    38599  var $2271 = 0, $2272 = 0, $2273 = 0.0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0.0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0.0, $2282 = 0, $2283 = 0, $2284 = 0.0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0;
    38600  var $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0;
    38601  var $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0.0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0.0, $2323 = 0, $2324 = 0;
    38602  var $2325 = 0, $2326 = 0.0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0.0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0.0, $2335 = 0, $2336 = 0, $2337 = 0.0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0;
    38603  var $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0;
    38604  var $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0.0, $2373 = 0, $2374 = 0, $2375 = 0.0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0.0;
    38605  var $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0.0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0.0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0.0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0;
    38606  var $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0;
    38607  var $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0.0, $2426 = 0, $2427 = 0, $2428 = 0.0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0.0;
    38608  var $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0.0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0.0, $2441 = 0, $2442 = 0, $2443 = 0.0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0;
    38609  var $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0;
    38610  var $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0.0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0.0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0.0, $2486 = 0, $2487 = 0;
    38611  var $2488 = 0, $2489 = 0.0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0.0, $2494 = 0, $2495 = 0, $2496 = 0.0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0;
    38612  var $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0;
    38613  var $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0;
    38614  var $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0;
    38615  var $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0;
    38616  var $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0;
    38617  var $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0;
    38618  var $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0;
    38619  var $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0;
    38620  var $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0;
    38621  var $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0;
    38622  var $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0;
    38623  var $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0;
    38624  var $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0;
    38625  var $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0;
    38626  var $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0;
    38627  var $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0;
    38628  var $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0;
    38629  var $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0;
    38630  var $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0;
    38631  var $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0;
    38632  var $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0;
    38633  var $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0;
    38634  var $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0;
    38635  var $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0;
    38636  var $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0;
    38637  var $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0;
    38638  var $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0;
    38639  var $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0;
    38640  var $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0;
    38641  var $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0;
    38642  var $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0;
    38643  var $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
    38644  var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
    38645  var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
    38646  var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
    38647  var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
    38648  var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0;
    38649  var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0;
    38650  var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0;
    38651  var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0;
    38652  var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0;
    38653  var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0;
    38654  var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0;
    38655  var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0;
    38656  var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0;
    38657  var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0;
    38658  var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0;
    38659  var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0;
    38660  var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0;
    38661  var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0;
    38662  var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0;
    38663  var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0;
    38664  var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0;
    38665  var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0;
    38666  var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0;
    38667  var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0;
    38668  var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0;
    38669  var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0;
    38670  var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0;
    38671  var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0;
    38672  var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0;
    38673  var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0;
    38674  var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0;
    38675  var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0;
    38676  var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0;
    38677  var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0;
    38678  var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0;
    38679  var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0;
    38680  var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0;
    38681  var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond = 0, $cond1240 = 0, $cond1241 = 0, $cond1242 = 0;
    38682  var $cond1243 = 0, $cond1244 = 0, $cond1245 = 0, $cond1246 = 0, $cond1247 = 0, $cond1248 = 0, $cond1249 = 0, $cond1250 = 0, $cond1251 = 0, $cond1252 = 0, $cond1253 = 0, $cond1254 = 0, $cond1255 = 0, $cond1256 = 0, $cond1257 = 0, $cond1258 = 0, $cond1259 = 0, $cond1260 = 0, $cond1261 = 0, $cond1262 = 0;
    38683  var $cond1263 = 0, $cond1264 = 0, $cond1265 = 0, $cond1266 = 0, $cond1267 = 0, $cond1268 = 0, $cond1269 = 0, $cond1270 = 0, $cond1271 = 0, $cond1272 = 0, $cond1273 = 0, $cond1274 = 0, $cond1275 = 0, $cond1276 = 0, $cond1277 = 0, $cond1278 = 0, $cond1279 = 0, $cond1280 = 0, $cond1281 = 0, $cond1282 = 0;
    38684  var $cond1283 = 0, $cond1284 = 0, $cond1285 = 0, $cond1286 = 0, $cond1287 = 0, $cond1288 = 0, $cond1289 = 0, $cond1290 = 0, $cond1291 = 0, $cond1292 = 0, $cond1293 = 0, $cond1294 = 0, $cond1295 = 0, $cond1296 = 0, $cond1297 = 0, $cond1298 = 0, $cond1299 = 0, $cond1300 = 0, $cond1301 = 0, $cond1302 = 0;
    38685  var $cond1303 = 0, $cond1304 = 0, $cond1305 = 0, $cond1306 = 0, $cond1307 = 0, $cond1308 = 0, $cond1309 = 0, $cond1310 = 0, $cond1311 = 0, $cond1312 = 0, $cond1313 = 0, $cond1314 = 0, $cond1315 = 0, $cond1316 = 0, $cond1317 = 0, $cond1318 = 0, $cond1319 = 0, $cond1320 = 0, $cond1321 = 0, $cond1322 = 0;
    38686  var $cond1323 = 0, $cond1324 = 0, $cond1325 = 0, $cond1326 = 0, $cond1327 = 0, $cond1328 = 0, $cond1329 = 0, $cond1330 = 0, $cond1331 = 0, $cond1332 = 0, $cond1333 = 0, $cond1334 = 0, $cond1335 = 0, $cond1336 = 0, $cond1337 = 0, $cond1338 = 0, $cond1339 = 0, $cond1340 = 0, $cond1341 = 0, $cond1342 = 0;
    38687  var $cond1343 = 0, $cond1344 = 0, $cond1345 = 0, $cond1346 = 0, $cond1347 = 0, $cond1348 = 0, $cond1349 = 0, $cond1350 = 0, $cond1351 = 0, $cond1352 = 0, $cond1353 = 0, $cond1354 = 0, $cond1355 = 0, $cond1356 = 0, $cond1357 = 0, $cond1358 = 0, $cond1359 = 0, $cond1360 = 0, $cond1361 = 0, $cond1362 = 0;
    38688  var $cond1363 = 0, $cond1364 = 0, $cond1365 = 0, $cond1366 = 0, $cond1367 = 0, $cond1368 = 0, $cond1369 = 0, $cond1370 = 0, $cond1371 = 0, $cond1372 = 0, $cond1373 = 0, $cond1374 = 0, $cond1375 = 0, $cond1376 = 0, $cond1377 = 0, $cond1378 = 0, $cond1379 = 0, $cond1380 = 0, $cond1381 = 0, $cond1382 = 0;
    38689  var $cond1383 = 0, $cond1384 = 0, $cond1385 = 0, $cond1386 = 0, $cond1387 = 0, $cond1388 = 0, $cond1389 = 0, $cond1390 = 0, $cond1391 = 0, $cond1392 = 0, $cond1393 = 0, $cond1394 = 0, $cond1395 = 0, $cond1396 = 0, $cond1397 = 0, $cond1398 = 0, $cond1399 = 0, $cond1400 = 0, $cond1401 = 0, $indirectbr_cast = 0;
    38690  var $or$cond = 0, $or$cond16 = 0, $vararg_buffer = 0, $vararg_ptr1095 = 0, $vararg_ptr1096 = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
    38691  sp = STACKTOP;
    38692  STACKTOP = STACKTOP + 1328|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1328|0);
    38693  $$byval_copy1156 = sp + 1312|0;
    38694  $$byval_copy1155 = sp + 1304|0;
    38695  $$byval_copy1154 = sp + 1296|0;
    38696  $$byval_copy1153 = sp + 1288|0;
    38697  $$byval_copy1152 = sp + 1280|0;
    38698  $$byval_copy1151 = sp + 1272|0;
    38699  $$byval_copy1150 = sp + 1264|0;
    38700  $$byval_copy1149 = sp + 1256|0;
    38701  $$byval_copy1148 = sp + 1248|0;
    38702  $$byval_copy1147 = sp + 1240|0;
    38703  $$byval_copy1146 = sp + 1232|0;
    38704  $$byval_copy1145 = sp + 1224|0;
    38705  $$byval_copy1144 = sp + 1216|0;
    38706  $$byval_copy1143 = sp + 1208|0;
    38707  $$byval_copy1142 = sp + 1200|0;
    38708  $$byval_copy1141 = sp + 1192|0;
    38709  $$byval_copy1140 = sp + 1184|0;
    38710  $$byval_copy1139 = sp + 1176|0;
    38711  $$byval_copy1138 = sp + 1168|0;
    38712  $$byval_copy1137 = sp + 1160|0;
    38713  $$byval_copy1136 = sp + 1152|0;
    38714  $$byval_copy1135 = sp + 1144|0;
    38715  $$byval_copy1134 = sp + 1136|0;
    38716  $$byval_copy1133 = sp + 1128|0;
    38717  $$byval_copy1132 = sp + 1120|0;
    38718  $$byval_copy1131 = sp + 1112|0;
    38719  $$byval_copy1130 = sp + 1104|0;
    38720  $$byval_copy1129 = sp + 1096|0;
    38721  $$byval_copy1128 = sp + 1088|0;
    38722  $$byval_copy1127 = sp + 1080|0;
    38723  $$byval_copy1126 = sp + 1072|0;
    38724  $$byval_copy1125 = sp + 1064|0;
    38725  $$byval_copy1124 = sp + 1056|0;
    38726  $$byval_copy1123 = sp + 1048|0;
    38727  $$byval_copy1122 = sp + 1040|0;
    38728  $$byval_copy1121 = sp + 1032|0;
    38729  $$byval_copy1120 = sp + 1024|0;
    38730  $$byval_copy1119 = sp + 1016|0;
    38731  $$byval_copy1118 = sp + 1008|0;
    38732  $$byval_copy1117 = sp + 1000|0;
    38733  $$byval_copy1116 = sp + 992|0;
    38734  $$byval_copy1115 = sp + 984|0;
    38735  $$byval_copy1114 = sp + 976|0;
    38736  $$byval_copy1113 = sp + 968|0;
    38737  $$byval_copy1112 = sp + 960|0;
    38738  $$byval_copy1111 = sp + 952|0;
    38739  $$byval_copy1110 = sp + 944|0;
    38740  $$byval_copy1109 = sp + 936|0;
    38741  $$byval_copy1108 = sp + 928|0;
    38742  $$byval_copy1107 = sp + 920|0;
    38743  $$byval_copy1106 = sp + 912|0;
    38744  $$byval_copy1105 = sp + 904|0;
    38745  $$byval_copy1104 = sp + 896|0;
    38746  $$byval_copy1103 = sp + 888|0;
    38747  $$byval_copy1102 = sp + 880|0;
    38748  $$byval_copy1101 = sp + 872|0;
    38749  $$byval_copy1100 = sp + 864|0;
    38750  $$byval_copy1099 = sp + 856|0;
    38751  $$byval_copy1098 = sp + 848|0;
    38752  $$byval_copy1097 = sp + 840|0;
    38753  $$byval_copy = sp + 832|0;
    38754  $vararg_buffer = sp;
    38755  _setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
    38756  $5 = sp + 672|0;
    38757  $6 = sp + 664|0;
    38758  $7 = sp + 656|0;
    38759  $8 = sp + 648|0;
    38760  $9 = sp + 640|0;
    38761  $10 = sp + 632|0;
    38762  $11 = sp + 624|0;
    38763  $12 = sp + 616|0;
    38764  $13 = sp + 608|0;
    38765  $14 = sp + 600|0;
    38766  $15 = sp + 592|0;
    38767  $16 = sp + 584|0;
    38768  $17 = sp + 576|0;
    38769  $18 = sp + 568|0;
    38770  $19 = sp + 560|0;
    38771  $20 = sp + 552|0;
    38772  $21 = sp + 544|0;
    38773  $22 = sp + 536|0;
    38774  $23 = sp + 528|0;
    38775  $24 = sp + 520|0;
    38776  $25 = sp + 512|0;
    38777  $26 = sp + 504|0;
    38778  $27 = sp + 496|0;
    38779  $28 = sp + 488|0;
    38780  $29 = sp + 480|0;
    38781  $30 = sp + 472|0;
    38782  $31 = sp + 464|0;
    38783  $32 = sp + 456|0;
    38784  $33 = sp + 448|0;
    38785  $34 = sp + 440|0;
    38786  $35 = sp + 432|0;
    38787  $36 = sp + 424|0;
    38788  $37 = sp + 416|0;
    38789  $38 = sp + 408|0;
    38790  $39 = sp + 400|0;
    38791  $40 = sp + 392|0;
    38792  $41 = sp + 384|0;
    38793  $42 = sp + 376|0;
    38794  $43 = sp + 368|0;
    38795  $44 = sp + 360|0;
    38796  $45 = sp + 352|0;
    38797  $46 = sp + 344|0;
    38798  $47 = sp + 336|0;
    38799  $48 = sp + 328|0;
    38800  $49 = sp + 320|0;
    38801  $50 = sp + 312|0;
    38802  $51 = sp + 304|0;
    38803  $52 = sp + 296|0;
    38804  $53 = sp + 288|0;
    38805  $54 = sp + 280|0;
    38806  $55 = sp + 272|0;
    38807  $56 = sp + 264|0;
    38808  $57 = sp + 260|0;
    38809  $58 = sp + 256|0;
    38810  $59 = sp + 248|0;
    38811  $60 = sp + 240|0;
    38812  $61 = sp + 232|0;
    38813  $62 = sp + 224|0;
    38814  $63 = sp + 216|0;
    38815  $64 = sp + 208|0;
    38816  $65 = sp + 200|0;
    38817  $66 = sp + 192|0;
    38818  $67 = sp + 184|0;
    38819  $68 = sp + 176|0;
    38820  $69 = sp + 168|0;
    38821  $70 = sp + 160|0;
    38822  $71 = sp + 152|0;
    38823  $72 = sp + 144|0;
    38824  $73 = sp + 136|0;
    38825  $74 = sp + 128|0;
    38826  $75 = sp + 120|0;
    38827  $76 = sp + 112|0;
    38828  $77 = sp + 104|0;
    38829  $78 = sp + 96|0;
    38830  $79 = sp + 88|0;
    38831  $80 = sp + 80|0;
    38832  $81 = sp + 72|0;
    38833  $82 = sp + 64|0;
    38834  $83 = sp + 56|0;
    38835  $84 = sp + 48|0;
    38836  $85 = sp + 40|0;
    38837  $86 = sp + 32|0;
    38838  $87 = sp + 24|0;
    38839  $88 = sp + 16|0;
    38840  $89 = ((($2)) + 12|0);
    38841  $90 = HEAP32[$89>>2]|0;
    38842  $91 = ((($90)) + 8|0);
    38843  $92 = HEAP32[$91>>2]|0;
    38844  $93 = ((($90)) + 12|0);
    38845  $94 = HEAP32[$93>>2]|0;
    38846  $95 = ((($90)) + 16|0);
    38847  $96 = HEAP32[$95>>2]|0;
    38848  __THREW__ = 0;
    38849  $97 = (invoke_ii(145,($1|0))|0);
    38850  $98 = __THREW__; __THREW__ = 0;
    38851  if ((($98|0) != 0) & ((threwValue|0) != 0)) { $99 = _testSetjmp(HEAP32[$98>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($99|0) == 0) { _longjmp($98|0, threwValue|0); } tempRet0 = (threwValue); } else { $99 = -1; };
    38852  $100 = tempRet0;
    38853  $cond = ($99|0)==(1);
    38854  if ($cond) {
    38855   $$11044 = 0;$$11047 = 0;$$11049 = 0;$$11054 = 0;$$11060 = $96;$$11066 = $94;$$11073 = $92;$$11080 = $90;$$11087 = $2;$$reg2mem1002$0 = $100;
    38856  } else {
    38857   $101 = HEAP32[$1>>2]|0;
    38858   $$01043 = 0;$$01046 = $101;$$01048 = $97;$$01053 = 0;$$01059 = $96;$$01065 = $94;$$01072 = $92;$$01079 = $90;$$01086 = $2;
    38859   label = 3;
    38860  }
    38861  L3: while(1) {
    38862   if ((label|0) == 3) {
    38863    label = 0;
    38864    _setjmpTable = _saveSetjmp($5,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
    38865    __THREW__ = 0;
    38866    $102 = __THREW__; __THREW__ = 0;
    38867    if ((($102|0) != 0) & ((threwValue|0) != 0)) { $103 = _testSetjmp(HEAP32[$102>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($103|0) == 0) { _longjmp($102|0, threwValue|0); } tempRet0 = (threwValue); } else { $103 = -1; };
    38868    $104 = tempRet0;
    38869    $cond1240 = ($103|0)==(1);
    38870    if ($cond1240) {
    38871     $$11044 = $$01043;$$11047 = $$01046;$$11049 = $$01048;$$11054 = $$01053;$$11060 = $$01059;$$11066 = $$01065;$$11073 = $$01072;$$11080 = $$01079;$$11087 = $$01086;$$reg2mem1002$0 = $104;
    38872     continue;
    38873    }
    38874    $$11044 = $$01043;$$11047 = $$01046;$$11049 = $$01048;$$11054 = $$01053;$$11060 = $$01059;$$11066 = $$01065;$$11073 = $$01072;$$11080 = $$01079;$$11087 = $$01086;$$reg2mem1002$0 = 0;
    38875   }
    38876   $105 = ($$reg2mem1002$0|0)==(0);
    38877   if (!($105)) {
    38878    $$01043 = 1;$$01046 = $$11047;$$01048 = $$11049;$$01053 = $$11054;$$01059 = $$11060;$$01065 = $$11066;$$01072 = $$11073;$$01079 = $$11080;$$01086 = $$11087;
    38879    label = 3;
    38880    continue;
    38881   }
    38882   $106 = ($$11044<<24>>24)!=(0);
    38883   if ($106) {
    38884    $$21045 = 0;$$21055 = $$11054;$$31062 = $$11060;$$31068 = $$11066;$$31075 = $$11073;$$51084 = $$11080;$$51091 = $$11087;
    38885    label = 272;
    38886   } else {
    38887    HEAP32[$1>>2] = $5;
    38888    $107 = ((($1)) + 12|0);
    38889    $108 = HEAP32[$107>>2]|0;
    38890    $109 = ((($108)) + 4|0);
    38891    $110 = HEAP32[$109>>2]|0;
    38892    $111 = ($110|0)!=(0|0);
    38893    if (!($111)) {
    38894     __THREW__ = 0;
    38895     invoke_vi(134,($1|0));
    38896     $112 = __THREW__; __THREW__ = 0;
    38897     if ((($112|0) != 0) & ((threwValue|0) != 0)) { $113 = _testSetjmp(HEAP32[$112>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($113|0) == 0) { _longjmp($112|0, threwValue|0); } tempRet0 = (threwValue); } else { $113 = -1; };
    38898     $114 = tempRet0;
    38899     $cond1241 = ($113|0)==(1);
    38900     if ($cond1241) {
    38901      $$11087$phi = $$11087;$$11080$phi = $$11080;$$11073$phi = $$11073;$$11066$phi = $$11066;$$11060$phi = $$11060;$$11054$phi = $$11054;$$11049$phi = $$11049;$$11047$phi = $$11047;$$11044$phi = $$11044;$$reg2mem1002$0 = $114;$$11087 = $$11087$phi;$$11080 = $$11080$phi;$$11073 = $$11073$phi;$$11066 = $$11066$phi;$$11060 = $$11060$phi;$$11054 = $$11054$phi;$$11049 = $$11049$phi;$$11047 = $$11047$phi;$$11044 = $$11044$phi;
    38902      continue;
    38903     }
    38904    }
    38905    $115 = ((($$11080)) + 2|0);
    38906    $116 = HEAP16[$115>>1]|0;
    38907    $117 = $116&65535;
    38908    __THREW__ = 0;
    38909    invoke_viii(142,($1|0),($117|0),($4|0));
    38910    $118 = __THREW__; __THREW__ = 0;
    38911    if ((($118|0) != 0) & ((threwValue|0) != 0)) { $119 = _testSetjmp(HEAP32[$118>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($119|0) == 0) { _longjmp($118|0, threwValue|0); } tempRet0 = (threwValue); } else { $119 = -1; };
    38912    $120 = tempRet0;
    38913    $cond1242 = ($119|0)==(1);
    38914    if ($cond1242) {
    38915     $$11087$phi = $$11087;$$11080$phi = $$11080;$$11073$phi = $$11073;$$11066$phi = $$11066;$$11060$phi = $$11060;$$11054$phi = $$11054;$$11049$phi = $$11049;$$11047$phi = $$11047;$$11044$phi = $$11044;$$reg2mem1002$0 = $120;$$11087 = $$11087$phi;$$11080 = $$11080$phi;$$11073 = $$11073$phi;$$11066 = $$11066$phi;$$11060 = $$11060$phi;$$11054 = $$11054$phi;$$11049 = $$11049$phi;$$11047 = $$11047$phi;$$11044 = $$11044$phi;
    38916     continue;
    38917    }
    38918    $121 = ((($1)) + 12|0);
    38919    $122 = HEAP32[$121>>2]|0;
    38920    $123 = ((($122)) + 16|0);
    38921    $124 = HEAP32[$123>>2]|0;
    38922    $125 = ((($124)) + 4|0);
    38923    HEAP32[$125>>2] = $$11087;
    38924    $126 = ((($$11080)) + 2|0);
    38925    $127 = HEAP16[$126>>1]|0;
    38926    $128 = $127&65535;
    38927    $129 = ((($1)) + 12|0);
    38928    $130 = HEAP32[$129>>2]|0;
    38929    $131 = ((($130)) + 16|0);
    38930    $132 = HEAP32[$131>>2]|0;
    38931    $133 = ((($132)) + 12|0);
    38932    HEAP32[$133>>2] = $128;
    38933    $134 = ((($1)) + 12|0);
    38934    $135 = HEAP32[$134>>2]|0;
    38935    $136 = ((($135)) + 4|0);
    38936    $137 = HEAP32[$136>>2]|0;
    38937    ;HEAP32[$137>>2]=HEAP32[$3>>2]|0;HEAP32[$137+4>>2]=HEAP32[$3+4>>2]|0;
    38938    $138 = HEAP32[$$11073>>2]|0;
    38939    $$21052 = $138;$$5 = $$11044;$$51058 = $137;$$6 = $$11060;$$61071 = $$11066;$$61078 = $$11073;$$8 = $$11080;$$81094 = $$11087;$$sink$reg2mem$0 = $138;
    38940    label = 583;
    38941   }
    38942   L19: while(1) {
    38943    if ((label|0) == 272) {
    38944     label = 0;
    38945     $1407 = ((($1)) + 12|0);
    38946     $1408 = HEAP32[$1407>>2]|0;
    38947     $1409 = ((($1408)) + 16|0);
    38948     $1410 = HEAP32[$1409>>2]|0;
    38949     $1411 = ((($1)) + 20|0);
    38950     $1412 = HEAP32[$1411>>2]|0;
    38951     __THREW__ = 0;
    38952     $1413 = (invoke_iiii(140,($1|0),(68279|0),6)|0);
    38953     $1414 = __THREW__; __THREW__ = 0;
    38954     if ((($1414|0) != 0) & ((threwValue|0) != 0)) { $1415 = _testSetjmp(HEAP32[$1414>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1415|0) == 0) { _longjmp($1414|0, threwValue|0); } tempRet0 = (threwValue); } else { $1415 = -1; };
    38955     $1416 = tempRet0;
    38956     $cond1249 = ($1415|0)==(1);
    38957     if ($cond1249) {
    38958      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1416;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    38959      continue L3;
    38960     }
    38961     __THREW__ = 0;
    38962     invoke_viii(176,($42|0),($1|0),($$31075|0));
    38963     $1417 = __THREW__; __THREW__ = 0;
    38964     if ((($1417|0) != 0) & ((threwValue|0) != 0)) { $1418 = _testSetjmp(HEAP32[$1417>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1418|0) == 0) { _longjmp($1417|0, threwValue|0); } tempRet0 = (threwValue); } else { $1418 = -1; };
    38965     $1419 = tempRet0;
    38966     $cond1250 = ($1418|0)==(1);
    38967     if ($cond1250) {
    38968      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1419;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    38969      continue L3;
    38970     }
    38971     __THREW__ = 0;
    38972     ;HEAP32[$$byval_copy1119>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy1119+4>>2]=HEAP32[$42+4>>2]|0;
    38973     invoke_viiii(177,($1|0),($1412|0),($1413|0),($$byval_copy1119|0));
    38974     $1420 = __THREW__; __THREW__ = 0;
    38975     if ((($1420|0) != 0) & ((threwValue|0) != 0)) { $1421 = _testSetjmp(HEAP32[$1420>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1421|0) == 0) { _longjmp($1420|0, threwValue|0); } tempRet0 = (threwValue); } else { $1421 = -1; };
    38976     $1422 = tempRet0;
    38977     $cond1251 = ($1421|0)==(1);
    38978     if ($cond1251) {
    38979      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1422;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    38980      continue L3;
    38981     }
    38982     $1423 = ((($1)) + 20|0);
    38983     $1424 = HEAP32[$1423>>2]|0;
    38984     __THREW__ = 0;
    38985     $1425 = (invoke_iiii(140,($1|0),(67804|0),5)|0);
    38986     $1426 = __THREW__; __THREW__ = 0;
    38987     if ((($1426|0) != 0) & ((threwValue|0) != 0)) { $1427 = _testSetjmp(HEAP32[$1426>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1427|0) == 0) { _longjmp($1426|0, threwValue|0); } tempRet0 = (threwValue); } else { $1427 = -1; };
    38988     $1428 = tempRet0;
    38989     $cond1252 = ($1427|0)==(1);
    38990     if ($cond1252) {
    38991      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1428;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    38992      continue L3;
    38993     }
    38994     $1429 = ((($1)) + 12|0);
    38995     $1430 = HEAP32[$1429>>2]|0;
    38996     $1431 = ((($1430)) + 20|0);
    38997     $1432 = HEAP32[$1431>>2]|0;
    38998     $1433 = $1410;
    38999     $1434 = $1432;
    39000     $1435 = (($1433) - ($1434))|0;
    39001     $1436 = (($1435|0) / 48)&-1;
    39002     __THREW__ = 0;
    39003     invoke_vii(136,($43|0),($1436|0));
    39004     $1437 = __THREW__; __THREW__ = 0;
    39005     if ((($1437|0) != 0) & ((threwValue|0) != 0)) { $1438 = _testSetjmp(HEAP32[$1437>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1438|0) == 0) { _longjmp($1437|0, threwValue|0); } tempRet0 = (threwValue); } else { $1438 = -1; };
    39006     $1439 = tempRet0;
    39007     $cond1253 = ($1438|0)==(1);
    39008     if ($cond1253) {
    39009      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1439;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39010      continue L3;
    39011     }
    39012     __THREW__ = 0;
    39013     ;HEAP32[$$byval_copy1120>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy1120+4>>2]=HEAP32[$43+4>>2]|0;
    39014     invoke_viiii(177,($1|0),($1424|0),($1425|0),($$byval_copy1120|0));
    39015     $1440 = __THREW__; __THREW__ = 0;
    39016     if ((($1440|0) != 0) & ((threwValue|0) != 0)) { $1441 = _testSetjmp(HEAP32[$1440>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1441|0) == 0) { _longjmp($1440|0, threwValue|0); } tempRet0 = (threwValue); } else { $1441 = -1; };
    39017     $1442 = tempRet0;
    39018     $cond1254 = ($1441|0)==(1);
    39019     if ($cond1254) {
    39020      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1442;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39021      continue L3;
    39022     }
    39023     $1443 = ((($1410)) + 20|0);
    39024     $1444 = HEAP32[$1443>>2]|0;
    39025     $1445 = ((($1)) + 12|0);
    39026     $1446 = HEAP32[$1445>>2]|0;
    39027     $1447 = ((($1446)) + 20|0);
    39028     $1448 = HEAP32[$1447>>2]|0;
    39029     $1449 = ($1410|0)==($1448|0);
    39030     L28: do {
    39031      if ($1449) {
    39032       $1450 = ((($1410)) + 16|0);
    39033       $1451 = HEAP32[$1450>>2]|0;
    39034       $1452 = ($1451|0)==(0);
    39035       if ($1452) {
    39036        $$4 = $$21045;$$41057 = $$21055;$$51064 = $$31062;$$51070 = $$31068;$$51077 = $$31075;$$7 = $$51084;$$71093 = $$51091;
    39037        break L19;
    39038       } else {
    39039        $$11024 = $1410;
    39040       }
    39041      } else {
    39042       $$01021 = $1444;$$01023 = $1410;
    39043       L30: while(1) {
    39044        $1453 = ((($$01023)) + 16|0);
    39045        $1454 = HEAP32[$1453>>2]|0;
    39046        $1455 = ((($$01023)) + -48|0);
    39047        $1456 = ((($1455)) + 16|0);
    39048        $1457 = HEAP32[$1456>>2]|0;
    39049        $1458 = ($1454|0)==($1457|0);
    39050        if (!($1458)) {
    39051         $$11024 = $$01023;
    39052         break L28;
    39053        }
    39054        __THREW__ = 0;
    39055        invoke_vi(132,($1|0));
    39056        $1459 = __THREW__; __THREW__ = 0;
    39057        if ((($1459|0) != 0) & ((threwValue|0) != 0)) { $1460 = _testSetjmp(HEAP32[$1459>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1460|0) == 0) { _longjmp($1459|0, threwValue|0); } tempRet0 = (threwValue); } else { $1460 = -1; };
    39058        $1461 = tempRet0;
    39059        $cond1255 = ($1460|0)==(1);
    39060        if ($cond1255) {
    39061         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1461;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39062         continue L3;
    39063        }
    39064        $1462 = ((($1)) + 12|0);
    39065        $1463 = HEAP32[$1462>>2]|0;
    39066        $1464 = ((($1463)) + 16|0);
    39067        $1465 = HEAP32[$1464>>2]|0;
    39068        $1466 = ((($1465)) + 48|0);
    39069        $1467 = ((($1466)) + 8|0);
    39070        $1468 = HEAP32[$1467>>2]|0;
    39071        $1469 = ((($1)) + 12|0);
    39072        $1470 = HEAP32[$1469>>2]|0;
    39073        $1471 = ((($1470)) + 4|0);
    39074        HEAP32[$1471>>2] = $1468;
    39075        $1472 = ((($1465)) + 48|0);
    39076        $1473 = ((($1472)) + 40|0);
    39077        $1474 = HEAP32[$1473>>2]|0;
    39078        $1475 = ($1474|0)==(-1);
    39079        $1476 = ($$11047|0)!=(0|0);
    39080        $or$cond16 = $1475 & $1476;
    39081        if ($or$cond16) {
    39082         label = 283;
    39083         break L19;
    39084        }
    39085        $1480 = ((($1)) + 12|0);
    39086        $1481 = HEAP32[$1480>>2]|0;
    39087        $1482 = ((($1481)) + 20|0);
    39088        $1483 = HEAP32[$1482>>2]|0;
    39089        $1484 = ($1465|0)==($1483|0);
    39090        if ($1484) {
    39091         $$11022 = $$01021;
    39092         break;
    39093        }
    39094        $1507 = ((($1465)) + 16|0);
    39095        $1508 = HEAP32[$1507>>2]|0;
    39096        $1509 = ((($1465)) + -48|0);
    39097        $1510 = ((($1509)) + 16|0);
    39098        $1511 = HEAP32[$1510>>2]|0;
    39099        $1512 = ($1508|0)==($1511|0);
    39100        if ($1512) {
    39101         $$2 = $$01021;
    39102        } else {
    39103         $$01021$phi = $$01021;$$01023 = $1465;$$01021 = $$01021$phi;
    39104         continue;
    39105        }
    39106        while(1) {
    39107         $1513 = ((($1465)) + -48|0);
    39108         $1514 = ((($1513)) + 20|0);
    39109         $1515 = HEAP32[$1514>>2]|0;
    39110         $1516 = ($$2|0)>($1515|0);
    39111         if (!($1516)) {
    39112          $$01021 = $$2;$$01023 = $1465;
    39113          continue L30;
    39114         }
    39115         $1517 = (($$2) + -1)|0;
    39116         __THREW__ = 0;
    39117         invoke_vii(166,($1|0),($1517|0));
    39118         $1518 = __THREW__; __THREW__ = 0;
    39119         if ((($1518|0) != 0) & ((threwValue|0) != 0)) { $1519 = _testSetjmp(HEAP32[$1518>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1519|0) == 0) { _longjmp($1518|0, threwValue|0); } tempRet0 = (threwValue); } else { $1519 = -1; };
    39120         $1520 = tempRet0;
    39121         $cond1256 = ($1519|0)==(1);
    39122         if ($cond1256) {
    39123          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1520;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39124          continue L3;
    39125         }
    39126         $$2 = $1517;
    39127        }
    39128       }
    39129       while(1) {
    39130        $1485 = ($$11022|0)>(0);
    39131        if (!($1485)) {
    39132         break;
    39133        }
    39134        $1486 = (($$11022) + -1)|0;
    39135        __THREW__ = 0;
    39136        invoke_vii(166,($1|0),($1486|0));
    39137        $1487 = __THREW__; __THREW__ = 0;
    39138        if ((($1487|0) != 0) & ((threwValue|0) != 0)) { $1488 = _testSetjmp(HEAP32[$1487>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1488|0) == 0) { _longjmp($1487|0, threwValue|0); } tempRet0 = (threwValue); } else { $1488 = -1; };
    39139        $1489 = tempRet0;
    39140        $cond1257 = ($1488|0)==(1);
    39141        if ($cond1257) {
    39142         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1489;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39143         continue L3;
    39144        }
    39145        $$11022 = $1486;
    39146       }
    39147       $1490 = ((($1465)) + 16|0);
    39148       $1491 = HEAP32[$1490>>2]|0;
    39149       $1492 = ($1491|0)==(0);
    39150       if ($1492) {
    39151        $1493 = ((($1)) + 12|0);
    39152        $1494 = HEAP32[$1493>>2]|0;
    39153        $1495 = ((($1)) + 16|0);
    39154        $1496 = HEAP32[$1495>>2]|0;
    39155        $1497 = ($1494|0)==($1496|0);
    39156        $1498 = ((($1)) + 12|0);
    39157        $1499 = HEAP32[$1498>>2]|0;
    39158        if ($1497) {
    39159         label = 290;
    39160         break L19;
    39161        }
    39162        $1505 = HEAP32[$1499>>2]|0;
    39163        $1506 = ((($1)) + 12|0);
    39164        HEAP32[$1506>>2] = $1505;
    39165        HEAP32[$1499>>2] = 0;
    39166        $$51091$phi = $$51091;$$51084$phi = $$51084;$$31075$phi = $$31075;$$31068$phi = $$31068;$$31062$phi = $$31062;$$21055$phi = $$21055;$$21045$phi = $$21045;$$51091 = $$51091$phi;$$51084 = $$51084$phi;$$31075 = $$31075$phi;$$31068 = $$31068$phi;$$31062 = $$31062$phi;$$21055 = $$21055$phi;$$21045 = $$21045$phi;
    39167        label = 272;
    39168        continue L19;
    39169       } else {
    39170        $$11024 = $1465;
    39171       }
    39172      }
    39173     } while(0);
    39174     $1521 = ((($$11024)) + 16|0);
    39175     $1522 = HEAP32[$1521>>2]|0;
    39176     $1523 = ($1522|0)==(0);
    39177     if ($1523) {
    39178      $$4 = $$21045;$$41057 = $$21055;$$51064 = $$31062;$$51070 = $$31068;$$51077 = $$31075;$$7 = $$51084;$$71093 = $$51091;
    39179      break;
    39180     }
    39181     $1524 = ((($$11024)) + 4|0);
    39182     $1525 = HEAP32[$1524>>2]|0;
    39183     $1526 = ((($1525)) + 12|0);
    39184     $1527 = HEAP32[$1526>>2]|0;
    39185     $1528 = ((($1527)) + 12|0);
    39186     $1529 = HEAP32[$1528>>2]|0;
    39187     $1530 = ((($1527)) + 16|0);
    39188     $1531 = HEAP32[$1530>>2]|0;
    39189     $1532 = ((($$11024)) + 48|0);
    39190     $1533 = ((($1532)) + 8|0);
    39191     $1534 = HEAP32[$1533>>2]|0;
    39192     $1535 = ((($1)) + 12|0);
    39193     $1536 = HEAP32[$1535>>2]|0;
    39194     $1537 = ((($1536)) + 4|0);
    39195     HEAP32[$1537>>2] = $1534;
    39196     $1538 = ((($1)) + 12|0);
    39197     $1539 = HEAP32[$1538>>2]|0;
    39198     $1540 = ((($1539)) + 28|0);
    39199     $1541 = HEAP32[$1540>>2]|0;
    39200     $1542 = ((($$11024)) + 16|0);
    39201     $1543 = HEAP32[$1542>>2]|0;
    39202     $1544 = (($1543) + -1)|0;
    39203     HEAP32[$1542>>2] = $1544;
    39204     $1545 = (($1541) + ($1544<<2)|0);
    39205     $1546 = HEAP32[$1545>>2]|0;
    39206     $$3 = $$21045;$$31056 = $1534;$$41063 = $1531;$$41069 = $1529;$$41076 = $1546;$$61085 = $1527;$$61092 = $1525;
    39207    }
    39208    else if ((label|0) == 583) {
    39209     label = 0;
    39210     $3070 = $$sink$reg2mem$0 & 127;
    39211     $3071 = (200 + ($3070<<2)|0);
    39212     $3072 = HEAP32[$3071>>2]|0;
    39213     $indirectbr_cast = $3072;
    39214     L50: do {
    39215      switch ($indirectbr_cast|0) {
    39216      case 75:  {
    39217       $$4 = $$5;$$41057 = $$51058;$$51064 = $$6;$$51070 = $$61071;$$51077 = $$61078;$$7 = $$8;$$71093 = $$81094;
    39218       break L19;
    39219       break;
    39220      }
    39221      case 1:  {
    39222       $139 = ((($$61078)) + 4|0);
    39223       $140 = HEAP32[$139>>2]|0;
    39224       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $140;$$61078 = $139;$$sink$reg2mem$0 = $140;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39225       label = 583;
    39226       continue L19;
    39227       break;
    39228      }
    39229      case 2:  {
    39230       $141 = $$21052 >>> 23;
    39231       $142 = $141 & 511;
    39232       $143 = (($$51058) + ($142<<3)|0);
    39233       $144 = $$21052 >>> 14;
    39234       $145 = $144 & 511;
    39235       $146 = (($$51058) + ($145<<3)|0);
    39236       ;HEAP32[$143>>2]=HEAP32[$146>>2]|0;HEAP32[$143+4>>2]=HEAP32[$146+4>>2]|0;
    39237       $147 = ((($$61078)) + 4|0);
    39238       $148 = HEAP32[$147>>2]|0;
    39239       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $148;$$61078 = $147;$$sink$reg2mem$0 = $148;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39240       label = 583;
    39241       continue L19;
    39242       break;
    39243      }
    39244      case 3:  {
    39245       $149 = $$21052 >>> 23;
    39246       $150 = $149 & 511;
    39247       $151 = (($$51058) + ($150<<3)|0);
    39248       $152 = $$21052 >>> 7;
    39249       $153 = $152 & 65535;
    39250       $154 = (($$61071) + ($153<<3)|0);
    39251       ;HEAP32[$151>>2]=HEAP32[$154>>2]|0;HEAP32[$151+4>>2]=HEAP32[$154+4>>2]|0;
    39252       $155 = ((($$61078)) + 4|0);
    39253       $156 = HEAP32[$155>>2]|0;
    39254       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $156;$$61078 = $155;$$sink$reg2mem$0 = $156;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39255       label = 583;
    39256       continue L19;
    39257       break;
    39258      }
    39259      case 4:  {
    39260       $157 = $$21052 >>> 23;
    39261       $158 = $157 & 511;
    39262       $159 = (($$51058) + ($158<<3)|0);
    39263       $160 = ((($159)) + 4|0);
    39264       HEAP32[$160>>2] = 3;
    39265       $161 = $$21052 >>> 7;
    39266       $162 = $161 & 65535;
    39267       $163 = (($162) - 32767)|0;
    39268       $164 = $$21052 >>> 23;
    39269       $165 = $164 & 511;
    39270       $166 = (($$51058) + ($165<<3)|0);
    39271       HEAP32[$166>>2] = $163;
    39272       $167 = ((($$61078)) + 4|0);
    39273       $168 = HEAP32[$167>>2]|0;
    39274       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $168;$$61078 = $167;$$sink$reg2mem$0 = $168;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39275       label = 583;
    39276       continue L19;
    39277       break;
    39278      }
    39279      case 5:  {
    39280       $169 = $$21052 >>> 23;
    39281       $170 = $169 & 511;
    39282       $171 = (($$51058) + ($170<<3)|0);
    39283       $172 = ((($171)) + 4|0);
    39284       HEAP32[$172>>2] = 4;
    39285       $173 = $$21052 >>> 7;
    39286       $174 = $173 & 65535;
    39287       $175 = (($$6) + ($174<<2)|0);
    39288       $176 = HEAP32[$175>>2]|0;
    39289       $177 = $$21052 >>> 23;
    39290       $178 = $177 & 511;
    39291       $179 = (($$51058) + ($178<<3)|0);
    39292       HEAP32[$179>>2] = $176;
    39293       $180 = ((($$61078)) + 4|0);
    39294       $181 = HEAP32[$180>>2]|0;
    39295       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $181;$$61078 = $180;$$sink$reg2mem$0 = $181;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39296       label = 583;
    39297       continue L19;
    39298       break;
    39299      }
    39300      case 6:  {
    39301       $636 = $$21052 >>> 23;
    39302       $637 = $636 & 511;
    39303       $638 = (($$51058) + ($637<<3)|0);
    39304       $639 = ((($638)) + 4|0);
    39305       HEAP32[$639>>2] = 0;
    39306       $640 = (($$51058) + ($637<<3)|0);
    39307       HEAP32[$640>>2] = 0;
    39308       $641 = ((($$61078)) + 4|0);
    39309       $642 = HEAP32[$641>>2]|0;
    39310       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $642;$$61078 = $641;$$sink$reg2mem$0 = $642;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39311       label = 583;
    39312       continue L19;
    39313       break;
    39314      }
    39315      case 7:  {
    39316       $182 = $$21052 >>> 23;
    39317       $183 = $182 & 511;
    39318       $184 = (($$51058) + ($183<<3)|0);
    39319       ;HEAP32[$184>>2]=HEAP32[$$51058>>2]|0;HEAP32[$184+4>>2]=HEAP32[$$51058+4>>2]|0;
    39320       $185 = ((($$61078)) + 4|0);
    39321       $186 = HEAP32[$185>>2]|0;
    39322       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $186;$$61078 = $185;$$sink$reg2mem$0 = $186;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39323       label = 583;
    39324       continue L19;
    39325       break;
    39326      }
    39327      case 8:  {
    39328       $187 = $$21052 >>> 23;
    39329       $188 = $187 & 511;
    39330       $189 = (($$51058) + ($188<<3)|0);
    39331       $190 = ((($189)) + 4|0);
    39332       HEAP32[$190>>2] = 2;
    39333       $191 = $$21052 >>> 23;
    39334       $192 = $191 & 511;
    39335       $193 = (($$51058) + ($192<<3)|0);
    39336       HEAP32[$193>>2] = 1;
    39337       $194 = ((($$61078)) + 4|0);
    39338       $195 = HEAP32[$194>>2]|0;
    39339       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $195;$$61078 = $194;$$sink$reg2mem$0 = $195;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39340       label = 583;
    39341       continue L19;
    39342       break;
    39343      }
    39344      case 9:  {
    39345       $196 = $$21052 >>> 23;
    39346       $197 = $196 & 511;
    39347       $198 = (($$51058) + ($197<<3)|0);
    39348       $199 = ((($198)) + 4|0);
    39349       HEAP32[$199>>2] = 0;
    39350       $200 = $$21052 >>> 23;
    39351       $201 = $200 & 511;
    39352       $202 = (($$51058) + ($201<<3)|0);
    39353       HEAP32[$202>>2] = 1;
    39354       $203 = ((($$61078)) + 4|0);
    39355       $204 = HEAP32[$203>>2]|0;
    39356       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $204;$$61078 = $203;$$sink$reg2mem$0 = $204;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39357       label = 583;
    39358       continue L19;
    39359       break;
    39360      }
    39361      case 10:  {
    39362       $205 = $$21052 >>> 23;
    39363       $206 = $205 & 511;
    39364       $207 = (($$51058) + ($206<<3)|0);
    39365       $208 = $$21052 >>> 7;
    39366       $209 = $208 & 65535;
    39367       $210 = (($$6) + ($209<<2)|0);
    39368       $211 = HEAP32[$210>>2]|0;
    39369       __THREW__ = 0;
    39370       invoke_viii(149,($6|0),($1|0),($211|0));
    39371       $212 = __THREW__; __THREW__ = 0;
    39372       if ((($212|0) != 0) & ((threwValue|0) != 0)) { $213 = _testSetjmp(HEAP32[$212>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($213|0) == 0) { _longjmp($212|0, threwValue|0); } tempRet0 = (threwValue); } else { $213 = -1; };
    39373       $214 = tempRet0;
    39374       $cond1401 = ($213|0)==(1);
    39375       if ($cond1401) {
    39376        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $214;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39377        continue L3;
    39378       }
    39379       ;HEAP32[$207>>2]=HEAP32[$6>>2]|0;HEAP32[$207+4>>2]=HEAP32[$6+4>>2]|0;
    39380       $215 = ((($$61078)) + 4|0);
    39381       $216 = HEAP32[$215>>2]|0;
    39382       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $216;$$61078 = $215;$$sink$reg2mem$0 = $216;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39383       label = 583;
    39384       continue L19;
    39385       break;
    39386      }
    39387      case 11:  {
    39388       $217 = $$21052 >>> 7;
    39389       $218 = $217 & 65535;
    39390       $219 = (($$6) + ($218<<2)|0);
    39391       $220 = HEAP32[$219>>2]|0;
    39392       $221 = $$21052 >>> 23;
    39393       $222 = $221 & 511;
    39394       $223 = (($$51058) + ($222<<3)|0);
    39395       __THREW__ = 0;
    39396       ;HEAP32[$$byval_copy>>2]=HEAP32[$223>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$223+4>>2]|0;
    39397       invoke_viii(150,($1|0),($220|0),($$byval_copy|0));
    39398       $224 = __THREW__; __THREW__ = 0;
    39399       if ((($224|0) != 0) & ((threwValue|0) != 0)) { $225 = _testSetjmp(HEAP32[$224>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($225|0) == 0) { _longjmp($224|0, threwValue|0); } tempRet0 = (threwValue); } else { $225 = -1; };
    39400       $226 = tempRet0;
    39401       $cond1400 = ($225|0)==(1);
    39402       if ($cond1400) {
    39403        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $226;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39404        continue L3;
    39405       }
    39406       $227 = ((($$61078)) + 4|0);
    39407       $228 = HEAP32[$227>>2]|0;
    39408       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $228;$$61078 = $227;$$sink$reg2mem$0 = $228;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39409       label = 583;
    39410       continue L19;
    39411       break;
    39412      }
    39413      case 12:  {
    39414       $229 = $$21052 >>> 23;
    39415       $230 = $229 & 511;
    39416       $231 = (($$51058) + ($230<<3)|0);
    39417       $232 = $$21052 >>> 7;
    39418       $233 = $232 & 65535;
    39419       __THREW__ = 0;
    39420       invoke_viii(151,($7|0),($1|0),($233|0));
    39421       $234 = __THREW__; __THREW__ = 0;
    39422       if ((($234|0) != 0) & ((threwValue|0) != 0)) { $235 = _testSetjmp(HEAP32[$234>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($235|0) == 0) { _longjmp($234|0, threwValue|0); } tempRet0 = (threwValue); } else { $235 = -1; };
    39423       $236 = tempRet0;
    39424       $cond1399 = ($235|0)==(1);
    39425       if ($cond1399) {
    39426        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $236;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39427        continue L3;
    39428       }
    39429       ;HEAP32[$231>>2]=HEAP32[$7>>2]|0;HEAP32[$231+4>>2]=HEAP32[$7+4>>2]|0;
    39430       $237 = ((($$61078)) + 4|0);
    39431       $238 = HEAP32[$237>>2]|0;
    39432       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $238;$$61078 = $237;$$sink$reg2mem$0 = $238;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39433       label = 583;
    39434       continue L19;
    39435       break;
    39436      }
    39437      case 13:  {
    39438       $239 = $$21052 >>> 7;
    39439       $240 = $239 & 65535;
    39440       $241 = $$21052 >>> 23;
    39441       $242 = $241 & 511;
    39442       $243 = (($$51058) + ($242<<3)|0);
    39443       __THREW__ = 0;
    39444       ;HEAP32[$$byval_copy1097>>2]=HEAP32[$243>>2]|0;HEAP32[$$byval_copy1097+4>>2]=HEAP32[$243+4>>2]|0;
    39445       invoke_viii(152,($1|0),($240|0),($$byval_copy1097|0));
    39446       $244 = __THREW__; __THREW__ = 0;
    39447       if ((($244|0) != 0) & ((threwValue|0) != 0)) { $245 = _testSetjmp(HEAP32[$244>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($245|0) == 0) { _longjmp($244|0, threwValue|0); } tempRet0 = (threwValue); } else { $245 = -1; };
    39448       $246 = tempRet0;
    39449       $cond1398 = ($245|0)==(1);
    39450       if ($cond1398) {
    39451        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $246;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39452        continue L3;
    39453       }
    39454       $247 = ((($$61078)) + 4|0);
    39455       $248 = HEAP32[$247>>2]|0;
    39456       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $248;$$61078 = $247;$$sink$reg2mem$0 = $248;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39457       label = 583;
    39458       continue L19;
    39459       break;
    39460      }
    39461      case 14:  {
    39462       $249 = $$21052 >>> 23;
    39463       $250 = $249 & 511;
    39464       $251 = (($$51058) + ($250<<3)|0);
    39465       $252 = $$21052 >>> 7;
    39466       $253 = $252 & 65535;
    39467       $254 = (($$6) + ($253<<2)|0);
    39468       $255 = HEAP32[$254>>2]|0;
    39469       __THREW__ = 0;
    39470       invoke_viii(153,($8|0),($1|0),($255|0));
    39471       $256 = __THREW__; __THREW__ = 0;
    39472       if ((($256|0) != 0) & ((threwValue|0) != 0)) { $257 = _testSetjmp(HEAP32[$256>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($257|0) == 0) { _longjmp($256|0, threwValue|0); } tempRet0 = (threwValue); } else { $257 = -1; };
    39473       $258 = tempRet0;
    39474       $cond1397 = ($257|0)==(1);
    39475       if ($cond1397) {
    39476        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $258;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39477        continue L3;
    39478       }
    39479       ;HEAP32[$251>>2]=HEAP32[$8>>2]|0;HEAP32[$251+4>>2]=HEAP32[$8+4>>2]|0;
    39480       $259 = ((($$61078)) + 4|0);
    39481       $260 = HEAP32[$259>>2]|0;
    39482       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $260;$$61078 = $259;$$sink$reg2mem$0 = $260;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39483       label = 583;
    39484       continue L19;
    39485       break;
    39486      }
    39487      case 15:  {
    39488       $261 = $$21052 >>> 7;
    39489       $262 = $261 & 65535;
    39490       $263 = (($$6) + ($262<<2)|0);
    39491       $264 = HEAP32[$263>>2]|0;
    39492       $265 = $$21052 >>> 23;
    39493       $266 = $265 & 511;
    39494       $267 = (($$51058) + ($266<<3)|0);
    39495       __THREW__ = 0;
    39496       ;HEAP32[$$byval_copy1098>>2]=HEAP32[$267>>2]|0;HEAP32[$$byval_copy1098+4>>2]=HEAP32[$267+4>>2]|0;
    39497       invoke_viii(154,($1|0),($264|0),($$byval_copy1098|0));
    39498       $268 = __THREW__; __THREW__ = 0;
    39499       if ((($268|0) != 0) & ((threwValue|0) != 0)) { $269 = _testSetjmp(HEAP32[$268>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($269|0) == 0) { _longjmp($268|0, threwValue|0); } tempRet0 = (threwValue); } else { $269 = -1; };
    39500       $270 = tempRet0;
    39501       $cond1396 = ($269|0)==(1);
    39502       if ($cond1396) {
    39503        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $270;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39504        continue L3;
    39505       }
    39506       $271 = ((($$61078)) + 4|0);
    39507       $272 = HEAP32[$271>>2]|0;
    39508       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $272;$$61078 = $271;$$sink$reg2mem$0 = $272;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39509       label = 583;
    39510       continue L19;
    39511       break;
    39512      }
    39513      case 16:  {
    39514       $273 = ((($1)) + 12|0);
    39515       $274 = HEAP32[$273>>2]|0;
    39516       $275 = ((($274)) + 16|0);
    39517       $276 = HEAP32[$275>>2]|0;
    39518       $277 = ((($276)) + 32|0);
    39519       HEAP32[$277>>2] = $$61078;
    39520       $278 = $$21052 >>> 23;
    39521       $279 = $278 & 511;
    39522       $280 = (($$51058) + ($279<<3)|0);
    39523       $281 = $$21052 >>> 7;
    39524       $282 = $281 & 65535;
    39525       $283 = (($$6) + ($282<<2)|0);
    39526       $284 = HEAP32[$283>>2]|0;
    39527       __THREW__ = 0;
    39528       invoke_viii(155,($9|0),($1|0),($284|0));
    39529       $285 = __THREW__; __THREW__ = 0;
    39530       if ((($285|0) != 0) & ((threwValue|0) != 0)) { $286 = _testSetjmp(HEAP32[$285>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($286|0) == 0) { _longjmp($285|0, threwValue|0); } tempRet0 = (threwValue); } else { $286 = -1; };
    39531       $287 = tempRet0;
    39532       $cond1395 = ($286|0)==(1);
    39533       if ($cond1395) {
    39534        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $287;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39535        continue L3;
    39536       }
    39537       ;HEAP32[$280>>2]=HEAP32[$9>>2]|0;HEAP32[$280+4>>2]=HEAP32[$9+4>>2]|0;
    39538       $288 = ((($1)) + 12|0);
    39539       $289 = HEAP32[$288>>2]|0;
    39540       $290 = ((($289)) + 16|0);
    39541       $291 = HEAP32[$290>>2]|0;
    39542       $292 = ((($291)) + 32|0);
    39543       HEAP32[$292>>2] = 0;
    39544       $293 = ((($$61078)) + 4|0);
    39545       $294 = HEAP32[$293>>2]|0;
    39546       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $294;$$61078 = $293;$$sink$reg2mem$0 = $294;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39547       label = 583;
    39548       continue L19;
    39549       break;
    39550      }
    39551      case 17:  {
    39552       $295 = $$21052 >>> 7;
    39553       $296 = $295 & 65535;
    39554       $297 = (($$6) + ($296<<2)|0);
    39555       $298 = HEAP32[$297>>2]|0;
    39556       $299 = $$21052 >>> 23;
    39557       $300 = $299 & 511;
    39558       $301 = (($$51058) + ($300<<3)|0);
    39559       __THREW__ = 0;
    39560       ;HEAP32[$$byval_copy1099>>2]=HEAP32[$301>>2]|0;HEAP32[$$byval_copy1099+4>>2]=HEAP32[$301+4>>2]|0;
    39561       invoke_viii(156,($1|0),($298|0),($$byval_copy1099|0));
    39562       $302 = __THREW__; __THREW__ = 0;
    39563       if ((($302|0) != 0) & ((threwValue|0) != 0)) { $303 = _testSetjmp(HEAP32[$302>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($303|0) == 0) { _longjmp($302|0, threwValue|0); } tempRet0 = (threwValue); } else { $303 = -1; };
    39564       $304 = tempRet0;
    39565       $cond1394 = ($303|0)==(1);
    39566       if ($cond1394) {
    39567        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $304;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39568        continue L3;
    39569       }
    39570       $305 = ((($$61078)) + 4|0);
    39571       $306 = HEAP32[$305>>2]|0;
    39572       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $306;$$61078 = $305;$$sink$reg2mem$0 = $306;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39573       label = 583;
    39574       continue L19;
    39575       break;
    39576      }
    39577      case 18:  {
    39578       $307 = ((($1)) + 12|0);
    39579       $308 = HEAP32[$307>>2]|0;
    39580       $309 = ((($308)) + 16|0);
    39581       $310 = HEAP32[$309>>2]|0;
    39582       $311 = ((($310)) + 32|0);
    39583       HEAP32[$311>>2] = $$61078;
    39584       $312 = $$21052 >>> 7;
    39585       $313 = $312 & 65535;
    39586       $314 = (($$6) + ($313<<2)|0);
    39587       $315 = HEAP32[$314>>2]|0;
    39588       __THREW__ = 0;
    39589       invoke_viii(157,($11|0),($1|0),($315|0));
    39590       $316 = __THREW__; __THREW__ = 0;
    39591       if ((($316|0) != 0) & ((threwValue|0) != 0)) { $317 = _testSetjmp(HEAP32[$316>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($317|0) == 0) { _longjmp($316|0, threwValue|0); } tempRet0 = (threwValue); } else { $317 = -1; };
    39592       $318 = tempRet0;
    39593       $cond1393 = ($317|0)==(1);
    39594       if ($cond1393) {
    39595        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $318;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39596        continue L3;
    39597       }
    39598       ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
    39599       $319 = ((($1)) + 12|0);
    39600       $320 = HEAP32[$319>>2]|0;
    39601       $321 = ((($320)) + 16|0);
    39602       $322 = HEAP32[$321>>2]|0;
    39603       $323 = ((($322)) + 32|0);
    39604       HEAP32[$323>>2] = 0;
    39605       $324 = ((($1)) + 12|0);
    39606       $325 = HEAP32[$324>>2]|0;
    39607       $326 = ((($325)) + 4|0);
    39608       $327 = HEAP32[$326>>2]|0;
    39609       $328 = $$21052 >>> 23;
    39610       $329 = $328 & 511;
    39611       $330 = (($327) + ($329<<3)|0);
    39612       ;HEAP32[$330>>2]=HEAP32[$10>>2]|0;HEAP32[$330+4>>2]=HEAP32[$10+4>>2]|0;
    39613       $331 = ((($$61078)) + 4|0);
    39614       $332 = HEAP32[$331>>2]|0;
    39615       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $332;$$51058 = $327;$$61078 = $331;$$sink$reg2mem$0 = $332;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
    39616       label = 583;
    39617       continue L19;
    39618       break;
    39619      }
    39620      case 19:  {
    39621       $333 = $$21052 >>> 7;
    39622       $334 = $333 & 65535;
    39623       $335 = (($$6) + ($334<<2)|0);
    39624       $336 = HEAP32[$335>>2]|0;
    39625       $337 = $$21052 >>> 23;
    39626       $338 = $337 & 511;
    39627       $339 = (($$51058) + ($338<<3)|0);
    39628       __THREW__ = 0;
    39629       ;HEAP32[$$byval_copy1100>>2]=HEAP32[$339>>2]|0;HEAP32[$$byval_copy1100+4>>2]=HEAP32[$339+4>>2]|0;
    39630       invoke_viii(158,($1|0),($336|0),($$byval_copy1100|0));
    39631       $340 = __THREW__; __THREW__ = 0;
    39632       if ((($340|0) != 0) & ((threwValue|0) != 0)) { $341 = _testSetjmp(HEAP32[$340>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($341|0) == 0) { _longjmp($340|0, threwValue|0); } tempRet0 = (threwValue); } else { $341 = -1; };
    39633       $342 = tempRet0;
    39634       $cond1392 = ($341|0)==(1);
    39635       if ($cond1392) {
    39636        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $342;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39637        continue L3;
    39638       }
    39639       $343 = ((($$61078)) + 4|0);
    39640       $344 = HEAP32[$343>>2]|0;
    39641       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $344;$$61078 = $343;$$sink$reg2mem$0 = $344;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39642       label = 583;
    39643       continue L19;
    39644       break;
    39645      }
    39646      case 20:  {
    39647       $345 = $$21052 >>> 23;
    39648       $346 = $345 & 511;
    39649       $347 = ((($1)) + 12|0);
    39650       $348 = HEAP32[$347>>2]|0;
    39651       $349 = ((($348)) + 16|0);
    39652       $350 = HEAP32[$349>>2]|0;
    39653       $351 = ((($350)) + 32|0);
    39654       HEAP32[$351>>2] = $$61078;
    39655       $352 = (($$51058) + ($346<<3)|0);
    39656       $353 = $$21052 >>> 7;
    39657       $354 = $353 & 65535;
    39658       $355 = (($$6) + ($354<<2)|0);
    39659       $356 = HEAP32[$355>>2]|0;
    39660       __THREW__ = 0;
    39661       ;HEAP32[$$byval_copy1101>>2]=HEAP32[$352>>2]|0;HEAP32[$$byval_copy1101+4>>2]=HEAP32[$352+4>>2]|0;
    39662       invoke_viiii(159,($13|0),($1|0),($$byval_copy1101|0),($356|0));
    39663       $357 = __THREW__; __THREW__ = 0;
    39664       if ((($357|0) != 0) & ((threwValue|0) != 0)) { $358 = _testSetjmp(HEAP32[$357>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($358|0) == 0) { _longjmp($357|0, threwValue|0); } tempRet0 = (threwValue); } else { $358 = -1; };
    39665       $359 = tempRet0;
    39666       $cond1391 = ($358|0)==(1);
    39667       if ($cond1391) {
    39668        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $359;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39669        continue L3;
    39670       }
    39671       ;HEAP32[$12>>2]=HEAP32[$13>>2]|0;HEAP32[$12+4>>2]=HEAP32[$13+4>>2]|0;
    39672       $360 = ((($1)) + 12|0);
    39673       $361 = HEAP32[$360>>2]|0;
    39674       $362 = ((($361)) + 16|0);
    39675       $363 = HEAP32[$362>>2]|0;
    39676       $364 = ((($363)) + 32|0);
    39677       HEAP32[$364>>2] = 0;
    39678       $365 = ((($1)) + 12|0);
    39679       $366 = HEAP32[$365>>2]|0;
    39680       $367 = ((($366)) + 4|0);
    39681       $368 = HEAP32[$367>>2]|0;
    39682       $369 = (($368) + ($346<<3)|0);
    39683       ;HEAP32[$369>>2]=HEAP32[$12>>2]|0;HEAP32[$369+4>>2]=HEAP32[$12+4>>2]|0;
    39684       $370 = ((($$61078)) + 4|0);
    39685       $371 = HEAP32[$370>>2]|0;
    39686       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $371;$$51058 = $368;$$61078 = $370;$$sink$reg2mem$0 = $371;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
    39687       label = 583;
    39688       continue L19;
    39689       break;
    39690      }
    39691      case 21:  {
    39692       $372 = $$21052 >>> 23;
    39693       $373 = $372 & 511;
    39694       $374 = (($373) + 1)|0;
    39695       $375 = (($$51058) + ($374<<3)|0);
    39696       $376 = $$21052 >>> 7;
    39697       $377 = $376 & 65535;
    39698       $378 = (($$6) + ($377<<2)|0);
    39699       $379 = HEAP32[$378>>2]|0;
    39700       $380 = (($$51058) + ($373<<3)|0);
    39701       __THREW__ = 0;
    39702       ;HEAP32[$$byval_copy1102>>2]=HEAP32[$375>>2]|0;HEAP32[$$byval_copy1102+4>>2]=HEAP32[$375+4>>2]|0;
    39703       ;HEAP32[$$byval_copy1103>>2]=HEAP32[$380>>2]|0;HEAP32[$$byval_copy1103+4>>2]=HEAP32[$380+4>>2]|0;
    39704       invoke_viiii(160,($1|0),($$byval_copy1102|0),($379|0),($$byval_copy1103|0));
    39705       $381 = __THREW__; __THREW__ = 0;
    39706       if ((($381|0) != 0) & ((threwValue|0) != 0)) { $382 = _testSetjmp(HEAP32[$381>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($382|0) == 0) { _longjmp($381|0, threwValue|0); } tempRet0 = (threwValue); } else { $382 = -1; };
    39707       $383 = tempRet0;
    39708       $cond1390 = ($382|0)==(1);
    39709       if ($cond1390) {
    39710        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $383;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39711        continue L3;
    39712       }
    39713       $384 = ((($$61078)) + 4|0);
    39714       $385 = HEAP32[$384>>2]|0;
    39715       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $385;$$61078 = $384;$$sink$reg2mem$0 = $385;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39716       label = 583;
    39717       continue L19;
    39718       break;
    39719      }
    39720      case 22:  {
    39721       $386 = $$21052 >>> 23;
    39722       $387 = $386 & 511;
    39723       $388 = (($$51058) + ($387<<3)|0);
    39724       $389 = $$21052 >>> 7;
    39725       $390 = $389 & 127;
    39726       __THREW__ = 0;
    39727       $391 = (invoke_iii(161,($1|0),($390|0))|0);
    39728       $392 = __THREW__; __THREW__ = 0;
    39729       if ((($392|0) != 0) & ((threwValue|0) != 0)) { $393 = _testSetjmp(HEAP32[$392>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($393|0) == 0) { _longjmp($392|0, threwValue|0); } tempRet0 = (threwValue); } else { $393 = -1; };
    39730       $394 = tempRet0;
    39731       $cond1388 = ($393|0)==(1);
    39732       if ($cond1388) {
    39733        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $394;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39734        continue L3;
    39735       }
    39736       $395 = ($391|0)!=(0|0);
    39737       if ($395) {
    39738        $399 = $$21052 >>> 14;
    39739        $400 = $399 & 511;
    39740        $401 = ((($391)) + 12|0);
    39741        $402 = HEAP32[$401>>2]|0;
    39742        $403 = (($402) + ($400<<3)|0);
    39743        ;HEAP32[$388>>2]=HEAP32[$403>>2]|0;HEAP32[$388+4>>2]=HEAP32[$403+4>>2]|0;
    39744       } else {
    39745        __THREW__ = 0;
    39746        invoke_vi(162,($14|0));
    39747        $396 = __THREW__; __THREW__ = 0;
    39748        if ((($396|0) != 0) & ((threwValue|0) != 0)) { $397 = _testSetjmp(HEAP32[$396>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($397|0) == 0) { _longjmp($396|0, threwValue|0); } tempRet0 = (threwValue); } else { $397 = -1; };
    39749        $398 = tempRet0;
    39750        $cond1389 = ($397|0)==(1);
    39751        if ($cond1389) {
    39752         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $398;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39753         continue L3;
    39754        }
    39755        ;HEAP32[$388>>2]=HEAP32[$14>>2]|0;HEAP32[$388+4>>2]=HEAP32[$14+4>>2]|0;
    39756       }
    39757       $404 = ((($$61078)) + 4|0);
    39758       $405 = HEAP32[$404>>2]|0;
    39759       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $405;$$61078 = $404;$$sink$reg2mem$0 = $405;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39760       label = 583;
    39761       continue L19;
    39762       break;
    39763      }
    39764      case 23:  {
    39765       $406 = $$21052 >>> 7;
    39766       $407 = $406 & 127;
    39767       __THREW__ = 0;
    39768       $408 = (invoke_iii(161,($1|0),($407|0))|0);
    39769       $409 = __THREW__; __THREW__ = 0;
    39770       if ((($409|0) != 0) & ((threwValue|0) != 0)) { $410 = _testSetjmp(HEAP32[$409>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($410|0) == 0) { _longjmp($409|0, threwValue|0); } tempRet0 = (threwValue); } else { $410 = -1; };
    39771       $411 = tempRet0;
    39772       $cond1386 = ($410|0)==(1);
    39773       if ($cond1386) {
    39774        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $411;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39775        continue L3;
    39776       }
    39777       $412 = ($408|0)!=(0|0);
    39778       if ($412) {
    39779        $413 = $$21052 >>> 23;
    39780        $414 = $413 & 511;
    39781        $415 = (($$51058) + ($414<<3)|0);
    39782        $416 = $$21052 >>> 14;
    39783        $417 = $416 & 511;
    39784        $418 = ((($408)) + 12|0);
    39785        $419 = HEAP32[$418>>2]|0;
    39786        $420 = (($419) + ($417<<3)|0);
    39787        ;HEAP32[$420>>2]=HEAP32[$415>>2]|0;HEAP32[$420+4>>2]=HEAP32[$415+4>>2]|0;
    39788        __THREW__ = 0;
    39789        invoke_vii(163,($1|0),($408|0));
    39790        $421 = __THREW__; __THREW__ = 0;
    39791        if ((($421|0) != 0) & ((threwValue|0) != 0)) { $422 = _testSetjmp(HEAP32[$421>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($422|0) == 0) { _longjmp($421|0, threwValue|0); } tempRet0 = (threwValue); } else { $422 = -1; };
    39792        $423 = tempRet0;
    39793        $cond1387 = ($422|0)==(1);
    39794        if ($cond1387) {
    39795         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $423;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39796         continue L3;
    39797        }
    39798       }
    39799       $424 = ((($$61078)) + 4|0);
    39800       $425 = HEAP32[$424>>2]|0;
    39801       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $425;$$61078 = $424;$$sink$reg2mem$0 = $425;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39802       label = 583;
    39803       continue L19;
    39804       break;
    39805      }
    39806      case 24:  {
    39807       $426 = $$21052 >>> 7;
    39808       $427 = $426 & 65535;
    39809       $428 = (($427) - 32767)|0;
    39810       $429 = (($$61078) + ($428<<2)|0);
    39811       $430 = HEAP32[$429>>2]|0;
    39812       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $430;$$61078 = $429;$$sink$reg2mem$0 = $430;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39813       label = 583;
    39814       continue L19;
    39815       break;
    39816      }
    39817      case 25:  {
    39818       $431 = $$21052 >>> 23;
    39819       $432 = $431 & 511;
    39820       $433 = (($$51058) + ($432<<3)|0);
    39821       $434 = ((($433)) + 4|0);
    39822       $435 = HEAP32[$434>>2]|0;
    39823       $436 = ($435|0)!=(0);
    39824       if ($436) {
    39825        $437 = $$21052 >>> 7;
    39826        $438 = $437 & 65535;
    39827        $439 = (($438) - 32767)|0;
    39828        $440 = (($$61078) + ($439<<2)|0);
    39829        $441 = HEAP32[$440>>2]|0;
    39830        $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $441;$$61078 = $440;$$sink$reg2mem$0 = $441;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39831        label = 583;
    39832        continue L19;
    39833       } else {
    39834        $442 = ((($$61078)) + 4|0);
    39835        $443 = HEAP32[$442>>2]|0;
    39836        $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $443;$$61078 = $442;$$sink$reg2mem$0 = $443;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39837        label = 583;
    39838        continue L19;
    39839       }
    39840       break;
    39841      }
    39842      case 26:  {
    39843       $444 = $$21052 >>> 23;
    39844       $445 = $444 & 511;
    39845       $446 = (($$51058) + ($445<<3)|0);
    39846       $447 = ((($446)) + 4|0);
    39847       $448 = HEAP32[$447>>2]|0;
    39848       $449 = ($448|0)!=(0);
    39849       if ($449) {
    39850        $455 = ((($$61078)) + 4|0);
    39851        $456 = HEAP32[$455>>2]|0;
    39852        $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $456;$$61078 = $455;$$sink$reg2mem$0 = $456;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39853        label = 583;
    39854        continue L19;
    39855       } else {
    39856        $450 = $$21052 >>> 7;
    39857        $451 = $450 & 65535;
    39858        $452 = (($451) - 32767)|0;
    39859        $453 = (($$61078) + ($452<<2)|0);
    39860        $454 = HEAP32[$453>>2]|0;
    39861        $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $454;$$61078 = $453;$$sink$reg2mem$0 = $454;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39862        label = 583;
    39863        continue L19;
    39864       }
    39865       break;
    39866      }
    39867      case 27:  {
    39868       $457 = ((($1)) + 12|0);
    39869       $458 = HEAP32[$457>>2]|0;
    39870       $459 = ((($458)) + 32|0);
    39871       $460 = HEAP32[$459>>2]|0;
    39872       $461 = ((($1)) + 12|0);
    39873       $462 = HEAP32[$461>>2]|0;
    39874       $463 = ((($462)) + 16|0);
    39875       $464 = HEAP32[$463>>2]|0;
    39876       $465 = ((($464)) + 16|0);
    39877       $466 = HEAP32[$465>>2]|0;
    39878       $467 = ($460|0)<=($466|0);
    39879       if ($467) {
    39880        $468 = ((($1)) + 12|0);
    39881        $469 = HEAP32[$468>>2]|0;
    39882        $470 = ((($469)) + 32|0);
    39883        $471 = HEAP32[$470>>2]|0;
    39884        $472 = ($471|0)==(0);
    39885        $473 = ((($1)) + 12|0);
    39886        $474 = HEAP32[$473>>2]|0;
    39887        $475 = ((($474)) + 32|0);
    39888        if ($472) {
    39889         $$sink2$reg2mem$0 = 16;
    39890        } else {
    39891         $476 = HEAP32[$475>>2]|0;
    39892         $477 = $476<<1;
    39893         $$sink2$reg2mem$0 = $477;
    39894        }
    39895        HEAP32[$475>>2] = $$sink2$reg2mem$0;
    39896        $478 = ((($1)) + 12|0);
    39897        $479 = HEAP32[$478>>2]|0;
    39898        $480 = ((($479)) + 28|0);
    39899        $481 = HEAP32[$480>>2]|0;
    39900        $482 = ((($1)) + 12|0);
    39901        $483 = HEAP32[$482>>2]|0;
    39902        $484 = ((($483)) + 32|0);
    39903        $485 = HEAP32[$484>>2]|0;
    39904        $486 = $485<<2;
    39905        __THREW__ = 0;
    39906        $487 = (invoke_iiii(164,($1|0),($481|0),($486|0))|0);
    39907        $488 = __THREW__; __THREW__ = 0;
    39908        if ((($488|0) != 0) & ((threwValue|0) != 0)) { $489 = _testSetjmp(HEAP32[$488>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($489|0) == 0) { _longjmp($488|0, threwValue|0); } tempRet0 = (threwValue); } else { $489 = -1; };
    39909        $490 = tempRet0;
    39910        $cond1385 = ($489|0)==(1);
    39911        if ($cond1385) {
    39912         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $490;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    39913         continue L3;
    39914        }
    39915        $491 = ((($1)) + 12|0);
    39916        $492 = HEAP32[$491>>2]|0;
    39917        $493 = ((($492)) + 28|0);
    39918        HEAP32[$493>>2] = $487;
    39919       }
    39920       $494 = $$21052 >>> 7;
    39921       $495 = $494 & 65535;
    39922       $496 = (($495) - 32767)|0;
    39923       $497 = (($$61078) + ($496<<2)|0);
    39924       $498 = ((($1)) + 12|0);
    39925       $499 = HEAP32[$498>>2]|0;
    39926       $500 = ((($499)) + 28|0);
    39927       $501 = HEAP32[$500>>2]|0;
    39928       $502 = ((($1)) + 12|0);
    39929       $503 = HEAP32[$502>>2]|0;
    39930       $504 = ((($503)) + 16|0);
    39931       $505 = HEAP32[$504>>2]|0;
    39932       $506 = ((($505)) + 16|0);
    39933       $507 = HEAP32[$506>>2]|0;
    39934       $508 = (($507) + 1)|0;
    39935       HEAP32[$506>>2] = $508;
    39936       $509 = (($501) + ($507<<2)|0);
    39937       HEAP32[$509>>2] = $497;
    39938       $510 = ((($$61078)) + 4|0);
    39939       $511 = HEAP32[$510>>2]|0;
    39940       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $511;$$61078 = $510;$$sink$reg2mem$0 = $511;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39941       label = 583;
    39942       continue L19;
    39943       break;
    39944      }
    39945      case 28:  {
    39946       $512 = ((($1)) + 20|0);
    39947       $513 = HEAP32[$512>>2]|0;
    39948       $514 = HEAP32[$513>>2]|0;
    39949       $515 = $514 & 255;
    39950       $516 = $$21052 >>> 23;
    39951       $517 = $516 & 511;
    39952       $518 = (($$51058) + ($517<<3)|0);
    39953       $519 = ((($518)) + 4|0);
    39954       HEAP32[$519>>2] = $515;
    39955       $520 = ((($1)) + 20|0);
    39956       $521 = HEAP32[$520>>2]|0;
    39957       $522 = $$21052 >>> 23;
    39958       $523 = $522 & 511;
    39959       $524 = (($$51058) + ($523<<3)|0);
    39960       HEAP32[$524>>2] = $521;
    39961       $525 = ((($1)) + 20|0);
    39962       HEAP32[$525>>2] = 0;
    39963       $526 = ((($$61078)) + 4|0);
    39964       $527 = HEAP32[$526>>2]|0;
    39965       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $527;$$61078 = $526;$$sink$reg2mem$0 = $527;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39966       label = 583;
    39967       continue L19;
    39968       break;
    39969      }
    39970      case 29:  {
    39971       $528 = $$21052 >>> 23;
    39972       $529 = $528 & 511;
    39973       $$01042 = $529;
    39974       while(1) {
    39975        $530 = (($$01042) + -1)|0;
    39976        $531 = ($$01042|0)!=(0);
    39977        if (!($531)) {
    39978         break;
    39979        }
    39980        $532 = ((($1)) + 12|0);
    39981        $533 = HEAP32[$532>>2]|0;
    39982        $534 = ((($533)) + 16|0);
    39983        $535 = HEAP32[$534>>2]|0;
    39984        $536 = ((($535)) + 16|0);
    39985        $537 = HEAP32[$536>>2]|0;
    39986        $538 = (($537) + -1)|0;
    39987        HEAP32[$536>>2] = $538;
    39988        $$01042 = $530;
    39989       }
    39990       $539 = ((($$61078)) + 4|0);
    39991       $540 = HEAP32[$539>>2]|0;
    39992       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $540;$$61078 = $539;$$sink$reg2mem$0 = $540;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    39993       label = 583;
    39994       continue L19;
    39995       break;
    39996      }
    39997      case 30:  {
    39998       $541 = $$21052 >>> 23;
    39999       $542 = $541 & 511;
    40000       $543 = (($$51058) + ($542<<3)|0);
    40001       $544 = HEAP32[$543>>2]|0;
    40002       $545 = ((($1)) + 20|0);
    40003       HEAP32[$545>>2] = $544;
    40004       $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    40005       label = 272;
    40006       continue L19;
    40007       break;
    40008      }
    40009      case 31:  {
    40010       $546 = ((($$8)) + 20|0);
    40011       $547 = HEAP32[$546>>2]|0;
    40012       $548 = $$21052 >>> 7;
    40013       $549 = $548 & 65535;
    40014       $550 = (($547) + ($549<<2)|0);
    40015       $551 = HEAP32[$550>>2]|0;
    40016       __THREW__ = 0;
    40017       $552 = (invoke_iii(165,($1|0),($551|0))|0);
    40018       $553 = __THREW__; __THREW__ = 0;
    40019       if ((($553|0) != 0) & ((threwValue|0) != 0)) { $554 = _testSetjmp(HEAP32[$553>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($554|0) == 0) { _longjmp($553|0, threwValue|0); } tempRet0 = (threwValue); } else { $554 = -1; };
    40020       $555 = tempRet0;
    40021       $cond1383 = ($554|0)==(1);
    40022       if ($cond1383) {
    40023        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $555;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40024        continue L3;
    40025       }
    40026       $556 = ((($1)) + 12|0);
    40027       $557 = HEAP32[$556>>2]|0;
    40028       $558 = ((($557)) + 40|0);
    40029       $559 = HEAP32[$558>>2]|0;
    40030       $560 = ((($1)) + 12|0);
    40031       $561 = HEAP32[$560>>2]|0;
    40032       $562 = ((($561)) + 16|0);
    40033       $563 = HEAP32[$562>>2]|0;
    40034       $564 = ((($563)) + 20|0);
    40035       $565 = HEAP32[$564>>2]|0;
    40036       $566 = ($559|0)<=($565|0);
    40037       if ($566) {
    40038        $567 = ((($1)) + 12|0);
    40039        $568 = HEAP32[$567>>2]|0;
    40040        $569 = ((($568)) + 40|0);
    40041        $570 = HEAP32[$569>>2]|0;
    40042        $571 = ($570|0)==(0);
    40043        $572 = ((($1)) + 12|0);
    40044        $573 = HEAP32[$572>>2]|0;
    40045        $574 = ((($573)) + 40|0);
    40046        if ($571) {
    40047         $$sink3$reg2mem$0 = 16;
    40048        } else {
    40049         $575 = HEAP32[$574>>2]|0;
    40050         $576 = $575<<1;
    40051         $$sink3$reg2mem$0 = $576;
    40052        }
    40053        HEAP32[$574>>2] = $$sink3$reg2mem$0;
    40054        $577 = ((($1)) + 12|0);
    40055        $578 = HEAP32[$577>>2]|0;
    40056        $579 = ((($578)) + 36|0);
    40057        $580 = HEAP32[$579>>2]|0;
    40058        $581 = ((($1)) + 12|0);
    40059        $582 = HEAP32[$581>>2]|0;
    40060        $583 = ((($582)) + 40|0);
    40061        $584 = HEAP32[$583>>2]|0;
    40062        $585 = $584<<2;
    40063        __THREW__ = 0;
    40064        $586 = (invoke_iiii(164,($1|0),($580|0),($585|0))|0);
    40065        $587 = __THREW__; __THREW__ = 0;
    40066        if ((($587|0) != 0) & ((threwValue|0) != 0)) { $588 = _testSetjmp(HEAP32[$587>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($588|0) == 0) { _longjmp($587|0, threwValue|0); } tempRet0 = (threwValue); } else { $588 = -1; };
    40067        $589 = tempRet0;
    40068        $cond1384 = ($588|0)==(1);
    40069        if ($cond1384) {
    40070         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $589;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40071         continue L3;
    40072        }
    40073        $590 = ((($1)) + 12|0);
    40074        $591 = HEAP32[$590>>2]|0;
    40075        $592 = ((($591)) + 36|0);
    40076        HEAP32[$592>>2] = $586;
    40077       }
    40078       $593 = ((($1)) + 12|0);
    40079       $594 = HEAP32[$593>>2]|0;
    40080       $595 = ((($594)) + 36|0);
    40081       $596 = HEAP32[$595>>2]|0;
    40082       $597 = ((($1)) + 12|0);
    40083       $598 = HEAP32[$597>>2]|0;
    40084       $599 = ((($598)) + 16|0);
    40085       $600 = HEAP32[$599>>2]|0;
    40086       $601 = ((($600)) + 20|0);
    40087       $602 = HEAP32[$601>>2]|0;
    40088       $603 = (($602) + 1)|0;
    40089       HEAP32[$601>>2] = $603;
    40090       $604 = (($596) + ($602<<2)|0);
    40091       HEAP32[$604>>2] = $552;
    40092       $605 = ((($1)) + 92|0);
    40093       $606 = ((($605)) + 416|0);
    40094       HEAP32[$606>>2] = $$11049;
    40095       $607 = ((($$61078)) + 4|0);
    40096       $608 = HEAP32[$607>>2]|0;
    40097       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $608;$$61078 = $607;$$sink$reg2mem$0 = $608;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    40098       label = 583;
    40099       continue L19;
    40100       break;
    40101      }
    40102      case 32:  {
    40103       $609 = $$21052 >>> 23;
    40104       $610 = $609 & 511;
    40105       $611 = ((($1)) + 12|0);
    40106       $612 = HEAP32[$611>>2]|0;
    40107       $613 = ((($612)) + 16|0);
    40108       $614 = HEAP32[$613>>2]|0;
    40109       $615 = ((($614)) + 20|0);
    40110       $616 = HEAP32[$615>>2]|0;
    40111       $$01040 = $616;$$01041 = 0;
    40112       while(1) {
    40113        $617 = ($$01041|0)<($610|0);
    40114        if (!($617)) {
    40115         break;
    40116        }
    40117        $618 = ((($1)) + 12|0);
    40118        $619 = HEAP32[$618>>2]|0;
    40119        $620 = ((($619)) + 20|0);
    40120        $621 = HEAP32[$620>>2]|0;
    40121        $622 = ($614|0)==($621|0);
    40122        if (!($622)) {
    40123         $623 = ((($614)) + -48|0);
    40124         $624 = ((($623)) + 20|0);
    40125         $625 = HEAP32[$624>>2]|0;
    40126         $626 = ($$01040|0)>($625|0);
    40127         if (!($626)) {
    40128          break;
    40129         }
    40130        }
    40131        $627 = (($$01040) + -1)|0;
    40132        __THREW__ = 0;
    40133        invoke_vii(166,($1|0),($627|0));
    40134        $628 = __THREW__; __THREW__ = 0;
    40135        if ((($628|0) != 0) & ((threwValue|0) != 0)) { $629 = _testSetjmp(HEAP32[$628>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($629|0) == 0) { _longjmp($628|0, threwValue|0); } tempRet0 = (threwValue); } else { $629 = -1; };
    40136        $630 = tempRet0;
    40137        $cond1382 = ($629|0)==(1);
    40138        if ($cond1382) {
    40139         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $630;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40140         continue L3;
    40141        }
    40142        $631 = ((($1)) + 92|0);
    40143        $632 = ((($631)) + 416|0);
    40144        HEAP32[$632>>2] = $$11049;
    40145        $633 = (($$01041) + 1)|0;
    40146        $$01040 = $627;$$01041 = $633;
    40147       }
    40148       $634 = ((($$61078)) + 4|0);
    40149       $635 = HEAP32[$634>>2]|0;
    40150       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $635;$$61078 = $634;$$sink$reg2mem$0 = $635;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    40151       label = 583;
    40152       continue L19;
    40153       break;
    40154      }
    40155      case 33:  {
    40156       $$01050 = $$21052;
    40157       label = 90;
    40158       break;
    40159      }
    40160      case 34:  {
    40161       $3045 = $$21052 >>> 7;
    40162       $3046 = $3045 & 65535;
    40163       $3047 = (($$61071) + ($3046<<3)|0);
    40164       __THREW__ = 0;
    40165       ;HEAP32[$$byval_copy1154>>2]=HEAP32[$3047>>2]|0;HEAP32[$$byval_copy1154+4>>2]=HEAP32[$3047+4>>2]|0;
    40166       invoke_viii(191,($85|0),($1|0),($$byval_copy1154|0));
    40167       $3048 = __THREW__; __THREW__ = 0;
    40168       if ((($3048|0) != 0) & ((threwValue|0) != 0)) { $3049 = _testSetjmp(HEAP32[$3048>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3049|0) == 0) { _longjmp($3048|0, threwValue|0); } tempRet0 = (threwValue); } else { $3049 = -1; };
    40169       $3050 = tempRet0;
    40170       $cond1362 = ($3049|0)==(1);
    40171       if ($cond1362) {
    40172        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3050;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40173        continue L3;
    40174       }
    40175       $3051 = $$21052 >>> 23;
    40176       $3052 = $3051 & 511;
    40177       $3053 = ($3052|0)==(0);
    40178       if ($3053) {
    40179        __THREW__ = 0;
    40180        $3054 = (invoke_iii(135,($1|0),(68266|0))|0);
    40181        $3055 = __THREW__; __THREW__ = 0;
    40182        if ((($3055|0) != 0) & ((threwValue|0) != 0)) { $3056 = _testSetjmp(HEAP32[$3055>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3056|0) == 0) { _longjmp($3055|0, threwValue|0); } tempRet0 = (threwValue); } else { $3056 = -1; };
    40183        $3057 = tempRet0;
    40184        $cond1365 = ($3056|0)==(1);
    40185        if ($cond1365) {
    40186         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3057;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40187         continue L3;
    40188        }
    40189        __THREW__ = 0;
    40190        ;HEAP32[$$byval_copy1155>>2]=HEAP32[$85>>2]|0;HEAP32[$$byval_copy1155+4>>2]=HEAP32[$85+4>>2]|0;
    40191        invoke_viiii(172,($87|0),($1|0),($3054|0),($$byval_copy1155|0));
    40192        $3058 = __THREW__; __THREW__ = 0;
    40193        if ((($3058|0) != 0) & ((threwValue|0) != 0)) { $3059 = _testSetjmp(HEAP32[$3058>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3059|0) == 0) { _longjmp($3058|0, threwValue|0); } tempRet0 = (threwValue); } else { $3059 = -1; };
    40194        $3060 = tempRet0;
    40195        $cond1366 = ($3059|0)==(1);
    40196        if ($cond1366) {
    40197         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3060;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40198         continue L3;
    40199        }
    40200        ;HEAP32[$86>>2]=HEAP32[$87>>2]|0;HEAP32[$86+4>>2]=HEAP32[$87+4>>2]|0;
    40201       } else {
    40202        __THREW__ = 0;
    40203        $3061 = (invoke_iii(135,($1|0),(56833|0))|0);
    40204        $3062 = __THREW__; __THREW__ = 0;
    40205        if ((($3062|0) != 0) & ((threwValue|0) != 0)) { $3063 = _testSetjmp(HEAP32[$3062>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3063|0) == 0) { _longjmp($3062|0, threwValue|0); } tempRet0 = (threwValue); } else { $3063 = -1; };
    40206        $3064 = tempRet0;
    40207        $cond1363 = ($3063|0)==(1);
    40208        if ($cond1363) {
    40209         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3064;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40210         continue L3;
    40211        }
    40212        __THREW__ = 0;
    40213        ;HEAP32[$$byval_copy1156>>2]=HEAP32[$85>>2]|0;HEAP32[$$byval_copy1156+4>>2]=HEAP32[$85+4>>2]|0;
    40214        invoke_viiii(172,($88|0),($1|0),($3061|0),($$byval_copy1156|0));
    40215        $3065 = __THREW__; __THREW__ = 0;
    40216        if ((($3065|0) != 0) & ((threwValue|0) != 0)) { $3066 = _testSetjmp(HEAP32[$3065>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3066|0) == 0) { _longjmp($3065|0, threwValue|0); } tempRet0 = (threwValue); } else { $3066 = -1; };
    40217        $3067 = tempRet0;
    40218        $cond1364 = ($3066|0)==(1);
    40219        if ($cond1364) {
    40220         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3067;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40221         continue L3;
    40222        }
    40223        ;HEAP32[$86>>2]=HEAP32[$88>>2]|0;HEAP32[$86+4>>2]=HEAP32[$88+4>>2]|0;
    40224       }
    40225       $3068 = HEAP32[$86>>2]|0;
    40226       $3069 = ((($1)) + 20|0);
    40227       HEAP32[$3069>>2] = $3068;
    40228       $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    40229       label = 272;
    40230       continue L19;
    40231       break;
    40232      }
    40233      case 35:  {
    40234       $834 = ((($$61078)) + 4|0);
    40235       $835 = HEAP32[$834>>2]|0;
    40236       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $835;$$61078 = $834;$$sink$reg2mem$0 = $835;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    40237       label = 583;
    40238       continue L19;
    40239       break;
    40240      }
    40241      case 36:  {
    40242       $836 = ((($1)) + 12|0);
    40243       $837 = HEAP32[$836>>2]|0;
    40244       $838 = ((($837)) + 4|0);
    40245       $839 = HEAP32[$838>>2]|0;
    40246       ;HEAP32[$23>>2]=HEAP32[$839>>2]|0;HEAP32[$23+4>>2]=HEAP32[$839+4>>2]|0;
    40247       $840 = HEAP32[$23>>2]|0;
    40248       $841 = ((($1)) + 12|0);
    40249       $842 = HEAP32[$841>>2]|0;
    40250       $843 = ((($842)) + 16|0);
    40251       $844 = HEAP32[$843>>2]|0;
    40252       $845 = ((($840)) + 16|0);
    40253       $846 = HEAP32[$845>>2]|0;
    40254       $847 = ((($844)) + 44|0);
    40255       HEAP32[$847>>2] = $846;
    40256       $848 = ((($844)) + 4|0);
    40257       HEAP32[$848>>2] = $840;
    40258       $849 = ((($840)) + 20|0);
    40259       $850 = HEAP32[$849>>2]|0;
    40260       $851 = ($850|0)!=(0|0);
    40261       if ($851) {
    40262        $852 = ((($840)) + 20|0);
    40263        $853 = HEAP32[$852>>2]|0;
    40264        $854 = ((($853)) + 16|0);
    40265        $855 = HEAP32[$854>>2]|0;
    40266        $856 = ($855|0)!=(0);
    40267        if ($856) {
    40268         $857 = ((($840)) + 20|0);
    40269         $858 = HEAP32[$857>>2]|0;
    40270         $859 = ((($858)) + 16|0);
    40271         $860 = HEAP32[$859>>2]|0;
    40272         HEAP32[$844>>2] = $860;
    40273        }
    40274        $861 = ((($840)) + 20|0);
    40275        $862 = HEAP32[$861>>2]|0;
    40276        $863 = ((($862)) + 12|0);
    40277        $864 = HEAP32[$863>>2]|0;
    40278        $865 = ($864|0)!=(0|0);
    40279        if (!($865)) {
    40280         $866 = ((($1)) + 12|0);
    40281         $867 = HEAP32[$866>>2]|0;
    40282         $868 = ((($867)) + 4|0);
    40283         $869 = HEAP32[$868>>2]|0;
    40284         $870 = ((($840)) + 20|0);
    40285         $871 = HEAP32[$870>>2]|0;
    40286         $872 = ((($871)) + 12|0);
    40287         HEAP32[$872>>2] = $869;
    40288        }
    40289       }
    40290       $873 = HEAP32[$840>>2]|0;
    40291       $874 = $873 >>> 11;
    40292       $875 = $874 & 128;
    40293       $876 = ($875|0)!=(0);
    40294       if ($876) {
    40295        $877 = ((($840)) + 12|0);
    40296        $878 = HEAP32[$877>>2]|0;
    40297        __THREW__ = 0;
    40298        ;HEAP32[$$byval_copy1110>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy1110+4>>2]=HEAP32[$23+4>>2]|0;
    40299        invoke_viii($878|0,($24|0),($1|0),($$byval_copy1110|0));
    40300        $879 = __THREW__; __THREW__ = 0;
    40301        if ((($879|0) != 0) & ((threwValue|0) != 0)) { $880 = _testSetjmp(HEAP32[$879>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($880|0) == 0) { _longjmp($879|0, threwValue|0); } tempRet0 = (threwValue); } else { $880 = -1; };
    40302        $881 = tempRet0;
    40303        $cond1359 = ($880|0)==(1);
    40304        if ($cond1359) {
    40305         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $881;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40306         continue L3;
    40307        }
    40308        ;HEAP32[$23>>2]=HEAP32[$24>>2]|0;HEAP32[$23+4>>2]=HEAP32[$24+4>>2]|0;
    40309        __THREW__ = 0;
    40310        invoke_vii(146,($1|0),($$11049|0));
    40311        $882 = __THREW__; __THREW__ = 0;
    40312        if ((($882|0) != 0) & ((threwValue|0) != 0)) { $883 = _testSetjmp(HEAP32[$882>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($883|0) == 0) { _longjmp($882|0, threwValue|0); } tempRet0 = (threwValue); } else { $883 = -1; };
    40313        $884 = tempRet0;
    40314        $cond1360 = ($883|0)==(1);
    40315        if ($cond1360) {
    40316         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $884;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40317         continue L3;
    40318        }
    40319        $885 = ((($1)) + 20|0);
    40320        $886 = HEAP32[$885>>2]|0;
    40321        $887 = ($886|0)!=(0|0);
    40322        if ($887) {
    40323         $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    40324         label = 272;
    40325         continue L19;
    40326        }
    40327        $888 = ((($1)) + 12|0);
    40328        $889 = HEAP32[$888>>2]|0;
    40329        $890 = ((($889)) + 16|0);
    40330        $891 = HEAP32[$890>>2]|0;
    40331        $892 = ((($891)) + 8|0);
    40332        $893 = HEAP32[$892>>2]|0;
    40333        $894 = ((($1)) + 12|0);
    40334        $895 = HEAP32[$894>>2]|0;
    40335        $896 = ((($895)) + 4|0);
    40336        HEAP32[$896>>2] = $893;
    40337        $897 = ((($891)) + 40|0);
    40338        $898 = HEAP32[$897>>2]|0;
    40339        $899 = (($893) + ($898<<3)|0);
    40340        ;HEAP32[$899>>2]=HEAP32[$23>>2]|0;HEAP32[$899+4>>2]=HEAP32[$23+4>>2]|0;
    40341        $900 = ((($891)) + 28|0);
    40342        $901 = HEAP32[$900>>2]|0;
    40343        __THREW__ = 0;
    40344        invoke_vi(132,($1|0));
    40345        $902 = __THREW__; __THREW__ = 0;
    40346        if ((($902|0) != 0) & ((threwValue|0) != 0)) { $903 = _testSetjmp(HEAP32[$902>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($903|0) == 0) { _longjmp($902|0, threwValue|0); } tempRet0 = (threwValue); } else { $903 = -1; };
    40347        $904 = tempRet0;
    40348        $cond1361 = ($903|0)==(1);
    40349        if ($cond1361) {
    40350         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $893;$$11060 = $$6;$$11066 = $$61071;$$11073 = $901;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $904;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40351         continue L3;
    40352        }
    40353        $905 = ((($1)) + 12|0);
    40354        $906 = HEAP32[$905>>2]|0;
    40355        $907 = ((($906)) + 16|0);
    40356        $908 = HEAP32[$907>>2]|0;
    40357        $909 = ((($908)) + 4|0);
    40358        $910 = HEAP32[$909>>2]|0;
    40359        $911 = ((($910)) + 12|0);
    40360        $912 = HEAP32[$911>>2]|0;
    40361        $913 = ((($912)) + 12|0);
    40362        $914 = HEAP32[$913>>2]|0;
    40363        $915 = ((($912)) + 16|0);
    40364        $916 = HEAP32[$915>>2]|0;
    40365        $917 = HEAP32[$901>>2]|0;
    40366        $$81094$phi = $$81094;$$5$phi = $$5;$$21052 = $917;$$51058 = $893;$$6 = $916;$$61071 = $914;$$61078 = $901;$$8 = $912;$$sink$reg2mem$0 = $917;$$81094 = $$81094$phi;$$5 = $$5$phi;
    40367        label = 583;
    40368        continue L19;
    40369       }
    40370       $918 = ((($840)) + 12|0);
    40371       $919 = HEAP32[$918>>2]|0;
    40372       $920 = ($919|0)!=(0|0);
    40373       if (!($920)) {
    40374        $921 = ((($1)) + 12|0);
    40375        $922 = HEAP32[$921>>2]|0;
    40376        $923 = ((($922)) + 4|0);
    40377        $924 = HEAP32[$923>>2]|0;
    40378        __THREW__ = 0;
    40379        invoke_vi(162,($25|0));
    40380        $925 = __THREW__; __THREW__ = 0;
    40381        if ((($925|0) != 0) & ((threwValue|0) != 0)) { $926 = _testSetjmp(HEAP32[$925>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($926|0) == 0) { _longjmp($925|0, threwValue|0); } tempRet0 = (threwValue); } else { $926 = -1; };
    40382        $927 = tempRet0;
    40383        $cond1356 = ($926|0)==(1);
    40384        if ($cond1356) {
    40385         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $919;$$11087 = $840;$$reg2mem1002$0 = $927;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40386         continue L3;
    40387        }
    40388        ;HEAP32[$924>>2]=HEAP32[$25>>2]|0;HEAP32[$924+4>>2]=HEAP32[$25+4>>2]|0;
    40389        $$31082 = $919;$$31089 = $840;
    40390        label = 270;
    40391        break L50;
    40392       }
    40393       $928 = ((($919)) + 12|0);
    40394       $929 = HEAP32[$928>>2]|0;
    40395       $930 = ((($919)) + 16|0);
    40396       $931 = HEAP32[$930>>2]|0;
    40397       $932 = ((($919)) + 2|0);
    40398       $933 = HEAP16[$932>>1]|0;
    40399       $934 = $933&65535;
    40400       $935 = ((($844)) + 12|0);
    40401       HEAP32[$935>>2] = $934;
    40402       $936 = ((($844)) + 36|0);
    40403       $937 = HEAP32[$936>>2]|0;
    40404       $938 = ($937|0)<(0);
    40405       $939 = ((($919)) + 2|0);
    40406       $940 = HEAP16[$939>>1]|0;
    40407       $941 = $940&65535;
    40408       if ($938) {
    40409        $942 = ($941|0)<(3);
    40410        if ($942) {
    40411         $$reg2mem998$0 = 3;
    40412        } else {
    40413         $943 = ((($919)) + 2|0);
    40414         $944 = HEAP16[$943>>1]|0;
    40415         $945 = $944&65535;
    40416         $$reg2mem998$0 = $945;
    40417        }
    40418        __THREW__ = 0;
    40419        invoke_viii(142,($1|0),($$reg2mem998$0|0),3);
    40420        $946 = __THREW__; __THREW__ = 0;
    40421        if ((($946|0) != 0) & ((threwValue|0) != 0)) { $947 = _testSetjmp(HEAP32[$946>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($947|0) == 0) { _longjmp($946|0, threwValue|0); } tempRet0 = (threwValue); } else { $947 = -1; };
    40422        $948 = tempRet0;
    40423        $cond1358 = ($947|0)==(1);
    40424        if ($cond1358) {
    40425         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $931;$$11066 = $929;$$11073 = $$61078;$$11080 = $919;$$11087 = $840;$$reg2mem1002$0 = $948;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40426         continue L3;
    40427        }
    40428       } else {
    40429        $949 = ((($844)) + 36|0);
    40430        $950 = HEAP32[$949>>2]|0;
    40431        $951 = (($950) + 2)|0;
    40432        __THREW__ = 0;
    40433        invoke_viii(142,($1|0),($941|0),($951|0));
    40434        $952 = __THREW__; __THREW__ = 0;
    40435        if ((($952|0) != 0) & ((threwValue|0) != 0)) { $953 = _testSetjmp(HEAP32[$952>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($953|0) == 0) { _longjmp($952|0, threwValue|0); } tempRet0 = (threwValue); } else { $953 = -1; };
    40436        $954 = tempRet0;
    40437        $cond1357 = ($953|0)==(1);
    40438        if ($cond1357) {
    40439         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $931;$$11066 = $929;$$11073 = $$61078;$$11080 = $919;$$11087 = $840;$$reg2mem1002$0 = $954;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40440         continue L3;
    40441        }
    40442       }
    40443       $955 = ((($1)) + 12|0);
    40444       $956 = HEAP32[$955>>2]|0;
    40445       $957 = ((($956)) + 4|0);
    40446       $958 = HEAP32[$957>>2]|0;
    40447       $959 = ((($840)) + 20|0);
    40448       $960 = HEAP32[$959>>2]|0;
    40449       $961 = ((($960)) + 12|0);
    40450       $962 = HEAP32[$961>>2]|0;
    40451       ;HEAP32[$958>>2]=HEAP32[$962>>2]|0;HEAP32[$958+4>>2]=HEAP32[$962+4>>2]|0;
    40452       $963 = ((($919)) + 8|0);
    40453       $964 = HEAP32[$963>>2]|0;
    40454       $965 = HEAP32[$964>>2]|0;
    40455       $$5$phi = $$5;$$21052 = $965;$$51058 = $958;$$6 = $931;$$61071 = $929;$$61078 = $964;$$8 = $919;$$81094 = $840;$$sink$reg2mem$0 = $965;$$5 = $$5$phi;
    40456       label = 583;
    40457       continue L19;
    40458       break;
    40459      }
    40460      case 37:  {
    40461       $966 = ((($1)) + 12|0);
    40462       $967 = HEAP32[$966>>2]|0;
    40463       $968 = ((($967)) + 16|0);
    40464       $969 = HEAP32[$968>>2]|0;
    40465       $970 = HEAP32[$969>>2]|0;
    40466       $971 = $$21052 >>> 23;
    40467       $972 = $971 & 511;
    40468       $973 = $$21052 >>> 7;
    40469       $974 = $973 & 127;
    40470       $975 = ($970|0)==(0);
    40471       if ($975) {
    40472        __THREW__ = 0;
    40473        $976 = (invoke_iii(135,($1|0),(67968|0))|0);
    40474        $977 = __THREW__; __THREW__ = 0;
    40475        if ((($977|0) != 0) & ((threwValue|0) != 0)) { $978 = _testSetjmp(HEAP32[$977>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($978|0) == 0) { _longjmp($977|0, threwValue|0); } tempRet0 = (threwValue); } else { $978 = -1; };
    40476        $979 = tempRet0;
    40477        $cond1353 = ($978|0)==(1);
    40478        if ($cond1353) {
    40479         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $979;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40480         continue L3;
    40481        }
    40482        __THREW__ = 0;
    40483        invoke_viiii(171,($29|0),($1|0),(56724|0),30);
    40484        $980 = __THREW__; __THREW__ = 0;
    40485        if ((($980|0) != 0) & ((threwValue|0) != 0)) { $981 = _testSetjmp(HEAP32[$980>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($981|0) == 0) { _longjmp($980|0, threwValue|0); } tempRet0 = (threwValue); } else { $981 = -1; };
    40486        $982 = tempRet0;
    40487        $cond1354 = ($981|0)==(1);
    40488        if ($cond1354) {
    40489         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $982;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40490         continue L3;
    40491        }
    40492        __THREW__ = 0;
    40493        ;HEAP32[$$byval_copy1111>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy1111+4>>2]=HEAP32[$29+4>>2]|0;
    40494        invoke_viiii(172,($30|0),($1|0),($976|0),($$byval_copy1111|0));
    40495        $983 = __THREW__; __THREW__ = 0;
    40496        if ((($983|0) != 0) & ((threwValue|0) != 0)) { $984 = _testSetjmp(HEAP32[$983>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($984|0) == 0) { _longjmp($983|0, threwValue|0); } tempRet0 = (threwValue); } else { $984 = -1; };
    40497        $985 = tempRet0;
    40498        $cond1355 = ($984|0)==(1);
    40499        if ($cond1355) {
    40500         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $985;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40501         continue L3;
    40502        }
    40503        ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;
    40504        $986 = HEAP32[$28>>2]|0;
    40505        $987 = ((($1)) + 20|0);
    40506        HEAP32[$987>>2] = $986;
    40507        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    40508        label = 272;
    40509        continue L19;
    40510       }
    40511       ;HEAP32[$26>>2]=HEAP32[$$51058>>2]|0;HEAP32[$26+4>>2]=HEAP32[$$51058+4>>2]|0;
    40512       $988 = ((($1)) + 12|0);
    40513       $989 = HEAP32[$988>>2]|0;
    40514       $990 = ((($989)) + 16|0);
    40515       $991 = HEAP32[$990>>2]|0;
    40516       $992 = ((($991)) + 44|0);
    40517       $993 = HEAP32[$992>>2]|0;
    40518       $994 = ((($993)) + 20|0);
    40519       $995 = HEAP32[$994>>2]|0;
    40520       HEAP32[$27>>2] = $995;
    40521       __THREW__ = 0;
    40522       $996 = (invoke_iiii(139,($1|0),($27|0),($970|0))|0);
    40523       $997 = __THREW__; __THREW__ = 0;
    40524       if ((($997|0) != 0) & ((threwValue|0) != 0)) { $998 = _testSetjmp(HEAP32[$997>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($998|0) == 0) { _longjmp($997|0, threwValue|0); } tempRet0 = (threwValue); } else { $998 = -1; };
    40525       $999 = tempRet0;
    40526       $cond1341 = ($998|0)==(1);
    40527       if ($cond1341) {
    40528        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $999;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40529        continue L3;
    40530       }
    40531       $1000 = ($996|0)!=(0|0);
    40532       do {
    40533        if ($1000) {
    40534         $$01034 = $974;$$01035 = $970;$$01036 = $996;
    40535        } else {
    40536         __THREW__ = 0;
    40537         $1001 = (invoke_iiii(140,($1|0),(65621|0),14)|0);
    40538         $1002 = __THREW__; __THREW__ = 0;
    40539         if ((($1002|0) != 0) & ((threwValue|0) != 0)) { $1003 = _testSetjmp(HEAP32[$1002>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1003|0) == 0) { _longjmp($1002|0, threwValue|0); } tempRet0 = (threwValue); } else { $1003 = -1; };
    40540         $1004 = tempRet0;
    40541         $cond1342 = ($1003|0)==(1);
    40542         if ($cond1342) {
    40543          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1004;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40544          continue L3;
    40545         }
    40546         __THREW__ = 0;
    40547         $1005 = (invoke_iiii(139,($1|0),($27|0),($1001|0))|0);
    40548         $1006 = __THREW__; __THREW__ = 0;
    40549         if ((($1006|0) != 0) & ((threwValue|0) != 0)) { $1007 = _testSetjmp(HEAP32[$1006>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1007|0) == 0) { _longjmp($1006|0, threwValue|0); } tempRet0 = (threwValue); } else { $1007 = -1; };
    40550         $1008 = tempRet0;
    40551         $cond1343 = ($1007|0)==(1);
    40552         if ($cond1343) {
    40553          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1008;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40554          continue L3;
    40555         }
    40556         $1009 = ($974|0)==(127);
    40557         if (!($1009)) {
    40558          $1019 = (($$51058) + ($972<<3)|0);
    40559          $1020 = ((($1019)) + 16|0);
    40560          $1021 = (($$51058) + ($972<<3)|0);
    40561          $1022 = ((($1021)) + 8|0);
    40562          $1023 = (($974) + 1)|0;
    40563          __THREW__ = 0;
    40564          invoke_viii(170,($1020|0),($1022|0),($1023|0));
    40565          $1024 = __THREW__; __THREW__ = 0;
    40566          if ((($1024|0) != 0) & ((threwValue|0) != 0)) { $1025 = _testSetjmp(HEAP32[$1024>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1025|0) == 0) { _longjmp($1024|0, threwValue|0); } tempRet0 = (threwValue); } else { $1025 = -1; };
    40567          $1026 = tempRet0;
    40568          $cond1344 = ($1025|0)==(1);
    40569          if ($cond1344) {
    40570           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1026;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40571           continue L3;
    40572          }
    40573          $1027 = (($972) + 1)|0;
    40574          $1028 = (($$51058) + ($1027<<3)|0);
    40575          $1029 = ((($1028)) + 4|0);
    40576          HEAP32[$1029>>2] = 4;
    40577          $1030 = HEAP32[$969>>2]|0;
    40578          $1031 = (($972) + 1)|0;
    40579          $1032 = (($$51058) + ($1031<<3)|0);
    40580          HEAP32[$1032>>2] = $1030;
    40581          $$01034 = $1023;$$01035 = $1001;$$01036 = $1005;
    40582          break;
    40583         }
    40584         $1010 = (($972) + 1)|0;
    40585         $1011 = (($$51058) + ($1010<<3)|0);
    40586         $1012 = HEAP32[$969>>2]|0;
    40587         __THREW__ = 0;
    40588         invoke_vii(143,($31|0),($1012|0));
    40589         $1013 = __THREW__; __THREW__ = 0;
    40590         if ((($1013|0) != 0) & ((threwValue|0) != 0)) { $1014 = _testSetjmp(HEAP32[$1013>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1014|0) == 0) { _longjmp($1013|0, threwValue|0); } tempRet0 = (threwValue); } else { $1014 = -1; };
    40591         $1015 = tempRet0;
    40592         $cond1345 = ($1014|0)==(1);
    40593         if ($cond1345) {
    40594          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1015;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40595          continue L3;
    40596         }
    40597         __THREW__ = 0;
    40598         ;HEAP32[$$byval_copy1112>>2]=HEAP32[$1011>>2]|0;HEAP32[$$byval_copy1112+4>>2]=HEAP32[$1011+4>>2]|0;
    40599         ;HEAP32[$$byval_copy1113>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy1113+4>>2]=HEAP32[$31+4>>2]|0;
    40600         invoke_viiii(169,($32|0),($1|0),($$byval_copy1112|0),($$byval_copy1113|0));
    40601         $1016 = __THREW__; __THREW__ = 0;
    40602         if ((($1016|0) != 0) & ((threwValue|0) != 0)) { $1017 = _testSetjmp(HEAP32[$1016>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1017|0) == 0) { _longjmp($1016|0, threwValue|0); } tempRet0 = (threwValue); } else { $1017 = -1; };
    40603         $1018 = tempRet0;
    40604         $cond1346 = ($1017|0)==(1);
    40605         if ($cond1346) {
    40606          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1018;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40607          continue L3;
    40608         }
    40609         $$01034 = $974;$$01035 = $1001;$$01036 = $1005;
    40610        }
    40611       } while(0);
    40612       __THREW__ = 0;
    40613       $1033 = (invoke_ii(141,($1|0))|0);
    40614       $1034 = __THREW__; __THREW__ = 0;
    40615       if ((($1034|0) != 0) & ((threwValue|0) != 0)) { $1035 = _testSetjmp(HEAP32[$1034>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1035|0) == 0) { _longjmp($1034|0, threwValue|0); } tempRet0 = (threwValue); } else { $1035 = -1; };
    40616       $1036 = tempRet0;
    40617       $cond1347 = ($1035|0)==(1);
    40618       if ($cond1347) {
    40619        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1036;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40620        continue L3;
    40621       }
    40622       HEAP32[$1033>>2] = $$01035;
    40623       $1037 = ((($1033)) + 4|0);
    40624       HEAP32[$1037>>2] = $$01036;
    40625       $1038 = ((($1)) + 12|0);
    40626       $1039 = HEAP32[$1038>>2]|0;
    40627       $1040 = ((($1039)) + 4|0);
    40628       $1041 = HEAP32[$1040>>2]|0;
    40629       $1042 = ((($1033)) + 8|0);
    40630       HEAP32[$1042>>2] = $1041;
    40631       $1043 = ($$01034|0)==(127);
    40632       $$sink10 = $1043 ? $1033 : $1033;
    40633       $$sink8 = $1043 ? -1 : $$01034;
    40634       $1044 = ((($$sink10)) + 36|0);
    40635       HEAP32[$1044>>2] = $$sink8;
    40636       $1045 = HEAP32[$27>>2]|0;
    40637       $1046 = ((($1033)) + 44|0);
    40638       HEAP32[$1046>>2] = $1045;
    40639       $1047 = ((($$61078)) + 4|0);
    40640       $1048 = ((($1033)) + 28|0);
    40641       HEAP32[$1048>>2] = $1047;
    40642       $1049 = ((($1)) + 12|0);
    40643       $1050 = HEAP32[$1049>>2]|0;
    40644       $1051 = ((($1050)) + 4|0);
    40645       $1052 = HEAP32[$1051>>2]|0;
    40646       $1053 = (($1052) + ($972<<3)|0);
    40647       HEAP32[$1051>>2] = $1053;
    40648       $1054 = ((($1)) + 12|0);
    40649       $1055 = HEAP32[$1054>>2]|0;
    40650       $1056 = ((($1055)) + 4|0);
    40651       $1057 = HEAP32[$1056>>2]|0;
    40652       ;HEAP32[$1057>>2]=HEAP32[$26>>2]|0;HEAP32[$1057+4>>2]=HEAP32[$26+4>>2]|0;
    40653       $1058 = HEAP32[$$01036>>2]|0;
    40654       $1059 = $1058 >>> 11;
    40655       $1060 = $1059 & 128;
    40656       $1061 = ($1060|0)!=(0);
    40657       if ($1061) {
    40658        $1062 = ($$01034|0)==(127);
    40659        if ($1062) {
    40660         $$sink11$reg2mem$0 = 3;
    40661        } else {
    40662         $1063 = (($$01034) + 2)|0;
    40663         $$sink11$reg2mem$0 = $1063;
    40664        }
    40665        $1064 = ((($1033)) + 12|0);
    40666        HEAP32[$1064>>2] = $$sink11$reg2mem$0;
    40667        $1065 = ((($1)) + 12|0);
    40668        $1066 = HEAP32[$1065>>2]|0;
    40669        $1067 = ((($1066)) + 4|0);
    40670        $1068 = HEAP32[$1067>>2]|0;
    40671        $1069 = ((($$01036)) + 12|0);
    40672        $1070 = HEAP32[$1069>>2]|0;
    40673        __THREW__ = 0;
    40674        ;HEAP32[$$byval_copy1114>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy1114+4>>2]=HEAP32[$26+4>>2]|0;
    40675        invoke_viii($1070|0,($33|0),($1|0),($$byval_copy1114|0));
    40676        $1071 = __THREW__; __THREW__ = 0;
    40677        if ((($1071|0) != 0) & ((threwValue|0) != 0)) { $1072 = _testSetjmp(HEAP32[$1071>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1072|0) == 0) { _longjmp($1071|0, threwValue|0); } tempRet0 = (threwValue); } else { $1072 = -1; };
    40678        $1073 = tempRet0;
    40679        $cond1350 = ($1072|0)==(1);
    40680        if ($cond1350) {
    40681         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1073;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40682         continue L3;
    40683        }
    40684        ;HEAP32[$1068>>2]=HEAP32[$33>>2]|0;HEAP32[$1068+4>>2]=HEAP32[$33+4>>2]|0;
    40685        __THREW__ = 0;
    40686        invoke_vii(146,($1|0),($$11049|0));
    40687        $1074 = __THREW__; __THREW__ = 0;
    40688        if ((($1074|0) != 0) & ((threwValue|0) != 0)) { $1075 = _testSetjmp(HEAP32[$1074>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1075|0) == 0) { _longjmp($1074|0, threwValue|0); } tempRet0 = (threwValue); } else { $1075 = -1; };
    40689        $1076 = tempRet0;
    40690        $cond1351 = ($1075|0)==(1);
    40691        if ($cond1351) {
    40692         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1076;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40693         continue L3;
    40694        }
    40695        $1077 = ((($1)) + 20|0);
    40696        $1078 = HEAP32[$1077>>2]|0;
    40697        $1079 = ($1078|0)!=(0|0);
    40698        if ($1079) {
    40699         $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    40700         label = 272;
    40701         continue L19;
    40702        }
    40703        $1080 = ((($1)) + 12|0);
    40704        $1081 = HEAP32[$1080>>2]|0;
    40705        $1082 = ((($1081)) + 16|0);
    40706        $1083 = HEAP32[$1082>>2]|0;
    40707        $1084 = ((($1083)) + 8|0);
    40708        $1085 = HEAP32[$1084>>2]|0;
    40709        $1086 = ((($1)) + 12|0);
    40710        $1087 = HEAP32[$1086>>2]|0;
    40711        $1088 = ((($1087)) + 4|0);
    40712        HEAP32[$1088>>2] = $1085;
    40713        __THREW__ = 0;
    40714        invoke_vi(132,($1|0));
    40715        $1089 = __THREW__; __THREW__ = 0;
    40716        if ((($1089|0) != 0) & ((threwValue|0) != 0)) { $1090 = _testSetjmp(HEAP32[$1089>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1090|0) == 0) { _longjmp($1089|0, threwValue|0); } tempRet0 = (threwValue); } else { $1090 = -1; };
    40717        $1091 = tempRet0;
    40718        $cond1352 = ($1090|0)==(1);
    40719        if ($cond1352) {
    40720         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $1085;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1091;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40721         continue L3;
    40722        }
    40723        $1092 = ((($$61078)) + 4|0);
    40724        $1093 = HEAP32[$1092>>2]|0;
    40725        $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $1093;$$51058 = $1085;$$61078 = $1092;$$sink$reg2mem$0 = $1093;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
    40726        label = 583;
    40727        continue L19;
    40728       } else {
    40729        $1094 = ((($1033)) + 40|0);
    40730        HEAP32[$1094>>2] = $972;
    40731        $1095 = ((($1033)) + 4|0);
    40732        HEAP32[$1095>>2] = $$01036;
    40733        $1096 = ((($$01036)) + 12|0);
    40734        $1097 = HEAP32[$1096>>2]|0;
    40735        $1098 = ((($1097)) + 12|0);
    40736        $1099 = HEAP32[$1098>>2]|0;
    40737        $1100 = ((($1097)) + 16|0);
    40738        $1101 = HEAP32[$1100>>2]|0;
    40739        $1102 = ((($1097)) + 2|0);
    40740        $1103 = HEAP16[$1102>>1]|0;
    40741        $1104 = $1103&65535;
    40742        $1105 = ((($1033)) + 12|0);
    40743        HEAP32[$1105>>2] = $1104;
    40744        $1106 = ($$01034|0)==(127);
    40745        $1107 = ((($1097)) + 2|0);
    40746        $1108 = HEAP16[$1107>>1]|0;
    40747        $1109 = $1108&65535;
    40748        if ($1106) {
    40749         $1110 = ($1109|0)<(3);
    40750         if ($1110) {
    40751          $$reg2mem996$0 = 3;
    40752         } else {
    40753          $1111 = ((($1097)) + 2|0);
    40754          $1112 = HEAP16[$1111>>1]|0;
    40755          $1113 = $1112&65535;
    40756          $$reg2mem996$0 = $1113;
    40757         }
    40758         __THREW__ = 0;
    40759         invoke_viii(142,($1|0),($$reg2mem996$0|0),3);
    40760         $1114 = __THREW__; __THREW__ = 0;
    40761         if ((($1114|0) != 0) & ((threwValue|0) != 0)) { $1115 = _testSetjmp(HEAP32[$1114>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1115|0) == 0) { _longjmp($1114|0, threwValue|0); } tempRet0 = (threwValue); } else { $1115 = -1; };
    40762         $1116 = tempRet0;
    40763         $cond1349 = ($1115|0)==(1);
    40764         if ($cond1349) {
    40765          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $1101;$$11066 = $1099;$$11073 = $$61078;$$11080 = $1097;$$11087 = $$81094;$$reg2mem1002$0 = $1116;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40766          continue L3;
    40767         }
    40768        } else {
    40769         $1117 = ((($1033)) + 36|0);
    40770         $1118 = HEAP32[$1117>>2]|0;
    40771         $1119 = (($1118) + 2)|0;
    40772         __THREW__ = 0;
    40773         invoke_viii(142,($1|0),($1109|0),($1119|0));
    40774         $1120 = __THREW__; __THREW__ = 0;
    40775         if ((($1120|0) != 0) & ((threwValue|0) != 0)) { $1121 = _testSetjmp(HEAP32[$1120>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1121|0) == 0) { _longjmp($1120|0, threwValue|0); } tempRet0 = (threwValue); } else { $1121 = -1; };
    40776         $1122 = tempRet0;
    40777         $cond1348 = ($1121|0)==(1);
    40778         if ($cond1348) {
    40779          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $1101;$$11066 = $1099;$$11073 = $$61078;$$11080 = $1097;$$11087 = $$81094;$$reg2mem1002$0 = $1122;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40780          continue L3;
    40781         }
    40782        }
    40783        $1123 = ((($1)) + 12|0);
    40784        $1124 = HEAP32[$1123>>2]|0;
    40785        $1125 = ((($1124)) + 4|0);
    40786        $1126 = HEAP32[$1125>>2]|0;
    40787        $1127 = ((($1097)) + 8|0);
    40788        $1128 = HEAP32[$1127>>2]|0;
    40789        $1129 = HEAP32[$1128>>2]|0;
    40790        $$81094$phi = $$81094;$$5$phi = $$5;$$21052 = $1129;$$51058 = $1126;$$6 = $1101;$$61071 = $1099;$$61078 = $1128;$$8 = $1097;$$sink$reg2mem$0 = $1129;$$81094 = $$81094$phi;$$5 = $$5$phi;
    40791        label = 583;
    40792        continue L19;
    40793       }
    40794       break;
    40795      }
    40796      case 38:  {
    40797       $1130 = $$21052 >>> 23;
    40798       $1131 = $1130 & 511;
    40799       $1132 = $$21052 >>> 7;
    40800       $1133 = $1132 & 65535;
    40801       $1134 = $1133 >> 10;
    40802       $1135 = $1134 & 63;
    40803       $1136 = $1133 >> 9;
    40804       $1137 = $1136 & 1;
    40805       $1138 = $1133 >> 4;
    40806       $1139 = $1138 & 31;
    40807       $1140 = $1133 >> 0;
    40808       $1141 = $1140 & 15;
    40809       $1142 = ($1141|0)==(0);
    40810       do {
    40811        if ($1142) {
    40812         $1143 = ((($$51058)) + 8|0);
    40813         $$01033 = $1143;
    40814        } else {
    40815         $1144 = (($1141) - 1)|0;
    40816         __THREW__ = 0;
    40817         $1145 = (invoke_iii(161,($1|0),($1144|0))|0);
    40818         $1146 = __THREW__; __THREW__ = 0;
    40819         if ((($1146|0) != 0) & ((threwValue|0) != 0)) { $1147 = _testSetjmp(HEAP32[$1146>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1147|0) == 0) { _longjmp($1146|0, threwValue|0); } tempRet0 = (threwValue); } else { $1147 = -1; };
    40820         $1148 = tempRet0;
    40821         $cond1332 = ($1147|0)==(1);
    40822         if ($cond1332) {
    40823          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1148;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40824          continue L3;
    40825         }
    40826         $1149 = ($1145|0)!=(0|0);
    40827         if ($1149) {
    40828          $1162 = ((($1145)) + 12|0);
    40829          $1163 = HEAP32[$1162>>2]|0;
    40830          $1164 = ((($1163)) + 8|0);
    40831          $$01033 = $1164;
    40832          break;
    40833         }
    40834         __THREW__ = 0;
    40835         $1150 = (invoke_iii(135,($1|0),(67968|0))|0);
    40836         $1151 = __THREW__; __THREW__ = 0;
    40837         if ((($1151|0) != 0) & ((threwValue|0) != 0)) { $1152 = _testSetjmp(HEAP32[$1151>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1152|0) == 0) { _longjmp($1151|0, threwValue|0); } tempRet0 = (threwValue); } else { $1152 = -1; };
    40838         $1153 = tempRet0;
    40839         $cond1333 = ($1152|0)==(1);
    40840         if ($cond1333) {
    40841          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1153;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40842          continue L3;
    40843         }
    40844         __THREW__ = 0;
    40845         invoke_viiii(171,($35|0),($1|0),(56724|0),30);
    40846         $1154 = __THREW__; __THREW__ = 0;
    40847         if ((($1154|0) != 0) & ((threwValue|0) != 0)) { $1155 = _testSetjmp(HEAP32[$1154>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1155|0) == 0) { _longjmp($1154|0, threwValue|0); } tempRet0 = (threwValue); } else { $1155 = -1; };
    40848         $1156 = tempRet0;
    40849         $cond1334 = ($1155|0)==(1);
    40850         if ($cond1334) {
    40851          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1156;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40852          continue L3;
    40853         }
    40854         __THREW__ = 0;
    40855         ;HEAP32[$$byval_copy1115>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy1115+4>>2]=HEAP32[$35+4>>2]|0;
    40856         invoke_viiii(172,($36|0),($1|0),($1150|0),($$byval_copy1115|0));
    40857         $1157 = __THREW__; __THREW__ = 0;
    40858         if ((($1157|0) != 0) & ((threwValue|0) != 0)) { $1158 = _testSetjmp(HEAP32[$1157>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1158|0) == 0) { _longjmp($1157|0, threwValue|0); } tempRet0 = (threwValue); } else { $1158 = -1; };
    40859         $1159 = tempRet0;
    40860         $cond1335 = ($1158|0)==(1);
    40861         if ($cond1335) {
    40862          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1159;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40863          continue L3;
    40864         }
    40865         ;HEAP32[$34>>2]=HEAP32[$36>>2]|0;HEAP32[$34+4>>2]=HEAP32[$36+4>>2]|0;
    40866         $1160 = HEAP32[$34>>2]|0;
    40867         $1161 = ((($1)) + 20|0);
    40868         HEAP32[$1161>>2] = $1160;
    40869         $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    40870         label = 272;
    40871         continue L19;
    40872        }
    40873       } while(0);
    40874       $1165 = ($1137|0)==(0);
    40875       if ($1165) {
    40876        $1166 = (($$51058) + ($1131<<3)|0);
    40877        $1167 = (($1135) + ($1139))|0;
    40878        __THREW__ = 0;
    40879        invoke_viiii(167,($37|0),($1|0),($1167|0),($$01033|0));
    40880        $1168 = __THREW__; __THREW__ = 0;
    40881        if ((($1168|0) != 0) & ((threwValue|0) != 0)) { $1169 = _testSetjmp(HEAP32[$1168>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1169|0) == 0) { _longjmp($1168|0, threwValue|0); } tempRet0 = (threwValue); } else { $1169 = -1; };
    40882        $1170 = tempRet0;
    40883        $cond1340 = ($1169|0)==(1);
    40884        if ($cond1340) {
    40885         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1170;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40886         continue L3;
    40887        }
    40888        ;HEAP32[$1166>>2]=HEAP32[$37>>2]|0;HEAP32[$1166+4>>2]=HEAP32[$37+4>>2]|0;
    40889       } else {
    40890        $1171 = (($$01033) + ($1135<<3)|0);
    40891        $1172 = ((($1171)) + 4|0);
    40892        $1173 = HEAP32[$1172>>2]|0;
    40893        $1174 = ($1173|0)==(14);
    40894        if ($1174) {
    40895         $1175 = (($$01033) + ($1135<<3)|0);
    40896         $1176 = HEAP32[$1175>>2]|0;
    40897         $1177 = ((($1176)) + 20|0);
    40898         $1178 = HEAP32[$1177>>2]|0;
    40899         $1179 = ((($1176)) + 12|0);
    40900         $1180 = HEAP32[$1179>>2]|0;
    40901         $$01031 = $1180;$$01032 = $1178;
    40902        } else {
    40903         $$01031 = 0;$$01032 = 0;
    40904        }
    40905        $1181 = (($$51058) + ($1131<<3)|0);
    40906        $1182 = (($1135) + ($$01031))|0;
    40907        $1183 = (($1182) + ($1139))|0;
    40908        __THREW__ = 0;
    40909        invoke_viii(173,($38|0),($1|0),($1183|0));
    40910        $1184 = __THREW__; __THREW__ = 0;
    40911        if ((($1184|0) != 0) & ((threwValue|0) != 0)) { $1185 = _testSetjmp(HEAP32[$1184>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1185|0) == 0) { _longjmp($1184|0, threwValue|0); } tempRet0 = (threwValue); } else { $1185 = -1; };
    40912        $1186 = tempRet0;
    40913        $cond1336 = ($1185|0)==(1);
    40914        if ($cond1336) {
    40915         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1186;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40916         continue L3;
    40917        }
    40918        ;HEAP32[$1181>>2]=HEAP32[$38>>2]|0;HEAP32[$1181+4>>2]=HEAP32[$38+4>>2]|0;
    40919        $1187 = (($$51058) + ($1131<<3)|0);
    40920        $1188 = HEAP32[$1187>>2]|0;
    40921        $1189 = ($1135|0)>(0);
    40922        if ($1189) {
    40923         $1190 = ((($1188)) + 20|0);
    40924         $1191 = HEAP32[$1190>>2]|0;
    40925         __THREW__ = 0;
    40926         invoke_viii(144,($1191|0),($$01033|0),($1135|0));
    40927         $1192 = __THREW__; __THREW__ = 0;
    40928         if ((($1192|0) != 0) & ((threwValue|0) != 0)) { $1193 = _testSetjmp(HEAP32[$1192>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1193|0) == 0) { _longjmp($1192|0, threwValue|0); } tempRet0 = (threwValue); } else { $1193 = -1; };
    40929         $1194 = tempRet0;
    40930         $cond1339 = ($1193|0)==(1);
    40931         if ($cond1339) {
    40932          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1194;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40933          continue L3;
    40934         }
    40935        }
    40936        $1195 = ($$01031|0)>(0);
    40937        if ($1195) {
    40938         $1196 = ((($1188)) + 20|0);
    40939         $1197 = HEAP32[$1196>>2]|0;
    40940         $1198 = (($1197) + ($1135<<3)|0);
    40941         __THREW__ = 0;
    40942         invoke_viii(144,($1198|0),($$01032|0),($$01031|0));
    40943         $1199 = __THREW__; __THREW__ = 0;
    40944         if ((($1199|0) != 0) & ((threwValue|0) != 0)) { $1200 = _testSetjmp(HEAP32[$1199>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1200|0) == 0) { _longjmp($1199|0, threwValue|0); } tempRet0 = (threwValue); } else { $1200 = -1; };
    40945         $1201 = tempRet0;
    40946         $cond1338 = ($1200|0)==(1);
    40947         if ($cond1338) {
    40948          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1201;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40949          continue L3;
    40950         }
    40951        }
    40952        $1202 = ($1139|0)>(0);
    40953        if ($1202) {
    40954         $1203 = ((($1188)) + 20|0);
    40955         $1204 = HEAP32[$1203>>2]|0;
    40956         $1205 = (($1204) + ($1135<<3)|0);
    40957         $1206 = (($1205) + ($$01031<<3)|0);
    40958         $1207 = (($$01033) + ($1135<<3)|0);
    40959         $1208 = ((($1207)) + 8|0);
    40960         __THREW__ = 0;
    40961         invoke_viii(144,($1206|0),($1208|0),($1139|0));
    40962         $1209 = __THREW__; __THREW__ = 0;
    40963         if ((($1209|0) != 0) & ((threwValue|0) != 0)) { $1210 = _testSetjmp(HEAP32[$1209>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1210|0) == 0) { _longjmp($1209|0, threwValue|0); } tempRet0 = (threwValue); } else { $1210 = -1; };
    40964         $1211 = tempRet0;
    40965         $cond1337 = ($1210|0)==(1);
    40966         if ($cond1337) {
    40967          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1211;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    40968          continue L3;
    40969         }
    40970        }
    40971        $1212 = (($1135) + ($$01031))|0;
    40972        $1213 = (($1212) + ($1139))|0;
    40973        $1214 = ((($1188)) + 12|0);
    40974        HEAP32[$1214>>2] = $1213;
    40975       }
    40976       $1215 = (($1131) + 1)|0;
    40977       $1216 = (($$51058) + ($1215<<3)|0);
    40978       $1217 = (($1135) + ($1137))|0;
    40979       $1218 = (($1217) + ($1139))|0;
    40980       $1219 = (($$01033) + ($1218<<3)|0);
    40981       ;HEAP32[$1216>>2]=HEAP32[$1219>>2]|0;HEAP32[$1216+4>>2]=HEAP32[$1219+4>>2]|0;
    40982       $1220 = ((($1)) + 92|0);
    40983       $1221 = ((($1220)) + 416|0);
    40984       HEAP32[$1221>>2] = $$11049;
    40985       $1222 = ((($$61078)) + 4|0);
    40986       $1223 = HEAP32[$1222>>2]|0;
    40987       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1223;$$61078 = $1222;$$sink$reg2mem$0 = $1223;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    40988       label = 583;
    40989       continue L19;
    40990       break;
    40991      }
    40992      case 39:  {
    40993       $1224 = $$21052 >>> 7;
    40994       $1225 = $1224 & 33554431;
    40995       $1226 = $1225 >>> 18;
    40996       $1227 = $1226 & 31;
    40997       $1228 = $1225 >>> 13;
    40998       $1229 = $1228 & 31;
    40999       $1230 = $1225 >>> 12;
    41000       $1231 = $1230 & 1;
    41001       $1232 = $1225 >>> 7;
    41002       $1233 = $1232 & 31;
    41003       $1234 = ((($1)) + 12|0);
    41004       $1235 = HEAP32[$1234>>2]|0;
    41005       $1236 = ((($1235)) + 16|0);
    41006       $1237 = HEAP32[$1236>>2]|0;
    41007       $1238 = ((($1237)) + 36|0);
    41008       $1239 = HEAP32[$1238>>2]|0;
    41009       $1240 = ((($$51058)) + 8|0);
    41010       $1241 = (($1227) + ($1229))|0;
    41011       $1242 = (($1241) + ($1231))|0;
    41012       $1243 = (($1242) + ($1233))|0;
    41013       $1244 = ($1239|0)<(0);
    41014       $1245 = $1244 ? 1 : $1239;
    41015       $1246 = (($1240) + ($1245<<3)|0);
    41016       $1247 = ((($1246)) + 4|0);
    41017       $1248 = HEAP32[$1247>>2]|0;
    41018       $1249 = ($1248|0)==(0);
    41019       if ($1249) {
    41020        $1250 = HEAP32[$1246>>2]|0;
    41021        $1251 = ($1250|0)!=(0);
    41022        if ($1251) {
    41023         label = 218;
    41024        }
    41025       } else {
    41026        label = 218;
    41027       }
    41028       if ((label|0) == 218) {
    41029        label = 0;
    41030        $1252 = ((($1246)) + 4|0);
    41031        $1253 = HEAP32[$1252>>2]|0;
    41032        $1254 = ($1253|0)!=(13);
    41033        if ($1254) {
    41034         __THREW__ = 0;
    41035         ;HEAP32[$$byval_copy1116>>2]=HEAP32[$1246>>2]|0;HEAP32[$$byval_copy1116+4>>2]=HEAP32[$1246+4>>2]|0;
    41036         invoke_viiiiii(174,($39|0),($1|0),($$byval_copy1116|0),13,(65614|0),(56755|0));
    41037         $1255 = __THREW__; __THREW__ = 0;
    41038         if ((($1255|0) != 0) & ((threwValue|0) != 0)) { $1256 = _testSetjmp(HEAP32[$1255>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1256|0) == 0) { _longjmp($1255|0, threwValue|0); } tempRet0 = (threwValue); } else { $1256 = -1; };
    41039         $1257 = tempRet0;
    41040         $cond1331 = ($1256|0)==(1);
    41041         if ($cond1331) {
    41042          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1257;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41043          continue L3;
    41044         }
    41045         ;HEAP32[$1246>>2]=HEAP32[$39>>2]|0;HEAP32[$1246+4>>2]=HEAP32[$39+4>>2]|0;
    41046        }
    41047       }
    41048       $1258 = ($1239|0)<(0);
    41049       if ($1258) {
    41050        $1259 = ((($$51058)) + 8|0);
    41051        $1260 = HEAP32[$1259>>2]|0;
    41052        $1261 = ((($1260)) + 20|0);
    41053        $1262 = HEAP32[$1261>>2]|0;
    41054        $1263 = ((($1260)) + 12|0);
    41055        $1264 = HEAP32[$1263>>2]|0;
    41056        $1265 = ((($$51058)) + 8|0);
    41057        __THREW__ = 0;
    41058        ;HEAP32[$$byval_copy1117>>2]=HEAP32[$1265>>2]|0;HEAP32[$$byval_copy1117+4>>2]=HEAP32[$1265+4>>2]|0;
    41059        invoke_vii(148,($1|0),($$byval_copy1117|0));
    41060        $1266 = __THREW__; __THREW__ = 0;
    41061        if ((($1266|0) != 0) & ((threwValue|0) != 0)) { $1267 = _testSetjmp(HEAP32[$1266>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1267|0) == 0) { _longjmp($1266|0, threwValue|0); } tempRet0 = (threwValue); } else { $1267 = -1; };
    41062        $1268 = tempRet0;
    41063        $cond1330 = ($1267|0)==(1);
    41064        if ($cond1330) {
    41065         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1268;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41066         continue L3;
    41067        }
    41068        $$01027 = $1262;$$01029 = $1264;
    41069       } else {
    41070        $$01027 = $1240;$$01029 = $1239;
    41071       }
    41072       $1269 = ((($1)) + 12|0);
    41073       $1270 = HEAP32[$1269>>2]|0;
    41074       $1271 = ((($1270)) + 16|0);
    41075       $1272 = HEAP32[$1271>>2]|0;
    41076       $1273 = ((($1272)) + 4|0);
    41077       $1274 = HEAP32[$1273>>2]|0;
    41078       $1275 = ($1274|0)!=(0|0);
    41079       do {
    41080        if ($1275) {
    41081         $1276 = ((($1)) + 12|0);
    41082         $1277 = HEAP32[$1276>>2]|0;
    41083         $1278 = ((($1277)) + 16|0);
    41084         $1279 = HEAP32[$1278>>2]|0;
    41085         $1280 = ((($1279)) + 4|0);
    41086         $1281 = HEAP32[$1280>>2]|0;
    41087         $1282 = HEAP32[$1281>>2]|0;
    41088         $1283 = $1282 >>> 11;
    41089         $1284 = $1283 & 256;
    41090         $1285 = ($1284|0)!=(0);
    41091         if ($1285) {
    41092          $1286 = ($$01029|0)>=(0);
    41093          if ($1286) {
    41094           $1287 = (($1227) + ($1233))|0;
    41095           $1288 = ($$01029|0)<($1287|0);
    41096           if (!($1288)) {
    41097            $1289 = ($1231|0)==(0);
    41098            if (!($1289)) {
    41099             $$11028 = $$01027;$$11030 = $$01029;
    41100             break;
    41101            }
    41102            $1290 = ($$01029|0)>($1243|0);
    41103            if (!($1290)) {
    41104             $$11028 = $$01027;$$11030 = $$01029;
    41105             break;
    41106            }
    41107           }
    41108           $1291 = (($1227) + ($1233))|0;
    41109           __THREW__ = 0;
    41110           invoke_vii(175,($1|0),($1291|0));
    41111           $1292 = __THREW__; __THREW__ = 0;
    41112           if ((($1292|0) != 0) & ((threwValue|0) != 0)) { $1293 = _testSetjmp(HEAP32[$1292>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1293|0) == 0) { _longjmp($1292|0, threwValue|0); } tempRet0 = (threwValue); } else { $1293 = -1; };
    41113           $1294 = tempRet0;
    41114           $cond1329 = ($1293|0)==(1);
    41115           if ($cond1329) {
    41116            $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1294;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41117            continue L3;
    41118           }
    41119           $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    41120           label = 272;
    41121           continue L19;
    41122          } else {
    41123           $$11028 = $$01027;$$11030 = $$01029;
    41124          }
    41125         } else {
    41126          label = 232;
    41127         }
    41128        } else {
    41129         label = 232;
    41130        }
    41131       } while(0);
    41132       if ((label|0) == 232) {
    41133        label = 0;
    41134        $1295 = ($1243|0)>(1);
    41135        $1296 = ($$01029|0)==(1);
    41136        $or$cond = $1295 & $1296;
    41137        if ($or$cond) {
    41138         $1297 = ((($$01027)) + 4|0);
    41139         $1298 = HEAP32[$1297>>2]|0;
    41140         $1299 = ($1298|0)==(14);
    41141         if ($1299) {
    41142          __THREW__ = 0;
    41143          ;HEAP32[$$byval_copy1118>>2]=HEAP32[$$01027>>2]|0;HEAP32[$$byval_copy1118+4>>2]=HEAP32[$$01027+4>>2]|0;
    41144          invoke_vii(148,($1|0),($$byval_copy1118|0));
    41145          $1300 = __THREW__; __THREW__ = 0;
    41146          if ((($1300|0) != 0) & ((threwValue|0) != 0)) { $1301 = _testSetjmp(HEAP32[$1300>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1301|0) == 0) { _longjmp($1300|0, threwValue|0); } tempRet0 = (threwValue); } else { $1301 = -1; };
    41147          $1302 = tempRet0;
    41148          $cond1328 = ($1301|0)==(1);
    41149          if ($cond1328) {
    41150           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1302;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41151           continue L3;
    41152          }
    41153          $1303 = HEAP32[$$01027>>2]|0;
    41154          $1304 = ((($1303)) + 12|0);
    41155          $1305 = HEAP32[$1304>>2]|0;
    41156          $1306 = HEAP32[$$01027>>2]|0;
    41157          $1307 = ((($1306)) + 20|0);
    41158          $1308 = HEAP32[$1307>>2]|0;
    41159          $$11028 = $1308;$$11030 = $1305;
    41160         } else {
    41161          $$11028 = $$01027;$$11030 = $$01029;
    41162         }
    41163        } else {
    41164         $$11028 = $$01027;$$11030 = $$01029;
    41165        }
    41166       }
    41167       $1309 = ((($1)) + 12|0);
    41168       $1310 = HEAP32[$1309>>2]|0;
    41169       $1311 = ((($1310)) + 16|0);
    41170       $1312 = HEAP32[$1311>>2]|0;
    41171       $1313 = ((($1312)) + 36|0);
    41172       HEAP32[$1313>>2] = $1243;
    41173       $1314 = ($$11030|0)<($1243|0);
    41174       do {
    41175        if ($1314) {
    41176         $1315 = (($1227) + ($1233))|0;
    41177         $1316 = ($$11030|0)<($1315|0);
    41178         do {
    41179          if ($1316) {
    41180           $1317 = ($1227|0)<($$11030|0);
    41181           if ($1317) {
    41182            $1318 = (($$11030) - ($1227))|0;
    41183            $$01026 = $1318;
    41184            break;
    41185           } else {
    41186            $$01026 = 0;
    41187            break;
    41188           }
    41189          } else {
    41190           $$01026 = $1233;
    41191          }
    41192         } while(0);
    41193         $1319 = (($1243) + 1)|0;
    41194         $1320 = (($$51058) + ($1319<<3)|0);
    41195         ;HEAP32[$1320>>2]=HEAP32[$1246>>2]|0;HEAP32[$1320+4>>2]=HEAP32[$1246+4>>2]|0;
    41196         $1321 = (($$11030) + 1)|0;
    41197         $1322 = (($$51058) + ($1321<<3)|0);
    41198         $1323 = ((($1322)) + 4|0);
    41199         HEAP32[$1323>>2] = 0;
    41200         $1324 = (($$11030) + 1)|0;
    41201         $1325 = (($$51058) + ($1324<<3)|0);
    41202         HEAP32[$1325>>2] = 0;
    41203         $1326 = ($1240|0)!=($$11028|0);
    41204         if ($1326) {
    41205          $1327 = ((($$51058)) + 8|0);
    41206          $1328 = (($$11030) - ($$01026))|0;
    41207          __THREW__ = 0;
    41208          invoke_viii(170,($1327|0),($$11028|0),($1328|0));
    41209          $1329 = __THREW__; __THREW__ = 0;
    41210          if ((($1329|0) != 0) & ((threwValue|0) != 0)) { $1330 = _testSetjmp(HEAP32[$1329>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1330|0) == 0) { _longjmp($1329|0, threwValue|0); } tempRet0 = (threwValue); } else { $1330 = -1; };
    41211          $1331 = tempRet0;
    41212          $cond1327 = ($1330|0)==(1);
    41213          if ($cond1327) {
    41214           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1331;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41215           continue L3;
    41216          }
    41217         }
    41218         $1332 = ($$01026|0)!=(0);
    41219         if ($1332) {
    41220          $1333 = (($1243) - ($1233))|0;
    41221          $1334 = (($1333) + 1)|0;
    41222          $1335 = (($$51058) + ($1334<<3)|0);
    41223          $1336 = (($$11030) - ($$01026))|0;
    41224          $1337 = (($$11028) + ($1336<<3)|0);
    41225          __THREW__ = 0;
    41226          invoke_viii(170,($1335|0),($1337|0),($$01026|0));
    41227          $1338 = __THREW__; __THREW__ = 0;
    41228          if ((($1338|0) != 0) & ((threwValue|0) != 0)) { $1339 = _testSetjmp(HEAP32[$1338>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1339|0) == 0) { _longjmp($1338|0, threwValue|0); } tempRet0 = (threwValue); } else { $1339 = -1; };
    41229          $1340 = tempRet0;
    41230          $cond1326 = ($1339|0)==(1);
    41231          if ($cond1326) {
    41232           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1340;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41233           continue L3;
    41234          }
    41235         }
    41236         $1341 = ($1231|0)!=(0);
    41237         if ($1341) {
    41238          $1342 = (($1227) + ($1229))|0;
    41239          $1343 = (($1342) + 1)|0;
    41240          $1344 = (($$51058) + ($1343<<3)|0);
    41241          __THREW__ = 0;
    41242          invoke_viii(173,($40|0),($1|0),0);
    41243          $1345 = __THREW__; __THREW__ = 0;
    41244          if ((($1345|0) != 0) & ((threwValue|0) != 0)) { $1346 = _testSetjmp(HEAP32[$1345>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1346|0) == 0) { _longjmp($1345|0, threwValue|0); } tempRet0 = (threwValue); } else { $1346 = -1; };
    41245          $1347 = tempRet0;
    41246          $cond1325 = ($1346|0)==(1);
    41247          if ($cond1325) {
    41248           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1347;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41249           continue L3;
    41250          }
    41251          ;HEAP32[$1344>>2]=HEAP32[$40>>2]|0;HEAP32[$1344+4>>2]=HEAP32[$40+4>>2]|0;
    41252         }
    41253         $1348 = ($1229|0)==(0);
    41254         if (!($1348)) {
    41255          $1349 = (($1227) + ($1233))|0;
    41256          $1350 = ($$11030|0)<($1349|0);
    41257          if (!($1350)) {
    41258           $1352 = (($$11030) - ($1227))|0;
    41259           $1353 = (($1352) - ($1233))|0;
    41260           $1354 = (($1353) + 1)|0;
    41261           $1355 = (($$61078) + ($1354<<2)|0);
    41262           $$21074 = $1355;
    41263           break;
    41264          }
    41265         }
    41266         $1351 = ((($$61078)) + 4|0);
    41267         $$21074 = $1351;
    41268        } else {
    41269         $1356 = ($1240|0)!=($$11028|0);
    41270         if ($1356) {
    41271          $1357 = (($1243) + 1)|0;
    41272          $1358 = (($$51058) + ($1357<<3)|0);
    41273          ;HEAP32[$1358>>2]=HEAP32[$1246>>2]|0;HEAP32[$1358+4>>2]=HEAP32[$1246+4>>2]|0;
    41274          $1359 = ((($$51058)) + 8|0);
    41275          $1360 = (($1227) + ($1229))|0;
    41276          __THREW__ = 0;
    41277          invoke_viii(170,($1359|0),($$11028|0),($1360|0));
    41278          $1361 = __THREW__; __THREW__ = 0;
    41279          if ((($1361|0) != 0) & ((threwValue|0) != 0)) { $1362 = _testSetjmp(HEAP32[$1361>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1362|0) == 0) { _longjmp($1361|0, threwValue|0); } tempRet0 = (threwValue); } else { $1362 = -1; };
    41280          $1363 = tempRet0;
    41281          $cond1324 = ($1362|0)==(1);
    41282          if ($cond1324) {
    41283           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1363;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41284           continue L3;
    41285          }
    41286         }
    41287         $1364 = ($1231|0)!=(0);
    41288         if ($1364) {
    41289          $1365 = (($$11030) - ($1227))|0;
    41290          $1366 = (($1365) - ($1229))|0;
    41291          $1367 = (($1366) - ($1233))|0;
    41292          $1368 = (($1227) + ($1229))|0;
    41293          $1369 = (($1368) + 1)|0;
    41294          $1370 = (($$51058) + ($1369<<3)|0);
    41295          $1371 = (($$11028) + ($1227<<3)|0);
    41296          $1372 = (($1371) + ($1229<<3)|0);
    41297          __THREW__ = 0;
    41298          invoke_viiii(167,($41|0),($1|0),($1367|0),($1372|0));
    41299          $1373 = __THREW__; __THREW__ = 0;
    41300          if ((($1373|0) != 0) & ((threwValue|0) != 0)) { $1374 = _testSetjmp(HEAP32[$1373>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1374|0) == 0) { _longjmp($1373|0, threwValue|0); } tempRet0 = (threwValue); } else { $1374 = -1; };
    41301          $1375 = tempRet0;
    41302          $cond1323 = ($1374|0)==(1);
    41303          if ($cond1323) {
    41304           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1375;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41305           continue L3;
    41306          }
    41307          ;HEAP32[$1370>>2]=HEAP32[$41>>2]|0;HEAP32[$1370+4>>2]=HEAP32[$41+4>>2]|0;
    41308          $$01025 = $1367;
    41309         } else {
    41310          $$01025 = 0;
    41311         }
    41312         $1376 = ($1233|0)!=(0);
    41313         if ($1376) {
    41314          $1377 = (($$11030) - ($1233))|0;
    41315          $1378 = ($1377|0)>($1227|0);
    41316          if ($1378) {
    41317           $1379 = (($1227) + ($1229))|0;
    41318           $1380 = (($1379) + ($1231))|0;
    41319           $1381 = (($1380) + 1)|0;
    41320           $1382 = (($$51058) + ($1381<<3)|0);
    41321           $1383 = (($1227) + ($1229))|0;
    41322           $1384 = (($1383) + ($$01025))|0;
    41323           $1385 = (($$11028) + ($1384<<3)|0);
    41324           __THREW__ = 0;
    41325           invoke_viii(170,($1382|0),($1385|0),($1233|0));
    41326           $1386 = __THREW__; __THREW__ = 0;
    41327           if ((($1386|0) != 0) & ((threwValue|0) != 0)) { $1387 = _testSetjmp(HEAP32[$1386>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1387|0) == 0) { _longjmp($1386|0, threwValue|0); } tempRet0 = (threwValue); } else { $1387 = -1; };
    41328           $1388 = tempRet0;
    41329           $cond1322 = ($1387|0)==(1);
    41330           if ($cond1322) {
    41331            $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1388;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41332            continue L3;
    41333           }
    41334          }
    41335         }
    41336         $1389 = ($1240|0)==($$11028|0);
    41337         if ($1389) {
    41338          $1390 = (($1243) + 1)|0;
    41339          $1391 = (($$51058) + ($1390<<3)|0);
    41340          ;HEAP32[$1391>>2]=HEAP32[$1246>>2]|0;HEAP32[$1391+4>>2]=HEAP32[$1246+4>>2]|0;
    41341         }
    41342         $1392 = (($1229) + 1)|0;
    41343         $1393 = (($$61078) + ($1392<<2)|0);
    41344         $$21074 = $1393;
    41345        }
    41346       } while(0);
    41347       $1394 = HEAP32[$$21074>>2]|0;
    41348       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1394;$$61078 = $$21074;$$sink$reg2mem$0 = $1394;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    41349       label = 583;
    41350       continue L19;
    41351       break;
    41352      }
    41353      case 40:  {
    41354       $1395 = ((($$61078)) + 4|0);
    41355       $1396 = HEAP32[$1395>>2]|0;
    41356       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1396;$$61078 = $1395;$$sink$reg2mem$0 = $1396;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    41357       label = 583;
    41358       continue L19;
    41359       break;
    41360      }
    41361      case 41:  {
    41362       $1397 = ((($$61078)) + 4|0);
    41363       $1398 = HEAP32[$1397>>2]|0;
    41364       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1398;$$61078 = $1397;$$sink$reg2mem$0 = $1398;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    41365       label = 583;
    41366       continue L19;
    41367       break;
    41368      }
    41369      case 42:  {
    41370       $$11051 = $$21052;$$41083 = $$8;$$41090 = $$81094;
    41371       break;
    41372      }
    41373      case 43:  {
    41374       $1760 = $$21052 >>> 23;
    41375       $1761 = $1760 & 511;
    41376       $1762 = $$21052 >>> 7;
    41377       $1763 = $1762 & 127;
    41378       $1764 = $$21052 >>> 14;
    41379       $1765 = $1764 & 511;
    41380       $1766 = (($$6) + ($1765<<2)|0);
    41381       $1767 = HEAP32[$1766>>2]|0;
    41382       $1768 = (($$51058) + ($1761<<3)|0);
    41383       ;HEAP32[$48>>2]=HEAP32[$1768>>2]|0;HEAP32[$48+4>>2]=HEAP32[$1768+4>>2]|0;
    41384       __THREW__ = 0;
    41385       ;HEAP32[$$byval_copy1122>>2]=HEAP32[$48>>2]|0;HEAP32[$$byval_copy1122+4>>2]=HEAP32[$48+4>>2]|0;
    41386       $1769 = (invoke_iii(138,($1|0),($$byval_copy1122|0))|0);
    41387       $1770 = __THREW__; __THREW__ = 0;
    41388       if ((($1770|0) != 0) & ((threwValue|0) != 0)) { $1771 = _testSetjmp(HEAP32[$1770>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1771|0) == 0) { _longjmp($1770|0, threwValue|0); } tempRet0 = (threwValue); } else { $1771 = -1; };
    41389       $1772 = tempRet0;
    41390       $cond1300 = ($1771|0)==(1);
    41391       if ($cond1300) {
    41392        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1772;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41393        continue L3;
    41394       }
    41395       HEAP32[$47>>2] = $1769;
    41396       __THREW__ = 0;
    41397       $1773 = (invoke_iiii(139,($1|0),($47|0),($1767|0))|0);
    41398       $1774 = __THREW__; __THREW__ = 0;
    41399       if ((($1774|0) != 0) & ((threwValue|0) != 0)) { $1775 = _testSetjmp(HEAP32[$1774>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1775|0) == 0) { _longjmp($1774|0, threwValue|0); } tempRet0 = (threwValue); } else { $1775 = -1; };
    41400       $1776 = tempRet0;
    41401       $cond1301 = ($1775|0)==(1);
    41402       if ($cond1301) {
    41403        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1776;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41404        continue L3;
    41405       }
    41406       $1777 = ($1773|0)!=(0|0);
    41407       do {
    41408        if ($1777) {
    41409         $$01015 = $1767;$$01016 = $1773;$$01017 = $1763;
    41410        } else {
    41411         __THREW__ = 0;
    41412         invoke_vii(143,($49|0),($1767|0));
    41413         $1778 = __THREW__; __THREW__ = 0;
    41414         if ((($1778|0) != 0) & ((threwValue|0) != 0)) { $1779 = _testSetjmp(HEAP32[$1778>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1779|0) == 0) { _longjmp($1778|0, threwValue|0); } tempRet0 = (threwValue); } else { $1779 = -1; };
    41415         $1780 = tempRet0;
    41416         $cond1302 = ($1779|0)==(1);
    41417         if ($cond1302) {
    41418          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1780;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41419          continue L3;
    41420         }
    41421         __THREW__ = 0;
    41422         $1781 = (invoke_iiii(140,($1|0),(65621|0),14)|0);
    41423         $1782 = __THREW__; __THREW__ = 0;
    41424         if ((($1782|0) != 0) & ((threwValue|0) != 0)) { $1783 = _testSetjmp(HEAP32[$1782>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1783|0) == 0) { _longjmp($1782|0, threwValue|0); } tempRet0 = (threwValue); } else { $1783 = -1; };
    41425         $1784 = tempRet0;
    41426         $cond1303 = ($1783|0)==(1);
    41427         if ($cond1303) {
    41428          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1784;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41429          continue L3;
    41430         }
    41431         __THREW__ = 0;
    41432         $1785 = (invoke_iiii(139,($1|0),($47|0),($1781|0))|0);
    41433         $1786 = __THREW__; __THREW__ = 0;
    41434         if ((($1786|0) != 0) & ((threwValue|0) != 0)) { $1787 = _testSetjmp(HEAP32[$1786>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1787|0) == 0) { _longjmp($1786|0, threwValue|0); } tempRet0 = (threwValue); } else { $1787 = -1; };
    41435         $1788 = tempRet0;
    41436         $cond1304 = ($1787|0)==(1);
    41437         if ($cond1304) {
    41438          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1788;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41439          continue L3;
    41440         }
    41441         $1789 = ($1763|0)==(127);
    41442         if ($1789) {
    41443          $1790 = (($1761) + 1)|0;
    41444          $1791 = (($$51058) + ($1790<<3)|0);
    41445          __THREW__ = 0;
    41446          ;HEAP32[$$byval_copy1123>>2]=HEAP32[$1791>>2]|0;HEAP32[$$byval_copy1123+4>>2]=HEAP32[$1791+4>>2]|0;
    41447          ;HEAP32[$$byval_copy1124>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy1124+4>>2]=HEAP32[$49+4>>2]|0;
    41448          invoke_viiii(169,($50|0),($1|0),($$byval_copy1123|0),($$byval_copy1124|0));
    41449          $1792 = __THREW__; __THREW__ = 0;
    41450          if ((($1792|0) != 0) & ((threwValue|0) != 0)) { $1793 = _testSetjmp(HEAP32[$1792>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1793|0) == 0) { _longjmp($1792|0, threwValue|0); } tempRet0 = (threwValue); } else { $1793 = -1; };
    41451          $1794 = tempRet0;
    41452          $cond1306 = ($1793|0)==(1);
    41453          if ($cond1306) {
    41454           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1794;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41455           continue L3;
    41456          }
    41457          $$01015 = $1781;$$01016 = $1785;$$01017 = $1763;
    41458          break;
    41459         } else {
    41460          $1795 = (($$51058) + ($1761<<3)|0);
    41461          $1796 = ((($1795)) + 16|0);
    41462          $1797 = (($$51058) + ($1761<<3)|0);
    41463          $1798 = ((($1797)) + 8|0);
    41464          $1799 = (($1763) + 1)|0;
    41465          __THREW__ = 0;
    41466          invoke_viii(170,($1796|0),($1798|0),($1799|0));
    41467          $1800 = __THREW__; __THREW__ = 0;
    41468          if ((($1800|0) != 0) & ((threwValue|0) != 0)) { $1801 = _testSetjmp(HEAP32[$1800>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1801|0) == 0) { _longjmp($1800|0, threwValue|0); } tempRet0 = (threwValue); } else { $1801 = -1; };
    41469          $1802 = tempRet0;
    41470          $cond1305 = ($1801|0)==(1);
    41471          if ($cond1305) {
    41472           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1802;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41473           continue L3;
    41474          }
    41475          $1803 = (($1761) + 1)|0;
    41476          $1804 = (($$51058) + ($1803<<3)|0);
    41477          ;HEAP32[$1804>>2]=HEAP32[$49>>2]|0;HEAP32[$1804+4>>2]=HEAP32[$49+4>>2]|0;
    41478          $$01015 = $1781;$$01016 = $1785;$$01017 = $1799;
    41479          break;
    41480         }
    41481        }
    41482       } while(0);
    41483       $1805 = ((($1)) + 12|0);
    41484       $1806 = HEAP32[$1805>>2]|0;
    41485       $1807 = ((($1806)) + 16|0);
    41486       $1808 = HEAP32[$1807>>2]|0;
    41487       HEAP32[$1808>>2] = $$01015;
    41488       $1809 = HEAP32[$47>>2]|0;
    41489       $1810 = ((($1808)) + 44|0);
    41490       HEAP32[$1810>>2] = $1809;
    41491       $1811 = ($$01017|0)==(127);
    41492       $$sink19 = $1811 ? $1808 : $1808;
    41493       $$sink17 = $1811 ? -1 : $$01017;
    41494       $1812 = ((($$sink19)) + 36|0);
    41495       HEAP32[$1812>>2] = $$sink17;
    41496       $1813 = ((($1)) + 12|0);
    41497       $1814 = HEAP32[$1813>>2]|0;
    41498       $1815 = ((($1814)) + 4|0);
    41499       $1816 = HEAP32[$1815>>2]|0;
    41500       $1817 = (($$51058) + ($1761<<3)|0);
    41501       $1818 = ((($1808)) + 36|0);
    41502       $1819 = HEAP32[$1818>>2]|0;
    41503       $1820 = (($1819) + 1)|0;
    41504       __THREW__ = 0;
    41505       invoke_viii(170,($1816|0),($1817|0),($1820|0));
    41506       $1821 = __THREW__; __THREW__ = 0;
    41507       if ((($1821|0) != 0) & ((threwValue|0) != 0)) { $1822 = _testSetjmp(HEAP32[$1821>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1822|0) == 0) { _longjmp($1821|0, threwValue|0); } tempRet0 = (threwValue); } else { $1822 = -1; };
    41508       $1823 = tempRet0;
    41509       $cond1307 = ($1822|0)==(1);
    41510       if ($cond1307) {
    41511        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1823;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41512        continue L3;
    41513       }
    41514       $1824 = HEAP32[$$01016>>2]|0;
    41515       $1825 = $1824 >>> 11;
    41516       $1826 = $1825 & 128;
    41517       $1827 = ($1826|0)!=(0);
    41518       if ($1827) {
    41519        $1828 = ((($1)) + 12|0);
    41520        $1829 = HEAP32[$1828>>2]|0;
    41521        $1830 = ((($1829)) + 4|0);
    41522        $1831 = HEAP32[$1830>>2]|0;
    41523        $1832 = ((($$01016)) + 12|0);
    41524        $1833 = HEAP32[$1832>>2]|0;
    41525        __THREW__ = 0;
    41526        ;HEAP32[$$byval_copy1125>>2]=HEAP32[$48>>2]|0;HEAP32[$$byval_copy1125+4>>2]=HEAP32[$48+4>>2]|0;
    41527        invoke_viii($1833|0,($51|0),($1|0),($$byval_copy1125|0));
    41528        $1834 = __THREW__; __THREW__ = 0;
    41529        if ((($1834|0) != 0) & ((threwValue|0) != 0)) { $1835 = _testSetjmp(HEAP32[$1834>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1835|0) == 0) { _longjmp($1834|0, threwValue|0); } tempRet0 = (threwValue); } else { $1835 = -1; };
    41530        $1836 = tempRet0;
    41531        $cond1310 = ($1835|0)==(1);
    41532        if ($cond1310) {
    41533         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1836;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41534         continue L3;
    41535        }
    41536        ;HEAP32[$1831>>2]=HEAP32[$51>>2]|0;HEAP32[$1831+4>>2]=HEAP32[$51+4>>2]|0;
    41537        __THREW__ = 0;
    41538        invoke_vii(146,($1|0),($$11049|0));
    41539        $1837 = __THREW__; __THREW__ = 0;
    41540        if ((($1837|0) != 0) & ((threwValue|0) != 0)) { $1838 = _testSetjmp(HEAP32[$1837>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1838|0) == 0) { _longjmp($1837|0, threwValue|0); } tempRet0 = (threwValue); } else { $1838 = -1; };
    41541        $1839 = tempRet0;
    41542        $cond1311 = ($1838|0)==(1);
    41543        if ($cond1311) {
    41544         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1839;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41545         continue L3;
    41546        }
    41547        $$31082 = $$8;$$31089 = $$81094;
    41548        label = 270;
    41549        break L50;
    41550       }
    41551       $1840 = ((($$01016)) + 12|0);
    41552       $1841 = HEAP32[$1840>>2]|0;
    41553       $1842 = ((($1841)) + 12|0);
    41554       $1843 = HEAP32[$1842>>2]|0;
    41555       $1844 = ((($1841)) + 16|0);
    41556       $1845 = HEAP32[$1844>>2]|0;
    41557       $1846 = ((($1808)) + 36|0);
    41558       $1847 = HEAP32[$1846>>2]|0;
    41559       $1848 = ($1847|0)<(0);
    41560       $1849 = ((($1841)) + 2|0);
    41561       $1850 = HEAP16[$1849>>1]|0;
    41562       $1851 = $1850&65535;
    41563       if ($1848) {
    41564        $1852 = ($1851|0)<(3);
    41565        if ($1852) {
    41566         $$reg2mem994$0 = 3;
    41567        } else {
    41568         $1853 = ((($1841)) + 2|0);
    41569         $1854 = HEAP16[$1853>>1]|0;
    41570         $1855 = $1854&65535;
    41571         $$reg2mem994$0 = $1855;
    41572        }
    41573        __THREW__ = 0;
    41574        invoke_viii(142,($1|0),($$reg2mem994$0|0),3);
    41575        $1856 = __THREW__; __THREW__ = 0;
    41576        if ((($1856|0) != 0) & ((threwValue|0) != 0)) { $1857 = _testSetjmp(HEAP32[$1856>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1857|0) == 0) { _longjmp($1856|0, threwValue|0); } tempRet0 = (threwValue); } else { $1857 = -1; };
    41577        $1858 = tempRet0;
    41578        $cond1309 = ($1857|0)==(1);
    41579        if ($cond1309) {
    41580         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $1845;$$11066 = $1843;$$11073 = $$61078;$$11080 = $1841;$$11087 = $$81094;$$reg2mem1002$0 = $1858;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41581         continue L3;
    41582        }
    41583       } else {
    41584        $1859 = ((($1808)) + 36|0);
    41585        $1860 = HEAP32[$1859>>2]|0;
    41586        $1861 = (($1860) + 2)|0;
    41587        __THREW__ = 0;
    41588        invoke_viii(142,($1|0),($1851|0),($1861|0));
    41589        $1862 = __THREW__; __THREW__ = 0;
    41590        if ((($1862|0) != 0) & ((threwValue|0) != 0)) { $1863 = _testSetjmp(HEAP32[$1862>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1863|0) == 0) { _longjmp($1862|0, threwValue|0); } tempRet0 = (threwValue); } else { $1863 = -1; };
    41591        $1864 = tempRet0;
    41592        $cond1308 = ($1863|0)==(1);
    41593        if ($cond1308) {
    41594         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $1845;$$11066 = $1843;$$11073 = $$61078;$$11080 = $1841;$$11087 = $$81094;$$reg2mem1002$0 = $1864;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41595         continue L3;
    41596        }
    41597       }
    41598       $1865 = ((($1)) + 12|0);
    41599       $1866 = HEAP32[$1865>>2]|0;
    41600       $1867 = ((($1866)) + 4|0);
    41601       $1868 = HEAP32[$1867>>2]|0;
    41602       $1869 = ((($1841)) + 8|0);
    41603       $1870 = HEAP32[$1869>>2]|0;
    41604       $1871 = HEAP32[$1870>>2]|0;
    41605       $$81094$phi = $$81094;$$5$phi = $$5;$$21052 = $1871;$$51058 = $1868;$$6 = $1845;$$61071 = $1843;$$61078 = $1870;$$8 = $1841;$$sink$reg2mem$0 = $1871;$$81094 = $$81094$phi;$$5 = $$5$phi;
    41606       label = 583;
    41607       continue L19;
    41608       break;
    41609      }
    41610      case 44:  {
    41611       $1872 = $$21052 >>> 23;
    41612       $1873 = $1872 & 511;
    41613       $1874 = $$21052 >>> 7;
    41614       $1875 = $1874 & 65535;
    41615       $1876 = $1875 >> 10;
    41616       $1877 = $1876 & 63;
    41617       $1878 = $1875 >> 9;
    41618       $1879 = $1878 & 1;
    41619       $1880 = $1875 >> 4;
    41620       $1881 = $1880 & 31;
    41621       $1882 = $1875 >> 0;
    41622       $1883 = $1882 & 15;
    41623       $1884 = ($1883|0)==(0);
    41624       do {
    41625        if ($1884) {
    41626         $1885 = ((($$51058)) + 8|0);
    41627         $$01014 = $1885;
    41628        } else {
    41629         $1886 = (($1883) - 1)|0;
    41630         __THREW__ = 0;
    41631         $1887 = (invoke_iii(161,($1|0),($1886|0))|0);
    41632         $1888 = __THREW__; __THREW__ = 0;
    41633         if ((($1888|0) != 0) & ((threwValue|0) != 0)) { $1889 = _testSetjmp(HEAP32[$1888>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1889|0) == 0) { _longjmp($1888|0, threwValue|0); } tempRet0 = (threwValue); } else { $1889 = -1; };
    41634         $1890 = tempRet0;
    41635         $cond1298 = ($1889|0)==(1);
    41636         if ($cond1298) {
    41637          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1890;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41638          continue L3;
    41639         }
    41640         $1891 = ($1887|0)!=(0|0);
    41641         if ($1891) {
    41642          $1895 = ((($1887)) + 12|0);
    41643          $1896 = HEAP32[$1895>>2]|0;
    41644          $1897 = ((($1896)) + 8|0);
    41645          $$01014 = $1897;
    41646          break;
    41647         }
    41648         __THREW__ = 0;
    41649         invoke_vii(180,($1|0),2);
    41650         $1892 = __THREW__; __THREW__ = 0;
    41651         if ((($1892|0) != 0) & ((threwValue|0) != 0)) { $1893 = _testSetjmp(HEAP32[$1892>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1893|0) == 0) { _longjmp($1892|0, threwValue|0); } tempRet0 = (threwValue); } else { $1893 = -1; };
    41652         $1894 = tempRet0;
    41653         $cond1299 = ($1893|0)==(1);
    41654         if ($cond1299) {
    41655          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1894;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41656          continue L3;
    41657         }
    41658         $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    41659         label = 272;
    41660         continue L19;
    41661        }
    41662       } while(0);
    41663       $1898 = (($$51058) + ($1873<<3)|0);
    41664       $1899 = (($1877) + ($1879))|0;
    41665       $1900 = (($1899) + ($1881))|0;
    41666       $1901 = (($$01014) + ($1900<<3)|0);
    41667       ;HEAP32[$1898>>2]=HEAP32[$1901>>2]|0;HEAP32[$1898+4>>2]=HEAP32[$1901+4>>2]|0;
    41668       $1902 = ((($$61078)) + 4|0);
    41669       $1903 = HEAP32[$1902>>2]|0;
    41670       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1903;$$61078 = $1902;$$sink$reg2mem$0 = $1903;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    41671       label = 583;
    41672       continue L19;
    41673       break;
    41674      }
    41675      case 45:  {
    41676       $1904 = $$21052 >>> 23;
    41677       $1905 = $1904 & 511;
    41678       $1906 = (($$51058) + ($1905<<3)|0);
    41679       $1907 = ((($1906)) + 4|0);
    41680       $1908 = HEAP32[$1907>>2]|0;
    41681       $1909 = $1908&65535;
    41682       $1910 = $1909&65535;
    41683       $1911 = $1910 << 8;
    41684       $1912 = (($1905) + 1)|0;
    41685       $1913 = (($$51058) + ($1912<<3)|0);
    41686       $1914 = ((($1913)) + 4|0);
    41687       $1915 = HEAP32[$1914>>2]|0;
    41688       $1916 = $1915&65535;
    41689       $1917 = $1916&65535;
    41690       $1918 = $1917 & 255;
    41691       $1919 = $1911 | $1918;
    41692       L362: do {
    41693        switch ($1919|0) {
    41694        case 771:  {
    41695         $1920 = (($$51058) + ($1905<<3)|0);
    41696         $1921 = HEAP32[$1920>>2]|0;
    41697         $1922 = ((($1920)) + 8|0);
    41698         $1923 = HEAP32[$1922>>2]|0;
    41699         __THREW__ = 0;
    41700         $1924 = (invoke_iiii(181,($1921|0),($1923|0),($52|0))|0);
    41701         $1925 = __THREW__; __THREW__ = 0;
    41702         if ((($1925|0) != 0) & ((threwValue|0) != 0)) { $1926 = _testSetjmp(HEAP32[$1925>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1926|0) == 0) { _longjmp($1925|0, threwValue|0); } tempRet0 = (threwValue); } else { $1926 = -1; };
    41703         $1927 = tempRet0;
    41704         $cond1297 = ($1926|0)==(1);
    41705         if ($cond1297) {
    41706          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1927;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41707          continue L3;
    41708         }
    41709         $1928 = ($1924<<24>>24)!=(0);
    41710         if ($1928) {
    41711          $1929 = ((($1920)) + 4|0);
    41712          HEAP32[$1929>>2] = 6;
    41713          $1930 = (+($1921|0));
    41714          $1931 = (+($1923|0));
    41715          $1932 = $1930 + $1931;
    41716          HEAPF32[$1920>>2] = $1932;
    41717          break L362;
    41718         } else {
    41719          $1933 = (($$51058) + ($1905<<3)|0);
    41720          $1934 = ((($1933)) + 4|0);
    41721          HEAP32[$1934>>2] = 3;
    41722          $1935 = HEAP32[$52>>2]|0;
    41723          $1936 = (($$51058) + ($1905<<3)|0);
    41724          HEAP32[$1936>>2] = $1935;
    41725          break L362;
    41726         }
    41727         break;
    41728        }
    41729        case 774:  {
    41730         $1937 = (($$51058) + ($1905<<3)|0);
    41731         $1938 = HEAP32[$1937>>2]|0;
    41732         $1939 = (($1905) + 1)|0;
    41733         $1940 = (($$51058) + ($1939<<3)|0);
    41734         $1941 = +HEAPF32[$1940>>2];
    41735         $1942 = (($$51058) + ($1905<<3)|0);
    41736         $1943 = ((($1942)) + 4|0);
    41737         HEAP32[$1943>>2] = 6;
    41738         $1944 = (+($1938|0));
    41739         $1945 = $1944 + $1941;
    41740         $1946 = (($$51058) + ($1905<<3)|0);
    41741         HEAPF32[$1946>>2] = $1945;
    41742         break;
    41743        }
    41744        case 1539:  {
    41745         $1947 = (($$51058) + ($1905<<3)|0);
    41746         $1948 = +HEAPF32[$1947>>2];
    41747         $1949 = (($1905) + 1)|0;
    41748         $1950 = (($$51058) + ($1949<<3)|0);
    41749         $1951 = HEAP32[$1950>>2]|0;
    41750         $1952 = (+($1951|0));
    41751         $1953 = $1948 + $1952;
    41752         $1954 = (($$51058) + ($1905<<3)|0);
    41753         HEAPF32[$1954>>2] = $1953;
    41754         break;
    41755        }
    41756        case 1542:  {
    41757         $1955 = (($$51058) + ($1905<<3)|0);
    41758         $1956 = +HEAPF32[$1955>>2];
    41759         $1957 = (($1905) + 1)|0;
    41760         $1958 = (($$51058) + ($1957<<3)|0);
    41761         $1959 = +HEAPF32[$1958>>2];
    41762         $1960 = $1956 + $1959;
    41763         $1961 = (($$51058) + ($1905<<3)|0);
    41764         HEAPF32[$1961>>2] = $1960;
    41765         break;
    41766        }
    41767        case 4112:  {
    41768         $1962 = (($$51058) + ($1905<<3)|0);
    41769         $1963 = (($$51058) + ($1905<<3)|0);
    41770         $1964 = (($1905) + 1)|0;
    41771         $1965 = (($$51058) + ($1964<<3)|0);
    41772         __THREW__ = 0;
    41773         ;HEAP32[$$byval_copy1126>>2]=HEAP32[$1963>>2]|0;HEAP32[$$byval_copy1126+4>>2]=HEAP32[$1963+4>>2]|0;
    41774         ;HEAP32[$$byval_copy1127>>2]=HEAP32[$1965>>2]|0;HEAP32[$$byval_copy1127+4>>2]=HEAP32[$1965+4>>2]|0;
    41775         invoke_viiii(182,($53|0),($1|0),($$byval_copy1126|0),($$byval_copy1127|0));
    41776         $1966 = __THREW__; __THREW__ = 0;
    41777         if ((($1966|0) != 0) & ((threwValue|0) != 0)) { $1967 = _testSetjmp(HEAP32[$1966>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1967|0) == 0) { _longjmp($1966|0, threwValue|0); } tempRet0 = (threwValue); } else { $1967 = -1; };
    41778         $1968 = tempRet0;
    41779         $cond1296 = ($1967|0)==(1);
    41780         if ($cond1296) {
    41781          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1968;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41782          continue L3;
    41783         }
    41784         ;HEAP32[$1962>>2]=HEAP32[$53>>2]|0;HEAP32[$1962+4>>2]=HEAP32[$53+4>>2]|0;
    41785         break;
    41786        }
    41787        default: {
    41788         $$01050 = $$21052;
    41789         label = 90;
    41790         break L50;
    41791        }
    41792        }
    41793       } while(0);
    41794       $1969 = ((($1)) + 92|0);
    41795       $1970 = ((($1969)) + 416|0);
    41796       HEAP32[$1970>>2] = $$11049;
    41797       $1971 = ((($$61078)) + 4|0);
    41798       $1972 = HEAP32[$1971>>2]|0;
    41799       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1972;$$61078 = $1971;$$sink$reg2mem$0 = $1972;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    41800       label = 583;
    41801       continue L19;
    41802       break;
    41803      }
    41804      case 46:  {
    41805       $2147 = $$21052 >>> 23;
    41806       $2148 = $2147 & 511;
    41807       $2149 = (($$51058) + ($2148<<3)|0);
    41808       $2150 = ((($2149)) + 4|0);
    41809       $2151 = HEAP32[$2150>>2]|0;
    41810       L375: do {
    41811        switch ($2151|0) {
    41812        case 3:  {
    41813         $2152 = (($$51058) + ($2148<<3)|0);
    41814         $2153 = HEAP32[$2152>>2]|0;
    41815         $2154 = $$21052 >>> 7;
    41816         $2155 = $2154 & 127;
    41817         __THREW__ = 0;
    41818         $2156 = (invoke_iiii(181,($2153|0),($2155|0),($57|0))|0);
    41819         $2157 = __THREW__; __THREW__ = 0;
    41820         if ((($2157|0) != 0) & ((threwValue|0) != 0)) { $2158 = _testSetjmp(HEAP32[$2157>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2158|0) == 0) { _longjmp($2157|0, threwValue|0); } tempRet0 = (threwValue); } else { $2158 = -1; };
    41821         $2159 = tempRet0;
    41822         $cond1295 = ($2158|0)==(1);
    41823         if ($cond1295) {
    41824          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2159;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41825          continue L3;
    41826         }
    41827         $2160 = ($2156<<24>>24)!=(0);
    41828         $2161 = (($$51058) + ($2148<<3)|0);
    41829         $2162 = ((($2161)) + 4|0);
    41830         if ($2160) {
    41831          HEAP32[$2162>>2] = 6;
    41832          $2163 = (+($2153|0));
    41833          $2164 = (+($2155|0));
    41834          $2165 = $2163 + $2164;
    41835          $2166 = (($$51058) + ($2148<<3)|0);
    41836          HEAPF32[$2166>>2] = $2165;
    41837          break L375;
    41838         } else {
    41839          HEAP32[$2162>>2] = 3;
    41840          $2167 = HEAP32[$57>>2]|0;
    41841          $2168 = (($$51058) + ($2148<<3)|0);
    41842          HEAP32[$2168>>2] = $2167;
    41843          break L375;
    41844         }
    41845         break;
    41846        }
    41847        case 6:  {
    41848         $2169 = $$21052 >>> 7;
    41849         $2170 = $2169 & 127;
    41850         $2171 = (+($2170|0));
    41851         $2172 = (($$51058) + ($2148<<3)|0);
    41852         $2173 = +HEAPF32[$2172>>2];
    41853         $2174 = $2173 + $2171;
    41854         HEAPF32[$2172>>2] = $2174;
    41855         break;
    41856        }
    41857        default: {
    41858         $2175 = (($2148) + 1)|0;
    41859         $2176 = (($$51058) + ($2175<<3)|0);
    41860         $2177 = ((($2176)) + 4|0);
    41861         HEAP32[$2177>>2] = 3;
    41862         $2178 = $$21052 >>> 7;
    41863         $2179 = $2178 & 127;
    41864         $2180 = (($2148) + 1)|0;
    41865         $2181 = (($$51058) + ($2180<<3)|0);
    41866         HEAP32[$2181>>2] = $2179;
    41867         $2182 = $2148 & 511;
    41868         $2183 = $2182 << 23;
    41869         $2184 = 32 | $2183;
    41870         $2185 = $$21052 >>> 14;
    41871         $2186 = $2185 & 511;
    41872         $2187 = $2186 & 511;
    41873         $2188 = $2187 << 14;
    41874         $2189 = $2184 | $2188;
    41875         $2190 = $2189 | 128;
    41876         $$01050 = $2190;
    41877         label = 90;
    41878         break L50;
    41879        }
    41880        }
    41881       } while(0);
    41882       $2191 = ((($$61078)) + 4|0);
    41883       $2192 = HEAP32[$2191>>2]|0;
    41884       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2192;$$61078 = $2191;$$sink$reg2mem$0 = $2192;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    41885       label = 583;
    41886       continue L19;
    41887       break;
    41888      }
    41889      case 47:  {
    41890       $1973 = $$21052 >>> 23;
    41891       $1974 = $1973 & 511;
    41892       $1975 = (($$51058) + ($1974<<3)|0);
    41893       $1976 = ((($1975)) + 4|0);
    41894       $1977 = HEAP32[$1976>>2]|0;
    41895       $1978 = $1977&65535;
    41896       $1979 = $1978&65535;
    41897       $1980 = $1979 << 8;
    41898       $1981 = (($1974) + 1)|0;
    41899       $1982 = (($$51058) + ($1981<<3)|0);
    41900       $1983 = ((($1982)) + 4|0);
    41901       $1984 = HEAP32[$1983>>2]|0;
    41902       $1985 = $1984&65535;
    41903       $1986 = $1985&65535;
    41904       $1987 = $1986 & 255;
    41905       $1988 = $1980 | $1987;
    41906       L385: do {
    41907        switch ($1988|0) {
    41908        case 771:  {
    41909         $1989 = (($$51058) + ($1974<<3)|0);
    41910         $1990 = HEAP32[$1989>>2]|0;
    41911         $1991 = (($1974) + 1)|0;
    41912         $1992 = (($$51058) + ($1991<<3)|0);
    41913         $1993 = HEAP32[$1992>>2]|0;
    41914         __THREW__ = 0;
    41915         $1994 = (invoke_iiii(183,($1990|0),($1993|0),($54|0))|0);
    41916         $1995 = __THREW__; __THREW__ = 0;
    41917         if ((($1995|0) != 0) & ((threwValue|0) != 0)) { $1996 = _testSetjmp(HEAP32[$1995>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1996|0) == 0) { _longjmp($1995|0, threwValue|0); } tempRet0 = (threwValue); } else { $1996 = -1; };
    41918         $1997 = tempRet0;
    41919         $cond1294 = ($1996|0)==(1);
    41920         if ($cond1294) {
    41921          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1997;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    41922          continue L3;
    41923         }
    41924         $1998 = ($1994<<24>>24)!=(0);
    41925         $1999 = (($$51058) + ($1974<<3)|0);
    41926         $2000 = ((($1999)) + 4|0);
    41927         if ($1998) {
    41928          HEAP32[$2000>>2] = 6;
    41929          $2001 = (+($1990|0));
    41930          $2002 = (+($1993|0));
    41931          $2003 = $2001 - $2002;
    41932          $2004 = (($$51058) + ($1974<<3)|0);
    41933          HEAPF32[$2004>>2] = $2003;
    41934          break L385;
    41935         } else {
    41936          HEAP32[$2000>>2] = 3;
    41937          $2005 = HEAP32[$54>>2]|0;
    41938          $2006 = (($$51058) + ($1974<<3)|0);
    41939          HEAP32[$2006>>2] = $2005;
    41940          break L385;
    41941         }
    41942         break;
    41943        }
    41944        case 774:  {
    41945         $2007 = (($$51058) + ($1974<<3)|0);
    41946         $2008 = HEAP32[$2007>>2]|0;
    41947         $2009 = (($1974) + 1)|0;
    41948         $2010 = (($$51058) + ($2009<<3)|0);
    41949         $2011 = +HEAPF32[$2010>>2];
    41950         $2012 = (($$51058) + ($1974<<3)|0);
    41951         $2013 = ((($2012)) + 4|0);
    41952         HEAP32[$2013>>2] = 6;
    41953         $2014 = (+($2008|0));
    41954         $2015 = $2014 - $2011;
    41955         $2016 = (($$51058) + ($1974<<3)|0);
    41956         HEAPF32[$2016>>2] = $2015;
    41957         break;
    41958        }
    41959        case 1539:  {
    41960         $2017 = (($$51058) + ($1974<<3)|0);
    41961         $2018 = +HEAPF32[$2017>>2];
    41962         $2019 = (($1974) + 1)|0;
    41963         $2020 = (($$51058) + ($2019<<3)|0);
    41964         $2021 = HEAP32[$2020>>2]|0;
    41965         $2022 = (+($2021|0));
    41966         $2023 = $2018 - $2022;
    41967         $2024 = (($$51058) + ($1974<<3)|0);
    41968         HEAPF32[$2024>>2] = $2023;
    41969         break;
    41970        }
    41971        case 1542:  {
    41972         $2025 = (($$51058) + ($1974<<3)|0);
    41973         $2026 = +HEAPF32[$2025>>2];
    41974         $2027 = (($1974) + 1)|0;
    41975         $2028 = (($$51058) + ($2027<<3)|0);
    41976         $2029 = +HEAPF32[$2028>>2];
    41977         $2030 = $2026 - $2029;
    41978         $2031 = (($$51058) + ($1974<<3)|0);
    41979         HEAPF32[$2031>>2] = $2030;
    41980         break;
    41981        }
    41982        default: {
    41983         $$01050 = $$21052;
    41984         label = 90;
    41985         break L50;
    41986        }
    41987        }
    41988       } while(0);
    41989       $2032 = ((($$61078)) + 4|0);
    41990       $2033 = HEAP32[$2032>>2]|0;
    41991       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2033;$$61078 = $2032;$$sink$reg2mem$0 = $2033;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    41992       label = 583;
    41993       continue L19;
    41994       break;
    41995      }
    41996      case 48:  {
    41997       $2193 = $$21052 >>> 23;
    41998       $2194 = $2193 & 511;
    41999       $2195 = (($$51058) + ($2194<<3)|0);
    42000       $2196 = ((($2195)) + 4|0);
    42001       $2197 = HEAP32[$2196>>2]|0;
    42002       L396: do {
    42003        switch ($2197|0) {
    42004        case 3:  {
    42005         $2198 = HEAP32[$2195>>2]|0;
    42006         $2199 = $$21052 >>> 7;
    42007         $2200 = $2199 & 127;
    42008         __THREW__ = 0;
    42009         $2201 = (invoke_iiii(183,($2198|0),($2200|0),($58|0))|0);
    42010         $2202 = __THREW__; __THREW__ = 0;
    42011         if ((($2202|0) != 0) & ((threwValue|0) != 0)) { $2203 = _testSetjmp(HEAP32[$2202>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2203|0) == 0) { _longjmp($2202|0, threwValue|0); } tempRet0 = (threwValue); } else { $2203 = -1; };
    42012         $2204 = tempRet0;
    42013         $cond1293 = ($2203|0)==(1);
    42014         if ($cond1293) {
    42015          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2204;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42016          continue L3;
    42017         }
    42018         $2205 = ($2201<<24>>24)!=(0);
    42019         $2206 = ((($2195)) + 4|0);
    42020         if ($2205) {
    42021          HEAP32[$2206>>2] = 6;
    42022          $2207 = (+($2198|0));
    42023          $2208 = (+($2200|0));
    42024          $2209 = $2207 - $2208;
    42025          HEAPF32[$2195>>2] = $2209;
    42026          break L396;
    42027         } else {
    42028          HEAP32[$2206>>2] = 3;
    42029          $2210 = HEAP32[$58>>2]|0;
    42030          HEAP32[$2195>>2] = $2210;
    42031          break L396;
    42032         }
    42033         break;
    42034        }
    42035        case 6:  {
    42036         $2211 = $$21052 >>> 7;
    42037         $2212 = $2211 & 127;
    42038         $2213 = (+($2212|0));
    42039         $2214 = +HEAPF32[$2195>>2];
    42040         $2215 = $2214 - $2213;
    42041         HEAPF32[$2195>>2] = $2215;
    42042         break;
    42043        }
    42044        default: {
    42045         $2216 = ((($2195)) + 8|0);
    42046         $2217 = ((($2216)) + 4|0);
    42047         HEAP32[$2217>>2] = 3;
    42048         $2218 = $$21052 >>> 7;
    42049         $2219 = $2218 & 127;
    42050         $2220 = ((($2195)) + 8|0);
    42051         HEAP32[$2220>>2] = $2219;
    42052         $2221 = $2194 & 511;
    42053         $2222 = $2221 << 23;
    42054         $2223 = 32 | $2222;
    42055         $2224 = $$21052 >>> 14;
    42056         $2225 = $2224 & 511;
    42057         $2226 = $2225 & 511;
    42058         $2227 = $2226 << 14;
    42059         $2228 = $2223 | $2227;
    42060         $2229 = $2228 | 128;
    42061         $$01050 = $2229;
    42062         label = 90;
    42063         break L50;
    42064        }
    42065        }
    42066       } while(0);
    42067       $2230 = ((($$61078)) + 4|0);
    42068       $2231 = HEAP32[$2230>>2]|0;
    42069       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2231;$$61078 = $2230;$$sink$reg2mem$0 = $2231;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42070       label = 583;
    42071       continue L19;
    42072       break;
    42073      }
    42074      case 49:  {
    42075       $2034 = $$21052 >>> 23;
    42076       $2035 = $2034 & 511;
    42077       $2036 = (($$51058) + ($2035<<3)|0);
    42078       $2037 = ((($2036)) + 4|0);
    42079       $2038 = HEAP32[$2037>>2]|0;
    42080       $2039 = $2038&65535;
    42081       $2040 = $2039&65535;
    42082       $2041 = $2040 << 8;
    42083       $2042 = (($2035) + 1)|0;
    42084       $2043 = (($$51058) + ($2042<<3)|0);
    42085       $2044 = ((($2043)) + 4|0);
    42086       $2045 = HEAP32[$2044>>2]|0;
    42087       $2046 = $2045&65535;
    42088       $2047 = $2046&65535;
    42089       $2048 = $2047 & 255;
    42090       $2049 = $2041 | $2048;
    42091       L406: do {
    42092        switch ($2049|0) {
    42093        case 771:  {
    42094         $2050 = (($$51058) + ($2035<<3)|0);
    42095         $2051 = (($2035) + 1)|0;
    42096         $2052 = (($$51058) + ($2051<<3)|0);
    42097         __THREW__ = 0;
    42098         ;HEAP32[$$byval_copy1128>>2]=HEAP32[$2050>>2]|0;HEAP32[$$byval_copy1128+4>>2]=HEAP32[$2050+4>>2]|0;
    42099         ;HEAP32[$$byval_copy1129>>2]=HEAP32[$2052>>2]|0;HEAP32[$$byval_copy1129+4>>2]=HEAP32[$2052+4>>2]|0;
    42100         invoke_viiii(184,($56|0),($1|0),($$byval_copy1128|0),($$byval_copy1129|0));
    42101         $2053 = __THREW__; __THREW__ = 0;
    42102         if ((($2053|0) != 0) & ((threwValue|0) != 0)) { $2054 = _testSetjmp(HEAP32[$2053>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2054|0) == 0) { _longjmp($2053|0, threwValue|0); } tempRet0 = (threwValue); } else { $2054 = -1; };
    42103         $2055 = tempRet0;
    42104         $cond1292 = ($2054|0)==(1);
    42105         if ($cond1292) {
    42106          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2055;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42107          continue L3;
    42108         }
    42109         ;HEAP32[$55>>2]=HEAP32[$56>>2]|0;HEAP32[$55+4>>2]=HEAP32[$56+4>>2]|0;
    42110         $2056 = ((($55)) + 4|0);
    42111         $2057 = HEAP32[$2056>>2]|0;
    42112         switch ($2057|0) {
    42113         case 3:  {
    42114          $2058 = (($$51058) + ($2035<<3)|0);
    42115          $2059 = ((($2058)) + 4|0);
    42116          HEAP32[$2059>>2] = 3;
    42117          $2060 = HEAP32[$55>>2]|0;
    42118          $2061 = (($$51058) + ($2035<<3)|0);
    42119          HEAP32[$2061>>2] = $2060;
    42120          break L406;
    42121          break;
    42122         }
    42123         case 6:  {
    42124          $2062 = (($$51058) + ($2035<<3)|0);
    42125          $2063 = ((($2062)) + 4|0);
    42126          HEAP32[$2063>>2] = 6;
    42127          $2064 = +HEAPF32[$55>>2];
    42128          $2065 = (($$51058) + ($2035<<3)|0);
    42129          HEAPF32[$2065>>2] = $2064;
    42130          break L406;
    42131          break;
    42132         }
    42133         default: {
    42134          break L406;
    42135         }
    42136         }
    42137         break;
    42138        }
    42139        case 774:  {
    42140         $2066 = (($$51058) + ($2035<<3)|0);
    42141         $2067 = HEAP32[$2066>>2]|0;
    42142         $2068 = (($2035) + 1)|0;
    42143         $2069 = (($$51058) + ($2068<<3)|0);
    42144         $2070 = +HEAPF32[$2069>>2];
    42145         $2071 = (($$51058) + ($2035<<3)|0);
    42146         $2072 = ((($2071)) + 4|0);
    42147         HEAP32[$2072>>2] = 6;
    42148         $2073 = (+($2067|0));
    42149         $2074 = $2073 * $2070;
    42150         $2075 = (($$51058) + ($2035<<3)|0);
    42151         HEAPF32[$2075>>2] = $2074;
    42152         break;
    42153        }
    42154        case 1539:  {
    42155         $2076 = (($$51058) + ($2035<<3)|0);
    42156         $2077 = +HEAPF32[$2076>>2];
    42157         $2078 = (($2035) + 1)|0;
    42158         $2079 = (($$51058) + ($2078<<3)|0);
    42159         $2080 = HEAP32[$2079>>2]|0;
    42160         $2081 = (+($2080|0));
    42161         $2082 = $2077 * $2081;
    42162         $2083 = (($$51058) + ($2035<<3)|0);
    42163         HEAPF32[$2083>>2] = $2082;
    42164         break;
    42165        }
    42166        case 1542:  {
    42167         $2084 = (($$51058) + ($2035<<3)|0);
    42168         $2085 = +HEAPF32[$2084>>2];
    42169         $2086 = (($2035) + 1)|0;
    42170         $2087 = (($$51058) + ($2086<<3)|0);
    42171         $2088 = +HEAPF32[$2087>>2];
    42172         $2089 = $2085 * $2088;
    42173         $2090 = (($$51058) + ($2035<<3)|0);
    42174         HEAPF32[$2090>>2] = $2089;
    42175         break;
    42176        }
    42177        default: {
    42178         $$01050 = $$21052;
    42179         label = 90;
    42180         break L50;
    42181        }
    42182        }
    42183       } while(0);
    42184       $2091 = ((($$61078)) + 4|0);
    42185       $2092 = HEAP32[$2091>>2]|0;
    42186       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2092;$$61078 = $2091;$$sink$reg2mem$0 = $2092;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42187       label = 583;
    42188       continue L19;
    42189       break;
    42190      }
    42191      case 50:  {
    42192       $2093 = $$21052 >>> 23;
    42193       $2094 = $2093 & 511;
    42194       $2095 = (($$51058) + ($2094<<3)|0);
    42195       $2096 = ((($2095)) + 4|0);
    42196       $2097 = HEAP32[$2096>>2]|0;
    42197       $2098 = $2097&65535;
    42198       $2099 = $2098&65535;
    42199       $2100 = $2099 << 8;
    42200       $2101 = (($2094) + 1)|0;
    42201       $2102 = (($$51058) + ($2101<<3)|0);
    42202       $2103 = ((($2102)) + 4|0);
    42203       $2104 = HEAP32[$2103>>2]|0;
    42204       $2105 = $2104&65535;
    42205       $2106 = $2105&65535;
    42206       $2107 = $2106 & 255;
    42207       $2108 = $2100 | $2107;
    42208       switch ($2108|0) {
    42209       case 771:  {
    42210        $2109 = (($$51058) + ($2094<<3)|0);
    42211        $2110 = HEAP32[$2109>>2]|0;
    42212        $2111 = (($2094) + 1)|0;
    42213        $2112 = (($$51058) + ($2111<<3)|0);
    42214        $2113 = HEAP32[$2112>>2]|0;
    42215        $2114 = (($$51058) + ($2094<<3)|0);
    42216        $2115 = ((($2114)) + 4|0);
    42217        HEAP32[$2115>>2] = 6;
    42218        $2116 = (+($2110|0));
    42219        $2117 = (+($2113|0));
    42220        $2118 = $2116 / $2117;
    42221        $2119 = (($$51058) + ($2094<<3)|0);
    42222        $$sink25$reg2mem$0 = $2118;$$sink28$reg2mem$0 = $2119;
    42223        break;
    42224       }
    42225       case 774:  {
    42226        $2120 = (($$51058) + ($2094<<3)|0);
    42227        $2121 = HEAP32[$2120>>2]|0;
    42228        $2122 = (($2094) + 1)|0;
    42229        $2123 = (($$51058) + ($2122<<3)|0);
    42230        $2124 = +HEAPF32[$2123>>2];
    42231        $2125 = (($$51058) + ($2094<<3)|0);
    42232        $2126 = ((($2125)) + 4|0);
    42233        HEAP32[$2126>>2] = 6;
    42234        $2127 = (+($2121|0));
    42235        $2128 = $2127 / $2124;
    42236        $2129 = (($$51058) + ($2094<<3)|0);
    42237        $$sink25$reg2mem$0 = $2128;$$sink28$reg2mem$0 = $2129;
    42238        break;
    42239       }
    42240       case 1539:  {
    42241        $2130 = (($$51058) + ($2094<<3)|0);
    42242        $2131 = +HEAPF32[$2130>>2];
    42243        $2132 = (($2094) + 1)|0;
    42244        $2133 = (($$51058) + ($2132<<3)|0);
    42245        $2134 = HEAP32[$2133>>2]|0;
    42246        $2135 = (+($2134|0));
    42247        $2136 = $2131 / $2135;
    42248        $2137 = (($$51058) + ($2094<<3)|0);
    42249        $$sink25$reg2mem$0 = $2136;$$sink28$reg2mem$0 = $2137;
    42250        break;
    42251       }
    42252       case 1542:  {
    42253        $2138 = (($$51058) + ($2094<<3)|0);
    42254        $2139 = +HEAPF32[$2138>>2];
    42255        $2140 = (($2094) + 1)|0;
    42256        $2141 = (($$51058) + ($2140<<3)|0);
    42257        $2142 = +HEAPF32[$2141>>2];
    42258        $2143 = $2139 / $2142;
    42259        $2144 = (($$51058) + ($2094<<3)|0);
    42260        $$sink25$reg2mem$0 = $2143;$$sink28$reg2mem$0 = $2144;
    42261        break;
    42262       }
    42263       default: {
    42264        $$01050 = $$21052;
    42265        label = 90;
    42266        break L50;
    42267       }
    42268       }
    42269       HEAPF32[$$sink28$reg2mem$0>>2] = $$sink25$reg2mem$0;
    42270       $2145 = ((($$61078)) + 4|0);
    42271       $2146 = HEAP32[$2145>>2]|0;
    42272       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2146;$$61078 = $2145;$$sink$reg2mem$0 = $2146;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42273       label = 583;
    42274       continue L19;
    42275       break;
    42276      }
    42277      case 51:  {
    42278       $2232 = $$21052 >>> 23;
    42279       $2233 = $2232 & 511;
    42280       $2234 = (($$51058) + ($2233<<3)|0);
    42281       $2235 = (($2233) + 1)|0;
    42282       $2236 = (($$51058) + ($2235<<3)|0);
    42283       __THREW__ = 0;
    42284       ;HEAP32[$$byval_copy1130>>2]=HEAP32[$2234>>2]|0;HEAP32[$$byval_copy1130+4>>2]=HEAP32[$2234+4>>2]|0;
    42285       ;HEAP32[$$byval_copy1131>>2]=HEAP32[$2236>>2]|0;HEAP32[$$byval_copy1131+4>>2]=HEAP32[$2236+4>>2]|0;
    42286       $2237 = (invoke_iiii(185,($1|0),($$byval_copy1130|0),($$byval_copy1131|0))|0);
    42287       $2238 = __THREW__; __THREW__ = 0;
    42288       if ((($2238|0) != 0) & ((threwValue|0) != 0)) { $2239 = _testSetjmp(HEAP32[$2238>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2239|0) == 0) { _longjmp($2238|0, threwValue|0); } tempRet0 = (threwValue); } else { $2239 = -1; };
    42289       $2240 = tempRet0;
    42290       $cond1291 = ($2239|0)==(1);
    42291       if ($cond1291) {
    42292        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2240;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42293        continue L3;
    42294       }
    42295       $2241 = ($2237<<24>>24)!=(0);
    42296       $2242 = (($$51058) + ($2233<<3)|0);
    42297       $2243 = ((($2242)) + 4|0);
    42298       do {
    42299        if ($2241) {
    42300         HEAP32[$2243>>2] = 2;
    42301         $2244 = (($$51058) + ($2233<<3)|0);
    42302         $$sink31$reg2mem$0 = $2244;
    42303        } else {
    42304         $2245 = HEAP32[$2243>>2]|0;
    42305         $2246 = $2245&65535;
    42306         $2247 = $2246&65535;
    42307         $2248 = $2247 << 8;
    42308         $2249 = (($2233) + 1)|0;
    42309         $2250 = (($$51058) + ($2249<<3)|0);
    42310         $2251 = ((($2250)) + 4|0);
    42311         $2252 = HEAP32[$2251>>2]|0;
    42312         $2253 = $2252&65535;
    42313         $2254 = $2253&65535;
    42314         $2255 = $2254 & 255;
    42315         $2256 = $2248 | $2255;
    42316         switch ($2256|0) {
    42317         case 771:  {
    42318          $2257 = (($$51058) + ($2233<<3)|0);
    42319          $2258 = HEAP32[$2257>>2]|0;
    42320          $2259 = (($2233) + 1)|0;
    42321          $2260 = (($$51058) + ($2259<<3)|0);
    42322          $2261 = HEAP32[$2260>>2]|0;
    42323          $2262 = ($2258|0)==($2261|0);
    42324          $2263 = $2262&1;
    42325          $$01013 = $2263;
    42326          break;
    42327         }
    42328         case 774:  {
    42329          $2264 = (($$51058) + ($2233<<3)|0);
    42330          $2265 = HEAP32[$2264>>2]|0;
    42331          $2266 = (+($2265|0));
    42332          $2267 = (($2233) + 1)|0;
    42333          $2268 = (($$51058) + ($2267<<3)|0);
    42334          $2269 = +HEAPF32[$2268>>2];
    42335          $2270 = $2266 == $2269;
    42336          $2271 = $2270&1;
    42337          $$01013 = $2271;
    42338          break;
    42339         }
    42340         case 1539:  {
    42341          $2272 = (($$51058) + ($2233<<3)|0);
    42342          $2273 = +HEAPF32[$2272>>2];
    42343          $2274 = (($2233) + 1)|0;
    42344          $2275 = (($$51058) + ($2274<<3)|0);
    42345          $2276 = HEAP32[$2275>>2]|0;
    42346          $2277 = (+($2276|0));
    42347          $2278 = $2273 == $2277;
    42348          $2279 = $2278&1;
    42349          $$01013 = $2279;
    42350          break;
    42351         }
    42352         case 1542:  {
    42353          $2280 = (($$51058) + ($2233<<3)|0);
    42354          $2281 = +HEAPF32[$2280>>2];
    42355          $2282 = (($2233) + 1)|0;
    42356          $2283 = (($$51058) + ($2282<<3)|0);
    42357          $2284 = +HEAPF32[$2283>>2];
    42358          $2285 = $2281 == $2284;
    42359          $2286 = $2285&1;
    42360          $$01013 = $2286;
    42361          break;
    42362         }
    42363         default: {
    42364          $$01050 = $$21052;
    42365          label = 90;
    42366          break L50;
    42367         }
    42368         }
    42369         $2287 = ($$01013|0)!=(0);
    42370         $2288 = (($$51058) + ($2233<<3)|0);
    42371         $2289 = ((($2288)) + 4|0);
    42372         if ($2287) {
    42373          HEAP32[$2289>>2] = 2;
    42374          $2290 = (($$51058) + ($2233<<3)|0);
    42375          $$sink31$reg2mem$0 = $2290;
    42376          break;
    42377         } else {
    42378          HEAP32[$2289>>2] = 0;
    42379          $2291 = (($$51058) + ($2233<<3)|0);
    42380          $$sink31$reg2mem$0 = $2291;
    42381          break;
    42382         }
    42383        }
    42384       } while(0);
    42385       HEAP32[$$sink31$reg2mem$0>>2] = 1;
    42386       $2292 = ((($$61078)) + 4|0);
    42387       $2293 = HEAP32[$2292>>2]|0;
    42388       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2293;$$61078 = $2292;$$sink$reg2mem$0 = $2293;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42389       label = 583;
    42390       continue L19;
    42391       break;
    42392      }
    42393      case 52:  {
    42394       $2294 = $$21052 >>> 23;
    42395       $2295 = $2294 & 511;
    42396       $2296 = (($$51058) + ($2295<<3)|0);
    42397       $2297 = ((($2296)) + 4|0);
    42398       $2298 = HEAP32[$2297>>2]|0;
    42399       $2299 = $2298&65535;
    42400       $2300 = $2299&65535;
    42401       $2301 = $2300 << 8;
    42402       $2302 = (($2295) + 1)|0;
    42403       $2303 = (($$51058) + ($2302<<3)|0);
    42404       $2304 = ((($2303)) + 4|0);
    42405       $2305 = HEAP32[$2304>>2]|0;
    42406       $2306 = $2305&65535;
    42407       $2307 = $2306&65535;
    42408       $2308 = $2307 & 255;
    42409       $2309 = $2301 | $2308;
    42410       switch ($2309|0) {
    42411       case 771:  {
    42412        $2310 = (($$51058) + ($2295<<3)|0);
    42413        $2311 = HEAP32[$2310>>2]|0;
    42414        $2312 = (($2295) + 1)|0;
    42415        $2313 = (($$51058) + ($2312<<3)|0);
    42416        $2314 = HEAP32[$2313>>2]|0;
    42417        $2315 = ($2311|0)<($2314|0);
    42418        $2316 = $2315&1;
    42419        $$01012 = $2316;
    42420        break;
    42421       }
    42422       case 774:  {
    42423        $2317 = (($$51058) + ($2295<<3)|0);
    42424        $2318 = HEAP32[$2317>>2]|0;
    42425        $2319 = (+($2318|0));
    42426        $2320 = (($2295) + 1)|0;
    42427        $2321 = (($$51058) + ($2320<<3)|0);
    42428        $2322 = +HEAPF32[$2321>>2];
    42429        $2323 = $2319 < $2322;
    42430        $2324 = $2323&1;
    42431        $$01012 = $2324;
    42432        break;
    42433       }
    42434       case 1539:  {
    42435        $2325 = (($$51058) + ($2295<<3)|0);
    42436        $2326 = +HEAPF32[$2325>>2];
    42437        $2327 = (($2295) + 1)|0;
    42438        $2328 = (($$51058) + ($2327<<3)|0);
    42439        $2329 = HEAP32[$2328>>2]|0;
    42440        $2330 = (+($2329|0));
    42441        $2331 = $2326 < $2330;
    42442        $2332 = $2331&1;
    42443        $$01012 = $2332;
    42444        break;
    42445       }
    42446       case 1542:  {
    42447        $2333 = (($$51058) + ($2295<<3)|0);
    42448        $2334 = +HEAPF32[$2333>>2];
    42449        $2335 = (($2295) + 1)|0;
    42450        $2336 = (($$51058) + ($2335<<3)|0);
    42451        $2337 = +HEAPF32[$2336>>2];
    42452        $2338 = $2334 < $2337;
    42453        $2339 = $2338&1;
    42454        $$01012 = $2339;
    42455        break;
    42456       }
    42457       default: {
    42458        $$01050 = $$21052;
    42459        label = 90;
    42460        break L50;
    42461       }
    42462       }
    42463       $2340 = ($$01012|0)!=(0);
    42464       $2341 = (($$51058) + ($2295<<3)|0);
    42465       $2342 = ((($2341)) + 4|0);
    42466       if ($2340) {
    42467        HEAP32[$2342>>2] = 2;
    42468        $2343 = (($$51058) + ($2295<<3)|0);
    42469        $$sink34$reg2mem$0 = $2343;
    42470       } else {
    42471        HEAP32[$2342>>2] = 0;
    42472        $2344 = (($$51058) + ($2295<<3)|0);
    42473        $$sink34$reg2mem$0 = $2344;
    42474       }
    42475       HEAP32[$$sink34$reg2mem$0>>2] = 1;
    42476       $2345 = ((($$61078)) + 4|0);
    42477       $2346 = HEAP32[$2345>>2]|0;
    42478       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2346;$$61078 = $2345;$$sink$reg2mem$0 = $2346;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42479       label = 583;
    42480       continue L19;
    42481       break;
    42482      }
    42483      case 53:  {
    42484       $2347 = $$21052 >>> 23;
    42485       $2348 = $2347 & 511;
    42486       $2349 = (($$51058) + ($2348<<3)|0);
    42487       $2350 = ((($2349)) + 4|0);
    42488       $2351 = HEAP32[$2350>>2]|0;
    42489       $2352 = $2351&65535;
    42490       $2353 = $2352&65535;
    42491       $2354 = $2353 << 8;
    42492       $2355 = (($2348) + 1)|0;
    42493       $2356 = (($$51058) + ($2355<<3)|0);
    42494       $2357 = ((($2356)) + 4|0);
    42495       $2358 = HEAP32[$2357>>2]|0;
    42496       $2359 = $2358&65535;
    42497       $2360 = $2359&65535;
    42498       $2361 = $2360 & 255;
    42499       $2362 = $2354 | $2361;
    42500       switch ($2362|0) {
    42501       case 771:  {
    42502        $2363 = (($$51058) + ($2348<<3)|0);
    42503        $2364 = HEAP32[$2363>>2]|0;
    42504        $2365 = (($2348) + 1)|0;
    42505        $2366 = (($$51058) + ($2365<<3)|0);
    42506        $2367 = HEAP32[$2366>>2]|0;
    42507        $2368 = ($2364|0)<=($2367|0);
    42508        $2369 = $2368&1;
    42509        $$01011 = $2369;
    42510        break;
    42511       }
    42512       case 774:  {
    42513        $2370 = (($$51058) + ($2348<<3)|0);
    42514        $2371 = HEAP32[$2370>>2]|0;
    42515        $2372 = (+($2371|0));
    42516        $2373 = (($2348) + 1)|0;
    42517        $2374 = (($$51058) + ($2373<<3)|0);
    42518        $2375 = +HEAPF32[$2374>>2];
    42519        $2376 = $2372 <= $2375;
    42520        $2377 = $2376&1;
    42521        $$01011 = $2377;
    42522        break;
    42523       }
    42524       case 1539:  {
    42525        $2378 = (($$51058) + ($2348<<3)|0);
    42526        $2379 = +HEAPF32[$2378>>2];
    42527        $2380 = (($2348) + 1)|0;
    42528        $2381 = (($$51058) + ($2380<<3)|0);
    42529        $2382 = HEAP32[$2381>>2]|0;
    42530        $2383 = (+($2382|0));
    42531        $2384 = $2379 <= $2383;
    42532        $2385 = $2384&1;
    42533        $$01011 = $2385;
    42534        break;
    42535       }
    42536       case 1542:  {
    42537        $2386 = (($$51058) + ($2348<<3)|0);
    42538        $2387 = +HEAPF32[$2386>>2];
    42539        $2388 = (($2348) + 1)|0;
    42540        $2389 = (($$51058) + ($2388<<3)|0);
    42541        $2390 = +HEAPF32[$2389>>2];
    42542        $2391 = $2387 <= $2390;
    42543        $2392 = $2391&1;
    42544        $$01011 = $2392;
    42545        break;
    42546       }
    42547       default: {
    42548        $$01050 = $$21052;
    42549        label = 90;
    42550        break L50;
    42551       }
    42552       }
    42553       $2393 = ($$01011|0)!=(0);
    42554       $2394 = (($$51058) + ($2348<<3)|0);
    42555       $2395 = ((($2394)) + 4|0);
    42556       if ($2393) {
    42557        HEAP32[$2395>>2] = 2;
    42558        $2396 = (($$51058) + ($2348<<3)|0);
    42559        $$sink37$reg2mem$0 = $2396;
    42560       } else {
    42561        HEAP32[$2395>>2] = 0;
    42562        $2397 = (($$51058) + ($2348<<3)|0);
    42563        $$sink37$reg2mem$0 = $2397;
    42564       }
    42565       HEAP32[$$sink37$reg2mem$0>>2] = 1;
    42566       $2398 = ((($$61078)) + 4|0);
    42567       $2399 = HEAP32[$2398>>2]|0;
    42568       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2399;$$61078 = $2398;$$sink$reg2mem$0 = $2399;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42569       label = 583;
    42570       continue L19;
    42571       break;
    42572      }
    42573      case 54:  {
    42574       $2400 = $$21052 >>> 23;
    42575       $2401 = $2400 & 511;
    42576       $2402 = (($$51058) + ($2401<<3)|0);
    42577       $2403 = ((($2402)) + 4|0);
    42578       $2404 = HEAP32[$2403>>2]|0;
    42579       $2405 = $2404&65535;
    42580       $2406 = $2405&65535;
    42581       $2407 = $2406 << 8;
    42582       $2408 = (($2401) + 1)|0;
    42583       $2409 = (($$51058) + ($2408<<3)|0);
    42584       $2410 = ((($2409)) + 4|0);
    42585       $2411 = HEAP32[$2410>>2]|0;
    42586       $2412 = $2411&65535;
    42587       $2413 = $2412&65535;
    42588       $2414 = $2413 & 255;
    42589       $2415 = $2407 | $2414;
    42590       switch ($2415|0) {
    42591       case 771:  {
    42592        $2416 = (($$51058) + ($2401<<3)|0);
    42593        $2417 = HEAP32[$2416>>2]|0;
    42594        $2418 = (($2401) + 1)|0;
    42595        $2419 = (($$51058) + ($2418<<3)|0);
    42596        $2420 = HEAP32[$2419>>2]|0;
    42597        $2421 = ($2417|0)>($2420|0);
    42598        $2422 = $2421&1;
    42599        $$01010 = $2422;
    42600        break;
    42601       }
    42602       case 774:  {
    42603        $2423 = (($$51058) + ($2401<<3)|0);
    42604        $2424 = HEAP32[$2423>>2]|0;
    42605        $2425 = (+($2424|0));
    42606        $2426 = (($2401) + 1)|0;
    42607        $2427 = (($$51058) + ($2426<<3)|0);
    42608        $2428 = +HEAPF32[$2427>>2];
    42609        $2429 = $2425 > $2428;
    42610        $2430 = $2429&1;
    42611        $$01010 = $2430;
    42612        break;
    42613       }
    42614       case 1539:  {
    42615        $2431 = (($$51058) + ($2401<<3)|0);
    42616        $2432 = +HEAPF32[$2431>>2];
    42617        $2433 = (($2401) + 1)|0;
    42618        $2434 = (($$51058) + ($2433<<3)|0);
    42619        $2435 = HEAP32[$2434>>2]|0;
    42620        $2436 = (+($2435|0));
    42621        $2437 = $2432 > $2436;
    42622        $2438 = $2437&1;
    42623        $$01010 = $2438;
    42624        break;
    42625       }
    42626       case 1542:  {
    42627        $2439 = (($$51058) + ($2401<<3)|0);
    42628        $2440 = +HEAPF32[$2439>>2];
    42629        $2441 = (($2401) + 1)|0;
    42630        $2442 = (($$51058) + ($2441<<3)|0);
    42631        $2443 = +HEAPF32[$2442>>2];
    42632        $2444 = $2440 > $2443;
    42633        $2445 = $2444&1;
    42634        $$01010 = $2445;
    42635        break;
    42636       }
    42637       default: {
    42638        $$01050 = $$21052;
    42639        label = 90;
    42640        break L50;
    42641       }
    42642       }
    42643       $2446 = ($$01010|0)!=(0);
    42644       $2447 = (($$51058) + ($2401<<3)|0);
    42645       $2448 = ((($2447)) + 4|0);
    42646       if ($2446) {
    42647        HEAP32[$2448>>2] = 2;
    42648        $2449 = (($$51058) + ($2401<<3)|0);
    42649        $$sink40$reg2mem$0 = $2449;
    42650       } else {
    42651        HEAP32[$2448>>2] = 0;
    42652        $2450 = (($$51058) + ($2401<<3)|0);
    42653        $$sink40$reg2mem$0 = $2450;
    42654       }
    42655       HEAP32[$$sink40$reg2mem$0>>2] = 1;
    42656       $2451 = ((($$61078)) + 4|0);
    42657       $2452 = HEAP32[$2451>>2]|0;
    42658       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2452;$$61078 = $2451;$$sink$reg2mem$0 = $2452;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42659       label = 583;
    42660       continue L19;
    42661       break;
    42662      }
    42663      case 55:  {
    42664       $2453 = $$21052 >>> 23;
    42665       $2454 = $2453 & 511;
    42666       $2455 = (($$51058) + ($2454<<3)|0);
    42667       $2456 = ((($2455)) + 4|0);
    42668       $2457 = HEAP32[$2456>>2]|0;
    42669       $2458 = $2457&65535;
    42670       $2459 = $2458&65535;
    42671       $2460 = $2459 << 8;
    42672       $2461 = (($2454) + 1)|0;
    42673       $2462 = (($$51058) + ($2461<<3)|0);
    42674       $2463 = ((($2462)) + 4|0);
    42675       $2464 = HEAP32[$2463>>2]|0;
    42676       $2465 = $2464&65535;
    42677       $2466 = $2465&65535;
    42678       $2467 = $2466 & 255;
    42679       $2468 = $2460 | $2467;
    42680       switch ($2468|0) {
    42681       case 771:  {
    42682        $2469 = (($$51058) + ($2454<<3)|0);
    42683        $2470 = HEAP32[$2469>>2]|0;
    42684        $2471 = (($2454) + 1)|0;
    42685        $2472 = (($$51058) + ($2471<<3)|0);
    42686        $2473 = HEAP32[$2472>>2]|0;
    42687        $2474 = ($2470|0)>=($2473|0);
    42688        $2475 = $2474&1;
    42689        $$01009 = $2475;
    42690        break;
    42691       }
    42692       case 774:  {
    42693        $2476 = (($$51058) + ($2454<<3)|0);
    42694        $2477 = HEAP32[$2476>>2]|0;
    42695        $2478 = (+($2477|0));
    42696        $2479 = (($2454) + 1)|0;
    42697        $2480 = (($$51058) + ($2479<<3)|0);
    42698        $2481 = +HEAPF32[$2480>>2];
    42699        $2482 = $2478 >= $2481;
    42700        $2483 = $2482&1;
    42701        $$01009 = $2483;
    42702        break;
    42703       }
    42704       case 1539:  {
    42705        $2484 = (($$51058) + ($2454<<3)|0);
    42706        $2485 = +HEAPF32[$2484>>2];
    42707        $2486 = (($2454) + 1)|0;
    42708        $2487 = (($$51058) + ($2486<<3)|0);
    42709        $2488 = HEAP32[$2487>>2]|0;
    42710        $2489 = (+($2488|0));
    42711        $2490 = $2485 >= $2489;
    42712        $2491 = $2490&1;
    42713        $$01009 = $2491;
    42714        break;
    42715       }
    42716       case 1542:  {
    42717        $2492 = (($$51058) + ($2454<<3)|0);
    42718        $2493 = +HEAPF32[$2492>>2];
    42719        $2494 = (($2454) + 1)|0;
    42720        $2495 = (($$51058) + ($2494<<3)|0);
    42721        $2496 = +HEAPF32[$2495>>2];
    42722        $2497 = $2493 >= $2496;
    42723        $2498 = $2497&1;
    42724        $$01009 = $2498;
    42725        break;
    42726       }
    42727       default: {
    42728        $$01050 = $$21052;
    42729        label = 90;
    42730        break L50;
    42731       }
    42732       }
    42733       $2499 = ($$01009|0)!=(0);
    42734       $2500 = (($$51058) + ($2454<<3)|0);
    42735       $2501 = ((($2500)) + 4|0);
    42736       if ($2499) {
    42737        HEAP32[$2501>>2] = 2;
    42738        $2502 = (($$51058) + ($2454<<3)|0);
    42739        $$sink43$reg2mem$0 = $2502;
    42740       } else {
    42741        HEAP32[$2501>>2] = 0;
    42742        $2503 = (($$51058) + ($2454<<3)|0);
    42743        $$sink43$reg2mem$0 = $2503;
    42744       }
    42745       HEAP32[$$sink43$reg2mem$0>>2] = 1;
    42746       $2504 = ((($$61078)) + 4|0);
    42747       $2505 = HEAP32[$2504>>2]|0;
    42748       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2505;$$61078 = $2504;$$sink$reg2mem$0 = $2505;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42749       label = 583;
    42750       continue L19;
    42751       break;
    42752      }
    42753      case 56:  {
    42754       $2506 = $$21052 >>> 23;
    42755       $2507 = $2506 & 511;
    42756       $2508 = (($$51058) + ($2507<<3)|0);
    42757       $2509 = $$21052 >>> 7;
    42758       $2510 = $2509 & 127;
    42759       $2511 = $$21052 >>> 14;
    42760       $2512 = $2511 & 511;
    42761       $2513 = (($$51058) + ($2512<<3)|0);
    42762       __THREW__ = 0;
    42763       invoke_viiii(167,($59|0),($1|0),($2510|0),($2513|0));
    42764       $2514 = __THREW__; __THREW__ = 0;
    42765       if ((($2514|0) != 0) & ((threwValue|0) != 0)) { $2515 = _testSetjmp(HEAP32[$2514>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2515|0) == 0) { _longjmp($2514|0, threwValue|0); } tempRet0 = (threwValue); } else { $2515 = -1; };
    42766       $2516 = tempRet0;
    42767       $cond1290 = ($2515|0)==(1);
    42768       if ($cond1290) {
    42769        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2516;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42770        continue L3;
    42771       }
    42772       ;HEAP32[$2508>>2]=HEAP32[$59>>2]|0;HEAP32[$2508+4>>2]=HEAP32[$59+4>>2]|0;
    42773       $2517 = ((($1)) + 92|0);
    42774       $2518 = ((($2517)) + 416|0);
    42775       HEAP32[$2518>>2] = $$11049;
    42776       $2519 = ((($$61078)) + 4|0);
    42777       $2520 = HEAP32[$2519>>2]|0;
    42778       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2520;$$61078 = $2519;$$sink$reg2mem$0 = $2520;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42779       label = 583;
    42780       continue L19;
    42781       break;
    42782      }
    42783      case 57:  {
    42784       $2521 = $$21052 >>> 23;
    42785       $2522 = $2521 & 511;
    42786       $2523 = (($$51058) + ($2522<<3)|0);
    42787       $2524 = $$21052 >>> 14;
    42788       $2525 = $2524 & 511;
    42789       $2526 = (($$51058) + ($2525<<3)|0);
    42790       __THREW__ = 0;
    42791       ;HEAP32[$$byval_copy1132>>2]=HEAP32[$2526>>2]|0;HEAP32[$$byval_copy1132+4>>2]=HEAP32[$2526+4>>2]|0;
    42792       invoke_viii(186,($60|0),($1|0),($$byval_copy1132|0));
    42793       $2527 = __THREW__; __THREW__ = 0;
    42794       if ((($2527|0) != 0) & ((threwValue|0) != 0)) { $2528 = _testSetjmp(HEAP32[$2527>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2528|0) == 0) { _longjmp($2527|0, threwValue|0); } tempRet0 = (threwValue); } else { $2528 = -1; };
    42795       $2529 = tempRet0;
    42796       $cond1288 = ($2528|0)==(1);
    42797       if ($cond1288) {
    42798        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2529;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42799        continue L3;
    42800       }
    42801       __THREW__ = 0;
    42802       ;HEAP32[$$byval_copy1133>>2]=HEAP32[$2523>>2]|0;HEAP32[$$byval_copy1133+4>>2]=HEAP32[$2523+4>>2]|0;
    42803       ;HEAP32[$$byval_copy1134>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy1134+4>>2]=HEAP32[$60+4>>2]|0;
    42804       invoke_viii(187,($1|0),($$byval_copy1133|0),($$byval_copy1134|0));
    42805       $2530 = __THREW__; __THREW__ = 0;
    42806       if ((($2530|0) != 0) & ((threwValue|0) != 0)) { $2531 = _testSetjmp(HEAP32[$2530>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2531|0) == 0) { _longjmp($2530|0, threwValue|0); } tempRet0 = (threwValue); } else { $2531 = -1; };
    42807       $2532 = tempRet0;
    42808       $cond1289 = ($2531|0)==(1);
    42809       if ($cond1289) {
    42810        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2532;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42811        continue L3;
    42812       }
    42813       $2533 = ((($1)) + 92|0);
    42814       $2534 = ((($2533)) + 416|0);
    42815       HEAP32[$2534>>2] = $$11049;
    42816       $2535 = ((($$61078)) + 4|0);
    42817       $2536 = HEAP32[$2535>>2]|0;
    42818       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2536;$$61078 = $2535;$$sink$reg2mem$0 = $2536;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42819       label = 583;
    42820       continue L19;
    42821       break;
    42822      }
    42823      case 58:  {
    42824       $2537 = $$21052 >>> 23;
    42825       $2538 = $2537 & 511;
    42826       $2539 = (($$51058) + ($2538<<3)|0);
    42827       $2540 = $$21052 >>> 14;
    42828       $2541 = $2540 & 511;
    42829       $2542 = (($$51058) + ($2541<<3)|0);
    42830       __THREW__ = 0;
    42831       ;HEAP32[$$byval_copy1135>>2]=HEAP32[$2539>>2]|0;HEAP32[$$byval_copy1135+4>>2]=HEAP32[$2539+4>>2]|0;
    42832       ;HEAP32[$$byval_copy1136>>2]=HEAP32[$2542>>2]|0;HEAP32[$$byval_copy1136+4>>2]=HEAP32[$2542+4>>2]|0;
    42833       invoke_viii(188,($1|0),($$byval_copy1135|0),($$byval_copy1136|0));
    42834       $2543 = __THREW__; __THREW__ = 0;
    42835       if ((($2543|0) != 0) & ((threwValue|0) != 0)) { $2544 = _testSetjmp(HEAP32[$2543>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2544|0) == 0) { _longjmp($2543|0, threwValue|0); } tempRet0 = (threwValue); } else { $2544 = -1; };
    42836       $2545 = tempRet0;
    42837       $cond1287 = ($2544|0)==(1);
    42838       if ($cond1287) {
    42839        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2545;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42840        continue L3;
    42841       }
    42842       $2546 = ((($$61078)) + 4|0);
    42843       $2547 = HEAP32[$2546>>2]|0;
    42844       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2547;$$61078 = $2546;$$sink$reg2mem$0 = $2547;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42845       label = 583;
    42846       continue L19;
    42847       break;
    42848      }
    42849      case 59:  {
    42850       $2548 = $$21052 >>> 23;
    42851       $2549 = $2548 & 511;
    42852       $2550 = $$21052 >>> 7;
    42853       $2551 = $2550 & 127;
    42854       $2552 = $$21052 >>> 14;
    42855       $2553 = $2552 & 511;
    42856       $2554 = (($$51058) + ($2553<<3)|0);
    42857       ;HEAP32[$61>>2]=HEAP32[$2554>>2]|0;HEAP32[$61+4>>2]=HEAP32[$2554+4>>2]|0;
    42858       $2555 = ((($61)) + 4|0);
    42859       $2556 = HEAP32[$2555>>2]|0;
    42860       $2557 = ($2556|0)==(14);
    42861       do {
    42862        if ($2557) {
    42863         $2565 = $$21052 >>> 23;
    42864         $2566 = $2565 & 511;
    42865         $2567 = (($$51058) + ($2566<<3)|0);
    42866         __THREW__ = 0;
    42867         ;HEAP32[$$byval_copy1137>>2]=HEAP32[$61>>2]|0;HEAP32[$$byval_copy1137+4>>2]=HEAP32[$61+4>>2]|0;
    42868         invoke_viiii(189,($62|0),($1|0),($$byval_copy1137|0),($2551|0));
    42869         $2568 = __THREW__; __THREW__ = 0;
    42870         if ((($2568|0) != 0) & ((threwValue|0) != 0)) { $2569 = _testSetjmp(HEAP32[$2568>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2569|0) == 0) { _longjmp($2568|0, threwValue|0); } tempRet0 = (threwValue); } else { $2569 = -1; };
    42871         $2570 = tempRet0;
    42872         $cond1286 = ($2569|0)==(1);
    42873         if ($cond1286) {
    42874          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2570;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42875          continue L3;
    42876         }
    42877         ;HEAP32[$2567>>2]=HEAP32[$62>>2]|0;HEAP32[$2567+4>>2]=HEAP32[$62+4>>2]|0;
    42878        } else {
    42879         $2558 = ($2551|0)==(0);
    42880         if ($2558) {
    42881          $2559 = $$21052 >>> 23;
    42882          $2560 = $2559 & 511;
    42883          $2561 = (($$51058) + ($2560<<3)|0);
    42884          ;HEAP32[$2561>>2]=HEAP32[$61>>2]|0;HEAP32[$2561+4>>2]=HEAP32[$61+4>>2]|0;
    42885          break;
    42886         } else {
    42887          $2562 = (($$51058) + ($2549<<3)|0);
    42888          $2563 = ((($2562)) + 4|0);
    42889          HEAP32[$2563>>2] = 0;
    42890          $2564 = (($$51058) + ($2549<<3)|0);
    42891          HEAP32[$2564>>2] = 0;
    42892          break;
    42893         }
    42894        }
    42895       } while(0);
    42896       $2571 = ((($$61078)) + 4|0);
    42897       $2572 = HEAP32[$2571>>2]|0;
    42898       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2572;$$61078 = $2571;$$sink$reg2mem$0 = $2572;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42899       label = 583;
    42900       continue L19;
    42901       break;
    42902      }
    42903      case 60:  {
    42904       $2573 = $$21052 >>> 14;
    42905       $2574 = $2573 & 511;
    42906       $2575 = (($$51058) + ($2574<<3)|0);
    42907       $2576 = $$21052 >>> 7;
    42908       $2577 = $2576 & 127;
    42909       $2578 = $$21052 >>> 23;
    42910       $2579 = $2578 & 511;
    42911       $2580 = (($$51058) + ($2579<<3)|0);
    42912       __THREW__ = 0;
    42913       ;HEAP32[$$byval_copy1138>>2]=HEAP32[$2575>>2]|0;HEAP32[$$byval_copy1138+4>>2]=HEAP32[$2575+4>>2]|0;
    42914       ;HEAP32[$$byval_copy1139>>2]=HEAP32[$2580>>2]|0;HEAP32[$$byval_copy1139+4>>2]=HEAP32[$2580+4>>2]|0;
    42915       invoke_viiii(190,($1|0),($$byval_copy1138|0),($2577|0),($$byval_copy1139|0));
    42916       $2581 = __THREW__; __THREW__ = 0;
    42917       if ((($2581|0) != 0) & ((threwValue|0) != 0)) { $2582 = _testSetjmp(HEAP32[$2581>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2582|0) == 0) { _longjmp($2581|0, threwValue|0); } tempRet0 = (threwValue); } else { $2582 = -1; };
    42918       $2583 = tempRet0;
    42919       $cond1285 = ($2582|0)==(1);
    42920       if ($cond1285) {
    42921        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2583;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42922        continue L3;
    42923       }
    42924       $2584 = ((($$61078)) + 4|0);
    42925       $2585 = HEAP32[$2584>>2]|0;
    42926       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2585;$$61078 = $2584;$$sink$reg2mem$0 = $2585;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    42927       label = 583;
    42928       continue L19;
    42929       break;
    42930      }
    42931      case 61:  {
    42932       $2586 = $$21052 >>> 23;
    42933       $2587 = $2586 & 511;
    42934       $2588 = (($$51058) + ($2587<<3)|0);
    42935       ;HEAP32[$63>>2]=HEAP32[$2588>>2]|0;HEAP32[$63+4>>2]=HEAP32[$2588+4>>2]|0;
    42936       $2589 = $$21052 >>> 14;
    42937       $2590 = $2589 & 511;
    42938       $2591 = $$21052 >>> 7;
    42939       $2592 = $2591 & 127;
    42940       $2593 = ((($63)) + 4|0);
    42941       $2594 = HEAP32[$2593>>2]|0;
    42942       $2595 = ($2594|0)==(14);
    42943       if (!($2595)) {
    42944        $2596 = (($$51058) + ($2587<<3)|0);
    42945        __THREW__ = 0;
    42946        invoke_viiii(167,($64|0),($1|0),1,($2596|0));
    42947        $2597 = __THREW__; __THREW__ = 0;
    42948        if ((($2597|0) != 0) & ((threwValue|0) != 0)) { $2598 = _testSetjmp(HEAP32[$2597>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2598|0) == 0) { _longjmp($2597|0, threwValue|0); } tempRet0 = (threwValue); } else { $2598 = -1; };
    42949        $2599 = tempRet0;
    42950        $cond1282 = ($2598|0)==(1);
    42951        if ($cond1282) {
    42952         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2599;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42953         continue L3;
    42954        }
    42955        ;HEAP32[$63>>2]=HEAP32[$64>>2]|0;HEAP32[$63+4>>2]=HEAP32[$64+4>>2]|0;
    42956       }
    42957       $2600 = HEAP32[$63>>2]|0;
    42958       $2601 = ((($2600)) + 12|0);
    42959       $2602 = HEAP32[$2601>>2]|0;
    42960       $2603 = (($2590) + ($2592))|0;
    42961       $2604 = ($2602|0)>($2603|0);
    42962       $2605 = (($2587) + 1)|0;
    42963       $2606 = (($$51058) + ($2587<<3)|0);
    42964       L505: do {
    42965        if ($2604) {
    42966         $2607 = (($2602) - ($2590))|0;
    42967         $2608 = (($2607) - ($2592))|0;
    42968         $2609 = ((($2600)) + 20|0);
    42969         $2610 = HEAP32[$2609>>2]|0;
    42970         $2611 = (($2610) + ($2590<<3)|0);
    42971         __THREW__ = 0;
    42972         invoke_viiii(167,($65|0),($1|0),($2608|0),($2611|0));
    42973         $2612 = __THREW__; __THREW__ = 0;
    42974         if ((($2612|0) != 0) & ((threwValue|0) != 0)) { $2613 = _testSetjmp(HEAP32[$2612>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2613|0) == 0) { _longjmp($2612|0, threwValue|0); } tempRet0 = (threwValue); } else { $2613 = -1; };
    42975         $2614 = tempRet0;
    42976         $cond1284 = ($2613|0)==(1);
    42977         if ($cond1284) {
    42978          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2614;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    42979          continue L3;
    42980         }
    42981         ;HEAP32[$2606>>2]=HEAP32[$65>>2]|0;HEAP32[$2606+4>>2]=HEAP32[$65+4>>2]|0;
    42982         $$01007 = $2592;$$01008 = $2605;
    42983         while(1) {
    42984          $2615 = (($$01007) + -1)|0;
    42985          $2616 = ($$01007|0)!=(0);
    42986          if (!($2616)) {
    42987           break L505;
    42988          }
    42989          $2617 = (($$01008) + 1)|0;
    42990          $2618 = (($$51058) + ($$01008<<3)|0);
    42991          $2619 = ((($2600)) + 20|0);
    42992          $2620 = HEAP32[$2619>>2]|0;
    42993          $2621 = (($2602) - ($2615))|0;
    42994          $2622 = (($2621) - 1)|0;
    42995          $2623 = (($2620) + ($2622<<3)|0);
    42996          ;HEAP32[$2618>>2]=HEAP32[$2623>>2]|0;HEAP32[$2618+4>>2]=HEAP32[$2623+4>>2]|0;
    42997          $$01007 = $2615;$$01008 = $2617;
    42998         }
    42999        } else {
    43000         __THREW__ = 0;
    43001         invoke_viii(173,($66|0),($1|0),0);
    43002         $2624 = __THREW__; __THREW__ = 0;
    43003         if ((($2624|0) != 0) & ((threwValue|0) != 0)) { $2625 = _testSetjmp(HEAP32[$2624>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2625|0) == 0) { _longjmp($2624|0, threwValue|0); } tempRet0 = (threwValue); } else { $2625 = -1; };
    43004         $2626 = tempRet0;
    43005         $cond1283 = ($2625|0)==(1);
    43006         if ($cond1283) {
    43007          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2626;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43008          continue L3;
    43009         }
    43010         ;HEAP32[$2606>>2]=HEAP32[$66>>2]|0;HEAP32[$2606+4>>2]=HEAP32[$66+4>>2]|0;
    43011         $$01006 = 0;
    43012         while(1) {
    43013          $2627 = (($$01006) + ($2590))|0;
    43014          $2628 = ($2627|0)<($2602|0);
    43015          if (!($2628)) {
    43016           $$1 = $$01006;
    43017           break;
    43018          }
    43019          $2629 = (($2605) + ($$01006))|0;
    43020          $2630 = (($$51058) + ($2629<<3)|0);
    43021          $2631 = ((($2600)) + 20|0);
    43022          $2632 = HEAP32[$2631>>2]|0;
    43023          $2633 = (($2590) + ($$01006))|0;
    43024          $2634 = (($2632) + ($2633<<3)|0);
    43025          ;HEAP32[$2630>>2]=HEAP32[$2634>>2]|0;HEAP32[$2630+4>>2]=HEAP32[$2634+4>>2]|0;
    43026          $2635 = (($$01006) + 1)|0;
    43027          $$01006 = $2635;
    43028         }
    43029         while(1) {
    43030          $2636 = ($$1|0)<($2592|0);
    43031          if (!($2636)) {
    43032           break L505;
    43033          }
    43034          $2637 = (($2605) + ($$1))|0;
    43035          $2638 = (($$51058) + ($2637<<3)|0);
    43036          $2639 = ((($2638)) + 4|0);
    43037          HEAP32[$2639>>2] = 0;
    43038          $2640 = (($2605) + ($$1))|0;
    43039          $2641 = (($$51058) + ($2640<<3)|0);
    43040          HEAP32[$2641>>2] = 0;
    43041          $2642 = (($$1) + 1)|0;
    43042          $$1 = $2642;
    43043         }
    43044        }
    43045       } while(0);
    43046       $2643 = ((($1)) + 92|0);
    43047       $2644 = ((($2643)) + 416|0);
    43048       HEAP32[$2644>>2] = $$11049;
    43049       $2645 = ((($$61078)) + 4|0);
    43050       $2646 = HEAP32[$2645>>2]|0;
    43051       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2646;$$61078 = $2645;$$sink$reg2mem$0 = $2646;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43052       label = 583;
    43053       continue L19;
    43054       break;
    43055      }
    43056      case 62:  {
    43057       $2647 = $$21052 >>> 23;
    43058       $2648 = $2647 & 511;
    43059       $2649 = (($$51058) + ($2648<<3)|0);
    43060       $2650 = $$21052 >>> 7;
    43061       $2651 = $2650 & 65535;
    43062       $2652 = (($$61071) + ($2651<<3)|0);
    43063       __THREW__ = 0;
    43064       ;HEAP32[$$byval_copy1140>>2]=HEAP32[$2652>>2]|0;HEAP32[$$byval_copy1140+4>>2]=HEAP32[$2652+4>>2]|0;
    43065       invoke_viii(191,($67|0),($1|0),($$byval_copy1140|0));
    43066       $2653 = __THREW__; __THREW__ = 0;
    43067       if ((($2653|0) != 0) & ((threwValue|0) != 0)) { $2654 = _testSetjmp(HEAP32[$2653>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2654|0) == 0) { _longjmp($2653|0, threwValue|0); } tempRet0 = (threwValue); } else { $2654 = -1; };
    43068       $2655 = tempRet0;
    43069       $cond1281 = ($2654|0)==(1);
    43070       if ($cond1281) {
    43071        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2655;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43072        continue L3;
    43073       }
    43074       ;HEAP32[$2649>>2]=HEAP32[$67>>2]|0;HEAP32[$2649+4>>2]=HEAP32[$67+4>>2]|0;
    43075       $2656 = ((($1)) + 92|0);
    43076       $2657 = ((($2656)) + 416|0);
    43077       HEAP32[$2657>>2] = $$11049;
    43078       $2658 = ((($$61078)) + 4|0);
    43079       $2659 = HEAP32[$2658>>2]|0;
    43080       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2659;$$61078 = $2658;$$sink$reg2mem$0 = $2659;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43081       label = 583;
    43082       continue L19;
    43083       break;
    43084      }
    43085      case 63:  {
    43086       $2660 = $$21052 >>> 23;
    43087       $2661 = $2660 & 511;
    43088       $2662 = (($$51058) + ($2661<<3)|0);
    43089       $2663 = $$21052 >>> 14;
    43090       $2664 = $2663 & 511;
    43091       $2665 = (($$51058) + ($2664<<3)|0);
    43092       __THREW__ = 0;
    43093       ;HEAP32[$$byval_copy1141>>2]=HEAP32[$2662>>2]|0;HEAP32[$$byval_copy1141+4>>2]=HEAP32[$2662+4>>2]|0;
    43094       ;HEAP32[$$byval_copy1142>>2]=HEAP32[$2665>>2]|0;HEAP32[$$byval_copy1142+4>>2]=HEAP32[$2665+4>>2]|0;
    43095       invoke_viii(192,($1|0),($$byval_copy1141|0),($$byval_copy1142|0));
    43096       $2666 = __THREW__; __THREW__ = 0;
    43097       if ((($2666|0) != 0) & ((threwValue|0) != 0)) { $2667 = _testSetjmp(HEAP32[$2666>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2667|0) == 0) { _longjmp($2666|0, threwValue|0); } tempRet0 = (threwValue); } else { $2667 = -1; };
    43098       $2668 = tempRet0;
    43099       $cond1280 = ($2667|0)==(1);
    43100       if ($cond1280) {
    43101        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2668;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43102        continue L3;
    43103       }
    43104       $2669 = ((($1)) + 12|0);
    43105       $2670 = HEAP32[$2669>>2]|0;
    43106       $2671 = ((($2670)) + 4|0);
    43107       $2672 = HEAP32[$2671>>2]|0;
    43108       $2673 = ((($$61078)) + 4|0);
    43109       $2674 = HEAP32[$2673>>2]|0;
    43110       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $2674;$$51058 = $2672;$$61078 = $2673;$$sink$reg2mem$0 = $2674;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
    43111       label = 583;
    43112       continue L19;
    43113       break;
    43114      }
    43115      case 64:  {
    43116       $2675 = $$21052 >>> 14;
    43117       $2676 = $2675 & 511;
    43118       $2677 = $$21052 >>> 7;
    43119       $2678 = $2677 & 127;
    43120       $2679 = $2678<<1;
    43121       $2680 = (($2676) + ($2679))|0;
    43122       __THREW__ = 0;
    43123       invoke_viii(193,($68|0),($1|0),($2678|0));
    43124       $2681 = __THREW__; __THREW__ = 0;
    43125       if ((($2681|0) != 0) & ((threwValue|0) != 0)) { $2682 = _testSetjmp(HEAP32[$2681>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2682|0) == 0) { _longjmp($2681|0, threwValue|0); } tempRet0 = (threwValue); } else { $2682 = -1; };
    43126       $2683 = tempRet0;
    43127       $cond1278 = ($2682|0)==(1);
    43128       if ($cond1278) {
    43129        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2683;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43130        continue L3;
    43131       }
    43132       $$01005 = $2676;
    43133       while(1) {
    43134        $2684 = ($$01005|0)<($2680|0);
    43135        if (!($2684)) {
    43136         break;
    43137        }
    43138        $2685 = (($$51058) + ($$01005<<3)|0);
    43139        $2686 = (($$01005) + 1)|0;
    43140        $2687 = (($$51058) + ($2686<<3)|0);
    43141        __THREW__ = 0;
    43142        ;HEAP32[$$byval_copy1143>>2]=HEAP32[$68>>2]|0;HEAP32[$$byval_copy1143+4>>2]=HEAP32[$68+4>>2]|0;
    43143        ;HEAP32[$$byval_copy1144>>2]=HEAP32[$2685>>2]|0;HEAP32[$$byval_copy1144+4>>2]=HEAP32[$2685+4>>2]|0;
    43144        ;HEAP32[$$byval_copy1145>>2]=HEAP32[$2687>>2]|0;HEAP32[$$byval_copy1145+4>>2]=HEAP32[$2687+4>>2]|0;
    43145        invoke_viiii(194,($1|0),($$byval_copy1143|0),($$byval_copy1144|0),($$byval_copy1145|0));
    43146        $2688 = __THREW__; __THREW__ = 0;
    43147        if ((($2688|0) != 0) & ((threwValue|0) != 0)) { $2689 = _testSetjmp(HEAP32[$2688>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2689|0) == 0) { _longjmp($2688|0, threwValue|0); } tempRet0 = (threwValue); } else { $2689 = -1; };
    43148        $2690 = tempRet0;
    43149        $cond1279 = ($2689|0)==(1);
    43150        if ($cond1279) {
    43151         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2690;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43152         continue L3;
    43153        }
    43154        $2691 = (($$01005) + 2)|0;
    43155        $$01005 = $2691;
    43156       }
    43157       $2692 = $$21052 >>> 23;
    43158       $2693 = $2692 & 511;
    43159       $2694 = (($$51058) + ($2693<<3)|0);
    43160       ;HEAP32[$2694>>2]=HEAP32[$68>>2]|0;HEAP32[$2694+4>>2]=HEAP32[$68+4>>2]|0;
    43161       $2695 = ((($1)) + 92|0);
    43162       $2696 = ((($2695)) + 416|0);
    43163       HEAP32[$2696>>2] = $$11049;
    43164       $2697 = ((($$61078)) + 4|0);
    43165       $2698 = HEAP32[$2697>>2]|0;
    43166       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2698;$$61078 = $2697;$$sink$reg2mem$0 = $2698;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43167       label = 583;
    43168       continue L19;
    43169       break;
    43170      }
    43171      case 65:  {
    43172       $2699 = $$21052 >>> 7;
    43173       $2700 = $2699 & 3;
    43174       $2701 = $2700 & 2;
    43175       $2702 = ($2701|0)!=(0);
    43176       $2703 = ((($$8)) + 20|0);
    43177       $2704 = HEAP32[$2703>>2]|0;
    43178       $2705 = $$21052 >>> 9;
    43179       $2706 = $2705 & 16383;
    43180       $2707 = (($2704) + ($2706<<2)|0);
    43181       $2708 = HEAP32[$2707>>2]|0;
    43182       if ($2702) {
    43183        __THREW__ = 0;
    43184        $2709 = (invoke_iii(165,($1|0),($2708|0))|0);
    43185        $2710 = __THREW__; __THREW__ = 0;
    43186        if ((($2710|0) != 0) & ((threwValue|0) != 0)) { $2711 = _testSetjmp(HEAP32[$2710>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2711|0) == 0) { _longjmp($2710|0, threwValue|0); } tempRet0 = (threwValue); } else { $2711 = -1; };
    43187        $2712 = tempRet0;
    43188        $cond1277 = ($2711|0)==(1);
    43189        if ($cond1277) {
    43190         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2712;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43191         continue L3;
    43192        }
    43193        $$01004 = $2709;
    43194       } else {
    43195        __THREW__ = 0;
    43196        $2713 = (invoke_iii(195,($1|0),($2708|0))|0);
    43197        $2714 = __THREW__; __THREW__ = 0;
    43198        if ((($2714|0) != 0) & ((threwValue|0) != 0)) { $2715 = _testSetjmp(HEAP32[$2714>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2715|0) == 0) { _longjmp($2714|0, threwValue|0); } tempRet0 = (threwValue); } else { $2715 = -1; };
    43199        $2716 = tempRet0;
    43200        $cond1275 = ($2715|0)==(1);
    43201        if ($cond1275) {
    43202         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2716;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43203         continue L3;
    43204        }
    43205        $$01004 = $2713;
    43206       }
    43207       $2717 = $2700 & 1;
    43208       $2718 = ($2717|0)!=(0);
    43209       if ($2718) {
    43210        $2719 = HEAP32[$$01004>>2]|0;
    43211        $2720 = $2719 >>> 11;
    43212        $2721 = $2720 | 256;
    43213        $2722 = HEAP32[$$01004>>2]|0;
    43214        $2723 = $2721 & 2097151;
    43215        $2724 = $2723 << 11;
    43216        $2725 = $2722 & 2047;
    43217        $2726 = $2725 | $2724;
    43218        HEAP32[$$01004>>2] = $2726;
    43219       }
    43220       $2727 = $$21052 >>> 23;
    43221       $2728 = $2727 & 511;
    43222       $2729 = (($$51058) + ($2728<<3)|0);
    43223       __THREW__ = 0;
    43224       invoke_vii(133,($69|0),($$01004|0));
    43225       $2730 = __THREW__; __THREW__ = 0;
    43226       if ((($2730|0) != 0) & ((threwValue|0) != 0)) { $2731 = _testSetjmp(HEAP32[$2730>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2731|0) == 0) { _longjmp($2730|0, threwValue|0); } tempRet0 = (threwValue); } else { $2731 = -1; };
    43227       $2732 = tempRet0;
    43228       $cond1276 = ($2731|0)==(1);
    43229       if ($cond1276) {
    43230        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2732;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43231        continue L3;
    43232       }
    43233       ;HEAP32[$2729>>2]=HEAP32[$69>>2]|0;HEAP32[$2729+4>>2]=HEAP32[$69+4>>2]|0;
    43234       $2733 = ((($1)) + 92|0);
    43235       $2734 = ((($2733)) + 416|0);
    43236       HEAP32[$2734>>2] = $$11049;
    43237       $2735 = ((($$61078)) + 4|0);
    43238       $2736 = HEAP32[$2735>>2]|0;
    43239       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2736;$$61078 = $2735;$$sink$reg2mem$0 = $2736;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43240       label = 583;
    43241       continue L19;
    43242       break;
    43243      }
    43244      case 66:  {
    43245       $2973 = $$21052 >>> 14;
    43246       $2974 = $2973 & 511;
    43247       $2975 = $$21052 >>> 23;
    43248       $2976 = $2975 & 511;
    43249       $2977 = (($$51058) + ($2976<<3)|0);
    43250       $2978 = (($$51058) + ($2974<<3)|0);
    43251       $2979 = (($2974) + 1)|0;
    43252       $2980 = (($$51058) + ($2979<<3)|0);
    43253       $2981 = $$21052 >>> 7;
    43254       $2982 = $2981 & 127;
    43255       $2983 = $2982&255;
    43256       __THREW__ = 0;
    43257       ;HEAP32[$$byval_copy1152>>2]=HEAP32[$2978>>2]|0;HEAP32[$$byval_copy1152+4>>2]=HEAP32[$2978+4>>2]|0;
    43258       ;HEAP32[$$byval_copy1153>>2]=HEAP32[$2980>>2]|0;HEAP32[$$byval_copy1153+4>>2]=HEAP32[$2980+4>>2]|0;
    43259       invoke_viiiii(200,($84|0),($1|0),($$byval_copy1152|0),($$byval_copy1153|0),($2983|0));
    43260       $2984 = __THREW__; __THREW__ = 0;
    43261       if ((($2984|0) != 0) & ((threwValue|0) != 0)) { $2985 = _testSetjmp(HEAP32[$2984>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2985|0) == 0) { _longjmp($2984|0, threwValue|0); } tempRet0 = (threwValue); } else { $2985 = -1; };
    43262       $2986 = tempRet0;
    43263       $cond1274 = ($2985|0)==(1);
    43264       if ($cond1274) {
    43265        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2986;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43266        continue L3;
    43267       }
    43268       ;HEAP32[$2977>>2]=HEAP32[$84>>2]|0;HEAP32[$2977+4>>2]=HEAP32[$84+4>>2]|0;
    43269       $2987 = ((($1)) + 92|0);
    43270       $2988 = ((($2987)) + 416|0);
    43271       HEAP32[$2988>>2] = $$11049;
    43272       $2989 = ((($$61078)) + 4|0);
    43273       $2990 = HEAP32[$2989>>2]|0;
    43274       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2990;$$61078 = $2989;$$sink$reg2mem$0 = $2990;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43275       label = 583;
    43276       continue L19;
    43277       break;
    43278      }
    43279      case 67:  {
    43280       $2737 = $$21052 >>> 23;
    43281       $2738 = $2737 & 511;
    43282       $2739 = (($$51058) + ($2738<<3)|0);
    43283       $2740 = ((($1)) + 32|0);
    43284       $2741 = HEAP32[$2740>>2]|0;
    43285       __THREW__ = 0;
    43286       invoke_vii(133,($70|0),($2741|0));
    43287       $2742 = __THREW__; __THREW__ = 0;
    43288       if ((($2742|0) != 0) & ((threwValue|0) != 0)) { $2743 = _testSetjmp(HEAP32[$2742>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2743|0) == 0) { _longjmp($2742|0, threwValue|0); } tempRet0 = (threwValue); } else { $2743 = -1; };
    43289       $2744 = tempRet0;
    43290       $cond1273 = ($2743|0)==(1);
    43291       if ($cond1273) {
    43292        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2744;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43293        continue L3;
    43294       }
    43295       ;HEAP32[$2739>>2]=HEAP32[$70>>2]|0;HEAP32[$2739+4>>2]=HEAP32[$70+4>>2]|0;
    43296       $2745 = ((($$61078)) + 4|0);
    43297       $2746 = HEAP32[$2745>>2]|0;
    43298       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2746;$$61078 = $2745;$$sink$reg2mem$0 = $2746;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43299       label = 583;
    43300       continue L19;
    43301       break;
    43302      }
    43303      case 68:  {
    43304       $2747 = $$21052 >>> 23;
    43305       $2748 = $2747 & 511;
    43306       $2749 = $$21052 >>> 14;
    43307       $2750 = $2749 & 511;
    43308       $2751 = (($$6) + ($2750<<2)|0);
    43309       $2752 = HEAP32[$2751>>2]|0;
    43310       $2753 = (($$51058) + ($2748<<3)|0);
    43311       ;HEAP32[$71>>2]=HEAP32[$2753>>2]|0;HEAP32[$71+4>>2]=HEAP32[$2753+4>>2]|0;
    43312       $2754 = (($2748) + 1)|0;
    43313       $2755 = (($$51058) + ($2754<<3)|0);
    43314       ;HEAP32[$72>>2]=HEAP32[$2755>>2]|0;HEAP32[$72+4>>2]=HEAP32[$2755+4>>2]|0;
    43315       $2756 = ((($71)) + 4|0);
    43316       $2757 = HEAP32[$2756>>2]|0;
    43317       $2758 = ($2757|0)==(0);
    43318       if ($2758) {
    43319        $2759 = HEAP32[$71>>2]|0;
    43320        $2760 = ($2759|0)!=(0);
    43321        if (!($2760)) {
    43322         $2761 = ((($1)) + 12|0);
    43323         $2762 = HEAP32[$2761>>2]|0;
    43324         $2763 = ((($2762)) + 16|0);
    43325         $2764 = HEAP32[$2763>>2]|0;
    43326         $2765 = ((($2764)) + 44|0);
    43327         $2766 = HEAP32[$2765>>2]|0;
    43328         __THREW__ = 0;
    43329         invoke_vii(133,($73|0),($2766|0));
    43330         $2767 = __THREW__; __THREW__ = 0;
    43331         if ((($2767|0) != 0) & ((threwValue|0) != 0)) { $2768 = _testSetjmp(HEAP32[$2767>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2768|0) == 0) { _longjmp($2767|0, threwValue|0); } tempRet0 = (threwValue); } else { $2768 = -1; };
    43332         $2769 = tempRet0;
    43333         $cond1272 = ($2768|0)==(1);
    43334         if ($cond1272) {
    43335          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2769;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43336          continue L3;
    43337         }
    43338         ;HEAP32[$71>>2]=HEAP32[$73>>2]|0;HEAP32[$71+4>>2]=HEAP32[$73+4>>2]|0;
    43339        }
    43340       }
    43341       __THREW__ = 0;
    43342       ;HEAP32[$$byval_copy1146>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy1146+4>>2]=HEAP32[$71+4>>2]|0;
    43343       ;HEAP32[$$byval_copy1147>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy1147+4>>2]=HEAP32[$72+4>>2]|0;
    43344       $2770 = (invoke_iiiii(196,($1|0),($$byval_copy1146|0),($$byval_copy1147|0),($2752|0))|0);
    43345       $2771 = __THREW__; __THREW__ = 0;
    43346       if ((($2771|0) != 0) & ((threwValue|0) != 0)) { $2772 = _testSetjmp(HEAP32[$2771>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2772|0) == 0) { _longjmp($2771|0, threwValue|0); } tempRet0 = (threwValue); } else { $2772 = -1; };
    43347       $2773 = tempRet0;
    43348       $cond1270 = ($2772|0)==(1);
    43349       if ($cond1270) {
    43350        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2773;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43351        continue L3;
    43352       }
    43353       $2774 = (($$51058) + ($2748<<3)|0);
    43354       __THREW__ = 0;
    43355       invoke_vii(133,($74|0),($2770|0));
    43356       $2775 = __THREW__; __THREW__ = 0;
    43357       if ((($2775|0) != 0) & ((threwValue|0) != 0)) { $2776 = _testSetjmp(HEAP32[$2775>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2776|0) == 0) { _longjmp($2775|0, threwValue|0); } tempRet0 = (threwValue); } else { $2776 = -1; };
    43358       $2777 = tempRet0;
    43359       $cond1271 = ($2776|0)==(1);
    43360       if ($cond1271) {
    43361        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2777;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43362        continue L3;
    43363       }
    43364       ;HEAP32[$2774>>2]=HEAP32[$74>>2]|0;HEAP32[$2774+4>>2]=HEAP32[$74+4>>2]|0;
    43365       $2778 = ((($1)) + 92|0);
    43366       $2779 = ((($2778)) + 416|0);
    43367       HEAP32[$2779>>2] = $$11049;
    43368       $2780 = ((($$61078)) + 4|0);
    43369       $2781 = HEAP32[$2780>>2]|0;
    43370       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2781;$$61078 = $2780;$$sink$reg2mem$0 = $2781;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43371       label = 583;
    43372       continue L19;
    43373       break;
    43374      }
    43375      case 69:  {
    43376       $2782 = $$21052 >>> 23;
    43377       $2783 = $2782 & 511;
    43378       $2784 = $$21052 >>> 14;
    43379       $2785 = $2784 & 511;
    43380       $2786 = (($$6) + ($2785<<2)|0);
    43381       $2787 = HEAP32[$2786>>2]|0;
    43382       $2788 = (($$51058) + ($2783<<3)|0);
    43383       ;HEAP32[$75>>2]=HEAP32[$2788>>2]|0;HEAP32[$75+4>>2]=HEAP32[$2788+4>>2]|0;
    43384       $2789 = ((($75)) + 4|0);
    43385       $2790 = HEAP32[$2789>>2]|0;
    43386       $2791 = ($2790|0)==(0);
    43387       if ($2791) {
    43388        $2792 = HEAP32[$75>>2]|0;
    43389        $2793 = ($2792|0)!=(0);
    43390        if (!($2793)) {
    43391         $2794 = ((($1)) + 12|0);
    43392         $2795 = HEAP32[$2794>>2]|0;
    43393         $2796 = ((($2795)) + 16|0);
    43394         $2797 = HEAP32[$2796>>2]|0;
    43395         $2798 = ((($2797)) + 44|0);
    43396         $2799 = HEAP32[$2798>>2]|0;
    43397         __THREW__ = 0;
    43398         invoke_vii(133,($76|0),($2799|0));
    43399         $2800 = __THREW__; __THREW__ = 0;
    43400         if ((($2800|0) != 0) & ((threwValue|0) != 0)) { $2801 = _testSetjmp(HEAP32[$2800>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2801|0) == 0) { _longjmp($2800|0, threwValue|0); } tempRet0 = (threwValue); } else { $2801 = -1; };
    43401         $2802 = tempRet0;
    43402         $cond1269 = ($2801|0)==(1);
    43403         if ($cond1269) {
    43404          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2802;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43405          continue L3;
    43406         }
    43407         ;HEAP32[$75>>2]=HEAP32[$76>>2]|0;HEAP32[$75+4>>2]=HEAP32[$76+4>>2]|0;
    43408        }
    43409       }
    43410       __THREW__ = 0;
    43411       ;HEAP32[$$byval_copy1148>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy1148+4>>2]=HEAP32[$75+4>>2]|0;
    43412       $2803 = (invoke_iiii(197,($1|0),($$byval_copy1148|0),($2787|0))|0);
    43413       $2804 = __THREW__; __THREW__ = 0;
    43414       if ((($2804|0) != 0) & ((threwValue|0) != 0)) { $2805 = _testSetjmp(HEAP32[$2804>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2805|0) == 0) { _longjmp($2804|0, threwValue|0); } tempRet0 = (threwValue); } else { $2805 = -1; };
    43415       $2806 = tempRet0;
    43416       $cond1267 = ($2805|0)==(1);
    43417       if ($cond1267) {
    43418        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2806;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43419        continue L3;
    43420       }
    43421       $2807 = (($$51058) + ($2783<<3)|0);
    43422       __THREW__ = 0;
    43423       invoke_vii(133,($77|0),($2803|0));
    43424       $2808 = __THREW__; __THREW__ = 0;
    43425       if ((($2808|0) != 0) & ((threwValue|0) != 0)) { $2809 = _testSetjmp(HEAP32[$2808>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2809|0) == 0) { _longjmp($2808|0, threwValue|0); } tempRet0 = (threwValue); } else { $2809 = -1; };
    43426       $2810 = tempRet0;
    43427       $cond1268 = ($2809|0)==(1);
    43428       if ($cond1268) {
    43429        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2810;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43430        continue L3;
    43431       }
    43432       ;HEAP32[$2807>>2]=HEAP32[$77>>2]|0;HEAP32[$2807+4>>2]=HEAP32[$77+4>>2]|0;
    43433       $2811 = ((($1)) + 92|0);
    43434       $2812 = ((($2811)) + 416|0);
    43435       HEAP32[$2812>>2] = $$11049;
    43436       $2813 = ((($$61078)) + 4|0);
    43437       $2814 = HEAP32[$2813>>2]|0;
    43438       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2814;$$61078 = $2813;$$sink$reg2mem$0 = $2814;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43439       label = 583;
    43440       continue L19;
    43441       break;
    43442      }
    43443      case 70:  {
    43444       $2815 = $$21052 >>> 23;
    43445       $2816 = $2815 & 511;
    43446       $2817 = (($$51058) + ($2816<<3)|0);
    43447       ;HEAP32[$78>>2]=HEAP32[$2817>>2]|0;HEAP32[$78+4>>2]=HEAP32[$2817+4>>2]|0;
    43448       __THREW__ = 0;
    43449       $2818 = (invoke_ii(141,($1|0))|0);
    43450       $2819 = __THREW__; __THREW__ = 0;
    43451       if ((($2819|0) != 0) & ((threwValue|0) != 0)) { $2820 = _testSetjmp(HEAP32[$2819>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2820|0) == 0) { _longjmp($2819|0, threwValue|0); } tempRet0 = (threwValue); } else { $2820 = -1; };
    43452       $2821 = tempRet0;
    43453       $cond1261 = ($2820|0)==(1);
    43454       if ($cond1261) {
    43455        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2821;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43456        continue L3;
    43457       }
    43458       $2822 = ((($$61078)) + 4|0);
    43459       $2823 = ((($2818)) + 28|0);
    43460       HEAP32[$2823>>2] = $2822;
    43461       $2824 = ((($2818)) + 40|0);
    43462       HEAP32[$2824>>2] = $2816;
    43463       HEAP32[$2818>>2] = 0;
    43464       $2825 = ((($1)) + 12|0);
    43465       $2826 = HEAP32[$2825>>2]|0;
    43466       $2827 = ((($2826)) + 4|0);
    43467       $2828 = HEAP32[$2827>>2]|0;
    43468       $2829 = ((($2818)) + 8|0);
    43469       HEAP32[$2829>>2] = $2828;
    43470       $2830 = ((($2818)) + 36|0);
    43471       HEAP32[$2830>>2] = 0;
    43472       $2831 = HEAP32[$78>>2]|0;
    43473       $2832 = ((($2818)) + 44|0);
    43474       HEAP32[$2832>>2] = $2831;
    43475       $2833 = ((($1)) + 12|0);
    43476       $2834 = HEAP32[$2833>>2]|0;
    43477       $2835 = ((($2834)) + 4|0);
    43478       $2836 = HEAP32[$2835>>2]|0;
    43479       $2837 = (($2836) + ($2816<<3)|0);
    43480       HEAP32[$2835>>2] = $2837;
    43481       $2838 = ((($$8)) + 20|0);
    43482       $2839 = HEAP32[$2838>>2]|0;
    43483       $2840 = $$21052 >>> 7;
    43484       $2841 = $2840 & 65535;
    43485       $2842 = (($2839) + ($2841<<2)|0);
    43486       $2843 = HEAP32[$2842>>2]|0;
    43487       __THREW__ = 0;
    43488       $2844 = (invoke_iii(195,($1|0),($2843|0))|0);
    43489       $2845 = __THREW__; __THREW__ = 0;
    43490       if ((($2845|0) != 0) & ((threwValue|0) != 0)) { $2846 = _testSetjmp(HEAP32[$2845>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2846|0) == 0) { _longjmp($2845|0, threwValue|0); } tempRet0 = (threwValue); } else { $2846 = -1; };
    43491       $2847 = tempRet0;
    43492       $cond1262 = ($2846|0)==(1);
    43493       if ($cond1262) {
    43494        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2847;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43495        continue L3;
    43496       }
    43497       $2848 = ((($2818)) + 44|0);
    43498       $2849 = HEAP32[$2848>>2]|0;
    43499       $2850 = ((($2844)) + 16|0);
    43500       HEAP32[$2850>>2] = $2849;
    43501       $2851 = ((($2818)) + 4|0);
    43502       HEAP32[$2851>>2] = $2844;
    43503       $2852 = HEAP32[$2844>>2]|0;
    43504       $2853 = $2852 >>> 11;
    43505       $2854 = $2853 & 128;
    43506       $2855 = ($2854|0)!=(0);
    43507       if (!($2855)) {
    43508        $2886 = ((($2844)) + 12|0);
    43509        $2887 = HEAP32[$2886>>2]|0;
    43510        $2888 = ((($2887)) + 12|0);
    43511        $2889 = HEAP32[$2888>>2]|0;
    43512        $2890 = ((($2887)) + 16|0);
    43513        $2891 = HEAP32[$2890>>2]|0;
    43514        $2892 = ((($2887)) + 2|0);
    43515        $2893 = HEAP16[$2892>>1]|0;
    43516        $2894 = $2893&65535;
    43517        __THREW__ = 0;
    43518        invoke_viii(142,($1|0),($2894|0),1);
    43519        $2895 = __THREW__; __THREW__ = 0;
    43520        if ((($2895|0) != 0) & ((threwValue|0) != 0)) { $2896 = _testSetjmp(HEAP32[$2895>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2896|0) == 0) { _longjmp($2895|0, threwValue|0); } tempRet0 = (threwValue); } else { $2896 = -1; };
    43521        $2897 = tempRet0;
    43522        $cond1263 = ($2896|0)==(1);
    43523        if ($cond1263) {
    43524         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $2891;$$11066 = $2889;$$11073 = $$61078;$$11080 = $2887;$$11087 = $$81094;$$reg2mem1002$0 = $2897;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43525         continue L3;
    43526        }
    43527        $2898 = ((($2887)) + 2|0);
    43528        $2899 = HEAP16[$2898>>1]|0;
    43529        $2900 = $2899&65535;
    43530        $2901 = ((($2818)) + 12|0);
    43531        HEAP32[$2901>>2] = $2900;
    43532        $2902 = ((($1)) + 12|0);
    43533        $2903 = HEAP32[$2902>>2]|0;
    43534        $2904 = ((($2903)) + 4|0);
    43535        $2905 = HEAP32[$2904>>2]|0;
    43536        $2906 = ((($2887)) + 8|0);
    43537        $2907 = HEAP32[$2906>>2]|0;
    43538        $2908 = HEAP32[$2907>>2]|0;
    43539        $$81094$phi = $$81094;$$5$phi = $$5;$$21052 = $2908;$$51058 = $2905;$$6 = $2891;$$61071 = $2889;$$61078 = $2907;$$8 = $2887;$$sink$reg2mem$0 = $2908;$$81094 = $$81094$phi;$$5 = $$5$phi;
    43540        label = 583;
    43541        continue L19;
    43542       }
    43543       $2856 = ((($2818)) + 12|0);
    43544       HEAP32[$2856>>2] = 0;
    43545       $2857 = ((($1)) + 12|0);
    43546       $2858 = HEAP32[$2857>>2]|0;
    43547       $2859 = ((($2858)) + 4|0);
    43548       $2860 = HEAP32[$2859>>2]|0;
    43549       $2861 = ((($2844)) + 12|0);
    43550       $2862 = HEAP32[$2861>>2]|0;
    43551       __THREW__ = 0;
    43552       ;HEAP32[$$byval_copy1149>>2]=HEAP32[$78>>2]|0;HEAP32[$$byval_copy1149+4>>2]=HEAP32[$78+4>>2]|0;
    43553       invoke_viii($2862|0,($79|0),($1|0),($$byval_copy1149|0));
    43554       $2863 = __THREW__; __THREW__ = 0;
    43555       if ((($2863|0) != 0) & ((threwValue|0) != 0)) { $2864 = _testSetjmp(HEAP32[$2863>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2864|0) == 0) { _longjmp($2863|0, threwValue|0); } tempRet0 = (threwValue); } else { $2864 = -1; };
    43556       $2865 = tempRet0;
    43557       $cond1264 = ($2864|0)==(1);
    43558       if ($cond1264) {
    43559        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2865;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43560        continue L3;
    43561       }
    43562       ;HEAP32[$2860>>2]=HEAP32[$79>>2]|0;HEAP32[$2860+4>>2]=HEAP32[$79+4>>2]|0;
    43563       __THREW__ = 0;
    43564       invoke_vii(146,($1|0),($$11049|0));
    43565       $2866 = __THREW__; __THREW__ = 0;
    43566       if ((($2866|0) != 0) & ((threwValue|0) != 0)) { $2867 = _testSetjmp(HEAP32[$2866>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2867|0) == 0) { _longjmp($2866|0, threwValue|0); } tempRet0 = (threwValue); } else { $2867 = -1; };
    43567       $2868 = tempRet0;
    43568       $cond1265 = ($2867|0)==(1);
    43569       if ($cond1265) {
    43570        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2868;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43571        continue L3;
    43572       }
    43573       $2869 = ((($1)) + 20|0);
    43574       $2870 = HEAP32[$2869>>2]|0;
    43575       $2871 = ($2870|0)!=(0|0);
    43576       if ($2871) {
    43577        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    43578        label = 272;
    43579        continue L19;
    43580       }
    43581       $2872 = ((($1)) + 12|0);
    43582       $2873 = HEAP32[$2872>>2]|0;
    43583       $2874 = ((($2873)) + 16|0);
    43584       $2875 = HEAP32[$2874>>2]|0;
    43585       $2876 = ((($2875)) + 8|0);
    43586       $2877 = HEAP32[$2876>>2]|0;
    43587       $2878 = ((($1)) + 12|0);
    43588       $2879 = HEAP32[$2878>>2]|0;
    43589       $2880 = ((($2879)) + 4|0);
    43590       HEAP32[$2880>>2] = $2877;
    43591       __THREW__ = 0;
    43592       invoke_vi(132,($1|0));
    43593       $2881 = __THREW__; __THREW__ = 0;
    43594       if ((($2881|0) != 0) & ((threwValue|0) != 0)) { $2882 = _testSetjmp(HEAP32[$2881>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2882|0) == 0) { _longjmp($2881|0, threwValue|0); } tempRet0 = (threwValue); } else { $2882 = -1; };
    43595       $2883 = tempRet0;
    43596       $cond1266 = ($2882|0)==(1);
    43597       if ($cond1266) {
    43598        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $2877;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2883;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43599        continue L3;
    43600       }
    43601       $2884 = ((($$61078)) + 4|0);
    43602       $2885 = HEAP32[$2884>>2]|0;
    43603       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $2885;$$51058 = $2877;$$61078 = $2884;$$sink$reg2mem$0 = $2885;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
    43604       label = 583;
    43605       continue L19;
    43606       break;
    43607      }
    43608      case 71:  {
    43609       $2909 = $$21052 >>> 23;
    43610       $2910 = $2909 & 511;
    43611       $2911 = (($$51058) + ($2910<<3)|0);
    43612       $2912 = HEAP32[$2911>>2]|0;
    43613       $2913 = (($2910) + 1)|0;
    43614       $2914 = (($$51058) + ($2913<<3)|0);
    43615       $2915 = HEAP32[$2914>>2]|0;
    43616       $2916 = $$21052 >>> 14;
    43617       $2917 = $2916 & 511;
    43618       $2918 = (($$6) + ($2917<<2)|0);
    43619       $2919 = HEAP32[$2918>>2]|0;
    43620       __THREW__ = 0;
    43621       invoke_viiii(198,($1|0),($2912|0),($2919|0),($2915|0));
    43622       $2920 = __THREW__; __THREW__ = 0;
    43623       if ((($2920|0) != 0) & ((threwValue|0) != 0)) { $2921 = _testSetjmp(HEAP32[$2920>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2921|0) == 0) { _longjmp($2920|0, threwValue|0); } tempRet0 = (threwValue); } else { $2921 = -1; };
    43624       $2922 = tempRet0;
    43625       $cond1260 = ($2921|0)==(1);
    43626       if ($cond1260) {
    43627        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2922;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43628        continue L3;
    43629       }
    43630       $2923 = ((($1)) + 92|0);
    43631       $2924 = ((($2923)) + 416|0);
    43632       HEAP32[$2924>>2] = $$11049;
    43633       $2925 = ((($$61078)) + 4|0);
    43634       $2926 = HEAP32[$2925>>2]|0;
    43635       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2926;$$61078 = $2925;$$sink$reg2mem$0 = $2926;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43636       label = 583;
    43637       continue L19;
    43638       break;
    43639      }
    43640      case 72:  {
    43641       $2927 = $$21052 >>> 23;
    43642       $2928 = $2927 & 511;
    43643       $2929 = (($$51058) + ($2928<<3)|0);
    43644       $2930 = $$21052 >>> 14;
    43645       $2931 = $2930 & 511;
    43646       $2932 = (($$51058) + ($2931<<3)|0);
    43647       __THREW__ = 0;
    43648       ;HEAP32[$$byval_copy1150>>2]=HEAP32[$2932>>2]|0;HEAP32[$$byval_copy1150+4>>2]=HEAP32[$2932+4>>2]|0;
    43649       invoke_viii(199,($80|0),($1|0),($$byval_copy1150|0));
    43650       $2933 = __THREW__; __THREW__ = 0;
    43651       if ((($2933|0) != 0) & ((threwValue|0) != 0)) { $2934 = _testSetjmp(HEAP32[$2933>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2934|0) == 0) { _longjmp($2933|0, threwValue|0); } tempRet0 = (threwValue); } else { $2934 = -1; };
    43652       $2935 = tempRet0;
    43653       $cond1259 = ($2934|0)==(1);
    43654       if ($cond1259) {
    43655        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2935;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43656        continue L3;
    43657       }
    43658       ;HEAP32[$2929>>2]=HEAP32[$80>>2]|0;HEAP32[$2929+4>>2]=HEAP32[$80+4>>2]|0;
    43659       $2936 = ((($1)) + 92|0);
    43660       $2937 = ((($2936)) + 416|0);
    43661       HEAP32[$2937>>2] = $$11049;
    43662       $2938 = ((($$61078)) + 4|0);
    43663       $2939 = HEAP32[$2938>>2]|0;
    43664       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2939;$$61078 = $2938;$$sink$reg2mem$0 = $2939;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43665       label = 583;
    43666       continue L19;
    43667       break;
    43668      }
    43669      case 73:  {
    43670       $2940 = ((($1)) + 12|0);
    43671       $2941 = HEAP32[$2940>>2]|0;
    43672       $2942 = ((($2941)) + 16|0);
    43673       $2943 = HEAP32[$2942>>2]|0;
    43674       $2944 = ((($2943)) + 44|0);
    43675       $2945 = HEAP32[$2944>>2]|0;
    43676       $2946 = ($2945|0)!=(0|0);
    43677       if ($2946) {
    43678        $2959 = $$21052 >>> 23;
    43679        $2960 = $2959 & 511;
    43680        $2961 = (($$51058) + ($2960<<3)|0);
    43681        $2962 = ((($1)) + 12|0);
    43682        $2963 = HEAP32[$2962>>2]|0;
    43683        $2964 = ((($2963)) + 16|0);
    43684        $2965 = HEAP32[$2964>>2]|0;
    43685        $2966 = ((($2965)) + 44|0);
    43686        $2967 = HEAP32[$2966>>2]|0;
    43687        __THREW__ = 0;
    43688        invoke_vii(133,($83|0),($2967|0));
    43689        $2968 = __THREW__; __THREW__ = 0;
    43690        if ((($2968|0) != 0) & ((threwValue|0) != 0)) { $2969 = _testSetjmp(HEAP32[$2968>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2969|0) == 0) { _longjmp($2968|0, threwValue|0); } tempRet0 = (threwValue); } else { $2969 = -1; };
    43691        $2970 = tempRet0;
    43692        $cond1258 = ($2969|0)==(1);
    43693        if ($cond1258) {
    43694         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2970;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43695         continue L3;
    43696        }
    43697        ;HEAP32[$2961>>2]=HEAP32[$83>>2]|0;HEAP32[$2961+4>>2]=HEAP32[$83+4>>2]|0;
    43698        $2971 = ((($$61078)) + 4|0);
    43699        $2972 = HEAP32[$2971>>2]|0;
    43700        $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2972;$$61078 = $2971;$$sink$reg2mem$0 = $2972;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43701        label = 583;
    43702        continue L19;
    43703       }
    43704       __THREW__ = 0;
    43705       $2947 = (invoke_iii(135,($1|0),(69204|0))|0);
    43706       $2948 = __THREW__; __THREW__ = 0;
    43707       if ((($2948|0) != 0) & ((threwValue|0) != 0)) { $2949 = _testSetjmp(HEAP32[$2948>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2949|0) == 0) { _longjmp($2948|0, threwValue|0); } tempRet0 = (threwValue); } else { $2949 = -1; };
    43708       $2950 = tempRet0;
    43709       $cond1246 = ($2949|0)==(1);
    43710       if ($cond1246) {
    43711        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2950;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43712        continue L3;
    43713       }
    43714       __THREW__ = 0;
    43715       invoke_viiii(171,($82|0),($1|0),(56788|0),25);
    43716       $2951 = __THREW__; __THREW__ = 0;
    43717       if ((($2951|0) != 0) & ((threwValue|0) != 0)) { $2952 = _testSetjmp(HEAP32[$2951>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2952|0) == 0) { _longjmp($2951|0, threwValue|0); } tempRet0 = (threwValue); } else { $2952 = -1; };
    43718       $2953 = tempRet0;
    43719       $cond1247 = ($2952|0)==(1);
    43720       if ($cond1247) {
    43721        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2953;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43722        continue L3;
    43723       }
    43724       __THREW__ = 0;
    43725       ;HEAP32[$$byval_copy1151>>2]=HEAP32[$82>>2]|0;HEAP32[$$byval_copy1151+4>>2]=HEAP32[$82+4>>2]|0;
    43726       invoke_viiii(172,($81|0),($1|0),($2947|0),($$byval_copy1151|0));
    43727       $2954 = __THREW__; __THREW__ = 0;
    43728       if ((($2954|0) != 0) & ((threwValue|0) != 0)) { $2955 = _testSetjmp(HEAP32[$2954>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2955|0) == 0) { _longjmp($2954|0, threwValue|0); } tempRet0 = (threwValue); } else { $2955 = -1; };
    43729       $2956 = tempRet0;
    43730       $cond1248 = ($2955|0)==(1);
    43731       if ($cond1248) {
    43732        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2956;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43733        continue L3;
    43734       }
    43735       $2957 = HEAP32[$81>>2]|0;
    43736       $2958 = ((($1)) + 20|0);
    43737       HEAP32[$2958>>2] = $2957;
    43738       $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    43739       label = 272;
    43740       continue L19;
    43741       break;
    43742      }
    43743      case 74:  {
    43744       $2991 = $$21052 >>> 23;
    43745       $2992 = $2991 & 511;
    43746       $2993 = $$21052 >>> 14;
    43747       $2994 = $2993 & 511;
    43748       $2995 = $$21052 >>> 7;
    43749       $2996 = $2995 & 127;
    43750       __THREW__ = 0;
    43751       HEAP32[$vararg_buffer>>2] = $2992;
    43752       $vararg_ptr1095 = ((($vararg_buffer)) + 4|0);
    43753       HEAP32[$vararg_ptr1095>>2] = $2994;
    43754       $vararg_ptr1096 = ((($vararg_buffer)) + 8|0);
    43755       HEAP32[$vararg_ptr1096>>2] = $2996;
    43756       (invoke_iii(201,(56814|0),($vararg_buffer|0))|0);
    43757       $2997 = __THREW__; __THREW__ = 0;
    43758       if ((($2997|0) != 0) & ((threwValue|0) != 0)) { $2998 = _testSetjmp(HEAP32[$2997>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2998|0) == 0) { _longjmp($2997|0, threwValue|0); } tempRet0 = (threwValue); } else { $2998 = -1; };
    43759       $2999 = tempRet0;
    43760       $cond1245 = ($2998|0)==(1);
    43761       if ($cond1245) {
    43762        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2999;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43763        continue L3;
    43764       }
    43765       $3000 = ((($$61078)) + 4|0);
    43766       $3001 = HEAP32[$3000>>2]|0;
    43767       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $3001;$$61078 = $3000;$$sink$reg2mem$0 = $3001;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
    43768       label = 583;
    43769       continue L19;
    43770       break;
    43771      }
    43772      default: {
    43773       label = 584;
    43774       break L3;
    43775      }
    43776      }
    43777     } while(0);
    43778     if ((label|0) == 90) {
    43779      label = 0;
    43780      $643 = $$01050 >>> 23;
    43781      $644 = $643 & 511;
    43782      $645 = $$01050 >>> 7;
    43783      $646 = $645 & 127;
    43784      $647 = $$01050 >>> 14;
    43785      $648 = $647 & 511;
    43786      $649 = (($$6) + ($648<<2)|0);
    43787      $650 = HEAP32[$649>>2]|0;
    43788      $651 = (($$51058) + ($644<<3)|0);
    43789      ;HEAP32[$16>>2]=HEAP32[$651>>2]|0;HEAP32[$16+4>>2]=HEAP32[$651+4>>2]|0;
    43790      $652 = $$01050 & 127;
    43791      $653 = ($652|0)!=(33);
    43792      if ($653) {
    43793       $654 = ($646|0)==(127);
    43794       if ($654) {
    43795        $655 = (($644) + 2)|0;
    43796        $656 = (($$51058) + ($655<<3)|0);
    43797        $657 = ((($656)) + 4|0);
    43798        HEAP32[$657>>2] = 0;
    43799        $658 = (($644) + 2)|0;
    43800        $$sink24$reg2mem$0 = $658;
    43801       } else {
    43802        $659 = (($644) + ($646))|0;
    43803        $660 = (($659) + 1)|0;
    43804        $661 = (($$51058) + ($660<<3)|0);
    43805        $662 = ((($661)) + 4|0);
    43806        HEAP32[$662>>2] = 0;
    43807        $663 = (($644) + ($646))|0;
    43808        $664 = (($663) + 1)|0;
    43809        $$sink24$reg2mem$0 = $664;
    43810       }
    43811       $665 = (($$51058) + ($$sink24$reg2mem$0<<3)|0);
    43812       HEAP32[$665>>2] = 0;
    43813      }
    43814      __THREW__ = 0;
    43815      ;HEAP32[$$byval_copy1104>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy1104+4>>2]=HEAP32[$16+4>>2]|0;
    43816      $666 = (invoke_iii(138,($1|0),($$byval_copy1104|0))|0);
    43817      $667 = __THREW__; __THREW__ = 0;
    43818      if ((($667|0) != 0) & ((threwValue|0) != 0)) { $668 = _testSetjmp(HEAP32[$667>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($668|0) == 0) { _longjmp($667|0, threwValue|0); } tempRet0 = (threwValue); } else { $668 = -1; };
    43819      $669 = tempRet0;
    43820      $cond1367 = ($668|0)==(1);
    43821      if ($cond1367) {
    43822       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $669;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43823       continue L3;
    43824      }
    43825      HEAP32[$15>>2] = $666;
    43826      __THREW__ = 0;
    43827      $670 = (invoke_iiii(139,($1|0),($15|0),($650|0))|0);
    43828      $671 = __THREW__; __THREW__ = 0;
    43829      if ((($671|0) != 0) & ((threwValue|0) != 0)) { $672 = _testSetjmp(HEAP32[$671>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($672|0) == 0) { _longjmp($671|0, threwValue|0); } tempRet0 = (threwValue); } else { $672 = -1; };
    43830      $673 = tempRet0;
    43831      $cond1368 = ($672|0)==(1);
    43832      if ($cond1368) {
    43833       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $673;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43834       continue L3;
    43835      }
    43836      $674 = ($670|0)!=(0|0);
    43837      do {
    43838       if ($674) {
    43839        $$01037 = $650;$$01038 = $670;$$01039 = $646;
    43840       } else {
    43841        __THREW__ = 0;
    43842        invoke_vii(143,($18|0),($650|0));
    43843        $675 = __THREW__; __THREW__ = 0;
    43844        if ((($675|0) != 0) & ((threwValue|0) != 0)) { $676 = _testSetjmp(HEAP32[$675>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($676|0) == 0) { _longjmp($675|0, threwValue|0); } tempRet0 = (threwValue); } else { $676 = -1; };
    43845        $677 = tempRet0;
    43846        $cond1369 = ($676|0)==(1);
    43847        if ($cond1369) {
    43848         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $677;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43849         continue L3;
    43850        }
    43851        __THREW__ = 0;
    43852        $678 = (invoke_iiii(140,($1|0),(65621|0),14)|0);
    43853        $679 = __THREW__; __THREW__ = 0;
    43854        if ((($679|0) != 0) & ((threwValue|0) != 0)) { $680 = _testSetjmp(HEAP32[$679>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($680|0) == 0) { _longjmp($679|0, threwValue|0); } tempRet0 = (threwValue); } else { $680 = -1; };
    43855        $681 = tempRet0;
    43856        $cond1370 = ($680|0)==(1);
    43857        if ($cond1370) {
    43858         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $681;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43859         continue L3;
    43860        }
    43861        __THREW__ = 0;
    43862        $682 = (invoke_iiii(139,($1|0),($15|0),($678|0))|0);
    43863        $683 = __THREW__; __THREW__ = 0;
    43864        if ((($683|0) != 0) & ((threwValue|0) != 0)) { $684 = _testSetjmp(HEAP32[$683>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($684|0) == 0) { _longjmp($683|0, threwValue|0); } tempRet0 = (threwValue); } else { $684 = -1; };
    43865        $685 = tempRet0;
    43866        $cond1371 = ($684|0)==(1);
    43867        if ($cond1371) {
    43868         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $685;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43869         continue L3;
    43870        }
    43871        $686 = ($682|0)!=(0|0);
    43872        if (!($686)) {
    43873         $687 = ($646|0)==(127);
    43874         if ($687) {
    43875          $688 = (($644) + 1)|0;
    43876          $689 = (($$51058) + ($688<<3)|0);
    43877          ;HEAP32[$19>>2]=HEAP32[$689>>2]|0;HEAP32[$19+4>>2]=HEAP32[$689+4>>2]|0;
    43878         } else {
    43879          $690 = (($$51058) + ($644<<3)|0);
    43880          $691 = ((($690)) + 8|0);
    43881          __THREW__ = 0;
    43882          invoke_viiii(167,($20|0),($1|0),($646|0),($691|0));
    43883          $692 = __THREW__; __THREW__ = 0;
    43884          if ((($692|0) != 0) & ((threwValue|0) != 0)) { $693 = _testSetjmp(HEAP32[$692>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($693|0) == 0) { _longjmp($692|0, threwValue|0); } tempRet0 = (threwValue); } else { $693 = -1; };
    43885          $694 = tempRet0;
    43886          $cond1372 = ($693|0)==(1);
    43887          if ($cond1372) {
    43888           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $694;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43889           continue L3;
    43890          }
    43891          ;HEAP32[$19>>2]=HEAP32[$20>>2]|0;HEAP32[$19+4>>2]=HEAP32[$20+4>>2]|0;
    43892         }
    43893         __THREW__ = 0;
    43894         ;HEAP32[$$byval_copy1105>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy1105+4>>2]=HEAP32[$16+4>>2]|0;
    43895         ;HEAP32[$$byval_copy1106>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1106+4>>2]=HEAP32[$19+4>>2]|0;
    43896         invoke_viiii(168,($1|0),($650|0),($$byval_copy1105|0),($$byval_copy1106|0));
    43897         $695 = __THREW__; __THREW__ = 0;
    43898         if ((($695|0) != 0) & ((threwValue|0) != 0)) { $696 = _testSetjmp(HEAP32[$695>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($696|0) == 0) { _longjmp($695|0, threwValue|0); } tempRet0 = (threwValue); } else { $696 = -1; };
    43899         $697 = tempRet0;
    43900         $cond1373 = ($696|0)==(1);
    43901         if ($cond1373) {
    43902          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $697;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43903          continue L3;
    43904         }
    43905        }
    43906        $698 = ($646|0)==(127);
    43907        if ($698) {
    43908         $699 = (($644) + 1)|0;
    43909         $700 = (($$51058) + ($699<<3)|0);
    43910         __THREW__ = 0;
    43911         ;HEAP32[$$byval_copy1107>>2]=HEAP32[$700>>2]|0;HEAP32[$$byval_copy1107+4>>2]=HEAP32[$700+4>>2]|0;
    43912         ;HEAP32[$$byval_copy1108>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1108+4>>2]=HEAP32[$18+4>>2]|0;
    43913         invoke_viiii(169,($21|0),($1|0),($$byval_copy1107|0),($$byval_copy1108|0));
    43914         $701 = __THREW__; __THREW__ = 0;
    43915         if ((($701|0) != 0) & ((threwValue|0) != 0)) { $702 = _testSetjmp(HEAP32[$701>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($702|0) == 0) { _longjmp($701|0, threwValue|0); } tempRet0 = (threwValue); } else { $702 = -1; };
    43916         $703 = tempRet0;
    43917         $cond1375 = ($702|0)==(1);
    43918         if ($cond1375) {
    43919          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $703;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43920          continue L3;
    43921         }
    43922         $$01037 = $678;$$01038 = $682;$$01039 = $646;
    43923         break;
    43924        } else {
    43925         $704 = (($$51058) + ($644<<3)|0);
    43926         $705 = ((($704)) + 16|0);
    43927         $706 = (($$51058) + ($644<<3)|0);
    43928         $707 = ((($706)) + 8|0);
    43929         $708 = (($646) + 1)|0;
    43930         __THREW__ = 0;
    43931         invoke_viii(170,($705|0),($707|0),($708|0));
    43932         $709 = __THREW__; __THREW__ = 0;
    43933         if ((($709|0) != 0) & ((threwValue|0) != 0)) { $710 = _testSetjmp(HEAP32[$709>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($710|0) == 0) { _longjmp($709|0, threwValue|0); } tempRet0 = (threwValue); } else { $710 = -1; };
    43934         $711 = tempRet0;
    43935         $cond1374 = ($710|0)==(1);
    43936         if ($cond1374) {
    43937          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $711;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43938          continue L3;
    43939         }
    43940         $712 = (($644) + 1)|0;
    43941         $713 = (($$51058) + ($712<<3)|0);
    43942         ;HEAP32[$713>>2]=HEAP32[$18>>2]|0;HEAP32[$713+4>>2]=HEAP32[$18+4>>2]|0;
    43943         $$01037 = $678;$$01038 = $682;$$01039 = $708;
    43944         break;
    43945        }
    43946       }
    43947      } while(0);
    43948      __THREW__ = 0;
    43949      $714 = (invoke_ii(141,($1|0))|0);
    43950      $715 = __THREW__; __THREW__ = 0;
    43951      if ((($715|0) != 0) & ((threwValue|0) != 0)) { $716 = _testSetjmp(HEAP32[$715>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($716|0) == 0) { _longjmp($715|0, threwValue|0); } tempRet0 = (threwValue); } else { $716 = -1; };
    43952      $717 = tempRet0;
    43953      $cond1376 = ($716|0)==(1);
    43954      if ($cond1376) {
    43955       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $717;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    43956       continue L3;
    43957      }
    43958      HEAP32[$714>>2] = $$01037;
    43959      $718 = ((($714)) + 4|0);
    43960      HEAP32[$718>>2] = $$01038;
    43961      $719 = ((($1)) + 12|0);
    43962      $720 = HEAP32[$719>>2]|0;
    43963      $721 = ((($720)) + 4|0);
    43964      $722 = HEAP32[$721>>2]|0;
    43965      $723 = ((($714)) + 8|0);
    43966      HEAP32[$723>>2] = $722;
    43967      $724 = HEAP32[$15>>2]|0;
    43968      $725 = ((($714)) + 44|0);
    43969      HEAP32[$725>>2] = $724;
    43970      $726 = ((($$61078)) + 4|0);
    43971      $727 = ((($714)) + 28|0);
    43972      HEAP32[$727>>2] = $726;
    43973      $728 = ((($714)) + 40|0);
    43974      HEAP32[$728>>2] = $644;
    43975      $729 = ((($1)) + 12|0);
    43976      $730 = HEAP32[$729>>2]|0;
    43977      $731 = ((($730)) + 4|0);
    43978      $732 = HEAP32[$731>>2]|0;
    43979      $733 = (($732) + ($644<<3)|0);
    43980      HEAP32[$731>>2] = $733;
    43981      $734 = HEAP32[$$01038>>2]|0;
    43982      $735 = $734 >>> 11;
    43983      $736 = $735 & 128;
    43984      $737 = ($736|0)!=(0);
    43985      if (!($737)) {
    43986       $792 = ((($1)) + 12|0);
    43987       $793 = HEAP32[$792>>2]|0;
    43988       $794 = ((($793)) + 16|0);
    43989       $795 = HEAP32[$794>>2]|0;
    43990       $796 = ((($795)) + 4|0);
    43991       HEAP32[$796>>2] = $$01038;
    43992       $797 = ((($$01038)) + 12|0);
    43993       $798 = HEAP32[$797>>2]|0;
    43994       $799 = ((($798)) + 12|0);
    43995       $800 = HEAP32[$799>>2]|0;
    43996       $801 = ((($798)) + 16|0);
    43997       $802 = HEAP32[$801>>2]|0;
    43998       $803 = ((($798)) + 2|0);
    43999       $804 = HEAP16[$803>>1]|0;
    44000       $805 = $804&65535;
    44001       $806 = ((($714)) + 12|0);
    44002       HEAP32[$806>>2] = $805;
    44003       $807 = ($$01039|0)==(127);
    44004       if ($807) {
    44005        $808 = ((($714)) + 36|0);
    44006        HEAP32[$808>>2] = -1;
    44007        $809 = ((($798)) + 2|0);
    44008        $810 = HEAP16[$809>>1]|0;
    44009        $811 = $810&65535;
    44010        $812 = ($811|0)<(3);
    44011        if ($812) {
    44012         $$reg2mem1000$0 = 3;
    44013        } else {
    44014         $813 = ((($798)) + 2|0);
    44015         $814 = HEAP16[$813>>1]|0;
    44016         $815 = $814&65535;
    44017         $$reg2mem1000$0 = $815;
    44018        }
    44019        __THREW__ = 0;
    44020        invoke_viii(142,($1|0),($$reg2mem1000$0|0),3);
    44021        $816 = __THREW__; __THREW__ = 0;
    44022        if ((($816|0) != 0) & ((threwValue|0) != 0)) { $817 = _testSetjmp(HEAP32[$816>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($817|0) == 0) { _longjmp($816|0, threwValue|0); } tempRet0 = (threwValue); } else { $817 = -1; };
    44023        $818 = tempRet0;
    44024        $cond1378 = ($817|0)==(1);
    44025        if ($cond1378) {
    44026         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $802;$$11066 = $800;$$11073 = $$61078;$$11080 = $798;$$11087 = $$01038;$$reg2mem1002$0 = $818;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44027         continue L3;
    44028        }
    44029       } else {
    44030        $819 = ((($714)) + 36|0);
    44031        HEAP32[$819>>2] = $$01039;
    44032        $820 = ((($798)) + 2|0);
    44033        $821 = HEAP16[$820>>1]|0;
    44034        $822 = $821&65535;
    44035        $823 = (($$01039) + 2)|0;
    44036        __THREW__ = 0;
    44037        invoke_viii(142,($1|0),($822|0),($823|0));
    44038        $824 = __THREW__; __THREW__ = 0;
    44039        if ((($824|0) != 0) & ((threwValue|0) != 0)) { $825 = _testSetjmp(HEAP32[$824>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($825|0) == 0) { _longjmp($824|0, threwValue|0); } tempRet0 = (threwValue); } else { $825 = -1; };
    44040        $826 = tempRet0;
    44041        $cond1377 = ($825|0)==(1);
    44042        if ($cond1377) {
    44043         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $802;$$11066 = $800;$$11073 = $$61078;$$11080 = $798;$$11087 = $$01038;$$reg2mem1002$0 = $826;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44044         continue L3;
    44045        }
    44046       }
    44047       $827 = ((($1)) + 12|0);
    44048       $828 = HEAP32[$827>>2]|0;
    44049       $829 = ((($828)) + 4|0);
    44050       $830 = HEAP32[$829>>2]|0;
    44051       $831 = ((($798)) + 8|0);
    44052       $832 = HEAP32[$831>>2]|0;
    44053       $833 = HEAP32[$832>>2]|0;
    44054       $$5$phi = $$5;$$21052 = $833;$$51058 = $830;$$6 = $802;$$61071 = $800;$$61078 = $832;$$8 = $798;$$81094 = $$01038;$$sink$reg2mem$0 = $833;$$5 = $$5$phi;
    44055       label = 583;
    44056       continue;
    44057      }
    44058      $738 = ($$01039|0)==(127);
    44059      if ($738) {
    44060       $739 = ((($714)) + 36|0);
    44061       HEAP32[$739>>2] = -1;
    44062       $$sink5$reg2mem$0 = 3;
    44063      } else {
    44064       $740 = ((($714)) + 36|0);
    44065       HEAP32[$740>>2] = $$01039;
    44066       $741 = (($$01039) + 2)|0;
    44067       $$sink5$reg2mem$0 = $741;
    44068      }
    44069      $742 = ((($714)) + 12|0);
    44070      HEAP32[$742>>2] = $$sink5$reg2mem$0;
    44071      $743 = ((($$01038)) + 12|0);
    44072      $744 = HEAP32[$743>>2]|0;
    44073      __THREW__ = 0;
    44074      ;HEAP32[$$byval_copy1109>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy1109+4>>2]=HEAP32[$16+4>>2]|0;
    44075      invoke_viii($744|0,($22|0),($1|0),($$byval_copy1109|0));
    44076      $745 = __THREW__; __THREW__ = 0;
    44077      if ((($745|0) != 0) & ((threwValue|0) != 0)) { $746 = _testSetjmp(HEAP32[$745>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($746|0) == 0) { _longjmp($745|0, threwValue|0); } tempRet0 = (threwValue); } else { $746 = -1; };
    44078      $747 = tempRet0;
    44079      $cond1379 = ($746|0)==(1);
    44080      if ($cond1379) {
    44081       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $747;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44082       continue L3;
    44083      }
    44084      ;HEAP32[$17>>2]=HEAP32[$22>>2]|0;HEAP32[$17+4>>2]=HEAP32[$22+4>>2]|0;
    44085      $748 = ((($1)) + 12|0);
    44086      $749 = HEAP32[$748>>2]|0;
    44087      $750 = ((($749)) + 4|0);
    44088      $751 = HEAP32[$750>>2]|0;
    44089      ;HEAP32[$751>>2]=HEAP32[$17>>2]|0;HEAP32[$751+4>>2]=HEAP32[$17+4>>2]|0;
    44090      __THREW__ = 0;
    44091      invoke_vii(146,($1|0),($$11049|0));
    44092      $752 = __THREW__; __THREW__ = 0;
    44093      if ((($752|0) != 0) & ((threwValue|0) != 0)) { $753 = _testSetjmp(HEAP32[$752>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($753|0) == 0) { _longjmp($752|0, threwValue|0); } tempRet0 = (threwValue); } else { $753 = -1; };
    44094      $754 = tempRet0;
    44095      $cond1380 = ($753|0)==(1);
    44096      if ($cond1380) {
    44097       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $754;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44098       continue L3;
    44099      }
    44100      $755 = ((($1)) + 20|0);
    44101      $756 = HEAP32[$755>>2]|0;
    44102      $757 = ($756|0)!=(0|0);
    44103      if ($757) {
    44104       $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
    44105       label = 272;
    44106       continue;
    44107      }
    44108      $758 = ((($1)) + 12|0);
    44109      $759 = HEAP32[$758>>2]|0;
    44110      $760 = ((($759)) + 16|0);
    44111      $761 = HEAP32[$760>>2]|0;
    44112      $762 = ((($761)) + 44|0);
    44113      $763 = HEAP32[$762>>2]|0;
    44114      $764 = ($763|0)!=(0|0);
    44115      if ($764) {
    44116       $$21061 = $$6;$$21067 = $$61071;$$21081 = $$8;$$21088 = $$81094;
    44117      } else {
    44118       $765 = ((($761)) + -48|0);
    44119       $766 = ((($765)) + 4|0);
    44120       $767 = HEAP32[$766>>2]|0;
    44121       $768 = HEAP32[$767>>2]|0;
    44122       $769 = $768 >>> 11;
    44123       $770 = $769 & 128;
    44124       $771 = ($770|0)!=(0);
    44125       if ($771) {
    44126        $$21061 = $$6;$$21067 = $$61071;$$21081 = $$8;$$21088 = $$81094;
    44127       } else {
    44128        $772 = ((($761)) + -48|0);
    44129        $773 = ((($772)) + 4|0);
    44130        $774 = HEAP32[$773>>2]|0;
    44131        $775 = ((($774)) + 12|0);
    44132        $776 = HEAP32[$775>>2]|0;
    44133        $777 = ((($776)) + 12|0);
    44134        $778 = HEAP32[$777>>2]|0;
    44135        $779 = ((($776)) + 16|0);
    44136        $780 = HEAP32[$779>>2]|0;
    44137        $$21061 = $780;$$21067 = $778;$$21081 = $776;$$21088 = $774;
    44138       }
    44139      }
    44140      $781 = ((($761)) + 8|0);
    44141      $782 = HEAP32[$781>>2]|0;
    44142      $783 = ((($1)) + 12|0);
    44143      $784 = HEAP32[$783>>2]|0;
    44144      $785 = ((($784)) + 4|0);
    44145      HEAP32[$785>>2] = $782;
    44146      $786 = ((($761)) + 28|0);
    44147      $787 = HEAP32[$786>>2]|0;
    44148      __THREW__ = 0;
    44149      invoke_vi(132,($1|0));
    44150      $788 = __THREW__; __THREW__ = 0;
    44151      if ((($788|0) != 0) & ((threwValue|0) != 0)) { $789 = _testSetjmp(HEAP32[$788>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($789|0) == 0) { _longjmp($788|0, threwValue|0); } tempRet0 = (threwValue); } else { $789 = -1; };
    44152      $790 = tempRet0;
    44153      $cond1381 = ($789|0)==(1);
    44154      if ($cond1381) {
    44155       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $782;$$11060 = $$21061;$$11066 = $$21067;$$11073 = $787;$$11080 = $$21081;$$11087 = $$21088;$$reg2mem1002$0 = $790;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44156       continue L3;
    44157      }
    44158      $791 = HEAP32[$787>>2]|0;
    44159      $$5$phi = $$5;$$21052 = $791;$$51058 = $782;$$6 = $$21061;$$61071 = $$21067;$$61078 = $787;$$8 = $$21081;$$81094 = $$21088;$$sink$reg2mem$0 = $791;$$5 = $$5$phi;
    44160      label = 583;
    44161      continue;
    44162     }
    44163     else if ((label|0) == 270) {
    44164      label = 0;
    44165      $1399 = $$21052 >>> 23;
    44166      $1400 = $1399 & 511;
    44167      $1401 = $1400 & 511;
    44168      $1402 = $1401 << 23;
    44169      $1403 = 41 | $1402;
    44170      $$11051 = $1403;$$41083 = $$31082;$$41090 = $$31089;
    44171     }
    44172     $1404 = ((($1)) + 20|0);
    44173     $1405 = HEAP32[$1404>>2]|0;
    44174     $1406 = ($1405|0)!=(0|0);
    44175     if ($1406) {
    44176      $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
    44177      label = 272;
    44178      continue;
    44179     }
    44180     $1547 = ((($1)) + 12|0);
    44181     $1548 = HEAP32[$1547>>2]|0;
    44182     $1549 = ((($1548)) + 16|0);
    44183     $1550 = HEAP32[$1549>>2]|0;
    44184     $1551 = ((($1)) + 12|0);
    44185     $1552 = HEAP32[$1551>>2]|0;
    44186     $1553 = ((($1552)) + 16|0);
    44187     $1554 = HEAP32[$1553>>2]|0;
    44188     $1555 = ((($1554)) + 20|0);
    44189     $1556 = HEAP32[$1555>>2]|0;
    44190     $1557 = $$11051 >>> 23;
    44191     $1558 = $1557 & 511;
    44192     $1559 = (($$51058) + ($1558<<3)|0);
    44193     ;HEAP32[$44>>2]=HEAP32[$1559>>2]|0;HEAP32[$44+4>>2]=HEAP32[$1559+4>>2]|0;
    44194     $1560 = $$11051 >>> 14;
    44195     $1561 = $1560 & 511;
    44196     L646: do {
    44197      switch ($1561|0) {
    44198      case 2:  {
    44199       $1562 = ((($$41090)) + 20|0);
    44200       $1563 = HEAP32[$1562>>2]|0;
    44201       $1564 = ($1563|0)!=(0|0);
    44202       if ($1564) {
    44203        $1565 = HEAP32[$$41090>>2]|0;
    44204        $1566 = $1565 >>> 11;
    44205        $1567 = $1566 & 256;
    44206        $1568 = ($1567|0)!=(0);
    44207        if ($1568) {
    44208         label = 309;
    44209        } else {
    44210         __THREW__ = 0;
    44211         $1569 = (invoke_iii(179,($1|0),($$41090|0))|0);
    44212         $1570 = __THREW__; __THREW__ = 0;
    44213         if ((($1570|0) != 0) & ((threwValue|0) != 0)) { $1571 = _testSetjmp(HEAP32[$1570>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1571|0) == 0) { _longjmp($1570|0, threwValue|0); } tempRet0 = (threwValue); } else { $1571 = -1; };
    44214         $1572 = tempRet0;
    44215         $cond1317 = ($1571|0)==(1);
    44216         if ($cond1317) {
    44217          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1572;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44218          continue L3;
    44219         }
    44220         $1573 = ((($1569)) + 20|0);
    44221         $1574 = HEAP32[$1573>>2]|0;
    44222         $1575 = ($1574|0)>=(0);
    44223         if (!($1575)) {
    44224          __THREW__ = 0;
    44225          invoke_vii(180,($1|0),0);
    44226          $1576 = __THREW__; __THREW__ = 0;
    44227          if ((($1576|0) != 0) & ((threwValue|0) != 0)) { $1577 = _testSetjmp(HEAP32[$1576>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1577|0) == 0) { _longjmp($1576|0, threwValue|0); } tempRet0 = (threwValue); } else { $1577 = -1; };
    44228          $1578 = tempRet0;
    44229          $cond1318 = ($1577|0)==(1);
    44230          if ($cond1318) {
    44231           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1578;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44232           continue L3;
    44233          }
    44234          $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
    44235          label = 272;
    44236          continue L19;
    44237         }
    44238         $1579 = ((($1)) + 12|0);
    44239         $1580 = HEAP32[$1579>>2]|0;
    44240         $1581 = ((($1580)) + 20|0);
    44241         $1582 = HEAP32[$1581>>2]|0;
    44242         $1583 = ((($1569)) + 20|0);
    44243         $1584 = HEAP32[$1583>>2]|0;
    44244         $1585 = (($1582) + (($1584*48)|0)|0);
    44245         $1586 = ((($1)) + 12|0);
    44246         $1587 = HEAP32[$1586>>2]|0;
    44247         $1588 = ((($1587)) + 20|0);
    44248         $1589 = HEAP32[$1588>>2]|0;
    44249         $1590 = ($1585|0)==($1589|0);
    44250         if (!($1590)) {
    44251          $1594 = ((($1)) + 12|0);
    44252          $1595 = HEAP32[$1594>>2]|0;
    44253          $1596 = ((($1595)) + 16|0);
    44254          $1597 = HEAP32[$1596>>2]|0;
    44255          $1598 = ((($1597)) + 8|0);
    44256          $1599 = HEAP32[$1598>>2]|0;
    44257          $1600 = ((($1)) + 12|0);
    44258          $1601 = HEAP32[$1600>>2]|0;
    44259          $1602 = ((($1601)) + 4|0);
    44260          HEAP32[$1602>>2] = $1599;
    44261          $1603 = ((($1)) + 12|0);
    44262          $1604 = HEAP32[$1603>>2]|0;
    44263          $1605 = ((($1604)) + 16|0);
    44264          HEAP32[$1605>>2] = $1585;
    44265          $$01018 = $1556;$$11020 = $1585;
    44266          break L646;
    44267         }
    44268         __THREW__ = 0;
    44269         invoke_vii(180,($1|0),0);
    44270         $1591 = __THREW__; __THREW__ = 0;
    44271         if ((($1591|0) != 0) & ((threwValue|0) != 0)) { $1592 = _testSetjmp(HEAP32[$1591>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1592|0) == 0) { _longjmp($1591|0, threwValue|0); } tempRet0 = (threwValue); } else { $1592 = -1; };
    44272         $1593 = tempRet0;
    44273         $cond1319 = ($1592|0)==(1);
    44274         if ($cond1319) {
    44275          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1593;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44276          continue L3;
    44277         }
    44278         $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
    44279         label = 272;
    44280         continue L19;
    44281        }
    44282       } else {
    44283        label = 309;
    44284       }
    44285       break;
    44286      }
    44287      case 0:  {
    44288       label = 309;
    44289       break;
    44290      }
    44291      case 1:  {
    44292       $1655 = ((($$41090)) + 20|0);
    44293       $1656 = HEAP32[$1655>>2]|0;
    44294       $1657 = ($1656|0)!=(0|0);
    44295       if ($1657) {
    44296        $1658 = ((($$41090)) + 20|0);
    44297        $1659 = HEAP32[$1658>>2]|0;
    44298        $1660 = ((($1659)) + 20|0);
    44299        $1661 = HEAP32[$1660>>2]|0;
    44300        $1662 = ($1661|0)>=(0);
    44301        if ($1662) {
    44302         $1666 = ((($1)) + 12|0);
    44303         $1667 = HEAP32[$1666>>2]|0;
    44304         $1668 = ((($1667)) + 16|0);
    44305         $1669 = HEAP32[$1668>>2]|0;
    44306         $1670 = ((($1)) + 12|0);
    44307         $1671 = HEAP32[$1670>>2]|0;
    44308         $1672 = ((($1671)) + 20|0);
    44309         $1673 = HEAP32[$1672>>2]|0;
    44310         $1674 = ($1669|0)==($1673|0);
    44311         if ($1674) {
    44312          $1675 = ((($1)) + 12|0);
    44313          $1676 = HEAP32[$1675>>2]|0;
    44314          $1677 = ((($1676)) + 16|0);
    44315          $1678 = HEAP32[$1677>>2]|0;
    44316          $1679 = ((($1678)) + 28|0);
    44317          $1680 = HEAP32[$1679>>2]|0;
    44318          $1681 = ($1680|0)!=(0|0);
    44319          if ($1681) {
    44320           $1682 = ((($1)) + 12|0);
    44321           $1683 = HEAP32[$1682>>2]|0;
    44322           $1684 = HEAP32[$1683>>2]|0;
    44323           $1685 = ((($1)) + 12|0);
    44324           HEAP32[$1685>>2] = $1684;
    44325           HEAP32[$1683>>2] = 0;
    44326          }
    44327         }
    44328         $1686 = ((($1)) + 12|0);
    44329         $1687 = HEAP32[$1686>>2]|0;
    44330         $1688 = ((($1687)) + 16|0);
    44331         $1689 = HEAP32[$1688>>2]|0;
    44332         $1690 = ((($1689)) + 8|0);
    44333         $1691 = HEAP32[$1690>>2]|0;
    44334         $1692 = ((($1)) + 12|0);
    44335         $1693 = HEAP32[$1692>>2]|0;
    44336         $1694 = ((($1693)) + 4|0);
    44337         HEAP32[$1694>>2] = $1691;
    44338         $1695 = ((($1)) + 12|0);
    44339         $1696 = HEAP32[$1695>>2]|0;
    44340         $1697 = ((($1696)) + 20|0);
    44341         $1698 = HEAP32[$1697>>2]|0;
    44342         $1699 = ((($$41090)) + 20|0);
    44343         $1700 = HEAP32[$1699>>2]|0;
    44344         $1701 = ((($1700)) + 20|0);
    44345         $1702 = HEAP32[$1701>>2]|0;
    44346         $1703 = (($1698) + (($1702*48)|0)|0);
    44347         $1704 = ((($1703)) + 48|0);
    44348         $1705 = ((($1)) + 12|0);
    44349         $1706 = HEAP32[$1705>>2]|0;
    44350         $1707 = ((($1706)) + 16|0);
    44351         HEAP32[$1707>>2] = $1704;
    44352         $$01019 = $1689;
    44353         while(1) {
    44354          $1708 = ((($1)) + 12|0);
    44355          $1709 = HEAP32[$1708>>2]|0;
    44356          $1710 = ((($1709)) + 16|0);
    44357          $1711 = HEAP32[$1710>>2]|0;
    44358          $1712 = ($$01019>>>0)>($1711>>>0);
    44359          if (!($1712)) {
    44360           $$01018 = $1556;$$11020 = $$01019;
    44361           break L646;
    44362          }
    44363          $1713 = ((($$01019)) + -48|0);
    44364          $1714 = ((($1713)) + 40|0);
    44365          $1715 = HEAP32[$1714>>2]|0;
    44366          $1716 = ($1715|0)==(-1);
    44367          if ($1716) {
    44368           break;
    44369          }
    44370          $1720 = ((($$01019)) + -48|0);
    44371          $$01019 = $1720;
    44372         }
    44373         $1717 = ((($1)) + 12|0);
    44374         $1718 = HEAP32[$1717>>2]|0;
    44375         $1719 = ((($1718)) + 16|0);
    44376         HEAP32[$1719>>2] = $$01019;
    44377         $$01018 = $1556;$$11020 = $$01019;
    44378         break L646;
    44379        }
    44380       }
    44381       __THREW__ = 0;
    44382       invoke_vii(180,($1|0),1);
    44383       $1663 = __THREW__; __THREW__ = 0;
    44384       if ((($1663|0) != 0) & ((threwValue|0) != 0)) { $1664 = _testSetjmp(HEAP32[$1663>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1664|0) == 0) { _longjmp($1663|0, threwValue|0); } tempRet0 = (threwValue); } else { $1664 = -1; };
    44385       $1665 = tempRet0;
    44386       $cond1312 = ($1664|0)==(1);
    44387       if ($cond1312) {
    44388        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1665;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44389        continue L3;
    44390       }
    44391       $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
    44392       label = 272;
    44393       continue L19;
    44394       break;
    44395      }
    44396      default: {
    44397       $$01018 = $1556;$$11020 = $1550;
    44398      }
    44399      }
    44400     } while(0);
    44401     if ((label|0) == 309) {
    44402      label = 0;
    44403      $1606 = ((($1)) + 12|0);
    44404      $1607 = HEAP32[$1606>>2]|0;
    44405      $1608 = ((($1607)) + 20|0);
    44406      $1609 = HEAP32[$1608>>2]|0;
    44407      $1610 = ($1550|0)==($1609|0);
    44408      do {
    44409       if ($1610) {
    44410        $1611 = ((($1)) + 12|0);
    44411        $1612 = HEAP32[$1611>>2]|0;
    44412        $1613 = HEAP32[$1612>>2]|0;
    44413        $1614 = ($1613|0)!=(0|0);
    44414        if (!($1614)) {
    44415         __THREW__ = 0;
    44416         invoke_vii(180,($1|0),0);
    44417         $1615 = __THREW__; __THREW__ = 0;
    44418         if ((($1615|0) != 0) & ((threwValue|0) != 0)) { $1616 = _testSetjmp(HEAP32[$1615>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1616|0) == 0) { _longjmp($1615|0, threwValue|0); } tempRet0 = (threwValue); } else { $1616 = -1; };
    44419         $1617 = tempRet0;
    44420         $cond1313 = ($1616|0)==(1);
    44421         if ($cond1313) {
    44422          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1617;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44423          continue L3;
    44424         }
    44425         $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
    44426         label = 272;
    44427         continue L19;
    44428        }
    44429        $1618 = ((($1)) + 12|0);
    44430        $1619 = HEAP32[$1618>>2]|0;
    44431        $1620 = HEAP32[$1619>>2]|0;
    44432        $1621 = ((($1620)) + 16|0);
    44433        $1622 = HEAP32[$1621>>2]|0;
    44434        $1623 = ((($1)) + 12|0);
    44435        $1624 = HEAP32[$1623>>2]|0;
    44436        $1625 = HEAP32[$1624>>2]|0;
    44437        $1626 = ((($1625)) + 20|0);
    44438        $1627 = HEAP32[$1626>>2]|0;
    44439        $1628 = ($1622|0)==($1627|0);
    44440        if (!($1628)) {
    44441         $1641 = ((($1)) + 12|0);
    44442         $1642 = HEAP32[$1641>>2]|0;
    44443         $1643 = ((($1642)) + 44|0);
    44444         HEAP32[$1643>>2] = 5;
    44445         $1644 = ((($1)) + 12|0);
    44446         $1645 = HEAP32[$1644>>2]|0;
    44447         $1646 = HEAP32[$1645>>2]|0;
    44448         $1647 = ((($1)) + 12|0);
    44449         HEAP32[$1647>>2] = $1646;
    44450         $1648 = ((($1)) + 12|0);
    44451         $1649 = HEAP32[$1648>>2]|0;
    44452         $1650 = ((($1649)) + 44|0);
    44453         HEAP32[$1650>>2] = 1;
    44454         break;
    44455        }
    44456        __THREW__ = 0;
    44457        $1629 = (invoke_iii(135,($1|0),(56763|0))|0);
    44458        $1630 = __THREW__; __THREW__ = 0;
    44459        if ((($1630|0) != 0) & ((threwValue|0) != 0)) { $1631 = _testSetjmp(HEAP32[$1630>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1631|0) == 0) { _longjmp($1630|0, threwValue|0); } tempRet0 = (threwValue); } else { $1631 = -1; };
    44460        $1632 = tempRet0;
    44461        $cond1314 = ($1631|0)==(1);
    44462        if ($cond1314) {
    44463         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1632;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44464         continue L3;
    44465        }
    44466        __THREW__ = 0;
    44467        invoke_viiii(171,($46|0),($1|0),(56774|0),13);
    44468        $1633 = __THREW__; __THREW__ = 0;
    44469        if ((($1633|0) != 0) & ((threwValue|0) != 0)) { $1634 = _testSetjmp(HEAP32[$1633>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1634|0) == 0) { _longjmp($1633|0, threwValue|0); } tempRet0 = (threwValue); } else { $1634 = -1; };
    44470        $1635 = tempRet0;
    44471        $cond1315 = ($1634|0)==(1);
    44472        if ($cond1315) {
    44473         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1635;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44474         continue L3;
    44475        }
    44476        __THREW__ = 0;
    44477        ;HEAP32[$$byval_copy1121>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy1121+4>>2]=HEAP32[$46+4>>2]|0;
    44478        invoke_viiii(172,($45|0),($1|0),($1629|0),($$byval_copy1121|0));
    44479        $1636 = __THREW__; __THREW__ = 0;
    44480        if ((($1636|0) != 0) & ((threwValue|0) != 0)) { $1637 = _testSetjmp(HEAP32[$1636>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1637|0) == 0) { _longjmp($1636|0, threwValue|0); } tempRet0 = (threwValue); } else { $1637 = -1; };
    44481        $1638 = tempRet0;
    44482        $cond1316 = ($1637|0)==(1);
    44483        if ($cond1316) {
    44484         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1638;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44485         continue L3;
    44486        }
    44487        $1639 = HEAP32[$45>>2]|0;
    44488        $1640 = ((($1)) + 20|0);
    44489        HEAP32[$1640>>2] = $1639;
    44490        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
    44491        label = 272;
    44492        continue L19;
    44493       }
    44494      } while(0);
    44495      $1651 = ((($1)) + 12|0);
    44496      $1652 = HEAP32[$1651>>2]|0;
    44497      $1653 = ((($1652)) + 16|0);
    44498      $1654 = HEAP32[$1653>>2]|0;
    44499      $$01018 = $1556;$$11020 = $1654;
    44500     }
    44501     while(1) {
    44502      $1721 = ((($1)) + 12|0);
    44503      $1722 = HEAP32[$1721>>2]|0;
    44504      $1723 = ((($1722)) + 16|0);
    44505      $1724 = HEAP32[$1723>>2]|0;
    44506      $1725 = ((($1724)) + -48|0);
    44507      $1726 = ((($1725)) + 20|0);
    44508      $1727 = HEAP32[$1726>>2]|0;
    44509      $1728 = ($$01018|0)>($1727|0);
    44510      if (!($1728)) {
    44511       break;
    44512      }
    44513      $1729 = (($$01018) + -1)|0;
    44514      __THREW__ = 0;
    44515      invoke_vii(166,($1|0),($1729|0));
    44516      $1730 = __THREW__; __THREW__ = 0;
    44517      if ((($1730|0) != 0) & ((threwValue|0) != 0)) { $1731 = _testSetjmp(HEAP32[$1730>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1731|0) == 0) { _longjmp($1730|0, threwValue|0); } tempRet0 = (threwValue); } else { $1731 = -1; };
    44518      $1732 = tempRet0;
    44519      $cond1321 = ($1731|0)==(1);
    44520      if ($cond1321) {
    44521       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1732;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44522       continue L3;
    44523      }
    44524      $$11020$phi = $$11020;$$01018 = $1729;$$11020 = $$11020$phi;
    44525     }
    44526     __THREW__ = 0;
    44527     invoke_vi(132,($1|0));
    44528     $1733 = __THREW__; __THREW__ = 0;
    44529     if ((($1733|0) != 0) & ((threwValue|0) != 0)) { $1734 = _testSetjmp(HEAP32[$1733>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1734|0) == 0) { _longjmp($1733|0, threwValue|0); } tempRet0 = (threwValue); } else { $1734 = -1; };
    44530     $1735 = tempRet0;
    44531     $cond1320 = ($1734|0)==(1);
    44532     if ($cond1320) {
    44533      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1735;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44534      continue L3;
    44535     }
    44536     $1736 = ((($$11020)) + 40|0);
    44537     $1737 = HEAP32[$1736>>2]|0;
    44538     $1738 = ((($$11020)) + 28|0);
    44539     $1739 = HEAP32[$1738>>2]|0;
    44540     $1740 = ((($$11020)) + 8|0);
    44541     $1741 = HEAP32[$1740>>2]|0;
    44542     $1742 = ((($1)) + 12|0);
    44543     $1743 = HEAP32[$1742>>2]|0;
    44544     $1744 = ((($1743)) + 4|0);
    44545     HEAP32[$1744>>2] = $1741;
    44546     $1745 = ($1737|0)==(-1);
    44547     if ($1745) {
    44548      label = 337;
    44549      break L3;
    44550     }
    44551     $1746 = ((($1)) + 12|0);
    44552     $1747 = HEAP32[$1746>>2]|0;
    44553     $1748 = ((($1747)) + 16|0);
    44554     $1749 = HEAP32[$1748>>2]|0;
    44555     $1750 = ((($1749)) + 4|0);
    44556     $1751 = HEAP32[$1750>>2]|0;
    44557     $1752 = ((($1751)) + 12|0);
    44558     $1753 = HEAP32[$1752>>2]|0;
    44559     $1754 = ((($1753)) + 12|0);
    44560     $1755 = HEAP32[$1754>>2]|0;
    44561     $1756 = ((($1753)) + 16|0);
    44562     $1757 = HEAP32[$1756>>2]|0;
    44563     $1758 = (($1741) + ($1737<<3)|0);
    44564     ;HEAP32[$1758>>2]=HEAP32[$44>>2]|0;HEAP32[$1758+4>>2]=HEAP32[$44+4>>2]|0;
    44565     $$3 = $$5;$$31056 = $1741;$$41063 = $1757;$$41069 = $1755;$$41076 = $1739;$$61085 = $1753;$$61092 = $1751;
    44566    }
    44567    $1759 = HEAP32[$$41076>>2]|0;
    44568    $$21052 = $1759;$$5 = $$3;$$51058 = $$31056;$$6 = $$41063;$$61071 = $$41069;$$61078 = $$41076;$$8 = $$61085;$$81094 = $$61092;$$sink$reg2mem$0 = $1759;
    44569    label = 583;
    44570   }
    44571   if ((label|0) == 283) {
    44572    label = 0;
    44573    HEAP32[$1>>2] = $$11047;
    44574    __THREW__ = 0;
    44575    invoke_vii(178,($$11047|0),1);
    44576    $1477 = __THREW__; __THREW__ = 0;
    44577    if ((($1477|0) != 0) & ((threwValue|0) != 0)) { $1478 = _testSetjmp(HEAP32[$1477>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1478|0) == 0) { _longjmp($1477|0, threwValue|0); } tempRet0 = (threwValue); } else { $1478 = -1; };
    44578    $1479 = tempRet0;
    44579    $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1479;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44580    continue;
    44581   }
    44582   else if ((label|0) == 290) {
    44583    label = 0;
    44584    $1500 = ((($1499)) + 8|0);
    44585    $1501 = HEAP32[$1500>>2]|0;
    44586    $1502 = ((($1)) + 12|0);
    44587    $1503 = HEAP32[$1502>>2]|0;
    44588    $1504 = ((($1503)) + 4|0);
    44589    HEAP32[$1504>>2] = $1501;
    44590    $$4 = $$21045;$$41057 = $1501;$$51064 = $$31062;$$51070 = $$31068;$$51077 = $$31075;$$7 = $$51084;$$71093 = $$51091;
    44591   }
    44592   $3002 = ((($1)) + 12|0);
    44593   $3003 = HEAP32[$3002>>2]|0;
    44594   $3004 = ((($3003)) + 16|0);
    44595   $3005 = HEAP32[$3004>>2]|0;
    44596   $3006 = ((($1)) + 12|0);
    44597   $3007 = HEAP32[$3006>>2]|0;
    44598   $3008 = ((($3007)) + 20|0);
    44599   $3009 = HEAP32[$3008>>2]|0;
    44600   $3010 = ($3005|0)==($3009|0);
    44601   if ($3010) {
    44602    $$reg2mem992$0 = 0;
    44603   } else {
    44604    $3011 = ((($1)) + 12|0);
    44605    $3012 = HEAP32[$3011>>2]|0;
    44606    $3013 = ((($3012)) + 16|0);
    44607    $3014 = HEAP32[$3013>>2]|0;
    44608    $3015 = ((($3014)) + -48|0);
    44609    $3016 = ((($3015)) + 20|0);
    44610    $3017 = HEAP32[$3016>>2]|0;
    44611    $$reg2mem992$0 = $3017;
    44612   }
    44613   $3018 = ((($1)) + 12|0);
    44614   $3019 = HEAP32[$3018>>2]|0;
    44615   $3020 = ((($3019)) + 16|0);
    44616   $3021 = HEAP32[$3020>>2]|0;
    44617   $3022 = ((($3021)) + 20|0);
    44618   $3023 = HEAP32[$3022>>2]|0;
    44619   $$0 = $3023;
    44620   while(1) {
    44621    $3024 = ($$0|0)>($$reg2mem992$0|0);
    44622    if (!($3024)) {
    44623     break;
    44624    }
    44625    $3025 = (($$0) + -1)|0;
    44626    __THREW__ = 0;
    44627    invoke_vii(166,($1|0),($3025|0));
    44628    $3026 = __THREW__; __THREW__ = 0;
    44629    if ((($3026|0) != 0) & ((threwValue|0) != 0)) { $3027 = _testSetjmp(HEAP32[$3026>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3027|0) == 0) { _longjmp($3026|0, threwValue|0); } tempRet0 = (threwValue); } else { $3027 = -1; };
    44630    $3028 = tempRet0;
    44631    $cond1244 = ($3027|0)==(1);
    44632    if ($cond1244) {
    44633     $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$4;$$11054 = $$41057;$$11060 = $$51064;$$11066 = $$51070;$$11073 = $$51077;$$11080 = $$7;$$11087 = $$71093;$$reg2mem1002$0 = $3028;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44634     continue L3;
    44635    }
    44636    $$0 = $3025;
    44637   }
    44638   $3029 = ((($1)) + 12|0);
    44639   $3030 = HEAP32[$3029>>2]|0;
    44640   $3031 = ((($3030)) + 16|0);
    44641   $3032 = HEAP32[$3031>>2]|0;
    44642   $3033 = ((($3032)) + 32|0);
    44643   HEAP32[$3033>>2] = 0;
    44644   HEAP32[$1>>2] = $$11047;
    44645   $3034 = ((($1)) + 20|0);
    44646   $3035 = HEAP32[$3034>>2]|0;
    44647   $3036 = ($3035|0)!=(0|0);
    44648   if (!($3036)) {
    44649    label = 571;
    44650    break;
    44651   }
    44652   $3037 = ((($1)) + 20|0);
    44653   $3038 = HEAP32[$3037>>2]|0;
    44654   __THREW__ = 0;
    44655   invoke_vii(133,($0|0),($3038|0));
    44656   $3039 = __THREW__; __THREW__ = 0;
    44657   if ((($3039|0) != 0) & ((threwValue|0) != 0)) { $3040 = _testSetjmp(HEAP32[$3039>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3040|0) == 0) { _longjmp($3039|0, threwValue|0); } tempRet0 = (threwValue); } else { $3040 = -1; };
    44658   $3041 = tempRet0;
    44659   $cond1243 = ($3040|0)==(1);
    44660   if ($cond1243) {
    44661    $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$4;$$11054 = $$41057;$$11060 = $$51064;$$11066 = $$51070;$$11073 = $$51077;$$11080 = $$7;$$11087 = $$71093;$$reg2mem1002$0 = $3041;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
    44662   } else {
    44663    label = 570;
    44664    break;
    44665   }
    44666  }
    44667  if ((label|0) == 337) {
    44668   HEAP32[$1>>2] = $$11047;
    44669   ;HEAP32[$0>>2]=HEAP32[$44>>2]|0;HEAP32[$0+4>>2]=HEAP32[$44+4>>2]|0;
    44670   _free(_setjmpTable|0);
    44671   STACKTOP = sp;return;
    44672  }
    44673  else if ((label|0) == 570) {
    44674   _free(_setjmpTable|0);
    44675   STACKTOP = sp;return;
    44676  }
    44677  else if ((label|0) == 571) {
    44678   $3042 = HEAP16[$$7>>1]|0;
    44679   $3043 = $3042&65535;
    44680   $3044 = (($$41057) + ($3043<<3)|0);
    44681   ;HEAP32[$0>>2]=HEAP32[$3044>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3044+4>>2]|0;
    44682   _free(_setjmpTable|0);
    44683   STACKTOP = sp;return;
    44684  }
    44685  else if ((label|0) == 584) {
    44686   // unreachable;
    44687  }
    44688 }
    44689 function _uvenv($0,$1) {
    44690  $0 = $0|0;
    44691  $1 = $1|0;
    44692  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    44693  var $8 = 0, $9 = 0, label = 0, sp = 0;
    44694  sp = STACKTOP;
    44695  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    44696  $3 = $0;
    44697  $4 = $1;
    44698  $6 = $3;
    44699  $7 = ((($6)) + 12|0);
    44700  $8 = HEAP32[$7>>2]|0;
    44701  $9 = ((($8)) + 16|0);
    44702  $10 = HEAP32[$9>>2]|0;
    44703  $11 = ((($10)) + 4|0);
    44704  $12 = HEAP32[$11>>2]|0;
    44705  $13 = ((($12)) + 20|0);
    44706  $14 = HEAP32[$13>>2]|0;
    44707  $5 = $14;
    44708  while(1) {
    44709   $15 = $4;
    44710   $16 = (($15) + -1)|0;
    44711   $4 = $16;
    44712   $17 = ($15|0)!=(0);
    44713   $18 = $5;
    44714   if (!($17)) {
    44715    label = 6;
    44716    break;
    44717   }
    44718   $19 = ($18|0)!=(0|0);
    44719   if (!($19)) {
    44720    label = 4;
    44721    break;
    44722   }
    44723   $20 = $5;
    44724   $21 = ((($20)) + 4|0);
    44725   $22 = HEAP32[$21>>2]|0;
    44726   $5 = $22;
    44727  }
    44728  if ((label|0) == 4) {
    44729   $2 = 0;
    44730   $23 = $2;
    44731   STACKTOP = sp;return ($23|0);
    44732  }
    44733  else if ((label|0) == 6) {
    44734   $2 = $18;
    44735   $23 = $2;
    44736   STACKTOP = sp;return ($23|0);
    44737  }
    44738  return (0)|0;
    44739 }
    44740 function _ecall($0,$1) {
    44741  $0 = $0|0;
    44742  $1 = $1|0;
    44743  var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
    44744  var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
    44745  var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
    44746  var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
    44747  var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
    44748  var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    44749  sp = STACKTOP;
    44750  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    44751  $$byval_copy = sp + 32|0;
    44752  $8 = sp;
    44753  $2 = $0;
    44754  $3 = $1;
    44755  $9 = $2;
    44756  $10 = ((($9)) + 12|0);
    44757  $11 = HEAP32[$10>>2]|0;
    44758  $12 = ((($11)) + 4|0);
    44759  $13 = HEAP32[$12>>2]|0;
    44760  $6 = $13;
    44761  $14 = $3;
    44762  $15 = ($14|0)<(0);
    44763  if ($15) {
    44764   STACKTOP = sp;return;
    44765  }
    44766  $16 = $2;
    44767  $17 = ((($16)) + 12|0);
    44768  $18 = HEAP32[$17>>2]|0;
    44769  $19 = ((($18)) + 36|0);
    44770  $20 = HEAP32[$19>>2]|0;
    44771  $21 = $3;
    44772  $22 = (($20) + ($21<<2)|0);
    44773  $23 = HEAP32[$22>>2]|0;
    44774  $4 = $23;
    44775  $24 = $4;
    44776  $25 = ($24|0)!=(0|0);
    44777  if (!($25)) {
    44778   STACKTOP = sp;return;
    44779  }
    44780  $26 = $2;
    44781  $27 = ((($26)) + 12|0);
    44782  $28 = HEAP32[$27>>2]|0;
    44783  $29 = ((($28)) + 16|0);
    44784  $30 = HEAP32[$29>>2]|0;
    44785  $31 = ((($30)) + 20|0);
    44786  $32 = HEAP32[$31>>2]|0;
    44787  $33 = $3;
    44788  $34 = ($32|0)>($33|0);
    44789  if ($34) {
    44790   $35 = $3;
    44791   $36 = $2;
    44792   $37 = ((($36)) + 12|0);
    44793   $38 = HEAP32[$37>>2]|0;
    44794   $39 = ((($38)) + 16|0);
    44795   $40 = HEAP32[$39>>2]|0;
    44796   $41 = ((($40)) + 20|0);
    44797   HEAP32[$41>>2] = $35;
    44798  }
    44799  $42 = $2;
    44800  $43 = (_cipush($42)|0);
    44801  $5 = $43;
    44802  $44 = $2;
    44803  $45 = ((($44)) + 12|0);
    44804  $46 = HEAP32[$45>>2]|0;
    44805  $47 = ((($46)) + 4|0);
    44806  $48 = HEAP32[$47>>2]|0;
    44807  $49 = $5;
    44808  $50 = ((($49)) + 8|0);
    44809  HEAP32[$50>>2] = $48;
    44810  $51 = $5;
    44811  $52 = ((($51)) + -48|0);
    44812  $53 = HEAP32[$52>>2]|0;
    44813  $54 = $5;
    44814  HEAP32[$54>>2] = $53;
    44815  $55 = $5;
    44816  $56 = ((($55)) + 40|0);
    44817  HEAP32[$56>>2] = -1;
    44818  $57 = $5;
    44819  $58 = ((($57)) + 36|0);
    44820  HEAP32[$58>>2] = 0;
    44821  $59 = $4;
    44822  $60 = $5;
    44823  $61 = ((($60)) + 4|0);
    44824  HEAP32[$61>>2] = $59;
    44825  $62 = $4;
    44826  $63 = ((($62)) + 12|0);
    44827  $64 = HEAP32[$63>>2]|0;
    44828  $65 = ((($64)) + 2|0);
    44829  $66 = HEAP16[$65>>1]|0;
    44830  $67 = $66&65535;
    44831  $68 = $5;
    44832  $69 = ((($68)) + 12|0);
    44833  HEAP32[$69>>2] = $67;
    44834  $70 = $4;
    44835  $71 = ((($70)) + 16|0);
    44836  $72 = HEAP32[$71>>2]|0;
    44837  $73 = $5;
    44838  $74 = ((($73)) + 44|0);
    44839  HEAP32[$74>>2] = $72;
    44840  $75 = $2;
    44841  $76 = ((($75)) + 12|0);
    44842  $77 = HEAP32[$76>>2]|0;
    44843  $78 = ((($77)) + 4|0);
    44844  $79 = HEAP32[$78>>2]|0;
    44845  $80 = $5;
    44846  $81 = ((($80)) + -48|0);
    44847  $82 = ((($81)) + 12|0);
    44848  $83 = HEAP32[$82>>2]|0;
    44849  $84 = (($79) + ($83<<3)|0);
    44850  $85 = $2;
    44851  $86 = ((($85)) + 12|0);
    44852  $87 = HEAP32[$86>>2]|0;
    44853  $88 = ((($87)) + 4|0);
    44854  HEAP32[$88>>2] = $84;
    44855  $89 = $2;
    44856  $90 = ((($89)) + 20|0);
    44857  $91 = HEAP32[$90>>2]|0;
    44858  $7 = $91;
    44859  $92 = $2;
    44860  $93 = ((($92)) + 20|0);
    44861  HEAP32[$93>>2] = 0;
    44862  $94 = $2;
    44863  $95 = $4;
    44864  $96 = $6;
    44865  ;HEAP32[$$byval_copy>>2]=HEAP32[$96>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$96+4>>2]|0;
    44866  _mrb_run($8,$94,$95,$$byval_copy);
    44867  $97 = $2;
    44868  $98 = ((($97)) + 12|0);
    44869  $99 = HEAP32[$98>>2]|0;
    44870  $100 = ((($99)) + 36|0);
    44871  $101 = HEAP32[$100>>2]|0;
    44872  $102 = $3;
    44873  $103 = (($101) + ($102<<2)|0);
    44874  HEAP32[$103>>2] = 0;
    44875  $104 = $2;
    44876  $105 = ((($104)) + 20|0);
    44877  $106 = HEAP32[$105>>2]|0;
    44878  $107 = ($106|0)!=(0|0);
    44879  if ($107) {
    44880   STACKTOP = sp;return;
    44881  }
    44882  $108 = $7;
    44883  $109 = $2;
    44884  $110 = ((($109)) + 20|0);
    44885  HEAP32[$110>>2] = $108;
    44886  STACKTOP = sp;return;
    44887 }
    44888 function _value_move($0,$1,$2) {
    44889  $0 = $0|0;
    44890  $1 = $1|0;
    44891  $2 = $2|0;
    44892  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    44893  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    44894  sp = STACKTOP;
    44895  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    44896  $3 = $0;
    44897  $4 = $1;
    44898  $5 = $2;
    44899  $6 = $3;
    44900  $7 = $4;
    44901  $8 = ($6>>>0)>($7>>>0);
    44902  if ($8) {
    44903   $9 = $3;
    44904   $10 = $4;
    44905   $11 = $5;
    44906   $12 = (($10) + ($11<<3)|0);
    44907   $13 = ($9>>>0)<($12>>>0);
    44908   if ($13) {
    44909    $14 = $5;
    44910    $15 = $3;
    44911    $16 = (($15) + ($14<<3)|0);
    44912    $3 = $16;
    44913    $17 = $5;
    44914    $18 = $4;
    44915    $19 = (($18) + ($17<<3)|0);
    44916    $4 = $19;
    44917    while(1) {
    44918     $20 = $5;
    44919     $21 = (($20) + -1)|0;
    44920     $5 = $21;
    44921     $22 = ($20>>>0)>(0);
    44922     if (!($22)) {
    44923      break;
    44924     }
    44925     $23 = $3;
    44926     $24 = ((($23)) + -8|0);
    44927     $3 = $24;
    44928     $25 = $4;
    44929     $26 = ((($25)) + -8|0);
    44930     $4 = $26;
    44931     ;HEAP32[$24>>2]=HEAP32[$26>>2]|0;HEAP32[$24+4>>2]=HEAP32[$26+4>>2]|0;
    44932    }
    44933    STACKTOP = sp;return;
    44934   }
    44935  }
    44936  $27 = $3;
    44937  $28 = $4;
    44938  $29 = ($27|0)!=($28|0);
    44939  if (!($29)) {
    44940   STACKTOP = sp;return;
    44941  }
    44942  while(1) {
    44943   $30 = $5;
    44944   $31 = (($30) + -1)|0;
    44945   $5 = $31;
    44946   $32 = ($30>>>0)>(0);
    44947   if (!($32)) {
    44948    break;
    44949   }
    44950   $33 = $3;
    44951   $34 = ((($33)) + 8|0);
    44952   $3 = $34;
    44953   $35 = $4;
    44954   $36 = ((($35)) + 8|0);
    44955   $4 = $36;
    44956   ;HEAP32[$33>>2]=HEAP32[$35>>2]|0;HEAP32[$33+4>>2]=HEAP32[$35+4>>2]|0;
    44957  }
    44958  STACKTOP = sp;return;
    44959 }
    44960 function _argnum_error($0,$1) {
    44961  $0 = $0|0;
    44962  $1 = $1|0;
    44963  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    44964  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    44965  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
    44966  sp = STACKTOP;
    44967  STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
    44968  $$byval_copy = sp + 128|0;
    44969  $vararg_buffer3 = sp + 24|0;
    44970  $vararg_buffer = sp;
    44971  $4 = sp + 112|0;
    44972  $5 = sp + 104|0;
    44973  $6 = sp + 96|0;
    44974  $7 = sp + 88|0;
    44975  $8 = sp + 80|0;
    44976  $9 = sp + 72|0;
    44977  $10 = sp + 64|0;
    44978  $11 = sp + 56|0;
    44979  $12 = sp + 48|0;
    44980  $13 = sp + 40|0;
    44981  $2 = $0;
    44982  $3 = $1;
    44983  $14 = $2;
    44984  $15 = ((($14)) + 12|0);
    44985  $16 = HEAP32[$15>>2]|0;
    44986  $17 = ((($16)) + 16|0);
    44987  $18 = HEAP32[$17>>2]|0;
    44988  $19 = HEAP32[$18>>2]|0;
    44989  $20 = ($19|0)!=(0);
    44990  $21 = $2;
    44991  $22 = $2;
    44992  if ($20) {
    44993   $23 = $2;
    44994   $24 = ((($23)) + 12|0);
    44995   $25 = HEAP32[$24>>2]|0;
    44996   $26 = ((($25)) + 16|0);
    44997   $27 = HEAP32[$26>>2]|0;
    44998   $28 = HEAP32[$27>>2]|0;
    44999   _mrb_sym2str($6,$22,$28);
    45000   $29 = $2;
    45001   $30 = ((($29)) + 12|0);
    45002   $31 = HEAP32[$30>>2]|0;
    45003   $32 = ((($31)) + 16|0);
    45004   $33 = HEAP32[$32>>2]|0;
    45005   $34 = ((($33)) + 36|0);
    45006   $35 = HEAP32[$34>>2]|0;
    45007   _mrb_fixnum_value_421($7,$35);
    45008   $36 = $3;
    45009   _mrb_fixnum_value_421($8,$36);
    45010   ;HEAP8[$vararg_buffer>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$6+7>>0]|0;
    45011   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    45012   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$7+7>>0]|0;
    45013   $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
    45014   ;HEAP8[$vararg_ptr2>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$8+7>>0]|0;
    45015   _mrb_format($9,$21,56884,$vararg_buffer);
    45016   ;HEAP32[$5>>2]=HEAP32[$9>>2]|0;HEAP32[$5+4>>2]=HEAP32[$9+4>>2]|0;
    45017   $44 = $2;
    45018   $45 = $2;
    45019   $46 = (_mrb_class_get($45,69160)|0);
    45020   ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    45021   _mrb_exc_new_str($13,$44,$46,$$byval_copy);
    45022   ;HEAP32[$4>>2]=HEAP32[$13>>2]|0;HEAP32[$4+4>>2]=HEAP32[$13+4>>2]|0;
    45023   $47 = HEAP32[$4>>2]|0;
    45024   $48 = $2;
    45025   $49 = ((($48)) + 20|0);
    45026   HEAP32[$49>>2] = $47;
    45027   STACKTOP = sp;return;
    45028  } else {
    45029   $37 = ((($22)) + 12|0);
    45030   $38 = HEAP32[$37>>2]|0;
    45031   $39 = ((($38)) + 16|0);
    45032   $40 = HEAP32[$39>>2]|0;
    45033   $41 = ((($40)) + 36|0);
    45034   $42 = HEAP32[$41>>2]|0;
    45035   _mrb_fixnum_value_421($10,$42);
    45036   $43 = $3;
    45037   _mrb_fixnum_value_421($11,$43);
    45038   ;HEAP8[$vararg_buffer3>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_buffer3+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_buffer3+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_buffer3+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_buffer3+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_buffer3+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_buffer3+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_buffer3+7>>0]=HEAP8[$10+7>>0]|0;
    45039   $vararg_ptr6 = ((($vararg_buffer3)) + 8|0);
    45040   ;HEAP8[$vararg_ptr6>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_ptr6+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_ptr6+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_ptr6+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_ptr6+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_ptr6+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_ptr6+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_ptr6+7>>0]=HEAP8[$11+7>>0]|0;
    45041   _mrb_format($12,$21,56928,$vararg_buffer3);
    45042   ;HEAP32[$5>>2]=HEAP32[$12>>2]|0;HEAP32[$5+4>>2]=HEAP32[$12+4>>2]|0;
    45043   $44 = $2;
    45044   $45 = $2;
    45045   $46 = (_mrb_class_get($45,69160)|0);
    45046   ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    45047   _mrb_exc_new_str($13,$44,$46,$$byval_copy);
    45048   ;HEAP32[$4>>2]=HEAP32[$13>>2]|0;HEAP32[$4+4>>2]=HEAP32[$13+4>>2]|0;
    45049   $47 = HEAP32[$4>>2]|0;
    45050   $48 = $2;
    45051   $49 = ((($48)) + 20|0);
    45052   HEAP32[$49>>2] = $47;
    45053   STACKTOP = sp;return;
    45054  }
    45055 }
    45056 function _mrb_cptr_value($0,$1,$2) {
    45057  $0 = $0|0;
    45058  $1 = $1|0;
    45059  $2 = $2|0;
    45060  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    45061  sp = STACKTOP;
    45062  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    45063  $5 = sp;
    45064  $3 = $1;
    45065  $4 = $2;
    45066  $6 = ((($5)) + 4|0);
    45067  HEAP32[$6>>2] = 7;
    45068  $7 = $4;
    45069  HEAP32[$5>>2] = $7;
    45070  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    45071  STACKTOP = sp;return;
    45072 }
    45073 function _top_env($0,$1) {
    45074  $0 = $0|0;
    45075  $1 = $1|0;
    45076  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
    45077  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    45078  sp = STACKTOP;
    45079  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    45080  $3 = $0;
    45081  $4 = $1;
    45082  $6 = $4;
    45083  $7 = ((($6)) + 20|0);
    45084  $8 = HEAP32[$7>>2]|0;
    45085  $5 = $8;
    45086  $9 = $3;
    45087  $10 = $5;
    45088  $11 = (_is_strict($9,$10)|0);
    45089  $12 = ($11<<24>>24)!=(0);
    45090  if ($12) {
    45091   $13 = $5;
    45092   $2 = $13;
    45093   $26 = $2;
    45094   STACKTOP = sp;return ($26|0);
    45095  }
    45096  while(1) {
    45097   $14 = $5;
    45098   $15 = ((($14)) + 4|0);
    45099   $16 = HEAP32[$15>>2]|0;
    45100   $17 = ($16|0)!=(0|0);
    45101   $18 = $5;
    45102   if (!($17)) {
    45103    label = 6;
    45104    break;
    45105   }
    45106   $19 = ((($18)) + 4|0);
    45107   $20 = HEAP32[$19>>2]|0;
    45108   $5 = $20;
    45109   $21 = $3;
    45110   $22 = $5;
    45111   $23 = (_is_strict($21,$22)|0);
    45112   $24 = ($23<<24>>24)!=(0);
    45113   if ($24) {
    45114    label = 5;
    45115    break;
    45116   }
    45117  }
    45118  if ((label|0) == 5) {
    45119   $25 = $5;
    45120   $2 = $25;
    45121   $26 = $2;
    45122   STACKTOP = sp;return ($26|0);
    45123  }
    45124  else if ((label|0) == 6) {
    45125   $2 = $18;
    45126   $26 = $2;
    45127   STACKTOP = sp;return ($26|0);
    45128  }
    45129  return (0)|0;
    45130 }
    45131 function _localjump_error($0,$1) {
    45132  $0 = $0|0;
    45133  $1 = $1|0;
    45134  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    45135  var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
    45136  sp = STACKTOP;
    45137  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    45138  $$byval_copy2 = sp + 72|0;
    45139  $$byval_copy1 = sp + 64|0;
    45140  $$byval_copy = sp + 56|0;
    45141  $4 = sp + 83|0;
    45142  $5 = sp + 80|0;
    45143  $6 = sp + 40|0;
    45144  $7 = sp + 32|0;
    45145  $8 = sp + 24|0;
    45146  $9 = sp + 16|0;
    45147  $10 = sp + 8|0;
    45148  $11 = sp;
    45149  $2 = $0;
    45150  $3 = $1;
    45151  dest=$4; src=56848; stop=dest+21|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
    45152  ;HEAP8[$5>>0]=HEAP8[56869>>0]|0;HEAP8[$5+1>>0]=HEAP8[56869+1>>0]|0;HEAP8[$5+2>>0]=HEAP8[56869+2>>0]|0;
    45153  $12 = $2;
    45154  _mrb_str_buf_new($8,$12,19);
    45155  ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
    45156  $13 = $2;
    45157  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    45158  _mrb_str_cat($9,$13,$$byval_copy,56872,11);
    45159  $14 = $2;
    45160  $15 = $3;
    45161  $16 = (($4) + (($15*7)|0)|0);
    45162  $17 = $3;
    45163  $18 = (($5) + ($17)|0);
    45164  $19 = HEAP8[$18>>0]|0;
    45165  $20 = $19 << 24 >> 24;
    45166  ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0;
    45167  _mrb_str_cat($10,$14,$$byval_copy1,$16,$20);
    45168  $21 = $2;
    45169  $22 = $2;
    45170  $23 = (_mrb_class_get($22,56833)|0);
    45171  ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;
    45172  _mrb_exc_new_str($11,$21,$23,$$byval_copy2);
    45173  ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
    45174  $24 = HEAP32[$7>>2]|0;
    45175  $25 = $2;
    45176  $26 = ((($25)) + 20|0);
    45177  HEAP32[$26>>2] = $24;
    45178  STACKTOP = sp;return;
    45179 }
    45180 function _mrb_int_add_overflow_434($0,$1,$2) {
    45181  $0 = $0|0;
    45182  $1 = $1|0;
    45183  $2 = $2|0;
    45184  var $$arith = 0, $$ispos = 0, $$negcheck = 0, $$negtemp = 0, $$poscheck = 0, $$postemp = 0, $$select = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0;
    45185  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    45186  sp = STACKTOP;
    45187  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    45188  $3 = $0;
    45189  $4 = $1;
    45190  $5 = $2;
    45191  $8 = $3;
    45192  $9 = $4;
    45193  $$arith = (($8) + ($9))|0;
    45194  $$postemp = (($8) + -2147483648)|0;
    45195  $$negtemp = (($8) + 2147483647)|0;
    45196  $$poscheck = ($$arith|0)<($$postemp|0);
    45197  $$negcheck = ($$arith|0)>($$negtemp|0);
    45198  $$ispos = ($8|0)>=(0);
    45199  $$select = $$ispos ? $$poscheck : $$negcheck;
    45200  $7 = $$arith;
    45201  $10 = $7;
    45202  $11 = ($10|0)>(2147483647);
    45203  $or$cond = $$select | $11;
    45204  if ($or$cond) {
    45205   $15 = 1;
    45206  } else {
    45207   $12 = $7;
    45208   $13 = ($12|0)<(-2147483648);
    45209   $15 = $13;
    45210  }
    45211  $14 = $15&1;
    45212  $16 = $14&255;
    45213  $6 = $16;
    45214  $17 = $7;
    45215  $18 = $5;
    45216  HEAP32[$18>>2] = $17;
    45217  $19 = $6;
    45218  STACKTOP = sp;return ($19|0);
    45219 }
    45220 function _mrb_int_sub_overflow_435($0,$1,$2) {
    45221  $0 = $0|0;
    45222  $1 = $1|0;
    45223  $2 = $2|0;
    45224  var $$arith = 0, $$ispos = 0, $$negcheck = 0, $$negtemp = 0, $$poscheck = 0, $$postemp = 0, $$select = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0;
    45225  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    45226  sp = STACKTOP;
    45227  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    45228  $3 = $0;
    45229  $4 = $1;
    45230  $5 = $2;
    45231  $8 = $3;
    45232  $9 = $4;
    45233  $$arith = (($8) - ($9))|0;
    45234  $$postemp = (($8) + -2147483647)|0;
    45235  $$negtemp = (($8) + -2147483648)|0;
    45236  $$poscheck = ($$arith|0)<($$postemp|0);
    45237  $$negcheck = ($$arith|0)>($$negtemp|0);
    45238  $$ispos = ($8|0)>=(0);
    45239  $$select = $$ispos ? $$poscheck : $$negcheck;
    45240  $7 = $$arith;
    45241  $10 = $7;
    45242  $11 = ($10|0)>(2147483647);
    45243  $or$cond = $$select | $11;
    45244  if ($or$cond) {
    45245   $15 = 1;
    45246  } else {
    45247   $12 = $7;
    45248   $13 = ($12|0)<(-2147483648);
    45249   $15 = $13;
    45250  }
    45251  $14 = $15&1;
    45252  $16 = $14&255;
    45253  $6 = $16;
    45254  $17 = $7;
    45255  $18 = $5;
    45256  HEAP32[$18>>2] = $17;
    45257  $19 = $6;
    45258  STACKTOP = sp;return ($19|0);
    45259 }
    45260 function _is_strict($0,$1) {
    45261  $0 = $0|0;
    45262  $1 = $1|0;
    45263  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    45264  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    45265  sp = STACKTOP;
    45266  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    45267  $3 = $0;
    45268  $4 = $1;
    45269  $6 = $4;
    45270  $7 = ((($6)) + 20|0);
    45271  $8 = HEAP32[$7>>2]|0;
    45272  $5 = $8;
    45273  $9 = $4;
    45274  $10 = ((($9)) + 20|0);
    45275  $11 = HEAP32[$10>>2]|0;
    45276  $12 = ($11|0)>=(0);
    45277  if ($12) {
    45278   $13 = $3;
    45279   $14 = ((($13)) + 12|0);
    45280   $15 = HEAP32[$14>>2]|0;
    45281   $16 = ((($15)) + 20|0);
    45282   $17 = HEAP32[$16>>2]|0;
    45283   $18 = $5;
    45284   $19 = (($17) + (($18*48)|0)|0);
    45285   $20 = ((($19)) + 4|0);
    45286   $21 = HEAP32[$20>>2]|0;
    45287   $22 = ($21|0)!=(0|0);
    45288   if ($22) {
    45289    $23 = $3;
    45290    $24 = ((($23)) + 12|0);
    45291    $25 = HEAP32[$24>>2]|0;
    45292    $26 = ((($25)) + 20|0);
    45293    $27 = HEAP32[$26>>2]|0;
    45294    $28 = $5;
    45295    $29 = (($27) + (($28*48)|0)|0);
    45296    $30 = ((($29)) + 4|0);
    45297    $31 = HEAP32[$30>>2]|0;
    45298    $32 = HEAP32[$31>>2]|0;
    45299    $33 = $32 >>> 11;
    45300    $34 = $33 & 256;
    45301    $35 = ($34|0)!=(0);
    45302    if ($35) {
    45303     $2 = 1;
    45304     $36 = $2;
    45305     STACKTOP = sp;return ($36|0);
    45306    }
    45307   }
    45308  }
    45309  $2 = 0;
    45310  $36 = $2;
    45311  STACKTOP = sp;return ($36|0);
    45312 }
    45313 function _stack_extend_alloc($0,$1,$2) {
    45314  $0 = $0|0;
    45315  $1 = $1|0;
    45316  $2 = $2|0;
    45317  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    45318  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    45319  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    45320  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
    45321  var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, label = 0, sp = 0;
    45322  sp = STACKTOP;
    45323  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    45324  $3 = $0;
    45325  $4 = $1;
    45326  $5 = $2;
    45327  $9 = $3;
    45328  $10 = ((($9)) + 12|0);
    45329  $11 = HEAP32[$10>>2]|0;
    45330  $12 = ((($11)) + 8|0);
    45331  $13 = HEAP32[$12>>2]|0;
    45332  $6 = $13;
    45333  $14 = $3;
    45334  $15 = ((($14)) + 12|0);
    45335  $16 = HEAP32[$15>>2]|0;
    45336  $17 = ((($16)) + 12|0);
    45337  $18 = HEAP32[$17>>2]|0;
    45338  $19 = $3;
    45339  $20 = ((($19)) + 12|0);
    45340  $21 = HEAP32[$20>>2]|0;
    45341  $22 = ((($21)) + 8|0);
    45342  $23 = HEAP32[$22>>2]|0;
    45343  $24 = $18;
    45344  $25 = $23;
    45345  $26 = (($24) - ($25))|0;
    45346  $27 = (($26|0) / 8)&-1;
    45347  $7 = $27;
    45348  $28 = $3;
    45349  $29 = ((($28)) + 12|0);
    45350  $30 = HEAP32[$29>>2]|0;
    45351  $31 = ((($30)) + 4|0);
    45352  $32 = HEAP32[$31>>2]|0;
    45353  $33 = $3;
    45354  $34 = ((($33)) + 12|0);
    45355  $35 = HEAP32[$34>>2]|0;
    45356  $36 = ((($35)) + 8|0);
    45357  $37 = HEAP32[$36>>2]|0;
    45358  $38 = $32;
    45359  $39 = $37;
    45360  $40 = (($38) - ($39))|0;
    45361  $41 = (($40|0) / 8)&-1;
    45362  $8 = $41;
    45363  $42 = $4;
    45364  $43 = ($42|0)<=(128);
    45365  if ($43) {
    45366   $44 = $7;
    45367   $45 = (($44) + 128)|0;
    45368   $7 = $45;
    45369  } else {
    45370   $46 = $4;
    45371   $47 = $7;
    45372   $48 = (($47) + ($46))|0;
    45373   $7 = $48;
    45374  }
    45375  $49 = $3;
    45376  $50 = $3;
    45377  $51 = ((($50)) + 12|0);
    45378  $52 = HEAP32[$51>>2]|0;
    45379  $53 = ((($52)) + 8|0);
    45380  $54 = HEAP32[$53>>2]|0;
    45381  $55 = $7;
    45382  $56 = $55<<3;
    45383  $57 = (_mrb_realloc($49,$54,$56)|0);
    45384  $58 = $3;
    45385  $59 = ((($58)) + 12|0);
    45386  $60 = HEAP32[$59>>2]|0;
    45387  $61 = ((($60)) + 8|0);
    45388  HEAP32[$61>>2] = $57;
    45389  $62 = $3;
    45390  $63 = ((($62)) + 12|0);
    45391  $64 = HEAP32[$63>>2]|0;
    45392  $65 = ((($64)) + 8|0);
    45393  $66 = HEAP32[$65>>2]|0;
    45394  $67 = $8;
    45395  $68 = (($66) + ($67<<3)|0);
    45396  $69 = $3;
    45397  $70 = ((($69)) + 12|0);
    45398  $71 = HEAP32[$70>>2]|0;
    45399  $72 = ((($71)) + 4|0);
    45400  HEAP32[$72>>2] = $68;
    45401  $73 = $3;
    45402  $74 = ((($73)) + 12|0);
    45403  $75 = HEAP32[$74>>2]|0;
    45404  $76 = ((($75)) + 8|0);
    45405  $77 = HEAP32[$76>>2]|0;
    45406  $78 = $7;
    45407  $79 = (($77) + ($78<<3)|0);
    45408  $80 = $3;
    45409  $81 = ((($80)) + 12|0);
    45410  $82 = HEAP32[$81>>2]|0;
    45411  $83 = ((($82)) + 12|0);
    45412  HEAP32[$83>>2] = $79;
    45413  $84 = $3;
    45414  $85 = $6;
    45415  $86 = $3;
    45416  $87 = ((($86)) + 12|0);
    45417  $88 = HEAP32[$87>>2]|0;
    45418  $89 = ((($88)) + 8|0);
    45419  $90 = HEAP32[$89>>2]|0;
    45420  _envadjust($84,$85,$90);
    45421  $91 = $7;
    45422  $92 = ($91|0)>(262016);
    45423  if ($92) {
    45424   $93 = $3;
    45425   $94 = $4;
    45426   $95 = $5;
    45427   _init_new_stack_space($93,$94,$95);
    45428   $96 = $3;
    45429   $97 = $3;
    45430   $98 = (_mrb_class_get($97,68052)|0);
    45431   _mrb_raise($96,$98,56966);
    45432   // unreachable;
    45433  } else {
    45434   STACKTOP = sp;return;
    45435  }
    45436 }
    45437 function _init_new_stack_space($0,$1,$2) {
    45438  $0 = $0|0;
    45439  $1 = $1|0;
    45440  $2 = $2|0;
    45441  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    45442  sp = STACKTOP;
    45443  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    45444  $3 = $0;
    45445  $4 = $1;
    45446  $5 = $2;
    45447  $6 = $4;
    45448  $7 = $5;
    45449  $8 = ($6|0)>($7|0);
    45450  if (!($8)) {
    45451   STACKTOP = sp;return;
    45452  }
    45453  $9 = $3;
    45454  $10 = ((($9)) + 12|0);
    45455  $11 = HEAP32[$10>>2]|0;
    45456  $12 = ((($11)) + 4|0);
    45457  $13 = HEAP32[$12>>2]|0;
    45458  $14 = $5;
    45459  $15 = (($13) + ($14<<3)|0);
    45460  $16 = $4;
    45461  $17 = $5;
    45462  $18 = (($16) - ($17))|0;
    45463  _stack_clear($15,$18);
    45464  STACKTOP = sp;return;
    45465 }
    45466 function _stack_clear($0,$1) {
    45467  $0 = $0|0;
    45468  $1 = $1|0;
    45469  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    45470  sp = STACKTOP;
    45471  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    45472  $2 = $0;
    45473  $3 = $1;
    45474  while(1) {
    45475   $4 = $3;
    45476   $5 = (($4) + -1)|0;
    45477   $3 = $5;
    45478   $6 = ($4>>>0)>(0);
    45479   if (!($6)) {
    45480    break;
    45481   }
    45482   $7 = $2;
    45483   $8 = ((($7)) + 8|0);
    45484   $2 = $8;
    45485   ;HEAP32[$7>>2]=HEAP32[73452>>2]|0;HEAP32[$7+4>>2]=HEAP32[73452+4>>2]|0;
    45486  }
    45487  STACKTOP = sp;return;
    45488 }
    45489 function _envadjust($0,$1,$2) {
    45490  $0 = $0|0;
    45491  $1 = $1|0;
    45492  $2 = $2|0;
    45493  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    45494  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    45495  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    45496  sp = STACKTOP;
    45497  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    45498  $3 = $0;
    45499  $4 = $1;
    45500  $5 = $2;
    45501  $9 = $3;
    45502  $10 = ((($9)) + 12|0);
    45503  $11 = HEAP32[$10>>2]|0;
    45504  $12 = ((($11)) + 20|0);
    45505  $13 = HEAP32[$12>>2]|0;
    45506  $6 = $13;
    45507  $14 = $5;
    45508  $15 = $4;
    45509  $16 = ($14|0)==($15|0);
    45510  if ($16) {
    45511   STACKTOP = sp;return;
    45512  }
    45513  while(1) {
    45514   $17 = $6;
    45515   $18 = $3;
    45516   $19 = ((($18)) + 12|0);
    45517   $20 = HEAP32[$19>>2]|0;
    45518   $21 = ((($20)) + 16|0);
    45519   $22 = HEAP32[$21>>2]|0;
    45520   $23 = ($17>>>0)<=($22>>>0);
    45521   if (!($23)) {
    45522    break;
    45523   }
    45524   $24 = $6;
    45525   $25 = ((($24)) + 24|0);
    45526   $26 = HEAP32[$25>>2]|0;
    45527   $7 = $26;
    45528   $27 = $7;
    45529   $28 = ($27|0)!=(0|0);
    45530   if ($28) {
    45531    $29 = $7;
    45532    $30 = ((($29)) + 20|0);
    45533    $31 = HEAP32[$30>>2]|0;
    45534    $32 = ($31|0)>=(0);
    45535    if ($32) {
    45536     $33 = $7;
    45537     $34 = ((($33)) + 12|0);
    45538     $35 = HEAP32[$34>>2]|0;
    45539     $36 = $4;
    45540     $37 = $35;
    45541     $38 = $36;
    45542     $39 = (($37) - ($38))|0;
    45543     $40 = (($39|0) / 8)&-1;
    45544     $8 = $40;
    45545     $41 = $5;
    45546     $42 = $8;
    45547     $43 = (($41) + ($42<<3)|0);
    45548     $44 = $7;
    45549     $45 = ((($44)) + 12|0);
    45550     HEAP32[$45>>2] = $43;
    45551    }
    45552   }
    45553   $46 = $5;
    45554   $47 = $6;
    45555   $48 = ((($47)) + 8|0);
    45556   $49 = HEAP32[$48>>2]|0;
    45557   $50 = $4;
    45558   $51 = $49;
    45559   $52 = $50;
    45560   $53 = (($51) - ($52))|0;
    45561   $54 = (($53|0) / 8)&-1;
    45562   $55 = (($46) + ($54<<3)|0);
    45563   $56 = $6;
    45564   $57 = ((($56)) + 8|0);
    45565   HEAP32[$57>>2] = $55;
    45566   $58 = $6;
    45567   $59 = ((($58)) + 48|0);
    45568   $6 = $59;
    45569  }
    45570  STACKTOP = sp;return;
    45571 }
    45572 function _mrb_f_send($0,$1,$2) {
    45573  $0 = $0|0;
    45574  $1 = $1|0;
    45575  $2 = $2|0;
    45576  var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
    45577  var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
    45578  var $131 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
    45579  var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
    45580  var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
    45581  var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
    45582  var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
    45583  sp = STACKTOP;
    45584  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    45585  $$byval_copy7 = sp + 104|0;
    45586  $$byval_copy6 = sp + 96|0;
    45587  $$byval_copy5 = sp + 88|0;
    45588  $$byval_copy4 = sp + 80|0;
    45589  $$byval_copy = sp + 72|0;
    45590  $vararg_buffer = sp;
    45591  $4 = sp + 64|0;
    45592  $5 = sp + 56|0;
    45593  $6 = sp + 52|0;
    45594  $8 = sp + 44|0;
    45595  $12 = sp + 28|0;
    45596  $14 = sp + 16|0;
    45597  $3 = $1;
    45598  $15 = $3;
    45599  HEAP32[$vararg_buffer>>2] = $4;
    45600  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    45601  HEAP32[$vararg_ptr1>>2] = $6;
    45602  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    45603  HEAP32[$vararg_ptr2>>2] = $8;
    45604  $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
    45605  HEAP32[$vararg_ptr3>>2] = $5;
    45606  (_mrb_get_args($15,57012,$vararg_buffer)|0);
    45607  $16 = $3;
    45608  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    45609  $17 = (_mrb_class_423($16,$$byval_copy)|0);
    45610  HEAP32[$12>>2] = $17;
    45611  $18 = $3;
    45612  $19 = HEAP32[$4>>2]|0;
    45613  $20 = (_mrb_method_search_vm($18,$12,$19)|0);
    45614  $11 = $20;
    45615  $21 = $11;
    45616  $22 = ($21|0)!=(0|0);
    45617  $23 = $3;
    45618  if (!($22)) {
    45619   $24 = HEAP32[$4>>2]|0;
    45620   $25 = HEAP32[$8>>2]|0;
    45621   $26 = HEAP32[$6>>2]|0;
    45622   ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
    45623   ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;
    45624   _mrb_funcall_with_block($0,$23,$$byval_copy4,$24,$25,$26,$$byval_copy5);
    45625   STACKTOP = sp;return;
    45626  }
    45627  $27 = ((($23)) + 12|0);
    45628  $28 = HEAP32[$27>>2]|0;
    45629  $29 = ((($28)) + 16|0);
    45630  $30 = HEAP32[$29>>2]|0;
    45631  $13 = $30;
    45632  $31 = HEAP32[$4>>2]|0;
    45633  $32 = $13;
    45634  HEAP32[$32>>2] = $31;
    45635  $33 = HEAP32[$12>>2]|0;
    45636  $34 = $13;
    45637  $35 = ((($34)) + 44|0);
    45638  HEAP32[$35>>2] = $33;
    45639  $36 = $11;
    45640  $37 = $13;
    45641  $38 = ((($37)) + 4|0);
    45642  HEAP32[$38>>2] = $36;
    45643  $39 = $3;
    45644  $40 = ((($39)) + 12|0);
    45645  $41 = HEAP32[$40>>2]|0;
    45646  $42 = ((($41)) + 4|0);
    45647  $43 = HEAP32[$42>>2]|0;
    45648  $44 = ((($43)) + 8|0);
    45649  $7 = $44;
    45650  $45 = $13;
    45651  $46 = ((($45)) + 36|0);
    45652  $47 = HEAP32[$46>>2]|0;
    45653  $48 = ($47|0)>=(0);
    45654  if ($48) {
    45655   $9 = 0;
    45656   $49 = $13;
    45657   $50 = ((($49)) + 36|0);
    45658   $51 = HEAP32[$50>>2]|0;
    45659   $10 = $51;
    45660   while(1) {
    45661    $52 = $9;
    45662    $53 = $10;
    45663    $54 = ($52|0)<($53|0);
    45664    if (!($54)) {
    45665     break;
    45666    }
    45667    $55 = $7;
    45668    $56 = $9;
    45669    $57 = (($55) + ($56<<3)|0);
    45670    $58 = $7;
    45671    $59 = $9;
    45672    $60 = (($59) + 1)|0;
    45673    $61 = (($58) + ($60<<3)|0);
    45674    ;HEAP32[$57>>2]=HEAP32[$61>>2]|0;HEAP32[$57+4>>2]=HEAP32[$61+4>>2]|0;
    45675    $62 = $9;
    45676    $63 = (($62) + 1)|0;
    45677    $9 = $63;
    45678   }
    45679   $64 = $13;
    45680   $65 = ((($64)) + 36|0);
    45681   $66 = HEAP32[$65>>2]|0;
    45682   $67 = (($66) + -1)|0;
    45683   HEAP32[$65>>2] = $67;
    45684  } else {
    45685   $68 = $3;
    45686   $69 = $7;
    45687   ;HEAP32[$$byval_copy6>>2]=HEAP32[$69>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$69+4>>2]|0;
    45688   _mrb_ary_shift($14,$68,$$byval_copy6);
    45689  }
    45690  $70 = $11;
    45691  $71 = HEAP32[$70>>2]|0;
    45692  $72 = $71 >>> 11;
    45693  $73 = $72 & 128;
    45694  $74 = ($73|0)!=(0);
    45695  if ($74) {
    45696   $75 = $11;
    45697   $76 = ((($75)) + 12|0);
    45698   $77 = HEAP32[$76>>2]|0;
    45699   $78 = $3;
    45700   ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
    45701   FUNCTION_TABLE_viii[$77 & 511]($0,$78,$$byval_copy7);
    45702   STACKTOP = sp;return;
    45703  }
    45704  $79 = $13;
    45705  $80 = ((($79)) + 36|0);
    45706  $81 = HEAP32[$80>>2]|0;
    45707  $82 = ($81|0)<(0);
    45708  $83 = $3;
    45709  $84 = $11;
    45710  $85 = ((($84)) + 12|0);
    45711  $86 = HEAP32[$85>>2]|0;
    45712  $87 = ((($86)) + 2|0);
    45713  $88 = HEAP16[$87>>1]|0;
    45714  $89 = $88&65535;
    45715  if ($82) {
    45716   $90 = ($89|0)<(3);
    45717   if ($90) {
    45718    $97 = 3;
    45719   } else {
    45720    $91 = $11;
    45721    $92 = ((($91)) + 12|0);
    45722    $93 = HEAP32[$92>>2]|0;
    45723    $94 = ((($93)) + 2|0);
    45724    $95 = HEAP16[$94>>1]|0;
    45725    $96 = $95&65535;
    45726    $97 = $96;
    45727   }
    45728   _stack_extend($83,$97,3);
    45729  } else {
    45730   $98 = $13;
    45731   $99 = ((($98)) + 36|0);
    45732   $100 = HEAP32[$99>>2]|0;
    45733   $101 = (($100) + 2)|0;
    45734   _stack_extend($83,$89,$101);
    45735  }
    45736  $102 = $11;
    45737  $103 = ((($102)) + 12|0);
    45738  $104 = HEAP32[$103>>2]|0;
    45739  $105 = ((($104)) + 2|0);
    45740  $106 = HEAP16[$105>>1]|0;
    45741  $107 = $106&65535;
    45742  $108 = $13;
    45743  $109 = ((($108)) + 12|0);
    45744  HEAP32[$109>>2] = $107;
    45745  $110 = $3;
    45746  $111 = (_cipush($110)|0);
    45747  $13 = $111;
    45748  $112 = $13;
    45749  $113 = ((($112)) + 12|0);
    45750  HEAP32[$113>>2] = 0;
    45751  $114 = $13;
    45752  $115 = ((($114)) + 44|0);
    45753  HEAP32[$115>>2] = 0;
    45754  $116 = $11;
    45755  $117 = ((($116)) + 12|0);
    45756  $118 = HEAP32[$117>>2]|0;
    45757  $119 = ((($118)) + 8|0);
    45758  $120 = HEAP32[$119>>2]|0;
    45759  $121 = $13;
    45760  $122 = ((($121)) + 28|0);
    45761  HEAP32[$122>>2] = $120;
    45762  $123 = $3;
    45763  $124 = ((($123)) + 12|0);
    45764  $125 = HEAP32[$124>>2]|0;
    45765  $126 = ((($125)) + 4|0);
    45766  $127 = HEAP32[$126>>2]|0;
    45767  $128 = $13;
    45768  $129 = ((($128)) + 8|0);
    45769  HEAP32[$129>>2] = $127;
    45770  $130 = $13;
    45771  $131 = ((($130)) + 40|0);
    45772  HEAP32[$131>>2] = 0;
    45773  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    45774  STACKTOP = sp;return;
    45775 }
    45776 function _mrb_mod_module_eval($0,$1,$2) {
    45777  $0 = $0|0;
    45778  $1 = $1|0;
    45779  $2 = $2|0;
    45780  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    45781  sp = STACKTOP;
    45782  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    45783  $$byval_copy2 = sp + 40|0;
    45784  $$byval_copy = sp + 32|0;
    45785  $vararg_buffer = sp;
    45786  $4 = sp + 16|0;
    45787  $5 = sp + 8|0;
    45788  $3 = $1;
    45789  $6 = $3;
    45790  HEAP32[$vararg_buffer>>2] = $4;
    45791  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    45792  HEAP32[$vararg_ptr1>>2] = $5;
    45793  $7 = (_mrb_get_args($6,57016,$vararg_buffer)|0);
    45794  $8 = ($7|0)==(1);
    45795  $9 = $3;
    45796  if ($8) {
    45797   $10 = $3;
    45798   $11 = (_mrb_class_get($10,65108)|0);
    45799   _mrb_raise($9,$11,57020);
    45800   // unreachable;
    45801  } else {
    45802   $12 = HEAP32[$2>>2]|0;
    45803   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    45804   ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
    45805   _eval_under($0,$9,$$byval_copy,$$byval_copy2,$12);
    45806   STACKTOP = sp;return;
    45807  }
    45808 }
    45809 function _eval_under($0,$1,$2,$3,$4) {
    45810  $0 = $0|0;
    45811  $1 = $1|0;
    45812  $2 = $2|0;
    45813  $3 = $3|0;
    45814  $4 = $4|0;
    45815  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    45816  var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    45817  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    45818  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    45819  sp = STACKTOP;
    45820  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    45821  $$byval_copy2 = sp + 32|0;
    45822  $$byval_copy1 = sp + 24|0;
    45823  $$byval_copy = sp + 16|0;
    45824  $5 = $1;
    45825  $6 = $4;
    45826  $9 = ((($3)) + 4|0);
    45827  $10 = HEAP32[$9>>2]|0;
    45828  $11 = ($10|0)==(0);
    45829  if ($11) {
    45830   $12 = HEAP32[$3>>2]|0;
    45831   $13 = ($12|0)!=(0);
    45832   if (!($13)) {
    45833    $14 = $5;
    45834    $15 = $5;
    45835    $16 = (_mrb_class_get($15,69160)|0);
    45836    _mrb_raise($14,$16,68709);
    45837    // unreachable;
    45838   }
    45839  }
    45840  $17 = $5;
    45841  $18 = ((($17)) + 12|0);
    45842  $19 = HEAP32[$18>>2]|0;
    45843  $20 = ((($19)) + 16|0);
    45844  $21 = HEAP32[$20>>2]|0;
    45845  $8 = $21;
    45846  $22 = $8;
    45847  $23 = ((($22)) + 40|0);
    45848  $24 = HEAP32[$23>>2]|0;
    45849  $25 = ($24|0)==(-2);
    45850  if ($25) {
    45851   $26 = $5;
    45852   $27 = $6;
    45853   ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    45854   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    45855   _mrb_yield_with_class($0,$26,$$byval_copy,0,0,$$byval_copy1,$27);
    45856   STACKTOP = sp;return;
    45857  }
    45858  $28 = $6;
    45859  $29 = $8;
    45860  $30 = ((($29)) + 44|0);
    45861  HEAP32[$30>>2] = $28;
    45862  $31 = HEAP32[$3>>2]|0;
    45863  $7 = $31;
    45864  $32 = $7;
    45865  $33 = $8;
    45866  $34 = ((($33)) + 4|0);
    45867  HEAP32[$34>>2] = $32;
    45868  $35 = $7;
    45869  $36 = HEAP32[$35>>2]|0;
    45870  $37 = $36 >>> 11;
    45871  $38 = $37 & 128;
    45872  $39 = ($38|0)!=(0);
    45873  $40 = $7;
    45874  $41 = ((($40)) + 12|0);
    45875  if ($39) {
    45876   $42 = HEAP32[$41>>2]|0;
    45877   $43 = $5;
    45878   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    45879   FUNCTION_TABLE_viii[$42 & 511]($0,$43,$$byval_copy2);
    45880   STACKTOP = sp;return;
    45881  } else {
    45882   $44 = HEAP32[$41>>2]|0;
    45883   $45 = ((($44)) + 2|0);
    45884   $46 = HEAP16[$45>>1]|0;
    45885   $47 = $46&65535;
    45886   $48 = $8;
    45887   $49 = ((($48)) + 12|0);
    45888   HEAP32[$49>>2] = $47;
    45889   $50 = $5;
    45890   $51 = (_cipush($50)|0);
    45891   $8 = $51;
    45892   $52 = $8;
    45893   $53 = ((($52)) + 12|0);
    45894   HEAP32[$53>>2] = 0;
    45895   $54 = $8;
    45896   $55 = ((($54)) + 44|0);
    45897   HEAP32[$55>>2] = 0;
    45898   $56 = $7;
    45899   $57 = ((($56)) + 12|0);
    45900   $58 = HEAP32[$57>>2]|0;
    45901   $59 = ((($58)) + 8|0);
    45902   $60 = HEAP32[$59>>2]|0;
    45903   $61 = $8;
    45904   $62 = ((($61)) + 28|0);
    45905   HEAP32[$62>>2] = $60;
    45906   $63 = $5;
    45907   $64 = ((($63)) + 12|0);
    45908   $65 = HEAP32[$64>>2]|0;
    45909   $66 = ((($65)) + 4|0);
    45910   $67 = HEAP32[$66>>2]|0;
    45911   $68 = $8;
    45912   $69 = ((($68)) + 8|0);
    45913   HEAP32[$69>>2] = $67;
    45914   $70 = $8;
    45915   $71 = ((($70)) + 40|0);
    45916   HEAP32[$71>>2] = 0;
    45917   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    45918   STACKTOP = sp;return;
    45919  }
    45920 }
    45921 function _mrb_yield_with_class($0,$1,$2,$3,$4,$5,$6) {
    45922  $0 = $0|0;
    45923  $1 = $1|0;
    45924  $2 = $2|0;
    45925  $3 = $3|0;
    45926  $4 = $4|0;
    45927  $5 = $5|0;
    45928  $6 = $6|0;
    45929  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
    45930  var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
    45931  var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
    45932  var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0;
    45933  var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0;
    45934  var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
    45935  var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
    45936  var $98 = 0, $99 = 0, label = 0, sp = 0;
    45937  sp = STACKTOP;
    45938  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    45939  $$byval_copy1 = sp + 72|0;
    45940  $$byval_copy = sp + 64|0;
    45941  $15 = sp + 24|0;
    45942  $16 = sp + 16|0;
    45943  $17 = sp + 8|0;
    45944  $18 = sp;
    45945  $7 = $1;
    45946  $8 = $3;
    45947  $9 = $4;
    45948  $10 = $6;
    45949  $19 = $7;
    45950  $20 = ((($19)) + 12|0);
    45951  $21 = HEAP32[$20>>2]|0;
    45952  $22 = ((($21)) + 16|0);
    45953  $23 = HEAP32[$22>>2]|0;
    45954  $24 = HEAP32[$23>>2]|0;
    45955  $12 = $24;
    45956  $25 = $7;
    45957  $26 = ((($25)) + 12|0);
    45958  $27 = HEAP32[$26>>2]|0;
    45959  $28 = ((($27)) + 16|0);
    45960  $29 = HEAP32[$28>>2]|0;
    45961  $30 = ((($29)) + 12|0);
    45962  $31 = HEAP32[$30>>2]|0;
    45963  $14 = $31;
    45964  $32 = ((($2)) + 4|0);
    45965  $33 = HEAP32[$32>>2]|0;
    45966  $34 = ($33|0)==(0);
    45967  if ($34) {
    45968   $35 = HEAP32[$2>>2]|0;
    45969   $36 = ($35|0)!=(0);
    45970   if (!($36)) {
    45971    $37 = $7;
    45972    $38 = $7;
    45973    $39 = (_mrb_class_get($38,69160)|0);
    45974    _mrb_raise($37,$39,68709);
    45975    // unreachable;
    45976   }
    45977  }
    45978  $40 = HEAP32[$2>>2]|0;
    45979  $11 = $40;
    45980  $41 = $7;
    45981  $42 = (_cipush($41)|0);
    45982  $13 = $42;
    45983  $43 = $12;
    45984  $44 = $13;
    45985  HEAP32[$44>>2] = $43;
    45986  $45 = $11;
    45987  $46 = $13;
    45988  $47 = ((($46)) + 4|0);
    45989  HEAP32[$47>>2] = $45;
    45990  $48 = $7;
    45991  $49 = ((($48)) + 12|0);
    45992  $50 = HEAP32[$49>>2]|0;
    45993  $51 = ((($50)) + 4|0);
    45994  $52 = HEAP32[$51>>2]|0;
    45995  $53 = $13;
    45996  $54 = ((($53)) + 8|0);
    45997  HEAP32[$54>>2] = $52;
    45998  $55 = $8;
    45999  $56 = $13;
    46000  $57 = ((($56)) + 36|0);
    46001  HEAP32[$57>>2] = $55;
    46002  $58 = $10;
    46003  $59 = $13;
    46004  $60 = ((($59)) + 44|0);
    46005  HEAP32[$60>>2] = $58;
    46006  $61 = $13;
    46007  $62 = ((($61)) + 40|0);
    46008  HEAP32[$62>>2] = -1;
    46009  $63 = $7;
    46010  $64 = ((($63)) + 12|0);
    46011  $65 = HEAP32[$64>>2]|0;
    46012  $66 = ((($65)) + 4|0);
    46013  $67 = HEAP32[$66>>2]|0;
    46014  $68 = $14;
    46015  $69 = (($67) + ($68<<3)|0);
    46016  $70 = $7;
    46017  $71 = ((($70)) + 12|0);
    46018  $72 = HEAP32[$71>>2]|0;
    46019  $73 = ((($72)) + 4|0);
    46020  HEAP32[$73>>2] = $69;
    46021  $74 = $11;
    46022  $75 = HEAP32[$74>>2]|0;
    46023  $76 = $75 >>> 11;
    46024  $77 = $76 & 128;
    46025  $78 = ($77|0)!=(0);
    46026  if ($78) {
    46027   $79 = $8;
    46028   $80 = (($79) + 2)|0;
    46029   $81 = $13;
    46030   $82 = ((($81)) + 12|0);
    46031   HEAP32[$82>>2] = $80;
    46032   $83 = $7;
    46033   $84 = $13;
    46034   $85 = ((($84)) + 12|0);
    46035   $86 = HEAP32[$85>>2]|0;
    46036   _stack_extend($83,$86,0);
    46037  } else {
    46038   $87 = $11;
    46039   $88 = ((($87)) + 12|0);
    46040   $89 = HEAP32[$88>>2]|0;
    46041   $90 = ((($89)) + 2|0);
    46042   $91 = HEAP16[$90>>1]|0;
    46043   $92 = $91&65535;
    46044   $93 = $13;
    46045   $94 = ((($93)) + 12|0);
    46046   HEAP32[$94>>2] = $92;
    46047   $95 = $7;
    46048   $96 = $13;
    46049   $97 = ((($96)) + 12|0);
    46050   $98 = HEAP32[$97>>2]|0;
    46051   $99 = $8;
    46052   $100 = (($99) + 2)|0;
    46053   _stack_extend($95,$98,$100);
    46054  }
    46055  $101 = $7;
    46056  $102 = ((($101)) + 12|0);
    46057  $103 = HEAP32[$102>>2]|0;
    46058  $104 = ((($103)) + 4|0);
    46059  $105 = HEAP32[$104>>2]|0;
    46060  ;HEAP32[$105>>2]=HEAP32[$5>>2]|0;HEAP32[$105+4>>2]=HEAP32[$5+4>>2]|0;
    46061  $106 = $8;
    46062  $107 = ($106|0)>(0);
    46063  if ($107) {
    46064   $108 = $7;
    46065   $109 = ((($108)) + 12|0);
    46066   $110 = HEAP32[$109>>2]|0;
    46067   $111 = ((($110)) + 4|0);
    46068   $112 = HEAP32[$111>>2]|0;
    46069   $113 = ((($112)) + 8|0);
    46070   $114 = $9;
    46071   $115 = $8;
    46072   _stack_copy($113,$114,$115);
    46073  }
    46074  $116 = $7;
    46075  $117 = ((($116)) + 12|0);
    46076  $118 = HEAP32[$117>>2]|0;
    46077  $119 = ((($118)) + 4|0);
    46078  $120 = HEAP32[$119>>2]|0;
    46079  $121 = $8;
    46080  $122 = (($121) + 1)|0;
    46081  $123 = (($120) + ($122<<3)|0);
    46082  _mrb_nil_value_419($16);
    46083  ;HEAP32[$123>>2]=HEAP32[$16>>2]|0;HEAP32[$123+4>>2]=HEAP32[$16+4>>2]|0;
    46084  $124 = $11;
    46085  $125 = HEAP32[$124>>2]|0;
    46086  $126 = $125 >>> 11;
    46087  $127 = $126 & 128;
    46088  $128 = ($127|0)!=(0);
    46089  if ($128) {
    46090   $129 = $11;
    46091   $130 = ((($129)) + 12|0);
    46092   $131 = HEAP32[$130>>2]|0;
    46093   $132 = $7;
    46094   ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    46095   FUNCTION_TABLE_viii[$131 & 511]($17,$132,$$byval_copy);
    46096   ;HEAP32[$15>>2]=HEAP32[$17>>2]|0;HEAP32[$15+4>>2]=HEAP32[$17+4>>2]|0;
    46097   $133 = $7;
    46098   $134 = ((($133)) + 12|0);
    46099   $135 = HEAP32[$134>>2]|0;
    46100   $136 = ((($135)) + 16|0);
    46101   $137 = HEAP32[$136>>2]|0;
    46102   $138 = ((($137)) + 8|0);
    46103   $139 = HEAP32[$138>>2]|0;
    46104   $140 = $7;
    46105   $141 = ((($140)) + 12|0);
    46106   $142 = HEAP32[$141>>2]|0;
    46107   $143 = ((($142)) + 4|0);
    46108   HEAP32[$143>>2] = $139;
    46109   $144 = $7;
    46110   _cipop($144);
    46111   ;HEAP32[$0>>2]=HEAP32[$15>>2]|0;HEAP32[$0+4>>2]=HEAP32[$15+4>>2]|0;
    46112   STACKTOP = sp;return;
    46113  } else {
    46114   $145 = $7;
    46115   $146 = $11;
    46116   ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
    46117   _mrb_run($18,$145,$146,$$byval_copy1);
    46118   ;HEAP32[$15>>2]=HEAP32[$18>>2]|0;HEAP32[$15+4>>2]=HEAP32[$18+4>>2]|0;
    46119   ;HEAP32[$0>>2]=HEAP32[$15>>2]|0;HEAP32[$0+4>>2]=HEAP32[$15+4>>2]|0;
    46120   STACKTOP = sp;return;
    46121  }
    46122 }
    46123 function _mrb_obj_instance_eval($0,$1,$2) {
    46124  $0 = $0|0;
    46125  $1 = $1|0;
    46126  $2 = $2|0;
    46127  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    46128  var $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    46129  sp = STACKTOP;
    46130  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    46131  $$byval_copy3 = sp + 72|0;
    46132  $$byval_copy2 = sp + 64|0;
    46133  $$byval_copy = sp + 56|0;
    46134  $vararg_buffer = sp;
    46135  $4 = sp + 40|0;
    46136  $5 = sp + 32|0;
    46137  $6 = sp + 24|0;
    46138  $8 = sp + 8|0;
    46139  $3 = $1;
    46140  $9 = $3;
    46141  HEAP32[$vararg_buffer>>2] = $4;
    46142  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    46143  HEAP32[$vararg_ptr1>>2] = $5;
    46144  $10 = (_mrb_get_args($9,57016,$vararg_buffer)|0);
    46145  $11 = ($10|0)==(1);
    46146  if ($11) {
    46147   $12 = $3;
    46148   $13 = $3;
    46149   $14 = (_mrb_class_get($13,65108)|0);
    46150   _mrb_raise($12,$14,57071);
    46151   // unreachable;
    46152  }
    46153  $15 = ((($2)) + 4|0);
    46154  $16 = HEAP32[$15>>2]|0;
    46155  switch ($16|0) {
    46156  case 6: case 3: case 4:  {
    46157   $7 = 0;
    46158   break;
    46159  }
    46160  default: {
    46161   $17 = $3;
    46162   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    46163   _mrb_singleton_class($8,$17,$$byval_copy);
    46164   ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
    46165   $18 = HEAP32[$6>>2]|0;
    46166   $7 = $18;
    46167  }
    46168  }
    46169  $19 = $3;
    46170  $20 = $7;
    46171  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    46172  ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
    46173  _eval_under($0,$19,$$byval_copy2,$$byval_copy3,$20);
    46174  STACKTOP = sp;return;
    46175 }
    46176 function _mrb_toplevel_run_keep($0,$1,$2,$3) {
    46177  $0 = $0|0;
    46178  $1 = $1|0;
    46179  $2 = $2|0;
    46180  $3 = $3|0;
    46181  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    46182  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    46183  var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    46184  sp = STACKTOP;
    46185  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    46186  $$byval_copy1 = sp + 56|0;
    46187  $$byval_copy = sp + 48|0;
    46188  $8 = sp + 24|0;
    46189  $9 = sp + 16|0;
    46190  $10 = sp + 8|0;
    46191  $11 = sp;
    46192  $4 = $1;
    46193  $5 = $2;
    46194  $6 = $3;
    46195  $12 = $4;
    46196  $13 = ((($12)) + 12|0);
    46197  $14 = HEAP32[$13>>2]|0;
    46198  $15 = ((($14)) + 20|0);
    46199  $16 = HEAP32[$15>>2]|0;
    46200  $17 = ($16|0)!=(0|0);
    46201  if ($17) {
    46202   $18 = $4;
    46203   $19 = ((($18)) + 12|0);
    46204   $20 = HEAP32[$19>>2]|0;
    46205   $21 = ((($20)) + 16|0);
    46206   $22 = HEAP32[$21>>2]|0;
    46207   $23 = $4;
    46208   $24 = ((($23)) + 12|0);
    46209   $25 = HEAP32[$24>>2]|0;
    46210   $26 = ((($25)) + 20|0);
    46211   $27 = HEAP32[$26>>2]|0;
    46212   $28 = ($22|0)==($27|0);
    46213   if (!($28)) {
    46214    $33 = $4;
    46215    $34 = (_cipush($33)|0);
    46216    $7 = $34;
    46217    $35 = $7;
    46218    $36 = ((($35)) + 12|0);
    46219    HEAP32[$36>>2] = 1;
    46220    $37 = $7;
    46221    $38 = ((($37)) + 40|0);
    46222    HEAP32[$38>>2] = -1;
    46223    $39 = $4;
    46224    $40 = ((($39)) + 32|0);
    46225    $41 = HEAP32[$40>>2]|0;
    46226    $42 = $7;
    46227    $43 = ((($42)) + 44|0);
    46228    HEAP32[$43>>2] = $41;
    46229    $44 = $4;
    46230    $45 = $5;
    46231    $46 = $4;
    46232    _mrb_top_self($10,$46);
    46233    $47 = $6;
    46234    ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
    46235    _mrb_context_run($11,$44,$45,$$byval_copy1,$47);
    46236    ;HEAP32[$8>>2]=HEAP32[$11>>2]|0;HEAP32[$8+4>>2]=HEAP32[$11+4>>2]|0;
    46237    $48 = $4;
    46238    _cipop($48);
    46239    ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
    46240    STACKTOP = sp;return;
    46241   }
    46242  }
    46243  $29 = $4;
    46244  $30 = $5;
    46245  $31 = $4;
    46246  _mrb_top_self($9,$31);
    46247  $32 = $6;
    46248  ;HEAP32[$$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$9+4>>2]|0;
    46249  _mrb_context_run($0,$29,$30,$$byval_copy,$32);
    46250  STACKTOP = sp;return;
    46251 }
    46252 function _mrb_parser_parse($0,$1) {
    46253  $0 = $0|0;
    46254  $1 = $1|0;
    46255  var $$reg2mem24$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    46256  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    46257  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $cond26 = 0, $cond27 = 0, $cond28 = 0, $cond29 = 0;
    46258  var $cond30 = 0, $cond31 = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
    46259  sp = STACKTOP;
    46260  STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
    46261  _setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
    46262  $2 = sp;
    46263  $3 = ((($0)) + 1404|0);
    46264  HEAP32[$3>>2] = $2;
    46265  $4 = ((($0)) + 1404|0);
    46266  $5 = HEAP32[$4>>2]|0;
    46267  _setjmpTable = _saveSetjmp($5,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
    46268  __THREW__ = 0;
    46269  $6 = __THREW__; __THREW__ = 0;
    46270  if ((($6|0) != 0) & ((threwValue|0) != 0)) { $7 = _testSetjmp(HEAP32[$6>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($7|0) == 0) { _longjmp($6|0, threwValue|0); } tempRet0 = (threwValue); } else { $7 = -1; };
    46271  $8 = tempRet0;
    46272  $cond = ($7|0)==(1);
    46273  if ($cond) {
    46274   $$reg2mem24$0 = $8;
    46275  } else {
    46276   $$reg2mem24$0 = 0;
    46277  }
    46278  while(1) {
    46279   $9 = ($$reg2mem24$0|0)==(0);
    46280   if (!($9)) {
    46281    __THREW__ = 0;
    46282    invoke_vii(207,($0|0),(57113|0));
    46283    $49 = __THREW__; __THREW__ = 0;
    46284    if ((($49|0) != 0) & ((threwValue|0) != 0)) { $50 = _testSetjmp(HEAP32[$49>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($50|0) == 0) { _longjmp($49|0, threwValue|0); } tempRet0 = (threwValue); } else { $50 = -1; };
    46285    $51 = tempRet0;
    46286    $cond26 = ($50|0)==(1);
    46287    if ($cond26) {
    46288     $$reg2mem24$0 = $51;
    46289     continue;
    46290    } else {
    46291     label = 15;
    46292     break;
    46293    }
    46294   }
    46295   $10 = ((($0)) + 72|0);
    46296   $11 = HEAP8[$10>>0]|0;
    46297   $12 = $11 & -2;
    46298   $13 = $12 | 1;
    46299   HEAP8[$10>>0] = $13;
    46300   $14 = ((($0)) + 68|0);
    46301   HEAP32[$14>>2] = 0;
    46302   $15 = ((($0)) + 64|0);
    46303   HEAP32[$15>>2] = 0;
    46304   $16 = ((($0)) + 1140|0);
    46305   HEAP32[$16>>2] = 0;
    46306   $17 = ((($0)) + 1136|0);
    46307   HEAP32[$17>>2] = 0;
    46308   $18 = ((($0)) + 44|0);
    46309   HEAP32[$18>>2] = 0;
    46310   __THREW__ = 0;
    46311   invoke_vii(202,($0|0),($1|0));
    46312   $19 = __THREW__; __THREW__ = 0;
    46313   if ((($19|0) != 0) & ((threwValue|0) != 0)) { $20 = _testSetjmp(HEAP32[$19>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($20|0) == 0) { _longjmp($19|0, threwValue|0); } tempRet0 = (threwValue); } else { $20 = -1; };
    46314   $21 = tempRet0;
    46315   $cond27 = ($20|0)==(1);
    46316   if ($cond27) {
    46317    $$reg2mem24$0 = $21;
    46318    continue;
    46319   }
    46320   __THREW__ = 0;
    46321   (invoke_ii(203,($0|0))|0);
    46322   $22 = __THREW__; __THREW__ = 0;
    46323   if ((($22|0) != 0) & ((threwValue|0) != 0)) { $23 = _testSetjmp(HEAP32[$22>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($23|0) == 0) { _longjmp($22|0, threwValue|0); } tempRet0 = (threwValue); } else { $23 = -1; };
    46324   $24 = tempRet0;
    46325   $cond28 = ($23|0)==(1);
    46326   if ($cond28) {
    46327    $$reg2mem24$0 = $24;
    46328    continue;
    46329   }
    46330   $25 = ((($0)) + 1144|0);
    46331   $26 = HEAP32[$25>>2]|0;
    46332   $27 = ($26|0)!=(0|0);
    46333   if (!($27)) {
    46334    __THREW__ = 0;
    46335    $28 = (invoke_ii(204,($0|0))|0);
    46336    $29 = __THREW__; __THREW__ = 0;
    46337    if ((($29|0) != 0) & ((threwValue|0) != 0)) { $30 = _testSetjmp(HEAP32[$29>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($30|0) == 0) { _longjmp($29|0, threwValue|0); } tempRet0 = (threwValue); } else { $30 = -1; };
    46338    $31 = tempRet0;
    46339    $cond29 = ($30|0)==(1);
    46340    if ($cond29) {
    46341     $$reg2mem24$0 = $31;
    46342     continue;
    46343    }
    46344    $32 = ((($0)) + 1144|0);
    46345    HEAP32[$32>>2] = $28;
    46346   }
    46347   __THREW__ = 0;
    46348   invoke_vii(205,($0|0),($1|0));
    46349   $33 = __THREW__; __THREW__ = 0;
    46350   if ((($33|0) != 0) & ((threwValue|0) != 0)) { $34 = _testSetjmp(HEAP32[$33>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($34|0) == 0) { _longjmp($33|0, threwValue|0); } tempRet0 = (threwValue); } else { $34 = -1; };
    46351   $35 = tempRet0;
    46352   $cond30 = ($34|0)==(1);
    46353   if ($cond30) {
    46354    $$reg2mem24$0 = $35;
    46355    continue;
    46356   }
    46357   $36 = ($1|0)!=(0|0);
    46358   if (!($36)) {
    46359    label = 16;
    46360    break;
    46361   }
    46362   $37 = ((($1)) + 28|0);
    46363   $38 = HEAP8[$37>>0]|0;
    46364   $39 = ($38&255) >>> 1;
    46365   $40 = $39 & 1;
    46366   $41 = $40&255;
    46367   $42 = ($41|0)!=(0);
    46368   if (!($42)) {
    46369    label = 16;
    46370    break;
    46371   }
    46372   $43 = HEAP32[$0>>2]|0;
    46373   $44 = ((($0)) + 1144|0);
    46374   $45 = HEAP32[$44>>2]|0;
    46375   __THREW__ = 0;
    46376   invoke_viii(206,($43|0),($45|0),0);
    46377   $46 = __THREW__; __THREW__ = 0;
    46378   if ((($46|0) != 0) & ((threwValue|0) != 0)) { $47 = _testSetjmp(HEAP32[$46>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($47|0) == 0) { _longjmp($46|0, threwValue|0); } tempRet0 = (threwValue); } else { $47 = -1; };
    46379   $48 = tempRet0;
    46380   $cond31 = ($47|0)==(1);
    46381   if ($cond31) {
    46382    $$reg2mem24$0 = $48;
    46383   } else {
    46384    label = 13;
    46385    break;
    46386   }
    46387  }
    46388  if ((label|0) == 13) {
    46389   _free(_setjmpTable|0);
    46390   STACKTOP = sp;return;
    46391  }
    46392  else if ((label|0) == 15) {
    46393   $52 = ((($0)) + 1136|0);
    46394   $53 = HEAP32[$52>>2]|0;
    46395   $54 = (($53) + 1)|0;
    46396   HEAP32[$52>>2] = $54;
    46397   $55 = ((($0)) + 1144|0);
    46398   HEAP32[$55>>2] = 0;
    46399   _free(_setjmpTable|0);
    46400   STACKTOP = sp;return;
    46401  }
    46402  else if ((label|0) == 16) {
    46403   _free(_setjmpTable|0);
    46404   STACKTOP = sp;return;
    46405  }
    46406 }
    46407 function _parser_init_cxt($0,$1) {
    46408  $0 = $0|0;
    46409  $1 = $1|0;
    46410  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    46411  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    46412  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    46413  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    46414  sp = STACKTOP;
    46415  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    46416  $2 = $0;
    46417  $3 = $1;
    46418  $5 = $3;
    46419  $6 = ($5|0)!=(0|0);
    46420  if (!($6)) {
    46421   STACKTOP = sp;return;
    46422  }
    46423  $7 = $3;
    46424  $8 = ((($7)) + 8|0);
    46425  $9 = HEAP32[$8>>2]|0;
    46426  $10 = ($9|0)!=(0|0);
    46427  if ($10) {
    46428   $11 = $2;
    46429   $12 = $3;
    46430   $13 = ((($12)) + 8|0);
    46431   $14 = HEAP32[$13>>2]|0;
    46432   _mrb_parser_set_filename($11,$14);
    46433  }
    46434  $15 = $3;
    46435  $16 = ((($15)) + 12|0);
    46436  $17 = HEAP16[$16>>1]|0;
    46437  $18 = ($17<<16>>16)!=(0);
    46438  if ($18) {
    46439   $19 = $3;
    46440   $20 = ((($19)) + 12|0);
    46441   $21 = HEAP16[$20>>1]|0;
    46442   $22 = $21 << 16 >> 16;
    46443   $23 = $2;
    46444   $24 = ((($23)) + 32|0);
    46445   HEAP32[$24>>2] = $22;
    46446  }
    46447  $25 = $3;
    46448  $26 = HEAP32[$25>>2]|0;
    46449  $27 = ($26|0)!=(0|0);
    46450  L10: do {
    46451   if ($27) {
    46452    $28 = $2;
    46453    $29 = (_cons_gen($28,0,0)|0);
    46454    $30 = $2;
    46455    $31 = ((($30)) + 76|0);
    46456    HEAP32[$31>>2] = $29;
    46457    $4 = 0;
    46458    while(1) {
    46459     $32 = $4;
    46460     $33 = $3;
    46461     $34 = ((($33)) + 4|0);
    46462     $35 = HEAP32[$34>>2]|0;
    46463     $36 = ($32|0)<($35|0);
    46464     if (!($36)) {
    46465      break L10;
    46466     }
    46467     $37 = $2;
    46468     $38 = $3;
    46469     $39 = HEAP32[$38>>2]|0;
    46470     $40 = $4;
    46471     $41 = (($39) + ($40<<2)|0);
    46472     $42 = HEAP32[$41>>2]|0;
    46473     _local_add_f($37,$42);
    46474     $43 = $4;
    46475     $44 = (($43) + 1)|0;
    46476     $4 = $44;
    46477    }
    46478   }
    46479  } while(0);
    46480  $45 = $3;
    46481  $46 = ((($45)) + 28|0);
    46482  $47 = HEAP8[$46>>0]|0;
    46483  $48 = $47 & 1;
    46484  $49 = $2;
    46485  $50 = ((($49)) + 1148|0);
    46486  $51 = HEAP8[$50>>0]|0;
    46487  $52 = $48 & 1;
    46488  $53 = ($52 << 1)&255;
    46489  $54 = $51 & -3;
    46490  $55 = $54 | $53;
    46491  HEAP8[$50>>0] = $55;
    46492  $56 = $3;
    46493  $57 = ((($56)) + 28|0);
    46494  $58 = HEAP8[$57>>0]|0;
    46495  $59 = ($58&255) >>> 4;
    46496  $60 = $59 & 1;
    46497  $61 = $2;
    46498  $62 = ((($61)) + 1148|0);
    46499  $63 = HEAP8[$62>>0]|0;
    46500  $64 = $60 & 1;
    46501  $65 = $63 & -2;
    46502  $66 = $65 | $64;
    46503  HEAP8[$62>>0] = $66;
    46504  $67 = $3;
    46505  $68 = ((($67)) + 16|0);
    46506  $69 = HEAP32[$68>>2]|0;
    46507  $70 = ($69|0)!=(0|0);
    46508  if (!($70)) {
    46509   STACKTOP = sp;return;
    46510  }
    46511  $71 = $3;
    46512  $72 = $2;
    46513  $73 = ((($72)) + 24|0);
    46514  HEAP32[$73>>2] = $71;
    46515  STACKTOP = sp;return;
    46516 }
    46517 function _yyparse($0) {
    46518  $0 = $0|0;
    46519  var $$ = 0, $$19 = 0, $$sink = 0, $$sink5 = 0, $$sink7 = 0, $$sink9 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0;
    46520  var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0;
    46521  var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0;
    46522  var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0;
    46523  var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0;
    46524  var $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0;
    46525  var $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0;
    46526  var $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0;
    46527  var $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0;
    46528  var $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0;
    46529  var $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0;
    46530  var $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0;
    46531  var $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0;
    46532  var $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0;
    46533  var $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0;
    46534  var $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0;
    46535  var $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0;
    46536  var $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0;
    46537  var $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0;
    46538  var $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0;
    46539  var $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0;
    46540  var $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0;
    46541  var $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0;
    46542  var $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0;
    46543  var $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0;
    46544  var $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0;
    46545  var $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0;
    46546  var $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0;
    46547  var $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0;
    46548  var $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0;
    46549  var $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0;
    46550  var $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0;
    46551  var $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0;
    46552  var $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0;
    46553  var $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0;
    46554  var $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0;
    46555  var $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0;
    46556  var $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0;
    46557  var $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0;
    46558  var $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0;
    46559  var $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0;
    46560  var $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0;
    46561  var $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0;
    46562  var $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0;
    46563  var $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0;
    46564  var $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0;
    46565  var $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0;
    46566  var $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0;
    46567  var $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0;
    46568  var $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0;
    46569  var $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0;
    46570  var $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0;
    46571  var $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0;
    46572  var $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0;
    46573  var $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0;
    46574  var $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0;
    46575  var $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0;
    46576  var $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0;
    46577  var $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0;
    46578  var $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0;
    46579  var $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0;
    46580  var $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0;
    46581  var $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0;
    46582  var $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0;
    46583  var $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0;
    46584  var $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0;
    46585  var $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0;
    46586  var $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0;
    46587  var $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0;
    46588  var $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0;
    46589  var $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0;
    46590  var $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0;
    46591  var $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0;
    46592  var $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0;
    46593  var $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0;
    46594  var $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0;
    46595  var $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0;
    46596  var $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0;
    46597  var $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0;
    46598  var $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0;
    46599  var $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0;
    46600  var $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0;
    46601  var $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0;
    46602  var $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0;
    46603  var $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0;
    46604  var $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0;
    46605  var $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0;
    46606  var $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0;
    46607  var $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0;
    46608  var $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0;
    46609  var $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0;
    46610  var $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0;
    46611  var $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0;
    46612  var $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0;
    46613  var $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0;
    46614  var $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0;
    46615  var $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0;
    46616  var $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0;
    46617  var $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0;
    46618  var $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0;
    46619  var $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0;
    46620  var $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0;
    46621  var $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0;
    46622  var $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0;
    46623  var $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0;
    46624  var $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0;
    46625  var $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0;
    46626  var $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0;
    46627  var $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0;
    46628  var $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0;
    46629  var $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0;
    46630  var $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0;
    46631  var $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0;
    46632  var $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0;
    46633  var $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0;
    46634  var $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0;
    46635  var $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0;
    46636  var $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0;
    46637  var $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0;
    46638  var $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0;
    46639  var $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0;
    46640  var $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0;
    46641  var $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0;
    46642  var $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0;
    46643  var $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0;
    46644  var $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0;
    46645  var $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0;
    46646  var $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0;
    46647  var $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0;
    46648  var $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0;
    46649  var $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0;
    46650  var $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0;
    46651  var $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0;
    46652  var $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0;
    46653  var $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0;
    46654  var $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0;
    46655  var $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0;
    46656  var $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0;
    46657  var $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0;
    46658  var $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0;
    46659  var $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0;
    46660  var $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0;
    46661  var $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0;
    46662  var $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0;
    46663  var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0;
    46664  var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0;
    46665  var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0;
    46666  var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0;
    46667  var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0;
    46668  var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0;
    46669  var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0;
    46670  var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0;
    46671  var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0;
    46672  var $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0;
    46673  var $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0;
    46674  var $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0;
    46675  var $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0;
    46676  var $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0;
    46677  var $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0;
    46678  var $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0;
    46679  var $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0;
    46680  var $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0;
    46681  var $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0;
    46682  var $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0;
    46683  var $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0;
    46684  var $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0;
    46685  var $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0;
    46686  var $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0;
    46687  var $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0;
    46688  var $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0;
    46689  var $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0;
    46690  var $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0;
    46691  var $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0;
    46692  var $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0;
    46693  var $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0;
    46694  var $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0;
    46695  var $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0;
    46696  var $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0;
    46697  var $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0;
    46698  var $998 = 0, $999 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    46699  sp = STACKTOP;
    46700  STACKTOP = STACKTOP + 1472|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1472|0);
    46701  $vararg_buffer = sp;
    46702  $3 = sp + 908|0;
    46703  $7 = sp + 920|0;
    46704  $10 = sp + 88|0;
    46705  $17 = sp + 56|0;
    46706  $18 = sp + 1336|0;
    46707  $30 = sp + 1320|0;
    46708  $1 = $0;
    46709  $19 = $18;
    46710  $20 = 128;
    46711  $21 = 0;
    46712  $16 = 0;
    46713  $8 = $7;
    46714  $11 = $10;
    46715  $13 = 200;
    46716  $5 = 0;
    46717  $6 = 0;
    46718  $4 = 0;
    46719  $2 = -2;
    46720  $33 = $8;
    46721  $9 = $33;
    46722  $34 = $11;
    46723  $12 = $34;
    46724  L1: while(1) {
    46725   $37 = $5;
    46726   $38 = $37&65535;
    46727   $39 = $9;
    46728   HEAP16[$39>>1] = $38;
    46729   $40 = $8;
    46730   $41 = $13;
    46731   $42 = (($40) + ($41<<1)|0);
    46732   $43 = ((($42)) + -2|0);
    46733   $44 = $9;
    46734   $45 = ($43>>>0)<=($44>>>0);
    46735   if ($45) {
    46736    $46 = $9;
    46737    $47 = $8;
    46738    $48 = $46;
    46739    $49 = $47;
    46740    $50 = (($48) - ($49))|0;
    46741    $51 = (($50|0) / 2)&-1;
    46742    $52 = (($51) + 1)|0;
    46743    $22 = $52;
    46744    $53 = $13;
    46745    $54 = (10000)<=($53>>>0);
    46746    if ($54) {
    46747     label = 538;
    46748     break;
    46749    }
    46750    $55 = $13;
    46751    $56 = $55<<1;
    46752    $13 = $56;
    46753    $57 = $13;
    46754    $58 = (10000)<($57>>>0);
    46755    $$ = $58 ? 10000 : $56;
    46756    $13 = $$;
    46757    $59 = $8;
    46758    $23 = $59;
    46759    $60 = $1;
    46760    $61 = HEAP32[$60>>2]|0;
    46761    $62 = $13;
    46762    $63 = ($62*6)|0;
    46763    $64 = (($63) + 3)|0;
    46764    $65 = (_mrb_malloc($61,$64)|0);
    46765    $24 = $65;
    46766    $66 = $24;
    46767    $67 = ($66|0)!=(0|0);
    46768    if (!($67)) {
    46769     label = 538;
    46770     break;
    46771    }
    46772    $68 = $24;
    46773    $69 = $8;
    46774    $70 = $22;
    46775    $71 = $70<<1;
    46776    _memcpy(($68|0),($69|0),($71|0))|0;
    46777    $72 = $24;
    46778    $8 = $72;
    46779    $73 = $13;
    46780    $74 = $73<<1;
    46781    $75 = (($74) + 3)|0;
    46782    $25 = $75;
    46783    $76 = $25;
    46784    $77 = (($76>>>0) / 4)&-1;
    46785    $78 = $24;
    46786    $79 = (($78) + ($77<<2)|0);
    46787    $24 = $79;
    46788    $80 = $24;
    46789    $81 = $11;
    46790    $82 = $22;
    46791    $83 = $82<<2;
    46792    _memcpy(($80|0),($81|0),($83|0))|0;
    46793    $84 = $24;
    46794    $11 = $84;
    46795    $85 = $13;
    46796    $86 = $85<<2;
    46797    $87 = (($86) + 3)|0;
    46798    $26 = $87;
    46799    $88 = $26;
    46800    $89 = (($88>>>0) / 4)&-1;
    46801    $90 = $24;
    46802    $91 = (($90) + ($89<<2)|0);
    46803    $24 = $91;
    46804    $92 = $23;
    46805    $93 = ($92|0)!=($7|0);
    46806    if ($93) {
    46807     $94 = $1;
    46808     $95 = HEAP32[$94>>2]|0;
    46809     $96 = $23;
    46810     _mrb_free($95,$96);
    46811    }
    46812    $97 = $8;
    46813    $98 = $22;
    46814    $99 = (($97) + ($98<<1)|0);
    46815    $100 = ((($99)) + -2|0);
    46816    $9 = $100;
    46817    $101 = $11;
    46818    $102 = $22;
    46819    $103 = (($101) + ($102<<2)|0);
    46820    $104 = ((($103)) + -4|0);
    46821    $12 = $104;
    46822    $105 = $8;
    46823    $106 = $13;
    46824    $107 = (($105) + ($106<<1)|0);
    46825    $108 = ((($107)) + -2|0);
    46826    $109 = $9;
    46827    $110 = ($108>>>0)<=($109>>>0);
    46828    if ($110) {
    46829     label = 537;
    46830     break;
    46831    }
    46832   }
    46833   $111 = $5;
    46834   $112 = ($111|0)==(3);
    46835   if ($112) {
    46836    label = 536;
    46837    break;
    46838   }
    46839   $113 = $5;
    46840   $114 = (3344 + ($113<<1)|0);
    46841   $115 = HEAP16[$114>>1]|0;
    46842   $116 = $115 << 16 >> 16;
    46843   $14 = $116;
    46844   $117 = $14;
    46845   $118 = ($117|0)==(-771);
    46846   do {
    46847    if ($118) {
    46848     label = 26;
    46849    } else {
    46850     $119 = $2;
    46851     $120 = ($119|0)==(-2);
    46852     if ($120) {
    46853      $121 = $1;
    46854      $122 = (_yylex($3,$121)|0);
    46855      $2 = $122;
    46856     }
    46857     $123 = $2;
    46858     $124 = ($123|0)<=(0);
    46859     if ($124) {
    46860      $16 = 0;
    46861      $2 = 0;
    46862     } else {
    46863      $125 = $2;
    46864      $126 = ($125>>>0)<=(372);
    46865      if ($126) {
    46866       $127 = $2;
    46867       $128 = (58442 + ($127)|0);
    46868       $129 = HEAP8[$128>>0]|0;
    46869       $130 = $129&255;
    46870       $131 = $130;
    46871      } else {
    46872       $131 = 2;
    46873      }
    46874      $16 = $131;
    46875     }
    46876     $132 = $16;
    46877     $133 = $14;
    46878     $134 = (($133) + ($132))|0;
    46879     $14 = $134;
    46880     $135 = $14;
    46881     $136 = ($135|0)<(0);
    46882     $137 = $14;
    46883     $138 = (10639)<($137|0);
    46884     $or$cond = $136 | $138;
    46885     if ($or$cond) {
    46886      label = 26;
    46887     } else {
    46888      $139 = $14;
    46889      $140 = (5280 + ($139<<1)|0);
    46890      $141 = HEAP16[$140>>1]|0;
    46891      $142 = $141 << 16 >> 16;
    46892      $143 = $16;
    46893      $144 = ($142|0)!=($143|0);
    46894      if ($144) {
    46895       label = 26;
    46896      } else {
    46897       $145 = $14;
    46898       $146 = (26560 + ($145<<1)|0);
    46899       $147 = HEAP16[$146>>1]|0;
    46900       $148 = $147 << 16 >> 16;
    46901       $14 = $148;
    46902       $149 = $14;
    46903       $150 = ($149|0)<=(0);
    46904       if ($150) {
    46905        $151 = $14;
    46906        $152 = ($151|0)==(0);
    46907        $153 = $14;
    46908        $154 = ($153|0)==(-556);
    46909        $or$cond3 = $152 | $154;
    46910        if ($or$cond3) {
    46911         label = 513;
    46912         break;
    46913        }
    46914        $155 = $14;
    46915        $156 = (0 - ($155))|0;
    46916        $14 = $156;
    46917        label = 27;
    46918        break;
    46919       }
    46920       $157 = $6;
    46921       $158 = ($157|0)!=(0);
    46922       if ($158) {
    46923        $159 = $6;
    46924        $160 = (($159) + -1)|0;
    46925        $6 = $160;
    46926       }
    46927       $2 = -2;
    46928       $161 = $14;
    46929       $5 = $161;
    46930       $162 = $12;
    46931       $163 = ((($162)) + 4|0);
    46932       $12 = $163;
    46933       ;HEAP32[$163>>2]=HEAP32[$3>>2]|0;
    46934      }
    46935     }
    46936    }
    46937   } while(0);
    46938   if ((label|0) == 26) {
    46939    label = 0;
    46940    $164 = $5;
    46941    $165 = (47840 + ($164<<1)|0);
    46942    $166 = HEAP16[$165>>1]|0;
    46943    $167 = $166&65535;
    46944    $14 = $167;
    46945    $168 = $14;
    46946    $169 = ($168|0)==(0);
    46947    if ($169) {
    46948     label = 513;
    46949    } else {
    46950     label = 27;
    46951    }
    46952   }
    46953   do {
    46954    if ((label|0) == 27) {
    46955     label = 0;
    46956     $170 = $14;
    46957     $171 = (58815 + ($170)|0);
    46958     $172 = HEAP8[$171>>0]|0;
    46959     $173 = $172&255;
    46960     $21 = $173;
    46961     $174 = $12;
    46962     $175 = $21;
    46963     $176 = (1 - ($175))|0;
    46964     $177 = (($174) + ($176<<2)|0);
    46965     ;HEAP32[$17>>2]=HEAP32[$177>>2]|0;
    46966     $178 = $14;
    46967     do {
    46968      switch ($178|0) {
    46969      case 2:  {
    46970       $179 = $1;
    46971       $180 = ((($179)) + 40|0);
    46972       HEAP32[$180>>2] = 0;
    46973       $181 = $1;
    46974       $182 = ((($181)) + 76|0);
    46975       $183 = HEAP32[$182>>2]|0;
    46976       $184 = ($183|0)!=(0|0);
    46977       if (!($184)) {
    46978        $185 = $1;
    46979        $186 = (_cons_gen($185,0,0)|0);
    46980        $187 = $1;
    46981        $188 = ((($187)) + 76|0);
    46982        HEAP32[$188>>2] = $186;
    46983       }
    46984       break;
    46985      }
    46986      case 3:  {
    46987       $189 = $1;
    46988       $190 = $12;
    46989       $191 = HEAP32[$190>>2]|0;
    46990       $192 = (_new_scope($189,$191)|0);
    46991       $193 = $1;
    46992       $194 = ((($193)) + 1144|0);
    46993       HEAP32[$194>>2] = $192;
    46994       $195 = $12;
    46995       $196 = HEAP32[$195>>2]|0;
    46996       $197 = ($196|0)!=(0|0);
    46997       if ($197) {
    46998        $198 = $12;
    46999        $199 = HEAP32[$198>>2]|0;
    47000        $200 = ((($199)) + 10|0);
    47001        $201 = HEAP16[$200>>1]|0;
    47002        $202 = $1;
    47003        $203 = ((($202)) + 1144|0);
    47004        $204 = HEAP32[$203>>2]|0;
    47005        $205 = ((($204)) + 10|0);
    47006        HEAP16[$205>>1] = $201;
    47007        $206 = $12;
    47008        $207 = HEAP32[$206>>2]|0;
    47009        $208 = ((($207)) + 8|0);
    47010        $209 = HEAP16[$208>>1]|0;
    47011        $210 = $1;
    47012        $211 = ((($210)) + 1144|0);
    47013        $212 = HEAP32[$211>>2]|0;
    47014        $213 = ((($212)) + 8|0);
    47015        HEAP16[$213>>1] = $209;
    47016       }
    47017       break;
    47018      }
    47019      case 4:  {
    47020       $214 = $12;
    47021       $215 = ((($214)) + -4|0);
    47022       $216 = HEAP32[$215>>2]|0;
    47023       HEAP32[$17>>2] = $216;
    47024       break;
    47025      }
    47026      case 5:  {
    47027       $217 = $1;
    47028       $218 = (_new_begin($217,0)|0);
    47029       HEAP32[$17>>2] = $218;
    47030       break;
    47031      }
    47032      case 6:  {
    47033       $219 = $1;
    47034       $220 = $12;
    47035       $221 = HEAP32[$220>>2]|0;
    47036       $222 = (_new_begin($219,$221)|0);
    47037       HEAP32[$17>>2] = $222;
    47038       $223 = $12;
    47039       $224 = HEAP32[$223>>2]|0;
    47040       $225 = ($224|0)!=(0|0);
    47041       if ($225) {
    47042        $226 = $12;
    47043        $227 = HEAP32[$226>>2]|0;
    47044        $228 = ((($227)) + 10|0);
    47045        $229 = HEAP16[$228>>1]|0;
    47046        $230 = HEAP32[$17>>2]|0;
    47047        $231 = ((($230)) + 10|0);
    47048        HEAP16[$231>>1] = $229;
    47049        $232 = $12;
    47050        $233 = HEAP32[$232>>2]|0;
    47051        $234 = ((($233)) + 8|0);
    47052        $235 = HEAP16[$234>>1]|0;
    47053        $236 = HEAP32[$17>>2]|0;
    47054        $237 = ((($236)) + 8|0);
    47055        HEAP16[$237>>1] = $235;
    47056       }
    47057       break;
    47058      }
    47059      case 7:  {
    47060       $238 = $1;
    47061       $239 = $12;
    47062       $240 = ((($239)) + -8|0);
    47063       $241 = HEAP32[$240>>2]|0;
    47064       $242 = $1;
    47065       $243 = $12;
    47066       $244 = HEAP32[$243>>2]|0;
    47067       $245 = (_list1_gen($242,$244)|0);
    47068       $246 = (_append_gen($238,$241,$245)|0);
    47069       HEAP32[$17>>2] = $246;
    47070       break;
    47071      }
    47072      case 8:  {
    47073       $247 = $1;
    47074       $248 = (_new_begin($247,0)|0);
    47075       HEAP32[$17>>2] = $248;
    47076       break;
    47077      }
    47078      case 10:  {
    47079       $249 = $1;
    47080       $250 = (_local_switch($249)|0);
    47081       HEAP32[$17>>2] = $250;
    47082       break;
    47083      }
    47084      case 11:  {
    47085       $251 = $1;
    47086       _yyerror($251,59371);
    47087       $252 = $1;
    47088       $253 = $12;
    47089       $254 = ((($253)) + -12|0);
    47090       $255 = HEAP32[$254>>2]|0;
    47091       _local_resume($252,$255);
    47092       HEAP32[$17>>2] = 0;
    47093       break;
    47094      }
    47095      case 12:  {
    47096       $256 = $12;
    47097       $257 = ((($256)) + -8|0);
    47098       $258 = HEAP32[$257>>2]|0;
    47099       $259 = ($258|0)!=(0|0);
    47100       if ($259) {
    47101        $260 = $1;
    47102        $261 = $12;
    47103        $262 = ((($261)) + -12|0);
    47104        $263 = HEAP32[$262>>2]|0;
    47105        $264 = $12;
    47106        $265 = ((($264)) + -8|0);
    47107        $266 = HEAP32[$265>>2]|0;
    47108        $267 = $12;
    47109        $268 = ((($267)) + -4|0);
    47110        $269 = HEAP32[$268>>2]|0;
    47111        $270 = (_new_rescue($260,$263,$266,$269)|0);
    47112        HEAP32[$17>>2] = $270;
    47113        $271 = $12;
    47114        $272 = ((($271)) + -12|0);
    47115        $273 = HEAP32[$272>>2]|0;
    47116        $274 = ($273|0)!=(0|0);
    47117        if ($274) {
    47118         $275 = $12;
    47119         $276 = ((($275)) + -12|0);
    47120         $277 = HEAP32[$276>>2]|0;
    47121         $278 = ((($277)) + 10|0);
    47122         $279 = HEAP16[$278>>1]|0;
    47123         $280 = HEAP32[$17>>2]|0;
    47124         $281 = ((($280)) + 10|0);
    47125         HEAP16[$281>>1] = $279;
    47126         $282 = $12;
    47127         $283 = ((($282)) + -12|0);
    47128         $284 = HEAP32[$283>>2]|0;
    47129         $285 = ((($284)) + 8|0);
    47130         $286 = HEAP16[$285>>1]|0;
    47131         $287 = HEAP32[$17>>2]|0;
    47132         $288 = ((($287)) + 8|0);
    47133         HEAP16[$288>>1] = $286;
    47134        }
    47135       } else {
    47136        $289 = $12;
    47137        $290 = ((($289)) + -4|0);
    47138        $291 = HEAP32[$290>>2]|0;
    47139        $292 = ($291|0)!=(0|0);
    47140        if ($292) {
    47141         $293 = $1;
    47142         _yywarn($293,59391);
    47143         $294 = $1;
    47144         $295 = $12;
    47145         $296 = ((($295)) + -12|0);
    47146         $297 = HEAP32[$296>>2]|0;
    47147         $298 = $1;
    47148         $299 = $12;
    47149         $300 = ((($299)) + -4|0);
    47150         $301 = HEAP32[$300>>2]|0;
    47151         $302 = (_list1_gen($298,$301)|0);
    47152         $303 = (_append_gen($294,$297,$302)|0);
    47153         $$sink = $303;
    47154        } else {
    47155         $304 = $12;
    47156         $305 = ((($304)) + -12|0);
    47157         $306 = HEAP32[$305>>2]|0;
    47158         $$sink = $306;
    47159        }
    47160        HEAP32[$17>>2] = $$sink;
    47161       }
    47162       $307 = $12;
    47163       $308 = HEAP32[$307>>2]|0;
    47164       $309 = ($308|0)!=(0|0);
    47165       if ($309) {
    47166        $310 = HEAP32[$17>>2]|0;
    47167        $311 = ($310|0)!=(0|0);
    47168        $312 = $1;
    47169        if ($311) {
    47170         $313 = HEAP32[$17>>2]|0;
    47171         $314 = $12;
    47172         $315 = HEAP32[$314>>2]|0;
    47173         $316 = (_new_ensure($312,$313,$315)|0);
    47174         $$sink5 = $316;
    47175        } else {
    47176         $317 = $12;
    47177         $318 = HEAP32[$317>>2]|0;
    47178         $319 = $1;
    47179         $320 = $1;
    47180         $321 = (_new_nil($320)|0);
    47181         $322 = (_list1_gen($319,$321)|0);
    47182         $323 = (_append_gen($312,$318,$322)|0);
    47183         $$sink5 = $323;
    47184        }
    47185        HEAP32[$17>>2] = $$sink5;
    47186       }
    47187       break;
    47188      }
    47189      case 13:  {
    47190       $324 = $12;
    47191       $325 = ((($324)) + -4|0);
    47192       $326 = HEAP32[$325>>2]|0;
    47193       HEAP32[$17>>2] = $326;
    47194       break;
    47195      }
    47196      case 14:  {
    47197       $327 = $1;
    47198       $328 = (_new_begin($327,0)|0);
    47199       HEAP32[$17>>2] = $328;
    47200       break;
    47201      }
    47202      case 15:  {
    47203       $329 = $1;
    47204       $330 = $12;
    47205       $331 = HEAP32[$330>>2]|0;
    47206       $332 = (_new_begin($329,$331)|0);
    47207       HEAP32[$17>>2] = $332;
    47208       $333 = $12;
    47209       $334 = HEAP32[$333>>2]|0;
    47210       $335 = ($334|0)!=(0|0);
    47211       if ($335) {
    47212        $336 = $12;
    47213        $337 = HEAP32[$336>>2]|0;
    47214        $338 = ((($337)) + 10|0);
    47215        $339 = HEAP16[$338>>1]|0;
    47216        $340 = HEAP32[$17>>2]|0;
    47217        $341 = ((($340)) + 10|0);
    47218        HEAP16[$341>>1] = $339;
    47219        $342 = $12;
    47220        $343 = HEAP32[$342>>2]|0;
    47221        $344 = ((($343)) + 8|0);
    47222        $345 = HEAP16[$344>>1]|0;
    47223        $346 = HEAP32[$17>>2]|0;
    47224        $347 = ((($346)) + 8|0);
    47225        HEAP16[$347>>1] = $345;
    47226       }
    47227       break;
    47228      }
    47229      case 16:  {
    47230       $348 = $1;
    47231       $349 = $12;
    47232       $350 = ((($349)) + -8|0);
    47233       $351 = HEAP32[$350>>2]|0;
    47234       $352 = $1;
    47235       $353 = $12;
    47236       $354 = HEAP32[$353>>2]|0;
    47237       $355 = (_list1_gen($352,$354)|0);
    47238       $356 = (_append_gen($348,$351,$355)|0);
    47239       HEAP32[$17>>2] = $356;
    47240       break;
    47241      }
    47242      case 17:  {
    47243       $357 = $1;
    47244       $358 = $12;
    47245       $359 = HEAP32[$358>>2]|0;
    47246       $360 = (_new_begin($357,$359)|0);
    47247       HEAP32[$17>>2] = $360;
    47248       break;
    47249      }
    47250      case 18:  {
    47251       $361 = $1;
    47252       $362 = ((($361)) + 40|0);
    47253       HEAP32[$362>>2] = 7;
    47254       break;
    47255      }
    47256      case 19:  {
    47257       $363 = $1;
    47258       $364 = $12;
    47259       $365 = ((($364)) + -8|0);
    47260       $366 = HEAP32[$365>>2]|0;
    47261       $367 = $12;
    47262       $368 = HEAP32[$367>>2]|0;
    47263       $369 = (_new_alias($363,$366,$368)|0);
    47264       HEAP32[$17>>2] = $369;
    47265       break;
    47266      }
    47267      case 20:  {
    47268       $370 = $12;
    47269       $371 = HEAP32[$370>>2]|0;
    47270       HEAP32[$17>>2] = $371;
    47271       break;
    47272      }
    47273      case 21:  {
    47274       $372 = $1;
    47275       $373 = $12;
    47276       $374 = HEAP32[$373>>2]|0;
    47277       $375 = (_cond($374)|0);
    47278       $376 = $12;
    47279       $377 = ((($376)) + -8|0);
    47280       $378 = HEAP32[$377>>2]|0;
    47281       $379 = (_new_if($372,$375,$378,0)|0);
    47282       HEAP32[$17>>2] = $379;
    47283       break;
    47284      }
    47285      case 22:  {
    47286       $380 = $1;
    47287       $381 = $12;
    47288       $382 = HEAP32[$381>>2]|0;
    47289       $383 = (_cond($382)|0);
    47290       $384 = $12;
    47291       $385 = ((($384)) + -8|0);
    47292       $386 = HEAP32[$385>>2]|0;
    47293       $387 = (_new_unless($380,$383,$386,0)|0);
    47294       HEAP32[$17>>2] = $387;
    47295       break;
    47296      }
    47297      case 23:  {
    47298       $388 = $1;
    47299       $389 = $12;
    47300       $390 = HEAP32[$389>>2]|0;
    47301       $391 = (_cond($390)|0);
    47302       $392 = $12;
    47303       $393 = ((($392)) + -8|0);
    47304       $394 = HEAP32[$393>>2]|0;
    47305       $395 = (_new_while($388,$391,$394)|0);
    47306       HEAP32[$17>>2] = $395;
    47307       break;
    47308      }
    47309      case 24:  {
    47310       $396 = $1;
    47311       $397 = $12;
    47312       $398 = HEAP32[$397>>2]|0;
    47313       $399 = (_cond($398)|0);
    47314       $400 = $12;
    47315       $401 = ((($400)) + -8|0);
    47316       $402 = HEAP32[$401>>2]|0;
    47317       $403 = (_new_until($396,$399,$402)|0);
    47318       HEAP32[$17>>2] = $403;
    47319       break;
    47320      }
    47321      case 25:  {
    47322       $404 = $1;
    47323       $405 = $12;
    47324       $406 = ((($405)) + -8|0);
    47325       $407 = HEAP32[$406>>2]|0;
    47326       $408 = $1;
    47327       $409 = $1;
    47328       $410 = $12;
    47329       $411 = HEAP32[$410>>2]|0;
    47330       $412 = (_list3_gen($409,0,0,$411)|0);
    47331       $413 = (_list1_gen($408,$412)|0);
    47332       $414 = (_new_rescue($404,$407,$413,0)|0);
    47333       HEAP32[$17>>2] = $414;
    47334       break;
    47335      }
    47336      case 26:  {
    47337       $415 = $1;
    47338       _yyerror($415,59422);
    47339       $416 = $1;
    47340       $417 = $12;
    47341       $418 = ((($417)) + -4|0);
    47342       $419 = HEAP32[$418>>2]|0;
    47343       $420 = (_new_postexe($416,$419)|0);
    47344       HEAP32[$17>>2] = $420;
    47345       break;
    47346      }
    47347      case 28:  {
    47348       $421 = $1;
    47349       $422 = $12;
    47350       $423 = ((($422)) + -8|0);
    47351       $424 = HEAP32[$423>>2]|0;
    47352       $425 = $12;
    47353       $426 = HEAP32[$425>>2]|0;
    47354       $427 = (_new_masgn($421,$424,$426)|0);
    47355       HEAP32[$17>>2] = $427;
    47356       break;
    47357      }
    47358      case 29:  {
    47359       $428 = $1;
    47360       $429 = $12;
    47361       $430 = ((($429)) + -8|0);
    47362       $431 = HEAP32[$430>>2]|0;
    47363       $432 = $12;
    47364       $433 = ((($432)) + -4|0);
    47365       $434 = HEAP32[$433>>2]|0;
    47366       $435 = $12;
    47367       $436 = HEAP32[$435>>2]|0;
    47368       $437 = (_new_op_asgn($428,$431,$434,$436)|0);
    47369       HEAP32[$17>>2] = $437;
    47370       break;
    47371      }
    47372      case 30:  {
    47373       $438 = $1;
    47374       $439 = $1;
    47375       $440 = $12;
    47376       $441 = ((($440)) + -20|0);
    47377       $442 = HEAP32[$441>>2]|0;
    47378       $443 = $1;
    47379       $444 = (_intern_gen($443,69083,2)|0);
    47380       $445 = $12;
    47381       $446 = ((($445)) + -12|0);
    47382       $447 = HEAP32[$446>>2]|0;
    47383       $448 = (_new_call($439,$442,$444,$447)|0);
    47384       $449 = $12;
    47385       $450 = ((($449)) + -4|0);
    47386       $451 = HEAP32[$450>>2]|0;
    47387       $452 = $12;
    47388       $453 = HEAP32[$452>>2]|0;
    47389       $454 = (_new_op_asgn($438,$448,$451,$453)|0);
    47390       HEAP32[$17>>2] = $454;
    47391       break;
    47392      }
    47393      case 31:  {
    47394       $455 = $1;
    47395       $456 = $1;
    47396       $457 = $12;
    47397       $458 = ((($457)) + -16|0);
    47398       $459 = HEAP32[$458>>2]|0;
    47399       $460 = $12;
    47400       $461 = ((($460)) + -8|0);
    47401       $462 = HEAP32[$461>>2]|0;
    47402       $463 = (_new_call($456,$459,$462,0)|0);
    47403       $464 = $12;
    47404       $465 = ((($464)) + -4|0);
    47405       $466 = HEAP32[$465>>2]|0;
    47406       $467 = $12;
    47407       $468 = HEAP32[$467>>2]|0;
    47408       $469 = (_new_op_asgn($455,$463,$466,$468)|0);
    47409       HEAP32[$17>>2] = $469;
    47410       break;
    47411      }
    47412      case 32:  {
    47413       $470 = $1;
    47414       $471 = $1;
    47415       $472 = $12;
    47416       $473 = ((($472)) + -16|0);
    47417       $474 = HEAP32[$473>>2]|0;
    47418       $475 = $12;
    47419       $476 = ((($475)) + -8|0);
    47420       $477 = HEAP32[$476>>2]|0;
    47421       $478 = (_new_call($471,$474,$477,0)|0);
    47422       $479 = $12;
    47423       $480 = ((($479)) + -4|0);
    47424       $481 = HEAP32[$480>>2]|0;
    47425       $482 = $12;
    47426       $483 = HEAP32[$482>>2]|0;
    47427       $484 = (_new_op_asgn($470,$478,$481,$483)|0);
    47428       HEAP32[$17>>2] = $484;
    47429       break;
    47430      }
    47431      case 33:  {
    47432       $485 = $1;
    47433       _yyerror($485,59439);
    47434       HEAP32[$17>>2] = 0;
    47435       break;
    47436      }
    47437      case 34:  {
    47438       $486 = $1;
    47439       $487 = $1;
    47440       $488 = $12;
    47441       $489 = ((($488)) + -16|0);
    47442       $490 = HEAP32[$489>>2]|0;
    47443       $491 = $12;
    47444       $492 = ((($491)) + -8|0);
    47445       $493 = HEAP32[$492>>2]|0;
    47446       $494 = (_new_call($487,$490,$493,0)|0);
    47447       $495 = $12;
    47448       $496 = ((($495)) + -4|0);
    47449       $497 = HEAP32[$496>>2]|0;
    47450       $498 = $12;
    47451       $499 = HEAP32[$498>>2]|0;
    47452       $500 = (_new_op_asgn($486,$494,$497,$499)|0);
    47453       HEAP32[$17>>2] = $500;
    47454       break;
    47455      }
    47456      case 35:  {
    47457       $501 = $1;
    47458       $502 = $12;
    47459       $503 = ((($502)) + -8|0);
    47460       $504 = HEAP32[$503>>2]|0;
    47461       _backref_error($501,$504);
    47462       $505 = $1;
    47463       $506 = (_new_begin($505,0)|0);
    47464       HEAP32[$17>>2] = $506;
    47465       break;
    47466      }
    47467      case 36:  {
    47468       $507 = $1;
    47469       $508 = $12;
    47470       $509 = ((($508)) + -8|0);
    47471       $510 = HEAP32[$509>>2]|0;
    47472       $511 = $1;
    47473       $512 = $12;
    47474       $513 = HEAP32[$512>>2]|0;
    47475       $514 = (_new_array($511,$513)|0);
    47476       $515 = (_new_asgn($507,$510,$514)|0);
    47477       HEAP32[$17>>2] = $515;
    47478       break;
    47479      }
    47480      case 37:  {
    47481       $516 = $1;
    47482       $517 = $12;
    47483       $518 = ((($517)) + -8|0);
    47484       $519 = HEAP32[$518>>2]|0;
    47485       $520 = $12;
    47486       $521 = HEAP32[$520>>2]|0;
    47487       $522 = (_new_masgn($516,$519,$521)|0);
    47488       HEAP32[$17>>2] = $522;
    47489       break;
    47490      }
    47491      case 38:  {
    47492       $523 = $1;
    47493       $524 = $12;
    47494       $525 = ((($524)) + -8|0);
    47495       $526 = HEAP32[$525>>2]|0;
    47496       $527 = $1;
    47497       $528 = $12;
    47498       $529 = HEAP32[$528>>2]|0;
    47499       $530 = (_new_array($527,$529)|0);
    47500       $531 = (_new_masgn($523,$526,$530)|0);
    47501       HEAP32[$17>>2] = $531;
    47502       break;
    47503      }
    47504      case 40:  {
    47505       $532 = $1;
    47506       $533 = $12;
    47507       $534 = ((($533)) + -8|0);
    47508       $535 = HEAP32[$534>>2]|0;
    47509       $536 = $12;
    47510       $537 = HEAP32[$536>>2]|0;
    47511       $538 = (_new_asgn($532,$535,$537)|0);
    47512       HEAP32[$17>>2] = $538;
    47513       break;
    47514      }
    47515      case 41:  {
    47516       $539 = $1;
    47517       $540 = $12;
    47518       $541 = ((($540)) + -8|0);
    47519       $542 = HEAP32[$541>>2]|0;
    47520       $543 = $12;
    47521       $544 = HEAP32[$543>>2]|0;
    47522       $545 = (_new_asgn($539,$542,$544)|0);
    47523       HEAP32[$17>>2] = $545;
    47524       break;
    47525      }
    47526      case 43:  {
    47527       $546 = $1;
    47528       $547 = $12;
    47529       $548 = ((($547)) + -8|0);
    47530       $549 = HEAP32[$548>>2]|0;
    47531       $550 = $12;
    47532       $551 = HEAP32[$550>>2]|0;
    47533       $552 = (_new_and($546,$549,$551)|0);
    47534       HEAP32[$17>>2] = $552;
    47535       break;
    47536      }
    47537      case 44:  {
    47538       $553 = $1;
    47539       $554 = $12;
    47540       $555 = ((($554)) + -8|0);
    47541       $556 = HEAP32[$555>>2]|0;
    47542       $557 = $12;
    47543       $558 = HEAP32[$557>>2]|0;
    47544       $559 = (_new_or($553,$556,$558)|0);
    47545       HEAP32[$17>>2] = $559;
    47546       break;
    47547      }
    47548      case 45:  {
    47549       $560 = $1;
    47550       $561 = $12;
    47551       $562 = HEAP32[$561>>2]|0;
    47552       $563 = (_cond($562)|0);
    47553       $564 = (_call_uni_op($560,$563,65619)|0);
    47554       HEAP32[$17>>2] = $564;
    47555       break;
    47556      }
    47557      case 46:  {
    47558       $565 = $1;
    47559       $566 = $12;
    47560       $567 = HEAP32[$566>>2]|0;
    47561       $568 = (_cond($567)|0);
    47562       $569 = (_call_uni_op($565,$568,65619)|0);
    47563       HEAP32[$17>>2] = $569;
    47564       break;
    47565      }
    47566      case 48:  {
    47567       $570 = $12;
    47568       $571 = HEAP32[$570>>2]|0;
    47569       $572 = ($571|0)!=(0|0);
    47570       if ($572) {
    47571        $575 = $12;
    47572        $576 = HEAP32[$575>>2]|0;
    47573        $$sink7 = $576;
    47574       } else {
    47575        $573 = $1;
    47576        $574 = (_new_nil($573)|0);
    47577        $$sink7 = $574;
    47578       }
    47579       HEAP32[$17>>2] = $$sink7;
    47580       break;
    47581      }
    47582      case 53:  {
    47583       $577 = $1;
    47584       _local_nest($577);
    47585       break;
    47586      }
    47587      case 54:  {
    47588       $578 = $1;
    47589       $579 = $12;
    47590       $580 = ((($579)) + -8|0);
    47591       $581 = HEAP32[$580>>2]|0;
    47592       $582 = $12;
    47593       $583 = ((($582)) + -4|0);
    47594       $584 = HEAP32[$583>>2]|0;
    47595       $585 = (_new_block($578,$581,$584)|0);
    47596       HEAP32[$17>>2] = $585;
    47597       $586 = $1;
    47598       _local_unnest($586);
    47599       break;
    47600      }
    47601      case 55:  {
    47602       $587 = $1;
    47603       $588 = $12;
    47604       $589 = ((($588)) + -4|0);
    47605       $590 = HEAP32[$589>>2]|0;
    47606       $591 = $12;
    47607       $592 = HEAP32[$591>>2]|0;
    47608       $593 = (_new_fcall($587,$590,$592)|0);
    47609       HEAP32[$17>>2] = $593;
    47610       break;
    47611      }
    47612      case 56:  {
    47613       $594 = $1;
    47614       $595 = $12;
    47615       $596 = ((($595)) + -4|0);
    47616       $597 = HEAP32[$596>>2]|0;
    47617       $598 = $12;
    47618       $599 = HEAP32[$598>>2]|0;
    47619       _args_with_block($594,$597,$599);
    47620       $600 = $1;
    47621       $601 = $12;
    47622       $602 = ((($601)) + -8|0);
    47623       $603 = HEAP32[$602>>2]|0;
    47624       $604 = $12;
    47625       $605 = ((($604)) + -4|0);
    47626       $606 = HEAP32[$605>>2]|0;
    47627       $607 = (_new_fcall($600,$603,$606)|0);
    47628       HEAP32[$17>>2] = $607;
    47629       break;
    47630      }
    47631      case 57:  {
    47632       $608 = $1;
    47633       $609 = $12;
    47634       $610 = ((($609)) + -12|0);
    47635       $611 = HEAP32[$610>>2]|0;
    47636       $612 = $12;
    47637       $613 = ((($612)) + -4|0);
    47638       $614 = HEAP32[$613>>2]|0;
    47639       $615 = $12;
    47640       $616 = HEAP32[$615>>2]|0;
    47641       $617 = (_new_call($608,$611,$614,$616)|0);
    47642       HEAP32[$17>>2] = $617;
    47643       break;
    47644      }
    47645      case 58:  {
    47646       $618 = $1;
    47647       $619 = $12;
    47648       $620 = ((($619)) + -4|0);
    47649       $621 = HEAP32[$620>>2]|0;
    47650       $622 = $12;
    47651       $623 = HEAP32[$622>>2]|0;
    47652       _args_with_block($618,$621,$623);
    47653       $624 = $1;
    47654       $625 = $12;
    47655       $626 = ((($625)) + -16|0);
    47656       $627 = HEAP32[$626>>2]|0;
    47657       $628 = $12;
    47658       $629 = ((($628)) + -8|0);
    47659       $630 = HEAP32[$629>>2]|0;
    47660       $631 = $12;
    47661       $632 = ((($631)) + -4|0);
    47662       $633 = HEAP32[$632>>2]|0;
    47663       $634 = (_new_call($624,$627,$630,$633)|0);
    47664       HEAP32[$17>>2] = $634;
    47665       break;
    47666      }
    47667      case 59:  {
    47668       $635 = $1;
    47669       $636 = $12;
    47670       $637 = ((($636)) + -12|0);
    47671       $638 = HEAP32[$637>>2]|0;
    47672       $639 = $12;
    47673       $640 = ((($639)) + -4|0);
    47674       $641 = HEAP32[$640>>2]|0;
    47675       $642 = $12;
    47676       $643 = HEAP32[$642>>2]|0;
    47677       $644 = (_new_call($635,$638,$641,$643)|0);
    47678       HEAP32[$17>>2] = $644;
    47679       break;
    47680      }
    47681      case 60:  {
    47682       $645 = $1;
    47683       $646 = $12;
    47684       $647 = ((($646)) + -4|0);
    47685       $648 = HEAP32[$647>>2]|0;
    47686       $649 = $12;
    47687       $650 = HEAP32[$649>>2]|0;
    47688       _args_with_block($645,$648,$650);
    47689       $651 = $1;
    47690       $652 = $12;
    47691       $653 = ((($652)) + -16|0);
    47692       $654 = HEAP32[$653>>2]|0;
    47693       $655 = $12;
    47694       $656 = ((($655)) + -8|0);
    47695       $657 = HEAP32[$656>>2]|0;
    47696       $658 = $12;
    47697       $659 = ((($658)) + -4|0);
    47698       $660 = HEAP32[$659>>2]|0;
    47699       $661 = (_new_call($651,$654,$657,$660)|0);
    47700       HEAP32[$17>>2] = $661;
    47701       break;
    47702      }
    47703      case 61:  {
    47704       $662 = $1;
    47705       $663 = $12;
    47706       $664 = HEAP32[$663>>2]|0;
    47707       $665 = (_new_super($662,$664)|0);
    47708       HEAP32[$17>>2] = $665;
    47709       break;
    47710      }
    47711      case 62:  {
    47712       $666 = $1;
    47713       $667 = $12;
    47714       $668 = HEAP32[$667>>2]|0;
    47715       $669 = (_new_yield($666,$668)|0);
    47716       HEAP32[$17>>2] = $669;
    47717       break;
    47718      }
    47719      case 63:  {
    47720       $670 = $1;
    47721       $671 = $1;
    47722       $672 = $12;
    47723       $673 = HEAP32[$672>>2]|0;
    47724       $674 = (_ret_args($671,$673)|0);
    47725       $675 = (_new_return($670,$674)|0);
    47726       HEAP32[$17>>2] = $675;
    47727       break;
    47728      }
    47729      case 64:  {
    47730       $676 = $1;
    47731       $677 = $1;
    47732       $678 = $12;
    47733       $679 = HEAP32[$678>>2]|0;
    47734       $680 = (_ret_args($677,$679)|0);
    47735       $681 = (_new_break($676,$680)|0);
    47736       HEAP32[$17>>2] = $681;
    47737       break;
    47738      }
    47739      case 65:  {
    47740       $682 = $1;
    47741       $683 = $1;
    47742       $684 = $12;
    47743       $685 = HEAP32[$684>>2]|0;
    47744       $686 = (_ret_args($683,$685)|0);
    47745       $687 = (_new_next($682,$686)|0);
    47746       HEAP32[$17>>2] = $687;
    47747       break;
    47748      }
    47749      case 66:  {
    47750       $688 = $12;
    47751       $689 = HEAP32[$688>>2]|0;
    47752       HEAP32[$17>>2] = $689;
    47753       break;
    47754      }
    47755      case 67:  {
    47756       $690 = $12;
    47757       $691 = ((($690)) + -4|0);
    47758       $692 = HEAP32[$691>>2]|0;
    47759       HEAP32[$17>>2] = $692;
    47760       break;
    47761      }
    47762      case 69:  {
    47763       $693 = $12;
    47764       $694 = ((($693)) + -4|0);
    47765       $695 = HEAP32[$694>>2]|0;
    47766       HEAP32[$17>>2] = $695;
    47767       break;
    47768      }
    47769      case 70:  {
    47770       $696 = $1;
    47771       $697 = $12;
    47772       $698 = HEAP32[$697>>2]|0;
    47773       $699 = (_list1_gen($696,$698)|0);
    47774       HEAP32[$17>>2] = $699;
    47775       break;
    47776      }
    47777      case 71:  {
    47778       $700 = $1;
    47779       $701 = $1;
    47780       $702 = $12;
    47781       $703 = ((($702)) + -4|0);
    47782       $704 = HEAP32[$703>>2]|0;
    47783       $705 = $1;
    47784       $706 = $12;
    47785       $707 = HEAP32[$706>>2]|0;
    47786       $708 = (_list1_gen($705,$707)|0);
    47787       $709 = (_append_gen($701,$704,$708)|0);
    47788       $710 = (_list1_gen($700,$709)|0);
    47789       HEAP32[$17>>2] = $710;
    47790       break;
    47791      }
    47792      case 72:  {
    47793       $711 = $1;
    47794       $712 = $12;
    47795       $713 = ((($712)) + -8|0);
    47796       $714 = HEAP32[$713>>2]|0;
    47797       $715 = $12;
    47798       $716 = HEAP32[$715>>2]|0;
    47799       $717 = (_list2_gen($711,$714,$716)|0);
    47800       HEAP32[$17>>2] = $717;
    47801       break;
    47802      }
    47803      case 73:  {
    47804       $718 = $1;
    47805       $719 = $12;
    47806       $720 = ((($719)) + -16|0);
    47807       $721 = HEAP32[$720>>2]|0;
    47808       $722 = $12;
    47809       $723 = ((($722)) + -8|0);
    47810       $724 = HEAP32[$723>>2]|0;
    47811       $725 = $12;
    47812       $726 = HEAP32[$725>>2]|0;
    47813       $727 = (_list3_gen($718,$721,$724,$726)|0);
    47814       HEAP32[$17>>2] = $727;
    47815       break;
    47816      }
    47817      case 74:  {
    47818       $728 = $1;
    47819       $729 = $12;
    47820       $730 = ((($729)) + -4|0);
    47821       $731 = HEAP32[$730>>2]|0;
    47822       $732 = $1;
    47823       $733 = (_new_nil($732)|0);
    47824       $734 = (_list2_gen($728,$731,$733)|0);
    47825       HEAP32[$17>>2] = $734;
    47826       break;
    47827      }
    47828      case 75:  {
    47829       $735 = $1;
    47830       $736 = $12;
    47831       $737 = ((($736)) + -12|0);
    47832       $738 = HEAP32[$737>>2]|0;
    47833       $739 = $1;
    47834       $740 = (_new_nil($739)|0);
    47835       $741 = $12;
    47836       $742 = HEAP32[$741>>2]|0;
    47837       $743 = (_list3_gen($735,$738,$740,$742)|0);
    47838       HEAP32[$17>>2] = $743;
    47839       break;
    47840      }
    47841      case 76:  {
    47842       $744 = $1;
    47843       $745 = $12;
    47844       $746 = HEAP32[$745>>2]|0;
    47845       $747 = (_list2_gen($744,0,$746)|0);
    47846       HEAP32[$17>>2] = $747;
    47847       break;
    47848      }
    47849      case 77:  {
    47850       $748 = $1;
    47851       $749 = $12;
    47852       $750 = ((($749)) + -8|0);
    47853       $751 = HEAP32[$750>>2]|0;
    47854       $752 = $12;
    47855       $753 = HEAP32[$752>>2]|0;
    47856       $754 = (_list3_gen($748,0,$751,$753)|0);
    47857       HEAP32[$17>>2] = $754;
    47858       break;
    47859      }
    47860      case 78:  {
    47861       $755 = $1;
    47862       $756 = $1;
    47863       $757 = (_new_nil($756)|0);
    47864       $758 = (_list2_gen($755,0,$757)|0);
    47865       HEAP32[$17>>2] = $758;
    47866       break;
    47867      }
    47868      case 79:  {
    47869       $759 = $1;
    47870       $760 = $1;
    47871       $761 = (_new_nil($760)|0);
    47872       $762 = $12;
    47873       $763 = HEAP32[$762>>2]|0;
    47874       $764 = (_list3_gen($759,0,$761,$763)|0);
    47875       HEAP32[$17>>2] = $764;
    47876       break;
    47877      }
    47878      case 81:  {
    47879       $765 = $1;
    47880       $766 = $12;
    47881       $767 = ((($766)) + -4|0);
    47882       $768 = HEAP32[$767>>2]|0;
    47883       $769 = (_new_masgn($765,$768,0)|0);
    47884       HEAP32[$17>>2] = $769;
    47885       break;
    47886      }
    47887      case 82:  {
    47888       $770 = $1;
    47889       $771 = $12;
    47890       $772 = ((($771)) + -4|0);
    47891       $773 = HEAP32[$772>>2]|0;
    47892       $774 = (_list1_gen($770,$773)|0);
    47893       HEAP32[$17>>2] = $774;
    47894       break;
    47895      }
    47896      case 83:  {
    47897       $775 = $1;
    47898       $776 = $12;
    47899       $777 = ((($776)) + -8|0);
    47900       $778 = HEAP32[$777>>2]|0;
    47901       $779 = $1;
    47902       $780 = $12;
    47903       $781 = ((($780)) + -4|0);
    47904       $782 = HEAP32[$781>>2]|0;
    47905       $783 = (_list1_gen($779,$782)|0);
    47906       $784 = (_append_gen($775,$778,$783)|0);
    47907       HEAP32[$17>>2] = $784;
    47908       break;
    47909      }
    47910      case 84:  {
    47911       $785 = $1;
    47912       $786 = $12;
    47913       $787 = HEAP32[$786>>2]|0;
    47914       $788 = (_list1_gen($785,$787)|0);
    47915       HEAP32[$17>>2] = $788;
    47916       break;
    47917      }
    47918      case 85:  {
    47919       $789 = $1;
    47920       $790 = $12;
    47921       $791 = ((($790)) + -4|0);
    47922       $792 = HEAP32[$791>>2]|0;
    47923       $793 = $1;
    47924       $794 = $12;
    47925       $795 = HEAP32[$794>>2]|0;
    47926       $796 = (_list1_gen($793,$795)|0);
    47927       $797 = (_append_gen($789,$792,$796)|0);
    47928       HEAP32[$17>>2] = $797;
    47929       break;
    47930      }
    47931      case 86:  {
    47932       $798 = $1;
    47933       $799 = $12;
    47934       $800 = HEAP32[$799>>2]|0;
    47935       _assignable($798,$800);
    47936       break;
    47937      }
    47938      case 87:  {
    47939       $801 = $1;
    47940       $802 = $12;
    47941       $803 = ((($802)) + -12|0);
    47942       $804 = HEAP32[$803>>2]|0;
    47943       $805 = $1;
    47944       $806 = (_intern_gen($805,69083,2)|0);
    47945       $807 = $12;
    47946       $808 = ((($807)) + -4|0);
    47947       $809 = HEAP32[$808>>2]|0;
    47948       $810 = (_new_call($801,$804,$806,$809)|0);
    47949       HEAP32[$17>>2] = $810;
    47950       break;
    47951      }
    47952      case 88:  {
    47953       $811 = $1;
    47954       $812 = $12;
    47955       $813 = ((($812)) + -8|0);
    47956       $814 = HEAP32[$813>>2]|0;
    47957       $815 = $12;
    47958       $816 = HEAP32[$815>>2]|0;
    47959       $817 = (_new_call($811,$814,$816,0)|0);
    47960       HEAP32[$17>>2] = $817;
    47961       break;
    47962      }
    47963      case 89:  {
    47964       $818 = $1;
    47965       $819 = $12;
    47966       $820 = ((($819)) + -8|0);
    47967       $821 = HEAP32[$820>>2]|0;
    47968       $822 = $12;
    47969       $823 = HEAP32[$822>>2]|0;
    47970       $824 = (_new_call($818,$821,$823,0)|0);
    47971       HEAP32[$17>>2] = $824;
    47972       break;
    47973      }
    47974      case 90:  {
    47975       $825 = $1;
    47976       $826 = $12;
    47977       $827 = ((($826)) + -8|0);
    47978       $828 = HEAP32[$827>>2]|0;
    47979       $829 = $12;
    47980       $830 = HEAP32[$829>>2]|0;
    47981       $831 = (_new_call($825,$828,$830,0)|0);
    47982       HEAP32[$17>>2] = $831;
    47983       break;
    47984      }
    47985      case 91:  {
    47986       $832 = $1;
    47987       $833 = ((($832)) + 64|0);
    47988       $834 = HEAP32[$833>>2]|0;
    47989       $835 = ($834|0)!=(0);
    47990       if ($835) {
    47991        label = 126;
    47992       } else {
    47993        $836 = $1;
    47994        $837 = ((($836)) + 68|0);
    47995        $838 = HEAP32[$837>>2]|0;
    47996        $839 = ($838|0)!=(0);
    47997        if ($839) {
    47998         label = 126;
    47999        }
    48000       }
    48001       if ((label|0) == 126) {
    48002        label = 0;
    48003        $840 = $1;
    48004        _yyerror($840,59462);
    48005       }
    48006       $841 = $1;
    48007       $842 = $12;
    48008       $843 = ((($842)) + -8|0);
    48009       $844 = HEAP32[$843>>2]|0;
    48010       $845 = $12;
    48011       $846 = HEAP32[$845>>2]|0;
    48012       $847 = (_new_colon2($841,$844,$846)|0);
    48013       HEAP32[$17>>2] = $847;
    48014       break;
    48015      }
    48016      case 92:  {
    48017       $848 = $1;
    48018       $849 = ((($848)) + 64|0);
    48019       $850 = HEAP32[$849>>2]|0;
    48020       $851 = ($850|0)!=(0);
    48021       if ($851) {
    48022        label = 130;
    48023       } else {
    48024        $852 = $1;
    48025        $853 = ((($852)) + 68|0);
    48026        $854 = HEAP32[$853>>2]|0;
    48027        $855 = ($854|0)!=(0);
    48028        if ($855) {
    48029         label = 130;
    48030        }
    48031       }
    48032       if ((label|0) == 130) {
    48033        label = 0;
    48034        $856 = $1;
    48035        _yyerror($856,59462);
    48036       }
    48037       $857 = $1;
    48038       $858 = $12;
    48039       $859 = HEAP32[$858>>2]|0;
    48040       $860 = (_new_colon3($857,$859)|0);
    48041       HEAP32[$17>>2] = $860;
    48042       break;
    48043      }
    48044      case 93:  {
    48045       $861 = $1;
    48046       $862 = $12;
    48047       $863 = HEAP32[$862>>2]|0;
    48048       _backref_error($861,$863);
    48049       HEAP32[$17>>2] = 0;
    48050       break;
    48051      }
    48052      case 94:  {
    48053       $864 = $1;
    48054       $865 = $12;
    48055       $866 = HEAP32[$865>>2]|0;
    48056       _assignable($864,$866);
    48057       break;
    48058      }
    48059      case 95:  {
    48060       $867 = $1;
    48061       $868 = $12;
    48062       $869 = ((($868)) + -12|0);
    48063       $870 = HEAP32[$869>>2]|0;
    48064       $871 = $1;
    48065       $872 = (_intern_gen($871,69083,2)|0);
    48066       $873 = $12;
    48067       $874 = ((($873)) + -4|0);
    48068       $875 = HEAP32[$874>>2]|0;
    48069       $876 = (_new_call($867,$870,$872,$875)|0);
    48070       HEAP32[$17>>2] = $876;
    48071       break;
    48072      }
    48073      case 96:  {
    48074       $877 = $1;
    48075       $878 = $12;
    48076       $879 = ((($878)) + -8|0);
    48077       $880 = HEAP32[$879>>2]|0;
    48078       $881 = $12;
    48079       $882 = HEAP32[$881>>2]|0;
    48080       $883 = (_new_call($877,$880,$882,0)|0);
    48081       HEAP32[$17>>2] = $883;
    48082       break;
    48083      }
    48084      case 97:  {
    48085       $884 = $1;
    48086       $885 = $12;
    48087       $886 = ((($885)) + -8|0);
    48088       $887 = HEAP32[$886>>2]|0;
    48089       $888 = $12;
    48090       $889 = HEAP32[$888>>2]|0;
    48091       $890 = (_new_call($884,$887,$889,0)|0);
    48092       HEAP32[$17>>2] = $890;
    48093       break;
    48094      }
    48095      case 98:  {
    48096       $891 = $1;
    48097       $892 = $12;
    48098       $893 = ((($892)) + -8|0);
    48099       $894 = HEAP32[$893>>2]|0;
    48100       $895 = $12;
    48101       $896 = HEAP32[$895>>2]|0;
    48102       $897 = (_new_call($891,$894,$896,0)|0);
    48103       HEAP32[$17>>2] = $897;
    48104       break;
    48105      }
    48106      case 99:  {
    48107       $898 = $1;
    48108       $899 = ((($898)) + 64|0);
    48109       $900 = HEAP32[$899>>2]|0;
    48110       $901 = ($900|0)!=(0);
    48111       if ($901) {
    48112        label = 140;
    48113       } else {
    48114        $902 = $1;
    48115        $903 = ((($902)) + 68|0);
    48116        $904 = HEAP32[$903>>2]|0;
    48117        $905 = ($904|0)!=(0);
    48118        if ($905) {
    48119         label = 140;
    48120        }
    48121       }
    48122       if ((label|0) == 140) {
    48123        label = 0;
    48124        $906 = $1;
    48125        _yyerror($906,59462);
    48126       }
    48127       $907 = $1;
    48128       $908 = $12;
    48129       $909 = ((($908)) + -8|0);
    48130       $910 = HEAP32[$909>>2]|0;
    48131       $911 = $12;
    48132       $912 = HEAP32[$911>>2]|0;
    48133       $913 = (_new_colon2($907,$910,$912)|0);
    48134       HEAP32[$17>>2] = $913;
    48135       break;
    48136      }
    48137      case 100:  {
    48138       $914 = $1;
    48139       $915 = ((($914)) + 64|0);
    48140       $916 = HEAP32[$915>>2]|0;
    48141       $917 = ($916|0)!=(0);
    48142       if ($917) {
    48143        label = 144;
    48144       } else {
    48145        $918 = $1;
    48146        $919 = ((($918)) + 68|0);
    48147        $920 = HEAP32[$919>>2]|0;
    48148        $921 = ($920|0)!=(0);
    48149        if ($921) {
    48150         label = 144;
    48151        }
    48152       }
    48153       if ((label|0) == 144) {
    48154        label = 0;
    48155        $922 = $1;
    48156        _yyerror($922,59462);
    48157       }
    48158       $923 = $1;
    48159       $924 = $12;
    48160       $925 = HEAP32[$924>>2]|0;
    48161       $926 = (_new_colon3($923,$925)|0);
    48162       HEAP32[$17>>2] = $926;
    48163       break;
    48164      }
    48165      case 101:  {
    48166       $927 = $1;
    48167       $928 = $12;
    48168       $929 = HEAP32[$928>>2]|0;
    48169       _backref_error($927,$929);
    48170       HEAP32[$17>>2] = 0;
    48171       break;
    48172      }
    48173      case 102:  {
    48174       $930 = $1;
    48175       _yyerror($930,59490);
    48176       break;
    48177      }
    48178      case 104:  {
    48179       $931 = $1;
    48180       $932 = $12;
    48181       $933 = HEAP32[$932>>2]|0;
    48182       $934 = $933;
    48183       $935 = (_cons_gen($931,(1),$934)|0);
    48184       HEAP32[$17>>2] = $935;
    48185       break;
    48186      }
    48187      case 105:  {
    48188       $936 = $1;
    48189       $937 = $12;
    48190       $938 = HEAP32[$937>>2]|0;
    48191       $939 = $938;
    48192       $940 = (_cons_gen($936,0,$939)|0);
    48193       HEAP32[$17>>2] = $940;
    48194       break;
    48195      }
    48196      case 106:  {
    48197       $941 = $1;
    48198       $942 = $12;
    48199       $943 = ((($942)) + -8|0);
    48200       $944 = HEAP32[$943>>2]|0;
    48201       $945 = $12;
    48202       $946 = HEAP32[$945>>2]|0;
    48203       $947 = $946;
    48204       $948 = (_cons_gen($941,$944,$947)|0);
    48205       HEAP32[$17>>2] = $948;
    48206       break;
    48207      }
    48208      case 110:  {
    48209       $949 = $1;
    48210       $950 = ((($949)) + 40|0);
    48211       HEAP32[$950>>2] = 3;
    48212       $951 = $12;
    48213       $952 = HEAP32[$951>>2]|0;
    48214       HEAP32[$17>>2] = $952;
    48215       break;
    48216      }
    48217      case 111:  {
    48218       $953 = $1;
    48219       $954 = ((($953)) + 40|0);
    48220       HEAP32[$954>>2] = 3;
    48221       $955 = $12;
    48222       $956 = HEAP32[$955>>2]|0;
    48223       HEAP32[$17>>2] = $956;
    48224       break;
    48225      }
    48226      case 114:  {
    48227       $957 = $1;
    48228       $958 = $12;
    48229       $959 = HEAP32[$958>>2]|0;
    48230       $960 = (_new_undef($957,$959)|0);
    48231       HEAP32[$17>>2] = $960;
    48232       break;
    48233      }
    48234      case 115:  {
    48235       $961 = $1;
    48236       $962 = ((($961)) + 40|0);
    48237       HEAP32[$962>>2] = 7;
    48238       break;
    48239      }
    48240      case 116:  {
    48241       $963 = $1;
    48242       $964 = $12;
    48243       $965 = ((($964)) + -12|0);
    48244       $966 = HEAP32[$965>>2]|0;
    48245       $967 = $1;
    48246       $968 = $12;
    48247       $969 = HEAP32[$968>>2]|0;
    48248       $970 = $969;
    48249       $971 = (_list1_gen($967,$970)|0);
    48250       $972 = (_append_gen($963,$966,$971)|0);
    48251       HEAP32[$17>>2] = $972;
    48252       break;
    48253      }
    48254      case 117:  {
    48255       $973 = $1;
    48256       $974 = (_intern_gen_c($973,124)|0);
    48257       HEAP32[$17>>2] = $974;
    48258       break;
    48259      }
    48260      case 118:  {
    48261       $975 = $1;
    48262       $976 = (_intern_gen_c($975,94)|0);
    48263       HEAP32[$17>>2] = $976;
    48264       break;
    48265      }
    48266      case 119:  {
    48267       $977 = $1;
    48268       $978 = (_intern_gen_c($977,38)|0);
    48269       HEAP32[$17>>2] = $978;
    48270       break;
    48271      }
    48272      case 120:  {
    48273       $979 = $1;
    48274       $980 = (_intern_gen($979,69156,3)|0);
    48275       HEAP32[$17>>2] = $980;
    48276       break;
    48277      }
    48278      case 121:  {
    48279       $981 = $1;
    48280       $982 = (_intern_gen($981,69201,2)|0);
    48281       HEAP32[$17>>2] = $982;
    48282       break;
    48283      }
    48284      case 122:  {
    48285       $983 = $1;
    48286       $984 = (_intern_gen($983,69591,3)|0);
    48287       HEAP32[$17>>2] = $984;
    48288       break;
    48289      }
    48290      case 123:  {
    48291       $985 = $1;
    48292       $986 = (_intern_gen($985,59525,2)|0);
    48293       HEAP32[$17>>2] = $986;
    48294       break;
    48295      }
    48296      case 124:  {
    48297       $987 = $1;
    48298       $988 = (_intern_gen($987,59528,2)|0);
    48299       HEAP32[$17>>2] = $988;
    48300       break;
    48301      }
    48302      case 125:  {
    48303       $989 = $1;
    48304       $990 = (_intern_gen_c($989,62)|0);
    48305       HEAP32[$17>>2] = $990;
    48306       break;
    48307      }
    48308      case 126:  {
    48309       $991 = $1;
    48310       $992 = (_intern_gen($991,59531,2)|0);
    48311       HEAP32[$17>>2] = $992;
    48312       break;
    48313      }
    48314      case 127:  {
    48315       $993 = $1;
    48316       $994 = (_intern_gen_c($993,60)|0);
    48317       HEAP32[$17>>2] = $994;
    48318       break;
    48319      }
    48320      case 128:  {
    48321       $995 = $1;
    48322       $996 = (_intern_gen($995,59534,2)|0);
    48323       HEAP32[$17>>2] = $996;
    48324       break;
    48325      }
    48326      case 129:  {
    48327       $997 = $1;
    48328       $998 = (_intern_gen($997,68364,2)|0);
    48329       HEAP32[$17>>2] = $998;
    48330       break;
    48331      }
    48332      case 130:  {
    48333       $999 = $1;
    48334       $1000 = (_intern_gen($999,64616,2)|0);
    48335       HEAP32[$17>>2] = $1000;
    48336       break;
    48337      }
    48338      case 131:  {
    48339       $1001 = $1;
    48340       $1002 = (_intern_gen($1001,59537,2)|0);
    48341       HEAP32[$17>>2] = $1002;
    48342       break;
    48343      }
    48344      case 132:  {
    48345       $1003 = $1;
    48346       $1004 = (_intern_gen_c($1003,43)|0);
    48347       HEAP32[$17>>2] = $1004;
    48348       break;
    48349      }
    48350      case 133:  {
    48351       $1005 = $1;
    48352       $1006 = (_intern_gen_c($1005,45)|0);
    48353       HEAP32[$17>>2] = $1006;
    48354       break;
    48355      }
    48356      case 134:  {
    48357       $1007 = $1;
    48358       $1008 = (_intern_gen_c($1007,42)|0);
    48359       HEAP32[$17>>2] = $1008;
    48360       break;
    48361      }
    48362      case 135:  {
    48363       $1009 = $1;
    48364       $1010 = (_intern_gen_c($1009,42)|0);
    48365       HEAP32[$17>>2] = $1010;
    48366       break;
    48367      }
    48368      case 136:  {
    48369       $1011 = $1;
    48370       $1012 = (_intern_gen_c($1011,47)|0);
    48371       HEAP32[$17>>2] = $1012;
    48372       break;
    48373      }
    48374      case 137:  {
    48375       $1013 = $1;
    48376       $1014 = (_intern_gen_c($1013,37)|0);
    48377       HEAP32[$17>>2] = $1014;
    48378       break;
    48379      }
    48380      case 138:  {
    48381       $1015 = $1;
    48382       $1016 = (_intern_gen($1015,59540,2)|0);
    48383       HEAP32[$17>>2] = $1016;
    48384       break;
    48385      }
    48386      case 139:  {
    48387       $1017 = $1;
    48388       $1018 = (_intern_gen_c($1017,33)|0);
    48389       HEAP32[$17>>2] = $1018;
    48390       break;
    48391      }
    48392      case 140:  {
    48393       $1019 = $1;
    48394       $1020 = (_intern_gen_c($1019,126)|0);
    48395       HEAP32[$17>>2] = $1020;
    48396       break;
    48397      }
    48398      case 141:  {
    48399       $1021 = $1;
    48400       $1022 = (_intern_gen($1021,59543,2)|0);
    48401       HEAP32[$17>>2] = $1022;
    48402       break;
    48403      }
    48404      case 142:  {
    48405       $1023 = $1;
    48406       $1024 = (_intern_gen($1023,59546,2)|0);
    48407       HEAP32[$17>>2] = $1024;
    48408       break;
    48409      }
    48410      case 143:  {
    48411       $1025 = $1;
    48412       $1026 = (_intern_gen($1025,69083,2)|0);
    48413       HEAP32[$17>>2] = $1026;
    48414       break;
    48415      }
    48416      case 144:  {
    48417       $1027 = $1;
    48418       $1028 = (_intern_gen($1027,64619,3)|0);
    48419       HEAP32[$17>>2] = $1028;
    48420       break;
    48421      }
    48422      case 145:  {
    48423       $1029 = $1;
    48424       $1030 = (_intern_gen_c($1029,96)|0);
    48425       HEAP32[$17>>2] = $1030;
    48426       break;
    48427      }
    48428      case 186:  {
    48429       $1031 = $1;
    48430       $1032 = $12;
    48431       $1033 = ((($1032)) + -8|0);
    48432       $1034 = HEAP32[$1033>>2]|0;
    48433       $1035 = $12;
    48434       $1036 = HEAP32[$1035>>2]|0;
    48435       $1037 = (_new_asgn($1031,$1034,$1036)|0);
    48436       HEAP32[$17>>2] = $1037;
    48437       break;
    48438      }
    48439      case 187:  {
    48440       $1038 = $1;
    48441       $1039 = $12;
    48442       $1040 = ((($1039)) + -16|0);
    48443       $1041 = HEAP32[$1040>>2]|0;
    48444       $1042 = $1;
    48445       $1043 = $12;
    48446       $1044 = ((($1043)) + -8|0);
    48447       $1045 = HEAP32[$1044>>2]|0;
    48448       $1046 = $1;
    48449       $1047 = $1;
    48450       $1048 = $12;
    48451       $1049 = HEAP32[$1048>>2]|0;
    48452       $1050 = (_list3_gen($1047,0,0,$1049)|0);
    48453       $1051 = (_list1_gen($1046,$1050)|0);
    48454       $1052 = (_new_rescue($1042,$1045,$1051,0)|0);
    48455       $1053 = (_new_asgn($1038,$1041,$1052)|0);
    48456       HEAP32[$17>>2] = $1053;
    48457       break;
    48458      }
    48459      case 188:  {
    48460       $1054 = $1;
    48461       $1055 = $12;
    48462       $1056 = ((($1055)) + -8|0);
    48463       $1057 = HEAP32[$1056>>2]|0;
    48464       $1058 = $12;
    48465       $1059 = ((($1058)) + -4|0);
    48466       $1060 = HEAP32[$1059>>2]|0;
    48467       $1061 = $12;
    48468       $1062 = HEAP32[$1061>>2]|0;
    48469       $1063 = (_new_op_asgn($1054,$1057,$1060,$1062)|0);
    48470       HEAP32[$17>>2] = $1063;
    48471       break;
    48472      }
    48473      case 189:  {
    48474       $1064 = $1;
    48475       $1065 = $12;
    48476       $1066 = ((($1065)) + -16|0);
    48477       $1067 = HEAP32[$1066>>2]|0;
    48478       $1068 = $12;
    48479       $1069 = ((($1068)) + -12|0);
    48480       $1070 = HEAP32[$1069>>2]|0;
    48481       $1071 = $1;
    48482       $1072 = $12;
    48483       $1073 = ((($1072)) + -8|0);
    48484       $1074 = HEAP32[$1073>>2]|0;
    48485       $1075 = $1;
    48486       $1076 = $1;
    48487       $1077 = $12;
    48488       $1078 = HEAP32[$1077>>2]|0;
    48489       $1079 = (_list3_gen($1076,0,0,$1078)|0);
    48490       $1080 = (_list1_gen($1075,$1079)|0);
    48491       $1081 = (_new_rescue($1071,$1074,$1080,0)|0);
    48492       $1082 = (_new_op_asgn($1064,$1067,$1070,$1081)|0);
    48493       HEAP32[$17>>2] = $1082;
    48494       break;
    48495      }
    48496      case 190:  {
    48497       $1083 = $1;
    48498       $1084 = $1;
    48499       $1085 = $12;
    48500       $1086 = ((($1085)) + -20|0);
    48501       $1087 = HEAP32[$1086>>2]|0;
    48502       $1088 = $1;
    48503       $1089 = (_intern_gen($1088,69083,2)|0);
    48504       $1090 = $12;
    48505       $1091 = ((($1090)) + -12|0);
    48506       $1092 = HEAP32[$1091>>2]|0;
    48507       $1093 = (_new_call($1084,$1087,$1089,$1092)|0);
    48508       $1094 = $12;
    48509       $1095 = ((($1094)) + -4|0);
    48510       $1096 = HEAP32[$1095>>2]|0;
    48511       $1097 = $12;
    48512       $1098 = HEAP32[$1097>>2]|0;
    48513       $1099 = (_new_op_asgn($1083,$1093,$1096,$1098)|0);
    48514       HEAP32[$17>>2] = $1099;
    48515       break;
    48516      }
    48517      case 191:  {
    48518       $1100 = $1;
    48519       $1101 = $1;
    48520       $1102 = $12;
    48521       $1103 = ((($1102)) + -16|0);
    48522       $1104 = HEAP32[$1103>>2]|0;
    48523       $1105 = $12;
    48524       $1106 = ((($1105)) + -8|0);
    48525       $1107 = HEAP32[$1106>>2]|0;
    48526       $1108 = (_new_call($1101,$1104,$1107,0)|0);
    48527       $1109 = $12;
    48528       $1110 = ((($1109)) + -4|0);
    48529       $1111 = HEAP32[$1110>>2]|0;
    48530       $1112 = $12;
    48531       $1113 = HEAP32[$1112>>2]|0;
    48532       $1114 = (_new_op_asgn($1100,$1108,$1111,$1113)|0);
    48533       HEAP32[$17>>2] = $1114;
    48534       break;
    48535      }
    48536      case 192:  {
    48537       $1115 = $1;
    48538       $1116 = $1;
    48539       $1117 = $12;
    48540       $1118 = ((($1117)) + -16|0);
    48541       $1119 = HEAP32[$1118>>2]|0;
    48542       $1120 = $12;
    48543       $1121 = ((($1120)) + -8|0);
    48544       $1122 = HEAP32[$1121>>2]|0;
    48545       $1123 = (_new_call($1116,$1119,$1122,0)|0);
    48546       $1124 = $12;
    48547       $1125 = ((($1124)) + -4|0);
    48548       $1126 = HEAP32[$1125>>2]|0;
    48549       $1127 = $12;
    48550       $1128 = HEAP32[$1127>>2]|0;
    48551       $1129 = (_new_op_asgn($1115,$1123,$1126,$1128)|0);
    48552       HEAP32[$17>>2] = $1129;
    48553       break;
    48554      }
    48555      case 193:  {
    48556       $1130 = $1;
    48557       $1131 = $1;
    48558       $1132 = $12;
    48559       $1133 = ((($1132)) + -16|0);
    48560       $1134 = HEAP32[$1133>>2]|0;
    48561       $1135 = $12;
    48562       $1136 = ((($1135)) + -8|0);
    48563       $1137 = HEAP32[$1136>>2]|0;
    48564       $1138 = (_new_call($1131,$1134,$1137,0)|0);
    48565       $1139 = $12;
    48566       $1140 = ((($1139)) + -4|0);
    48567       $1141 = HEAP32[$1140>>2]|0;
    48568       $1142 = $12;
    48569       $1143 = HEAP32[$1142>>2]|0;
    48570       $1144 = (_new_op_asgn($1130,$1138,$1141,$1143)|0);
    48571       HEAP32[$17>>2] = $1144;
    48572       break;
    48573      }
    48574      case 194:  {
    48575       $1145 = $1;
    48576       _yyerror($1145,59439);
    48577       $1146 = $1;
    48578       $1147 = (_new_begin($1146,0)|0);
    48579       HEAP32[$17>>2] = $1147;
    48580       break;
    48581      }
    48582      case 195:  {
    48583       $1148 = $1;
    48584       _yyerror($1148,59439);
    48585       $1149 = $1;
    48586       $1150 = (_new_begin($1149,0)|0);
    48587       HEAP32[$17>>2] = $1150;
    48588       break;
    48589      }
    48590      case 196:  {
    48591       $1151 = $1;
    48592       $1152 = $12;
    48593       $1153 = ((($1152)) + -8|0);
    48594       $1154 = HEAP32[$1153>>2]|0;
    48595       _backref_error($1151,$1154);
    48596       $1155 = $1;
    48597       $1156 = (_new_begin($1155,0)|0);
    48598       HEAP32[$17>>2] = $1156;
    48599       break;
    48600      }
    48601      case 197:  {
    48602       $1157 = $1;
    48603       $1158 = $12;
    48604       $1159 = ((($1158)) + -8|0);
    48605       $1160 = HEAP32[$1159>>2]|0;
    48606       $1161 = $12;
    48607       $1162 = HEAP32[$1161>>2]|0;
    48608       $1163 = (_new_dot2($1157,$1160,$1162)|0);
    48609       HEAP32[$17>>2] = $1163;
    48610       break;
    48611      }
    48612      case 198:  {
    48613       $1164 = $1;
    48614       $1165 = $12;
    48615       $1166 = ((($1165)) + -8|0);
    48616       $1167 = HEAP32[$1166>>2]|0;
    48617       $1168 = $12;
    48618       $1169 = HEAP32[$1168>>2]|0;
    48619       $1170 = (_new_dot3($1164,$1167,$1169)|0);
    48620       HEAP32[$17>>2] = $1170;
    48621       break;
    48622      }
    48623      case 199:  {
    48624       $1171 = $1;
    48625       $1172 = $12;
    48626       $1173 = ((($1172)) + -8|0);
    48627       $1174 = HEAP32[$1173>>2]|0;
    48628       $1175 = $12;
    48629       $1176 = HEAP32[$1175>>2]|0;
    48630       $1177 = (_call_bin_op($1171,$1174,64614,$1176)|0);
    48631       HEAP32[$17>>2] = $1177;
    48632       break;
    48633      }
    48634      case 200:  {
    48635       $1178 = $1;
    48636       $1179 = $12;
    48637       $1180 = ((($1179)) + -8|0);
    48638       $1181 = HEAP32[$1180>>2]|0;
    48639       $1182 = $12;
    48640       $1183 = HEAP32[$1182>>2]|0;
    48641       $1184 = (_call_bin_op($1178,$1181,69660,$1183)|0);
    48642       HEAP32[$17>>2] = $1184;
    48643       break;
    48644      }
    48645      case 201:  {
    48646       $1185 = $1;
    48647       $1186 = $12;
    48648       $1187 = ((($1186)) + -8|0);
    48649       $1188 = HEAP32[$1187>>2]|0;
    48650       $1189 = $12;
    48651       $1190 = HEAP32[$1189>>2]|0;
    48652       $1191 = (_call_bin_op($1185,$1188,68856,$1190)|0);
    48653       HEAP32[$17>>2] = $1191;
    48654       break;
    48655      }
    48656      case 202:  {
    48657       $1192 = $1;
    48658       $1193 = $12;
    48659       $1194 = ((($1193)) + -8|0);
    48660       $1195 = HEAP32[$1194>>2]|0;
    48661       $1196 = $12;
    48662       $1197 = HEAP32[$1196>>2]|0;
    48663       $1198 = (_call_bin_op($1192,$1195,59549,$1197)|0);
    48664       HEAP32[$17>>2] = $1198;
    48665       break;
    48666      }
    48667      case 203:  {
    48668       $1199 = $1;
    48669       $1200 = $12;
    48670       $1201 = ((($1200)) + -8|0);
    48671       $1202 = HEAP32[$1201>>2]|0;
    48672       $1203 = $12;
    48673       $1204 = HEAP32[$1203>>2]|0;
    48674       $1205 = (_call_bin_op($1199,$1202,59551,$1204)|0);
    48675       HEAP32[$17>>2] = $1205;
    48676       break;
    48677      }
    48678      case 204:  {
    48679       $1206 = $1;
    48680       $1207 = $12;
    48681       $1208 = ((($1207)) + -8|0);
    48682       $1209 = HEAP32[$1208>>2]|0;
    48683       $1210 = $12;
    48684       $1211 = HEAP32[$1210>>2]|0;
    48685       $1212 = (_call_bin_op($1206,$1209,59540,$1211)|0);
    48686       HEAP32[$17>>2] = $1212;
    48687       break;
    48688      }
    48689      case 205:  {
    48690       $1213 = $1;
    48691       $1214 = $1;
    48692       $1215 = $12;
    48693       $1216 = ((($1215)) + -8|0);
    48694       $1217 = HEAP32[$1216>>2]|0;
    48695       $1218 = $12;
    48696       $1219 = HEAP32[$1218>>2]|0;
    48697       $1220 = (_call_bin_op($1214,$1217,59540,$1219)|0);
    48698       $1221 = (_call_uni_op($1213,$1220,59546)|0);
    48699       HEAP32[$17>>2] = $1221;
    48700       break;
    48701      }
    48702      case 206:  {
    48703       $1222 = $1;
    48704       $1223 = $1;
    48705       $1224 = $12;
    48706       $1225 = ((($1224)) + -8|0);
    48707       $1226 = HEAP32[$1225>>2]|0;
    48708       $1227 = $12;
    48709       $1228 = HEAP32[$1227>>2]|0;
    48710       $1229 = (_call_bin_op($1223,$1226,59540,$1228)|0);
    48711       $1230 = (_call_uni_op($1222,$1229,59546)|0);
    48712       HEAP32[$17>>2] = $1230;
    48713       break;
    48714      }
    48715      case 207:  {
    48716       $1231 = $1;
    48717       $1232 = $12;
    48718       $1233 = HEAP32[$1232>>2]|0;
    48719       $1234 = (_call_uni_op($1231,$1233,59543)|0);
    48720       HEAP32[$17>>2] = $1234;
    48721       break;
    48722      }
    48723      case 208:  {
    48724       $1235 = $1;
    48725       $1236 = $12;
    48726       $1237 = HEAP32[$1236>>2]|0;
    48727       $1238 = (_call_uni_op($1235,$1237,59546)|0);
    48728       HEAP32[$17>>2] = $1238;
    48729       break;
    48730      }
    48731      case 209:  {
    48732       $1239 = $1;
    48733       $1240 = $12;
    48734       $1241 = ((($1240)) + -8|0);
    48735       $1242 = HEAP32[$1241>>2]|0;
    48736       $1243 = $12;
    48737       $1244 = HEAP32[$1243>>2]|0;
    48738       $1245 = (_call_bin_op($1239,$1242,59553,$1244)|0);
    48739       HEAP32[$17>>2] = $1245;
    48740       break;
    48741      }
    48742      case 210:  {
    48743       $1246 = $1;
    48744       $1247 = $12;
    48745       $1248 = ((($1247)) + -8|0);
    48746       $1249 = HEAP32[$1248>>2]|0;
    48747       $1250 = $12;
    48748       $1251 = HEAP32[$1250>>2]|0;
    48749       $1252 = (_call_bin_op($1246,$1249,59555,$1251)|0);
    48750       HEAP32[$17>>2] = $1252;
    48751       break;
    48752      }
    48753      case 211:  {
    48754       $1253 = $1;
    48755       $1254 = $12;
    48756       $1255 = ((($1254)) + -8|0);
    48757       $1256 = HEAP32[$1255>>2]|0;
    48758       $1257 = $12;
    48759       $1258 = HEAP32[$1257>>2]|0;
    48760       $1259 = (_call_bin_op($1253,$1256,69093,$1258)|0);
    48761       HEAP32[$17>>2] = $1259;
    48762       break;
    48763      }
    48764      case 212:  {
    48765       $1260 = $1;
    48766       $1261 = $12;
    48767       $1262 = ((($1261)) + -8|0);
    48768       $1263 = HEAP32[$1262>>2]|0;
    48769       $1264 = $12;
    48770       $1265 = HEAP32[$1264>>2]|0;
    48771       $1266 = (_call_bin_op($1260,$1263,69156,$1265)|0);
    48772       HEAP32[$17>>2] = $1266;
    48773       break;
    48774      }
    48775      case 213:  {
    48776       $1267 = $1;
    48777       $1268 = $12;
    48778       $1269 = ((($1268)) + -8|0);
    48779       $1270 = HEAP32[$1269>>2]|0;
    48780       $1271 = $12;
    48781       $1272 = HEAP32[$1271>>2]|0;
    48782       $1273 = (_call_bin_op($1267,$1270,65540,$1272)|0);
    48783       HEAP32[$17>>2] = $1273;
    48784       break;
    48785      }
    48786      case 214:  {
    48787       $1274 = $1;
    48788       $1275 = $12;
    48789       $1276 = ((($1275)) + -8|0);
    48790       $1277 = HEAP32[$1276>>2]|0;
    48791       $1278 = $12;
    48792       $1279 = HEAP32[$1278>>2]|0;
    48793       $1280 = (_call_bin_op($1274,$1277,59531,$1279)|0);
    48794       HEAP32[$17>>2] = $1280;
    48795       break;
    48796      }
    48797      case 215:  {
    48798       $1281 = $1;
    48799       $1282 = $12;
    48800       $1283 = ((($1282)) + -8|0);
    48801       $1284 = HEAP32[$1283>>2]|0;
    48802       $1285 = $12;
    48803       $1286 = HEAP32[$1285>>2]|0;
    48804       $1287 = (_call_bin_op($1281,$1284,59557,$1286)|0);
    48805       HEAP32[$17>>2] = $1287;
    48806       break;
    48807      }
    48808      case 216:  {
    48809       $1288 = $1;
    48810       $1289 = $12;
    48811       $1290 = ((($1289)) + -8|0);
    48812       $1291 = HEAP32[$1290>>2]|0;
    48813       $1292 = $12;
    48814       $1293 = HEAP32[$1292>>2]|0;
    48815       $1294 = (_call_bin_op($1288,$1291,59534,$1293)|0);
    48816       HEAP32[$17>>2] = $1294;
    48817       break;
    48818      }
    48819      case 217:  {
    48820       $1295 = $1;
    48821       $1296 = $12;
    48822       $1297 = ((($1296)) + -8|0);
    48823       $1298 = HEAP32[$1297>>2]|0;
    48824       $1299 = $12;
    48825       $1300 = HEAP32[$1299>>2]|0;
    48826       $1301 = (_call_bin_op($1295,$1298,69201,$1300)|0);
    48827       HEAP32[$17>>2] = $1301;
    48828       break;
    48829      }
    48830      case 218:  {
    48831       $1302 = $1;
    48832       $1303 = $12;
    48833       $1304 = ((($1303)) + -8|0);
    48834       $1305 = HEAP32[$1304>>2]|0;
    48835       $1306 = $12;
    48836       $1307 = HEAP32[$1306>>2]|0;
    48837       $1308 = (_call_bin_op($1302,$1305,69591,$1307)|0);
    48838       HEAP32[$17>>2] = $1308;
    48839       break;
    48840      }
    48841      case 219:  {
    48842       $1309 = $1;
    48843       $1310 = $12;
    48844       $1311 = ((($1310)) + -8|0);
    48845       $1312 = HEAP32[$1311>>2]|0;
    48846       $1313 = $12;
    48847       $1314 = HEAP32[$1313>>2]|0;
    48848       $1315 = (_call_bin_op($1309,$1312,68364,$1314)|0);
    48849       HEAP32[$17>>2] = $1315;
    48850       break;
    48851      }
    48852      case 220:  {
    48853       $1316 = $1;
    48854       $1317 = $12;
    48855       $1318 = ((($1317)) + -8|0);
    48856       $1319 = HEAP32[$1318>>2]|0;
    48857       $1320 = $12;
    48858       $1321 = HEAP32[$1320>>2]|0;
    48859       $1322 = (_call_bin_op($1316,$1319,59525,$1321)|0);
    48860       HEAP32[$17>>2] = $1322;
    48861       break;
    48862      }
    48863      case 221:  {
    48864       $1323 = $1;
    48865       $1324 = $12;
    48866       $1325 = ((($1324)) + -8|0);
    48867       $1326 = HEAP32[$1325>>2]|0;
    48868       $1327 = $12;
    48869       $1328 = HEAP32[$1327>>2]|0;
    48870       $1329 = (_call_bin_op($1323,$1326,59528,$1328)|0);
    48871       HEAP32[$17>>2] = $1329;
    48872       break;
    48873      }
    48874      case 222:  {
    48875       $1330 = $1;
    48876       $1331 = $12;
    48877       $1332 = HEAP32[$1331>>2]|0;
    48878       $1333 = (_cond($1332)|0);
    48879       $1334 = (_call_uni_op($1330,$1333,65619)|0);
    48880       HEAP32[$17>>2] = $1334;
    48881       break;
    48882      }
    48883      case 223:  {
    48884       $1335 = $1;
    48885       $1336 = $12;
    48886       $1337 = HEAP32[$1336>>2]|0;
    48887       $1338 = (_cond($1337)|0);
    48888       $1339 = (_call_uni_op($1335,$1338,59559)|0);
    48889       HEAP32[$17>>2] = $1339;
    48890       break;
    48891      }
    48892      case 224:  {
    48893       $1340 = $1;
    48894       $1341 = $12;
    48895       $1342 = ((($1341)) + -8|0);
    48896       $1343 = HEAP32[$1342>>2]|0;
    48897       $1344 = $12;
    48898       $1345 = HEAP32[$1344>>2]|0;
    48899       $1346 = (_call_bin_op($1340,$1343,64616,$1345)|0);
    48900       HEAP32[$17>>2] = $1346;
    48901       break;
    48902      }
    48903      case 225:  {
    48904       $1347 = $1;
    48905       $1348 = $12;
    48906       $1349 = ((($1348)) + -8|0);
    48907       $1350 = HEAP32[$1349>>2]|0;
    48908       $1351 = $12;
    48909       $1352 = HEAP32[$1351>>2]|0;
    48910       $1353 = (_call_bin_op($1347,$1350,59537,$1352)|0);
    48911       HEAP32[$17>>2] = $1353;
    48912       break;
    48913      }
    48914      case 226:  {
    48915       $1354 = $1;
    48916       $1355 = $12;
    48917       $1356 = ((($1355)) + -8|0);
    48918       $1357 = HEAP32[$1356>>2]|0;
    48919       $1358 = $12;
    48920       $1359 = HEAP32[$1358>>2]|0;
    48921       $1360 = (_new_and($1354,$1357,$1359)|0);
    48922       HEAP32[$17>>2] = $1360;
    48923       break;
    48924      }
    48925      case 227:  {
    48926       $1361 = $1;
    48927       $1362 = $12;
    48928       $1363 = ((($1362)) + -8|0);
    48929       $1364 = HEAP32[$1363>>2]|0;
    48930       $1365 = $12;
    48931       $1366 = HEAP32[$1365>>2]|0;
    48932       $1367 = (_new_or($1361,$1364,$1366)|0);
    48933       HEAP32[$17>>2] = $1367;
    48934       break;
    48935      }
    48936      case 228:  {
    48937       $1368 = $1;
    48938       $1369 = $12;
    48939       $1370 = ((($1369)) + -20|0);
    48940       $1371 = HEAP32[$1370>>2]|0;
    48941       $1372 = (_cond($1371)|0);
    48942       $1373 = $12;
    48943       $1374 = ((($1373)) + -12|0);
    48944       $1375 = HEAP32[$1374>>2]|0;
    48945       $1376 = $12;
    48946       $1377 = HEAP32[$1376>>2]|0;
    48947       $1378 = (_new_if($1368,$1372,$1375,$1377)|0);
    48948       HEAP32[$17>>2] = $1378;
    48949       break;
    48950      }
    48951      case 229:  {
    48952       $1379 = $12;
    48953       $1380 = HEAP32[$1379>>2]|0;
    48954       HEAP32[$17>>2] = $1380;
    48955       break;
    48956      }
    48957      case 230:  {
    48958       $1381 = $12;
    48959       $1382 = HEAP32[$1381>>2]|0;
    48960       HEAP32[$17>>2] = $1382;
    48961       $1383 = HEAP32[$17>>2]|0;
    48962       $1384 = ($1383|0)!=(0|0);
    48963       if (!($1384)) {
    48964        $1385 = $1;
    48965        $1386 = (_new_nil($1385)|0);
    48966        HEAP32[$17>>2] = $1386;
    48967       }
    48968       break;
    48969      }
    48970      case 232:  {
    48971       $1387 = $12;
    48972       $1388 = ((($1387)) + -4|0);
    48973       $1389 = HEAP32[$1388>>2]|0;
    48974       HEAP32[$17>>2] = $1389;
    48975       $1390 = $12;
    48976       $1391 = ((($1390)) + -4|0);
    48977       $1392 = HEAP32[$1391>>2]|0;
    48978       $1393 = ($1392|0)!=(0|0);
    48979       if ($1393) {
    48980        $1394 = $12;
    48981        $1395 = ((($1394)) + -4|0);
    48982        $1396 = HEAP32[$1395>>2]|0;
    48983        $1397 = ((($1396)) + 10|0);
    48984        $1398 = HEAP16[$1397>>1]|0;
    48985        $1399 = HEAP32[$17>>2]|0;
    48986        $1400 = ((($1399)) + 10|0);
    48987        HEAP16[$1400>>1] = $1398;
    48988        $1401 = $12;
    48989        $1402 = ((($1401)) + -4|0);
    48990        $1403 = HEAP32[$1402>>2]|0;
    48991        $1404 = ((($1403)) + 8|0);
    48992        $1405 = HEAP16[$1404>>1]|0;
    48993        $1406 = HEAP32[$17>>2]|0;
    48994        $1407 = ((($1406)) + 8|0);
    48995        HEAP16[$1407>>1] = $1405;
    48996       }
    48997       break;
    48998      }
    48999      case 233:  {
    49000       $1408 = $1;
    49001       $1409 = $12;
    49002       $1410 = ((($1409)) + -12|0);
    49003       $1411 = HEAP32[$1410>>2]|0;
    49004       $1412 = $1;
    49005       $1413 = $1;
    49006       $1414 = $12;
    49007       $1415 = ((($1414)) + -4|0);
    49008       $1416 = HEAP32[$1415>>2]|0;
    49009       $1417 = (_new_hash($1413,$1416)|0);
    49010       $1418 = (_list1_gen($1412,$1417)|0);
    49011       $1419 = (_append_gen($1408,$1411,$1418)|0);
    49012       HEAP32[$17>>2] = $1419;
    49013       break;
    49014      }
    49015      case 234:  {
    49016       $1420 = $1;
    49017       $1421 = $1;
    49018       $1422 = $12;
    49019       $1423 = ((($1422)) + -4|0);
    49020       $1424 = HEAP32[$1423>>2]|0;
    49021       $1425 = (_new_hash($1421,$1424)|0);
    49022       $1426 = (_cons_gen($1420,$1425,0)|0);
    49023       HEAP32[$17>>2] = $1426;
    49024       $1427 = $12;
    49025       $1428 = ((($1427)) + -4|0);
    49026       $1429 = HEAP32[$1428>>2]|0;
    49027       $1430 = ($1429|0)!=(0|0);
    49028       if ($1430) {
    49029        $1431 = $12;
    49030        $1432 = ((($1431)) + -4|0);
    49031        $1433 = HEAP32[$1432>>2]|0;
    49032        $1434 = ((($1433)) + 10|0);
    49033        $1435 = HEAP16[$1434>>1]|0;
    49034        $1436 = HEAP32[$17>>2]|0;
    49035        $1437 = ((($1436)) + 10|0);
    49036        HEAP16[$1437>>1] = $1435;
    49037        $1438 = $12;
    49038        $1439 = ((($1438)) + -4|0);
    49039        $1440 = HEAP32[$1439>>2]|0;
    49040        $1441 = ((($1440)) + 8|0);
    49041        $1442 = HEAP16[$1441>>1]|0;
    49042        $1443 = HEAP32[$17>>2]|0;
    49043        $1444 = ((($1443)) + 8|0);
    49044        HEAP16[$1444>>1] = $1442;
    49045       }
    49046       break;
    49047      }
    49048      case 235:  {
    49049       $1445 = $12;
    49050       $1446 = ((($1445)) + -4|0);
    49051       $1447 = HEAP32[$1446>>2]|0;
    49052       HEAP32[$17>>2] = $1447;
    49053       break;
    49054      }
    49055      case 240:  {
    49056       $1448 = $1;
    49057       $1449 = $12;
    49058       $1450 = ((($1449)) + -4|0);
    49059       $1451 = HEAP32[$1450>>2]|0;
    49060       $1452 = (_cons_gen($1448,$1451,0)|0);
    49061       HEAP32[$17>>2] = $1452;
    49062       $1453 = $12;
    49063       $1454 = ((($1453)) + -4|0);
    49064       $1455 = HEAP32[$1454>>2]|0;
    49065       $1456 = ($1455|0)!=(0|0);
    49066       if ($1456) {
    49067        $1457 = $12;
    49068        $1458 = ((($1457)) + -4|0);
    49069        $1459 = HEAP32[$1458>>2]|0;
    49070        $1460 = ((($1459)) + 10|0);
    49071        $1461 = HEAP16[$1460>>1]|0;
    49072        $1462 = HEAP32[$17>>2]|0;
    49073        $1463 = ((($1462)) + 10|0);
    49074        HEAP16[$1463>>1] = $1461;
    49075        $1464 = $12;
    49076        $1465 = ((($1464)) + -4|0);
    49077        $1466 = HEAP32[$1465>>2]|0;
    49078        $1467 = ((($1466)) + 8|0);
    49079        $1468 = HEAP16[$1467>>1]|0;
    49080        $1469 = HEAP32[$17>>2]|0;
    49081        $1470 = ((($1469)) + 8|0);
    49082        HEAP16[$1470>>1] = $1468;
    49083       }
    49084       break;
    49085      }
    49086      case 241:  {
    49087       $1471 = $1;
    49088       $1472 = $1;
    49089       $1473 = $12;
    49090       $1474 = ((($1473)) + -12|0);
    49091       $1475 = HEAP32[$1474>>2]|0;
    49092       $1476 = $1;
    49093       $1477 = $1;
    49094       $1478 = $12;
    49095       $1479 = ((($1478)) + -4|0);
    49096       $1480 = HEAP32[$1479>>2]|0;
    49097       $1481 = (_new_hash($1477,$1480)|0);
    49098       $1482 = (_list1_gen($1476,$1481)|0);
    49099       $1483 = (_append_gen($1472,$1475,$1482)|0);
    49100       $1484 = (_cons_gen($1471,$1483,0)|0);
    49101       HEAP32[$17>>2] = $1484;
    49102       $1485 = $12;
    49103       $1486 = ((($1485)) + -12|0);
    49104       $1487 = HEAP32[$1486>>2]|0;
    49105       $1488 = ($1487|0)!=(0|0);
    49106       if ($1488) {
    49107        $1489 = $12;
    49108        $1490 = ((($1489)) + -12|0);
    49109        $1491 = HEAP32[$1490>>2]|0;
    49110        $1492 = ((($1491)) + 10|0);
    49111        $1493 = HEAP16[$1492>>1]|0;
    49112        $1494 = HEAP32[$17>>2]|0;
    49113        $1495 = ((($1494)) + 10|0);
    49114        HEAP16[$1495>>1] = $1493;
    49115        $1496 = $12;
    49116        $1497 = ((($1496)) + -12|0);
    49117        $1498 = HEAP32[$1497>>2]|0;
    49118        $1499 = ((($1498)) + 8|0);
    49119        $1500 = HEAP16[$1499>>1]|0;
    49120        $1501 = HEAP32[$17>>2]|0;
    49121        $1502 = ((($1501)) + 8|0);
    49122        HEAP16[$1502>>1] = $1500;
    49123       }
    49124       break;
    49125      }
    49126      case 242:  {
    49127       $1503 = $1;
    49128       $1504 = $1;
    49129       $1505 = $1;
    49130       $1506 = $12;
    49131       $1507 = ((($1506)) + -4|0);
    49132       $1508 = HEAP32[$1507>>2]|0;
    49133       $1509 = (_new_hash($1505,$1508)|0);
    49134       $1510 = (_list1_gen($1504,$1509)|0);
    49135       $1511 = (_cons_gen($1503,$1510,0)|0);
    49136       HEAP32[$17>>2] = $1511;
    49137       $1512 = $12;
    49138       $1513 = ((($1512)) + -4|0);
    49139       $1514 = HEAP32[$1513>>2]|0;
    49140       $1515 = ($1514|0)!=(0|0);
    49141       if ($1515) {
    49142        $1516 = $12;
    49143        $1517 = ((($1516)) + -4|0);
    49144        $1518 = HEAP32[$1517>>2]|0;
    49145        $1519 = ((($1518)) + 10|0);
    49146        $1520 = HEAP16[$1519>>1]|0;
    49147        $1521 = HEAP32[$17>>2]|0;
    49148        $1522 = ((($1521)) + 10|0);
    49149        HEAP16[$1522>>1] = $1520;
    49150        $1523 = $12;
    49151        $1524 = ((($1523)) + -4|0);
    49152        $1525 = HEAP32[$1524>>2]|0;
    49153        $1526 = ((($1525)) + 8|0);
    49154        $1527 = HEAP16[$1526>>1]|0;
    49155        $1528 = HEAP32[$17>>2]|0;
    49156        $1529 = ((($1528)) + 8|0);
    49157        HEAP16[$1529>>1] = $1527;
    49158       }
    49159       break;
    49160      }
    49161      case 243:  {
    49162       $1530 = $1;
    49163       $1531 = $1;
    49164       $1532 = $12;
    49165       $1533 = HEAP32[$1532>>2]|0;
    49166       $1534 = (_list1_gen($1531,$1533)|0);
    49167       $1535 = (_cons_gen($1530,$1534,0)|0);
    49168       HEAP32[$17>>2] = $1535;
    49169       $1536 = $12;
    49170       $1537 = HEAP32[$1536>>2]|0;
    49171       $1538 = ($1537|0)!=(0|0);
    49172       if ($1538) {
    49173        $1539 = $12;
    49174        $1540 = HEAP32[$1539>>2]|0;
    49175        $1541 = ((($1540)) + 10|0);
    49176        $1542 = HEAP16[$1541>>1]|0;
    49177        $1543 = HEAP32[$17>>2]|0;
    49178        $1544 = ((($1543)) + 10|0);
    49179        HEAP16[$1544>>1] = $1542;
    49180        $1545 = $12;
    49181        $1546 = HEAP32[$1545>>2]|0;
    49182        $1547 = ((($1546)) + 8|0);
    49183        $1548 = HEAP16[$1547>>1]|0;
    49184        $1549 = HEAP32[$17>>2]|0;
    49185        $1550 = ((($1549)) + 8|0);
    49186        HEAP16[$1550>>1] = $1548;
    49187       }
    49188       break;
    49189      }
    49190      case 244:  {
    49191       $1551 = $1;
    49192       $1552 = $12;
    49193       $1553 = ((($1552)) + -4|0);
    49194       $1554 = HEAP32[$1553>>2]|0;
    49195       $1555 = $12;
    49196       $1556 = HEAP32[$1555>>2]|0;
    49197       $1557 = (_cons_gen($1551,$1554,$1556)|0);
    49198       HEAP32[$17>>2] = $1557;
    49199       $1558 = $12;
    49200       $1559 = ((($1558)) + -4|0);
    49201       $1560 = HEAP32[$1559>>2]|0;
    49202       $1561 = ($1560|0)!=(0|0);
    49203       if ($1561) {
    49204        $1562 = $12;
    49205        $1563 = ((($1562)) + -4|0);
    49206        $1564 = HEAP32[$1563>>2]|0;
    49207        $1565 = ((($1564)) + 10|0);
    49208        $1566 = HEAP16[$1565>>1]|0;
    49209        $1567 = HEAP32[$17>>2]|0;
    49210        $1568 = ((($1567)) + 10|0);
    49211        HEAP16[$1568>>1] = $1566;
    49212        $1569 = $12;
    49213        $1570 = ((($1569)) + -4|0);
    49214        $1571 = HEAP32[$1570>>2]|0;
    49215        $1572 = ((($1571)) + 8|0);
    49216        $1573 = HEAP16[$1572>>1]|0;
    49217        $1574 = HEAP32[$17>>2]|0;
    49218        $1575 = ((($1574)) + 8|0);
    49219        HEAP16[$1575>>1] = $1573;
    49220       }
    49221       break;
    49222      }
    49223      case 245:  {
    49224       $1576 = $1;
    49225       $1577 = $1;
    49226       $1578 = $1;
    49227       $1579 = $12;
    49228       $1580 = ((($1579)) + -4|0);
    49229       $1581 = HEAP32[$1580>>2]|0;
    49230       $1582 = (_new_hash($1578,$1581)|0);
    49231       $1583 = (_list1_gen($1577,$1582)|0);
    49232       $1584 = $12;
    49233       $1585 = HEAP32[$1584>>2]|0;
    49234       $1586 = (_cons_gen($1576,$1583,$1585)|0);
    49235       HEAP32[$17>>2] = $1586;
    49236       $1587 = $12;
    49237       $1588 = ((($1587)) + -4|0);
    49238       $1589 = HEAP32[$1588>>2]|0;
    49239       $1590 = ($1589|0)!=(0|0);
    49240       if ($1590) {
    49241        $1591 = $12;
    49242        $1592 = ((($1591)) + -4|0);
    49243        $1593 = HEAP32[$1592>>2]|0;
    49244        $1594 = ((($1593)) + 10|0);
    49245        $1595 = HEAP16[$1594>>1]|0;
    49246        $1596 = HEAP32[$17>>2]|0;
    49247        $1597 = ((($1596)) + 10|0);
    49248        HEAP16[$1597>>1] = $1595;
    49249        $1598 = $12;
    49250        $1599 = ((($1598)) + -4|0);
    49251        $1600 = HEAP32[$1599>>2]|0;
    49252        $1601 = ((($1600)) + 8|0);
    49253        $1602 = HEAP16[$1601>>1]|0;
    49254        $1603 = HEAP32[$17>>2]|0;
    49255        $1604 = ((($1603)) + 8|0);
    49256        HEAP16[$1604>>1] = $1602;
    49257       }
    49258       break;
    49259      }
    49260      case 246:  {
    49261       $1605 = $1;
    49262       $1606 = $1;
    49263       $1607 = $12;
    49264       $1608 = ((($1607)) + -12|0);
    49265       $1609 = HEAP32[$1608>>2]|0;
    49266       $1610 = $1;
    49267       $1611 = $1;
    49268       $1612 = $12;
    49269       $1613 = ((($1612)) + -4|0);
    49270       $1614 = HEAP32[$1613>>2]|0;
    49271       $1615 = (_new_hash($1611,$1614)|0);
    49272       $1616 = (_list1_gen($1610,$1615)|0);
    49273       $1617 = (_append_gen($1606,$1609,$1616)|0);
    49274       $1618 = $12;
    49275       $1619 = HEAP32[$1618>>2]|0;
    49276       $1620 = (_cons_gen($1605,$1617,$1619)|0);
    49277       HEAP32[$17>>2] = $1620;
    49278       $1621 = $12;
    49279       $1622 = ((($1621)) + -12|0);
    49280       $1623 = HEAP32[$1622>>2]|0;
    49281       $1624 = ($1623|0)!=(0|0);
    49282       if ($1624) {
    49283        $1625 = $12;
    49284        $1626 = ((($1625)) + -12|0);
    49285        $1627 = HEAP32[$1626>>2]|0;
    49286        $1628 = ((($1627)) + 10|0);
    49287        $1629 = HEAP16[$1628>>1]|0;
    49288        $1630 = HEAP32[$17>>2]|0;
    49289        $1631 = ((($1630)) + 10|0);
    49290        HEAP16[$1631>>1] = $1629;
    49291        $1632 = $12;
    49292        $1633 = ((($1632)) + -12|0);
    49293        $1634 = HEAP32[$1633>>2]|0;
    49294        $1635 = ((($1634)) + 8|0);
    49295        $1636 = HEAP16[$1635>>1]|0;
    49296        $1637 = HEAP32[$17>>2]|0;
    49297        $1638 = ((($1637)) + 8|0);
    49298        HEAP16[$1638>>1] = $1636;
    49299       }
    49300       break;
    49301      }
    49302      case 247:  {
    49303       $1639 = $1;
    49304       $1640 = $12;
    49305       $1641 = HEAP32[$1640>>2]|0;
    49306       $1642 = (_cons_gen($1639,0,$1641)|0);
    49307       HEAP32[$17>>2] = $1642;
    49308       $1643 = $12;
    49309       $1644 = HEAP32[$1643>>2]|0;
    49310       $1645 = ($1644|0)!=(0|0);
    49311       if ($1645) {
    49312        $1646 = $12;
    49313        $1647 = HEAP32[$1646>>2]|0;
    49314        $1648 = ((($1647)) + 10|0);
    49315        $1649 = HEAP16[$1648>>1]|0;
    49316        $1650 = HEAP32[$17>>2]|0;
    49317        $1651 = ((($1650)) + 10|0);
    49318        HEAP16[$1651>>1] = $1649;
    49319        $1652 = $12;
    49320        $1653 = HEAP32[$1652>>2]|0;
    49321        $1654 = ((($1653)) + 8|0);
    49322        $1655 = HEAP16[$1654>>1]|0;
    49323        $1656 = HEAP32[$17>>2]|0;
    49324        $1657 = ((($1656)) + 8|0);
    49325        HEAP16[$1657>>1] = $1655;
    49326       }
    49327       break;
    49328      }
    49329      case 248:  {
    49330       $1658 = $1;
    49331       $1659 = ((($1658)) + 52|0);
    49332       $1660 = HEAP32[$1659>>2]|0;
    49333       HEAP32[$17>>2] = $1660;
    49334       $1661 = $1;
    49335       $1662 = ((($1661)) + 52|0);
    49336       $1663 = HEAP32[$1662>>2]|0;
    49337       $1664 = $1663 << 1;
    49338       $1665 = $1664 | 1;
    49339       $1666 = $1;
    49340       $1667 = ((($1666)) + 52|0);
    49341       HEAP32[$1667>>2] = $1665;
    49342       break;
    49343      }
    49344      case 249:  {
    49345       $1668 = $12;
    49346       $1669 = ((($1668)) + -4|0);
    49347       $1670 = HEAP32[$1669>>2]|0;
    49348       $1671 = $1;
    49349       $1672 = ((($1671)) + 52|0);
    49350       HEAP32[$1672>>2] = $1670;
    49351       $1673 = $12;
    49352       $1674 = HEAP32[$1673>>2]|0;
    49353       HEAP32[$17>>2] = $1674;
    49354       break;
    49355      }
    49356      case 250:  {
    49357       $1675 = $1;
    49358       $1676 = $12;
    49359       $1677 = HEAP32[$1676>>2]|0;
    49360       $1678 = (_new_block_arg($1675,$1677)|0);
    49361       HEAP32[$17>>2] = $1678;
    49362       break;
    49363      }
    49364      case 251:  {
    49365       $1679 = $12;
    49366       $1680 = HEAP32[$1679>>2]|0;
    49367       HEAP32[$17>>2] = $1680;
    49368       break;
    49369      }
    49370      case 252:  {
    49371       HEAP32[$17>>2] = 0;
    49372       break;
    49373      }
    49374      case 253:  {
    49375       $1681 = $1;
    49376       $1682 = $12;
    49377       $1683 = HEAP32[$1682>>2]|0;
    49378       $1684 = (_cons_gen($1681,$1683,0)|0);
    49379       HEAP32[$17>>2] = $1684;
    49380       $1685 = $12;
    49381       $1686 = HEAP32[$1685>>2]|0;
    49382       $1687 = ($1686|0)!=(0|0);
    49383       if ($1687) {
    49384        $1688 = $12;
    49385        $1689 = HEAP32[$1688>>2]|0;
    49386        $1690 = ((($1689)) + 10|0);
    49387        $1691 = HEAP16[$1690>>1]|0;
    49388        $1692 = HEAP32[$17>>2]|0;
    49389        $1693 = ((($1692)) + 10|0);
    49390        HEAP16[$1693>>1] = $1691;
    49391        $1694 = $12;
    49392        $1695 = HEAP32[$1694>>2]|0;
    49393        $1696 = ((($1695)) + 8|0);
    49394        $1697 = HEAP16[$1696>>1]|0;
    49395        $1698 = HEAP32[$17>>2]|0;
    49396        $1699 = ((($1698)) + 8|0);
    49397        HEAP16[$1699>>1] = $1697;
    49398       }
    49399       break;
    49400      }
    49401      case 254:  {
    49402       $1700 = $1;
    49403       $1701 = $1;
    49404       $1702 = $12;
    49405       $1703 = HEAP32[$1702>>2]|0;
    49406       $1704 = (_new_splat($1701,$1703)|0);
    49407       $1705 = (_cons_gen($1700,$1704,0)|0);
    49408       HEAP32[$17>>2] = $1705;
    49409       $1706 = $12;
    49410       $1707 = HEAP32[$1706>>2]|0;
    49411       $1708 = ($1707|0)!=(0|0);
    49412       if ($1708) {
    49413        $1709 = $12;
    49414        $1710 = HEAP32[$1709>>2]|0;
    49415        $1711 = ((($1710)) + 10|0);
    49416        $1712 = HEAP16[$1711>>1]|0;
    49417        $1713 = HEAP32[$17>>2]|0;
    49418        $1714 = ((($1713)) + 10|0);
    49419        HEAP16[$1714>>1] = $1712;
    49420        $1715 = $12;
    49421        $1716 = HEAP32[$1715>>2]|0;
    49422        $1717 = ((($1716)) + 8|0);
    49423        $1718 = HEAP16[$1717>>1]|0;
    49424        $1719 = HEAP32[$17>>2]|0;
    49425        $1720 = ((($1719)) + 8|0);
    49426        HEAP16[$1720>>1] = $1718;
    49427       }
    49428       break;
    49429      }
    49430      case 255:  {
    49431       $1721 = $1;
    49432       $1722 = $12;
    49433       $1723 = ((($1722)) + -8|0);
    49434       $1724 = HEAP32[$1723>>2]|0;
    49435       $1725 = $1;
    49436       $1726 = $12;
    49437       $1727 = HEAP32[$1726>>2]|0;
    49438       $1728 = (_list1_gen($1725,$1727)|0);
    49439       $1729 = (_append_gen($1721,$1724,$1728)|0);
    49440       HEAP32[$17>>2] = $1729;
    49441       break;
    49442      }
    49443      case 256:  {
    49444       $1730 = $1;
    49445       $1731 = $12;
    49446       $1732 = ((($1731)) + -12|0);
    49447       $1733 = HEAP32[$1732>>2]|0;
    49448       $1734 = $1;
    49449       $1735 = $1;
    49450       $1736 = $12;
    49451       $1737 = HEAP32[$1736>>2]|0;
    49452       $1738 = (_new_splat($1735,$1737)|0);
    49453       $1739 = (_list1_gen($1734,$1738)|0);
    49454       $1740 = (_append_gen($1730,$1733,$1739)|0);
    49455       HEAP32[$17>>2] = $1740;
    49456       break;
    49457      }
    49458      case 257:  {
    49459       $1741 = $1;
    49460       $1742 = $12;
    49461       $1743 = ((($1742)) + -12|0);
    49462       $1744 = HEAP32[$1743>>2]|0;
    49463       $1745 = $1;
    49464       $1746 = $12;
    49465       $1747 = HEAP32[$1746>>2]|0;
    49466       $1748 = (_list1_gen($1745,$1747)|0);
    49467       $1749 = (_append_gen($1741,$1744,$1748)|0);
    49468       HEAP32[$17>>2] = $1749;
    49469       break;
    49470      }
    49471      case 258:  {
    49472       $1750 = $1;
    49473       $1751 = $12;
    49474       $1752 = ((($1751)) + -16|0);
    49475       $1753 = HEAP32[$1752>>2]|0;
    49476       $1754 = $1;
    49477       $1755 = $1;
    49478       $1756 = $12;
    49479       $1757 = HEAP32[$1756>>2]|0;
    49480       $1758 = (_new_splat($1755,$1757)|0);
    49481       $1759 = (_list1_gen($1754,$1758)|0);
    49482       $1760 = (_append_gen($1750,$1753,$1759)|0);
    49483       HEAP32[$17>>2] = $1760;
    49484       break;
    49485      }
    49486      case 259:  {
    49487       $1761 = $1;
    49488       $1762 = $12;
    49489       $1763 = ((($1762)) + -8|0);
    49490       $1764 = HEAP32[$1763>>2]|0;
    49491       $1765 = $1;
    49492       $1766 = $12;
    49493       $1767 = HEAP32[$1766>>2]|0;
    49494       $1768 = (_list1_gen($1765,$1767)|0);
    49495       $1769 = (_append_gen($1761,$1764,$1768)|0);
    49496       HEAP32[$17>>2] = $1769;
    49497       break;
    49498      }
    49499      case 260:  {
    49500       $1770 = $1;
    49501       $1771 = $12;
    49502       $1772 = ((($1771)) + -12|0);
    49503       $1773 = HEAP32[$1772>>2]|0;
    49504       $1774 = $1;
    49505       $1775 = $1;
    49506       $1776 = $12;
    49507       $1777 = HEAP32[$1776>>2]|0;
    49508       $1778 = (_new_splat($1775,$1777)|0);
    49509       $1779 = (_list1_gen($1774,$1778)|0);
    49510       $1780 = (_append_gen($1770,$1773,$1779)|0);
    49511       HEAP32[$17>>2] = $1780;
    49512       break;
    49513      }
    49514      case 261:  {
    49515       $1781 = $1;
    49516       $1782 = $1;
    49517       $1783 = $12;
    49518       $1784 = HEAP32[$1783>>2]|0;
    49519       $1785 = (_new_splat($1782,$1784)|0);
    49520       $1786 = (_list1_gen($1781,$1785)|0);
    49521       HEAP32[$17>>2] = $1786;
    49522       break;
    49523      }
    49524      case 269:  {
    49525       $1787 = $1;
    49526       $1788 = $12;
    49527       $1789 = HEAP32[$1788>>2]|0;
    49528       $1790 = (_new_fcall($1787,$1789,0)|0);
    49529       HEAP32[$17>>2] = $1790;
    49530       break;
    49531      }
    49532      case 270:  {
    49533       $1791 = $1;
    49534       $1792 = ((($1791)) + 52|0);
    49535       $1793 = HEAP32[$1792>>2]|0;
    49536       HEAP32[$17>>2] = $1793;
    49537       $1794 = $1;
    49538       $1795 = ((($1794)) + 52|0);
    49539       HEAP32[$1795>>2] = 0;
    49540       break;
    49541      }
    49542      case 271:  {
    49543       $1796 = $12;
    49544       $1797 = ((($1796)) + -8|0);
    49545       $1798 = HEAP32[$1797>>2]|0;
    49546       $1799 = $1;
    49547       $1800 = ((($1799)) + 52|0);
    49548       HEAP32[$1800>>2] = $1798;
    49549       $1801 = $12;
    49550       $1802 = ((($1801)) + -4|0);
    49551       $1803 = HEAP32[$1802>>2]|0;
    49552       HEAP32[$17>>2] = $1803;
    49553       break;
    49554      }
    49555      case 272:  {
    49556       $1804 = $1;
    49557       $1805 = ((($1804)) + 52|0);
    49558       $1806 = HEAP32[$1805>>2]|0;
    49559       HEAP32[$17>>2] = $1806;
    49560       $1807 = $1;
    49561       $1808 = ((($1807)) + 52|0);
    49562       HEAP32[$1808>>2] = 0;
    49563       break;
    49564      }
    49565      case 273:  {
    49566       $1809 = $1;
    49567       $1810 = ((($1809)) + 40|0);
    49568       HEAP32[$1810>>2] = 2;
    49569       break;
    49570      }
    49571      case 274:  {
    49572       $1811 = $12;
    49573       $1812 = ((($1811)) + -12|0);
    49574       $1813 = HEAP32[$1812>>2]|0;
    49575       $1814 = $1;
    49576       $1815 = ((($1814)) + 52|0);
    49577       HEAP32[$1815>>2] = $1813;
    49578       $1816 = $12;
    49579       $1817 = ((($1816)) + -8|0);
    49580       $1818 = HEAP32[$1817>>2]|0;
    49581       HEAP32[$17>>2] = $1818;
    49582       break;
    49583      }
    49584      case 275:  {
    49585       $1819 = $1;
    49586       $1820 = ((($1819)) + 40|0);
    49587       HEAP32[$1820>>2] = 2;
    49588       break;
    49589      }
    49590      case 276:  {
    49591       HEAP32[$17>>2] = 0;
    49592       break;
    49593      }
    49594      case 277:  {
    49595       $1821 = $12;
    49596       $1822 = ((($1821)) + -4|0);
    49597       $1823 = HEAP32[$1822>>2]|0;
    49598       HEAP32[$17>>2] = $1823;
    49599       break;
    49600      }
    49601      case 278:  {
    49602       $1824 = $1;
    49603       $1825 = $12;
    49604       $1826 = ((($1825)) + -8|0);
    49605       $1827 = HEAP32[$1826>>2]|0;
    49606       $1828 = $12;
    49607       $1829 = HEAP32[$1828>>2]|0;
    49608       $1830 = (_new_colon2($1824,$1827,$1829)|0);
    49609       HEAP32[$17>>2] = $1830;
    49610       break;
    49611      }
    49612      case 279:  {
    49613       $1831 = $1;
    49614       $1832 = $12;
    49615       $1833 = HEAP32[$1832>>2]|0;
    49616       $1834 = (_new_colon3($1831,$1833)|0);
    49617       HEAP32[$17>>2] = $1834;
    49618       break;
    49619      }
    49620      case 280:  {
    49621       $1835 = $1;
    49622       $1836 = $12;
    49623       $1837 = ((($1836)) + -4|0);
    49624       $1838 = HEAP32[$1837>>2]|0;
    49625       $1839 = (_new_array($1835,$1838)|0);
    49626       HEAP32[$17>>2] = $1839;
    49627       $1840 = $12;
    49628       $1841 = ((($1840)) + -4|0);
    49629       $1842 = HEAP32[$1841>>2]|0;
    49630       $1843 = ($1842|0)!=(0|0);
    49631       if ($1843) {
    49632        $1844 = $12;
    49633        $1845 = ((($1844)) + -4|0);
    49634        $1846 = HEAP32[$1845>>2]|0;
    49635        $1847 = ((($1846)) + 10|0);
    49636        $1848 = HEAP16[$1847>>1]|0;
    49637        $1849 = HEAP32[$17>>2]|0;
    49638        $1850 = ((($1849)) + 10|0);
    49639        HEAP16[$1850>>1] = $1848;
    49640        $1851 = $12;
    49641        $1852 = ((($1851)) + -4|0);
    49642        $1853 = HEAP32[$1852>>2]|0;
    49643        $1854 = ((($1853)) + 8|0);
    49644        $1855 = HEAP16[$1854>>1]|0;
    49645        $1856 = HEAP32[$17>>2]|0;
    49646        $1857 = ((($1856)) + 8|0);
    49647        HEAP16[$1857>>1] = $1855;
    49648       }
    49649       break;
    49650      }
    49651      case 281:  {
    49652       $1858 = $1;
    49653       $1859 = $12;
    49654       $1860 = ((($1859)) + -4|0);
    49655       $1861 = HEAP32[$1860>>2]|0;
    49656       $1862 = (_new_hash($1858,$1861)|0);
    49657       HEAP32[$17>>2] = $1862;
    49658       $1863 = $12;
    49659       $1864 = ((($1863)) + -4|0);
    49660       $1865 = HEAP32[$1864>>2]|0;
    49661       $1866 = ($1865|0)!=(0|0);
    49662       if ($1866) {
    49663        $1867 = $12;
    49664        $1868 = ((($1867)) + -4|0);
    49665        $1869 = HEAP32[$1868>>2]|0;
    49666        $1870 = ((($1869)) + 10|0);
    49667        $1871 = HEAP16[$1870>>1]|0;
    49668        $1872 = HEAP32[$17>>2]|0;
    49669        $1873 = ((($1872)) + 10|0);
    49670        HEAP16[$1873>>1] = $1871;
    49671        $1874 = $12;
    49672        $1875 = ((($1874)) + -4|0);
    49673        $1876 = HEAP32[$1875>>2]|0;
    49674        $1877 = ((($1876)) + 8|0);
    49675        $1878 = HEAP16[$1877>>1]|0;
    49676        $1879 = HEAP32[$17>>2]|0;
    49677        $1880 = ((($1879)) + 8|0);
    49678        HEAP16[$1880>>1] = $1878;
    49679       }
    49680       break;
    49681      }
    49682      case 282:  {
    49683       $1881 = $1;
    49684       $1882 = (_new_return($1881,0)|0);
    49685       HEAP32[$17>>2] = $1882;
    49686       break;
    49687      }
    49688      case 283:  {
    49689       $1883 = $1;
    49690       $1884 = $12;
    49691       $1885 = ((($1884)) + -4|0);
    49692       $1886 = HEAP32[$1885>>2]|0;
    49693       $1887 = (_new_yield($1883,$1886)|0);
    49694       HEAP32[$17>>2] = $1887;
    49695       break;
    49696      }
    49697      case 284:  {
    49698       $1888 = $1;
    49699       $1889 = (_new_yield($1888,0)|0);
    49700       HEAP32[$17>>2] = $1889;
    49701       break;
    49702      }
    49703      case 285:  {
    49704       $1890 = $1;
    49705       $1891 = (_new_yield($1890,0)|0);
    49706       HEAP32[$17>>2] = $1891;
    49707       break;
    49708      }
    49709      case 286:  {
    49710       $1892 = $1;
    49711       $1893 = $12;
    49712       $1894 = ((($1893)) + -4|0);
    49713       $1895 = HEAP32[$1894>>2]|0;
    49714       $1896 = (_cond($1895)|0);
    49715       $1897 = (_call_uni_op($1892,$1896,65619)|0);
    49716       HEAP32[$17>>2] = $1897;
    49717       break;
    49718      }
    49719      case 287:  {
    49720       $1898 = $1;
    49721       $1899 = $1;
    49722       $1900 = (_new_nil($1899)|0);
    49723       $1901 = (_call_uni_op($1898,$1900,65619)|0);
    49724       HEAP32[$17>>2] = $1901;
    49725       break;
    49726      }
    49727      case 288:  {
    49728       $1902 = $1;
    49729       $1903 = $12;
    49730       $1904 = ((($1903)) + -4|0);
    49731       $1905 = HEAP32[$1904>>2]|0;
    49732       $1906 = $1;
    49733       $1907 = $12;
    49734       $1908 = HEAP32[$1907>>2]|0;
    49735       $1909 = (_cons_gen($1906,0,$1908)|0);
    49736       $1910 = (_new_fcall($1902,$1905,$1909)|0);
    49737       HEAP32[$17>>2] = $1910;
    49738       break;
    49739      }
    49740      case 290:  {
    49741       $1911 = $1;
    49742       $1912 = $12;
    49743       $1913 = ((($1912)) + -4|0);
    49744       $1914 = HEAP32[$1913>>2]|0;
    49745       $1915 = $12;
    49746       $1916 = HEAP32[$1915>>2]|0;
    49747       _call_with_block($1911,$1914,$1916);
    49748       $1917 = $12;
    49749       $1918 = ((($1917)) + -4|0);
    49750       $1919 = HEAP32[$1918>>2]|0;
    49751       HEAP32[$17>>2] = $1919;
    49752       break;
    49753      }
    49754      case 291:  {
    49755       $1920 = $1;
    49756       _local_nest($1920);
    49757       $1921 = $1;
    49758       $1922 = ((($1921)) + 60|0);
    49759       $1923 = HEAP32[$1922>>2]|0;
    49760       HEAP32[$17>>2] = $1923;
    49761       $1924 = $1;
    49762       $1925 = ((($1924)) + 56|0);
    49763       $1926 = HEAP32[$1925>>2]|0;
    49764       $1927 = (($1926) + 1)|0;
    49765       HEAP32[$1925>>2] = $1927;
    49766       $1928 = $1;
    49767       $1929 = ((($1928)) + 60|0);
    49768       HEAP32[$1929>>2] = $1927;
    49769       break;
    49770      }
    49771      case 292:  {
    49772       $1930 = $1;
    49773       $1931 = ((($1930)) + 52|0);
    49774       $1932 = HEAP32[$1931>>2]|0;
    49775       HEAP32[$17>>2] = $1932;
    49776       $1933 = $1;
    49777       $1934 = ((($1933)) + 52|0);
    49778       HEAP32[$1934>>2] = 0;
    49779       break;
    49780      }
    49781      case 293:  {
    49782       $1935 = $12;
    49783       $1936 = ((($1935)) + -12|0);
    49784       $1937 = HEAP32[$1936>>2]|0;
    49785       $1938 = $1;
    49786       $1939 = ((($1938)) + 60|0);
    49787       HEAP32[$1939>>2] = $1937;
    49788       $1940 = $1;
    49789       $1941 = $12;
    49790       $1942 = ((($1941)) + -8|0);
    49791       $1943 = HEAP32[$1942>>2]|0;
    49792       $1944 = $12;
    49793       $1945 = HEAP32[$1944>>2]|0;
    49794       $1946 = (_new_lambda($1940,$1943,$1945)|0);
    49795       HEAP32[$17>>2] = $1946;
    49796       $1947 = $1;
    49797       _local_unnest($1947);
    49798       $1948 = $12;
    49799       $1949 = ((($1948)) + -4|0);
    49800       $1950 = HEAP32[$1949>>2]|0;
    49801       $1951 = $1;
    49802       $1952 = ((($1951)) + 52|0);
    49803       HEAP32[$1952>>2] = $1950;
    49804       $1953 = $1;
    49805       $1954 = ((($1953)) + 52|0);
    49806       $1955 = HEAP32[$1954>>2]|0;
    49807       $1956 = $1955 >>> 1;
    49808       $1957 = $1;
    49809       $1958 = ((($1957)) + 52|0);
    49810       $1959 = HEAP32[$1958>>2]|0;
    49811       $1960 = $1959 & 1;
    49812       $1961 = $1956 | $1960;
    49813       $1962 = $1;
    49814       $1963 = ((($1962)) + 52|0);
    49815       HEAP32[$1963>>2] = $1961;
    49816       break;
    49817      }
    49818      case 294:  {
    49819       $1964 = $1;
    49820       $1965 = $12;
    49821       $1966 = ((($1965)) + -16|0);
    49822       $1967 = HEAP32[$1966>>2]|0;
    49823       $1968 = (_cond($1967)|0);
    49824       $1969 = $12;
    49825       $1970 = ((($1969)) + -8|0);
    49826       $1971 = HEAP32[$1970>>2]|0;
    49827       $1972 = $12;
    49828       $1973 = ((($1972)) + -4|0);
    49829       $1974 = HEAP32[$1973>>2]|0;
    49830       $1975 = (_new_if($1964,$1968,$1971,$1974)|0);
    49831       HEAP32[$17>>2] = $1975;
    49832       $1976 = $12;
    49833       $1977 = ((($1976)) + -20|0);
    49834       $1978 = HEAP32[$1977>>2]|0;
    49835       $1979 = $1978&65535;
    49836       $1980 = HEAP32[$17>>2]|0;
    49837       $1981 = ((($1980)) + 8|0);
    49838       HEAP16[$1981>>1] = $1979;
    49839       break;
    49840      }
    49841      case 295:  {
    49842       $1982 = $1;
    49843       $1983 = $12;
    49844       $1984 = ((($1983)) + -16|0);
    49845       $1985 = HEAP32[$1984>>2]|0;
    49846       $1986 = (_cond($1985)|0);
    49847       $1987 = $12;
    49848       $1988 = ((($1987)) + -8|0);
    49849       $1989 = HEAP32[$1988>>2]|0;
    49850       $1990 = $12;
    49851       $1991 = ((($1990)) + -4|0);
    49852       $1992 = HEAP32[$1991>>2]|0;
    49853       $1993 = (_new_unless($1982,$1986,$1989,$1992)|0);
    49854       HEAP32[$17>>2] = $1993;
    49855       $1994 = $12;
    49856       $1995 = ((($1994)) + -20|0);
    49857       $1996 = HEAP32[$1995>>2]|0;
    49858       $1997 = $1996&65535;
    49859       $1998 = HEAP32[$17>>2]|0;
    49860       $1999 = ((($1998)) + 8|0);
    49861       HEAP16[$1999>>1] = $1997;
    49862       break;
    49863      }
    49864      case 296:  {
    49865       $2000 = $1;
    49866       $2001 = ((($2000)) + 48|0);
    49867       $2002 = HEAP32[$2001>>2]|0;
    49868       $2003 = $2002 << 1;
    49869       $2004 = $2003 | 1;
    49870       $2005 = $1;
    49871       $2006 = ((($2005)) + 48|0);
    49872       HEAP32[$2006>>2] = $2004;
    49873       break;
    49874      }
    49875      case 297:  {
    49876       $2007 = $1;
    49877       $2008 = ((($2007)) + 48|0);
    49878       $2009 = HEAP32[$2008>>2]|0;
    49879       $2010 = $2009 >>> 1;
    49880       $2011 = $1;
    49881       $2012 = ((($2011)) + 48|0);
    49882       HEAP32[$2012>>2] = $2010;
    49883       break;
    49884      }
    49885      case 298:  {
    49886       $2013 = $1;
    49887       $2014 = $12;
    49888       $2015 = ((($2014)) + -16|0);
    49889       $2016 = HEAP32[$2015>>2]|0;
    49890       $2017 = (_cond($2016)|0);
    49891       $2018 = $12;
    49892       $2019 = ((($2018)) + -4|0);
    49893       $2020 = HEAP32[$2019>>2]|0;
    49894       $2021 = (_new_while($2013,$2017,$2020)|0);
    49895       HEAP32[$17>>2] = $2021;
    49896       $2022 = $12;
    49897       $2023 = ((($2022)) + -24|0);
    49898       $2024 = HEAP32[$2023>>2]|0;
    49899       $2025 = $2024&65535;
    49900       $2026 = HEAP32[$17>>2]|0;
    49901       $2027 = ((($2026)) + 8|0);
    49902       HEAP16[$2027>>1] = $2025;
    49903       break;
    49904      }
    49905      case 299:  {
    49906       $2028 = $1;
    49907       $2029 = ((($2028)) + 48|0);
    49908       $2030 = HEAP32[$2029>>2]|0;
    49909       $2031 = $2030 << 1;
    49910       $2032 = $2031 | 1;
    49911       $2033 = $1;
    49912       $2034 = ((($2033)) + 48|0);
    49913       HEAP32[$2034>>2] = $2032;
    49914       break;
    49915      }
    49916      case 300:  {
    49917       $2035 = $1;
    49918       $2036 = ((($2035)) + 48|0);
    49919       $2037 = HEAP32[$2036>>2]|0;
    49920       $2038 = $2037 >>> 1;
    49921       $2039 = $1;
    49922       $2040 = ((($2039)) + 48|0);
    49923       HEAP32[$2040>>2] = $2038;
    49924       break;
    49925      }
    49926      case 301:  {
    49927       $2041 = $1;
    49928       $2042 = $12;
    49929       $2043 = ((($2042)) + -16|0);
    49930       $2044 = HEAP32[$2043>>2]|0;
    49931       $2045 = (_cond($2044)|0);
    49932       $2046 = $12;
    49933       $2047 = ((($2046)) + -4|0);
    49934       $2048 = HEAP32[$2047>>2]|0;
    49935       $2049 = (_new_until($2041,$2045,$2048)|0);
    49936       HEAP32[$17>>2] = $2049;
    49937       $2050 = $12;
    49938       $2051 = ((($2050)) + -24|0);
    49939       $2052 = HEAP32[$2051>>2]|0;
    49940       $2053 = $2052&65535;
    49941       $2054 = HEAP32[$17>>2]|0;
    49942       $2055 = ((($2054)) + 8|0);
    49943       HEAP16[$2055>>1] = $2053;
    49944       break;
    49945      }
    49946      case 302:  {
    49947       $2056 = $1;
    49948       $2057 = $12;
    49949       $2058 = ((($2057)) + -12|0);
    49950       $2059 = HEAP32[$2058>>2]|0;
    49951       $2060 = $12;
    49952       $2061 = ((($2060)) + -4|0);
    49953       $2062 = HEAP32[$2061>>2]|0;
    49954       $2063 = (_new_case($2056,$2059,$2062)|0);
    49955       HEAP32[$17>>2] = $2063;
    49956       break;
    49957      }
    49958      case 303:  {
    49959       $2064 = $1;
    49960       $2065 = $12;
    49961       $2066 = ((($2065)) + -4|0);
    49962       $2067 = HEAP32[$2066>>2]|0;
    49963       $2068 = (_new_case($2064,0,$2067)|0);
    49964       HEAP32[$17>>2] = $2068;
    49965       break;
    49966      }
    49967      case 304:  {
    49968       $2069 = $1;
    49969       $2070 = ((($2069)) + 48|0);
    49970       $2071 = HEAP32[$2070>>2]|0;
    49971       $2072 = $2071 << 1;
    49972       $2073 = $2072 | 1;
    49973       $2074 = $1;
    49974       $2075 = ((($2074)) + 48|0);
    49975       HEAP32[$2075>>2] = $2073;
    49976       break;
    49977      }
    49978      case 305:  {
    49979       $2076 = $1;
    49980       $2077 = ((($2076)) + 48|0);
    49981       $2078 = HEAP32[$2077>>2]|0;
    49982       $2079 = $2078 >>> 1;
    49983       $2080 = $1;
    49984       $2081 = ((($2080)) + 48|0);
    49985       HEAP32[$2081>>2] = $2079;
    49986       break;
    49987      }
    49988      case 306:  {
    49989       $2082 = $1;
    49990       $2083 = $12;
    49991       $2084 = ((($2083)) + -28|0);
    49992       $2085 = HEAP32[$2084>>2]|0;
    49993       $2086 = $12;
    49994       $2087 = ((($2086)) + -16|0);
    49995       $2088 = HEAP32[$2087>>2]|0;
    49996       $2089 = $12;
    49997       $2090 = ((($2089)) + -4|0);
    49998       $2091 = HEAP32[$2090>>2]|0;
    49999       $2092 = (_new_for($2082,$2085,$2088,$2091)|0);
    50000       HEAP32[$17>>2] = $2092;
    50001       $2093 = $12;
    50002       $2094 = ((($2093)) + -32|0);
    50003       $2095 = HEAP32[$2094>>2]|0;
    50004       $2096 = $2095&65535;
    50005       $2097 = HEAP32[$17>>2]|0;
    50006       $2098 = ((($2097)) + 8|0);
    50007       HEAP16[$2098>>1] = $2096;
    50008       break;
    50009      }
    50010      case 307:  {
    50011       $2099 = $1;
    50012       $2100 = ((($2099)) + 64|0);
    50013       $2101 = HEAP32[$2100>>2]|0;
    50014       $2102 = ($2101|0)!=(0);
    50015       if ($2102) {
    50016        label = 310;
    50017       } else {
    50018        $2103 = $1;
    50019        $2104 = ((($2103)) + 68|0);
    50020        $2105 = HEAP32[$2104>>2]|0;
    50021        $2106 = ($2105|0)!=(0);
    50022        if ($2106) {
    50023         label = 310;
    50024        }
    50025       }
    50026       if ((label|0) == 310) {
    50027        label = 0;
    50028        $2107 = $1;
    50029        _yyerror($2107,59561);
    50030       }
    50031       $2108 = $1;
    50032       $2109 = (_local_switch($2108)|0);
    50033       HEAP32[$17>>2] = $2109;
    50034       break;
    50035      }
    50036      case 308:  {
    50037       $2110 = $1;
    50038       $2111 = $12;
    50039       $2112 = ((($2111)) + -16|0);
    50040       $2113 = HEAP32[$2112>>2]|0;
    50041       $2114 = $12;
    50042       $2115 = ((($2114)) + -12|0);
    50043       $2116 = HEAP32[$2115>>2]|0;
    50044       $2117 = $12;
    50045       $2118 = ((($2117)) + -4|0);
    50046       $2119 = HEAP32[$2118>>2]|0;
    50047       $2120 = (_new_class($2110,$2113,$2116,$2119)|0);
    50048       HEAP32[$17>>2] = $2120;
    50049       $2121 = $12;
    50050       $2122 = ((($2121)) + -20|0);
    50051       $2123 = HEAP32[$2122>>2]|0;
    50052       $2124 = $2123&65535;
    50053       $2125 = HEAP32[$17>>2]|0;
    50054       $2126 = ((($2125)) + 8|0);
    50055       HEAP16[$2126>>1] = $2124;
    50056       $2127 = $1;
    50057       $2128 = $12;
    50058       $2129 = ((($2128)) + -8|0);
    50059       $2130 = HEAP32[$2129>>2]|0;
    50060       _local_resume($2127,$2130);
    50061       break;
    50062      }
    50063      case 309:  {
    50064       $2131 = $1;
    50065       $2132 = ((($2131)) + 64|0);
    50066       $2133 = HEAP32[$2132>>2]|0;
    50067       HEAP32[$17>>2] = $2133;
    50068       $2134 = $1;
    50069       $2135 = ((($2134)) + 64|0);
    50070       HEAP32[$2135>>2] = 0;
    50071       break;
    50072      }
    50073      case 310:  {
    50074       $2136 = $1;
    50075       $2137 = $1;
    50076       $2138 = (_local_switch($2137)|0);
    50077       $2139 = $1;
    50078       $2140 = ((($2139)) + 68|0);
    50079       $2141 = HEAP32[$2140>>2]|0;
    50080       $2142 = $2141;
    50081       $2143 = (_cons_gen($2136,$2138,$2142)|0);
    50082       HEAP32[$17>>2] = $2143;
    50083       $2144 = $1;
    50084       $2145 = ((($2144)) + 68|0);
    50085       HEAP32[$2145>>2] = 0;
    50086       break;
    50087      }
    50088      case 311:  {
    50089       $2146 = $1;
    50090       $2147 = $12;
    50091       $2148 = ((($2147)) + -20|0);
    50092       $2149 = HEAP32[$2148>>2]|0;
    50093       $2150 = $12;
    50094       $2151 = ((($2150)) + -4|0);
    50095       $2152 = HEAP32[$2151>>2]|0;
    50096       $2153 = (_new_sclass($2146,$2149,$2152)|0);
    50097       HEAP32[$17>>2] = $2153;
    50098       $2154 = $12;
    50099       $2155 = ((($2154)) + -28|0);
    50100       $2156 = HEAP32[$2155>>2]|0;
    50101       $2157 = $2156&65535;
    50102       $2158 = HEAP32[$17>>2]|0;
    50103       $2159 = ((($2158)) + 8|0);
    50104       HEAP16[$2159>>1] = $2157;
    50105       $2160 = $1;
    50106       $2161 = $12;
    50107       $2162 = ((($2161)) + -8|0);
    50108       $2163 = HEAP32[$2162>>2]|0;
    50109       $2164 = HEAP32[$2163>>2]|0;
    50110       _local_resume($2160,$2164);
    50111       $2165 = $12;
    50112       $2166 = ((($2165)) + -16|0);
    50113       $2167 = HEAP32[$2166>>2]|0;
    50114       $2168 = $1;
    50115       $2169 = ((($2168)) + 64|0);
    50116       HEAP32[$2169>>2] = $2167;
    50117       $2170 = $12;
    50118       $2171 = ((($2170)) + -8|0);
    50119       $2172 = HEAP32[$2171>>2]|0;
    50120       $2173 = ((($2172)) + 4|0);
    50121       $2174 = HEAP32[$2173>>2]|0;
    50122       $2175 = $2174;
    50123       $2176 = $1;
    50124       $2177 = ((($2176)) + 68|0);
    50125       HEAP32[$2177>>2] = $2175;
    50126       break;
    50127      }
    50128      case 312:  {
    50129       $2178 = $1;
    50130       $2179 = ((($2178)) + 64|0);
    50131       $2180 = HEAP32[$2179>>2]|0;
    50132       $2181 = ($2180|0)!=(0);
    50133       if ($2181) {
    50134        label = 318;
    50135       } else {
    50136        $2182 = $1;
    50137        $2183 = ((($2182)) + 68|0);
    50138        $2184 = HEAP32[$2183>>2]|0;
    50139        $2185 = ($2184|0)!=(0);
    50140        if ($2185) {
    50141         label = 318;
    50142        }
    50143       }
    50144       if ((label|0) == 318) {
    50145        label = 0;
    50146        $2186 = $1;
    50147        _yyerror($2186,59593);
    50148       }
    50149       $2187 = $1;
    50150       $2188 = (_local_switch($2187)|0);
    50151       HEAP32[$17>>2] = $2188;
    50152       break;
    50153      }
    50154      case 313:  {
    50155       $2189 = $1;
    50156       $2190 = $12;
    50157       $2191 = ((($2190)) + -12|0);
    50158       $2192 = HEAP32[$2191>>2]|0;
    50159       $2193 = $12;
    50160       $2194 = ((($2193)) + -4|0);
    50161       $2195 = HEAP32[$2194>>2]|0;
    50162       $2196 = (_new_module($2189,$2192,$2195)|0);
    50163       HEAP32[$17>>2] = $2196;
    50164       $2197 = $12;
    50165       $2198 = ((($2197)) + -16|0);
    50166       $2199 = HEAP32[$2198>>2]|0;
    50167       $2200 = $2199&65535;
    50168       $2201 = HEAP32[$17>>2]|0;
    50169       $2202 = ((($2201)) + 8|0);
    50170       HEAP16[$2202>>1] = $2200;
    50171       $2203 = $1;
    50172       $2204 = $12;
    50173       $2205 = ((($2204)) + -8|0);
    50174       $2206 = HEAP32[$2205>>2]|0;
    50175       _local_resume($2203,$2206);
    50176       break;
    50177      }
    50178      case 314:  {
    50179       $2207 = $1;
    50180       $2208 = ((($2207)) + 52|0);
    50181       $2209 = HEAP32[$2208>>2]|0;
    50182       HEAP32[$17>>2] = $2209;
    50183       $2210 = $1;
    50184       $2211 = ((($2210)) + 52|0);
    50185       HEAP32[$2211>>2] = 0;
    50186       break;
    50187      }
    50188      case 315:  {
    50189       $2212 = $1;
    50190       $2213 = ((($2212)) + 64|0);
    50191       $2214 = HEAP32[$2213>>2]|0;
    50192       $2215 = (($2214) + 1)|0;
    50193       HEAP32[$2213>>2] = $2215;
    50194       $2216 = $1;
    50195       $2217 = (_local_switch($2216)|0);
    50196       HEAP32[$17>>2] = $2217;
    50197       break;
    50198      }
    50199      case 316:  {
    50200       $2218 = $1;
    50201       $2219 = $12;
    50202       $2220 = ((($2219)) + -20|0);
    50203       $2221 = HEAP32[$2220>>2]|0;
    50204       $2222 = $12;
    50205       $2223 = ((($2222)) + -8|0);
    50206       $2224 = HEAP32[$2223>>2]|0;
    50207       $2225 = $12;
    50208       $2226 = ((($2225)) + -4|0);
    50209       $2227 = HEAP32[$2226>>2]|0;
    50210       $2228 = (_new_def($2218,$2221,$2224,$2227)|0);
    50211       HEAP32[$17>>2] = $2228;
    50212       $2229 = $12;
    50213       $2230 = ((($2229)) + -24|0);
    50214       $2231 = HEAP32[$2230>>2]|0;
    50215       $2232 = $2231&65535;
    50216       $2233 = HEAP32[$17>>2]|0;
    50217       $2234 = ((($2233)) + 8|0);
    50218       HEAP16[$2234>>1] = $2232;
    50219       $2235 = $1;
    50220       $2236 = $12;
    50221       $2237 = ((($2236)) + -12|0);
    50222       $2238 = HEAP32[$2237>>2]|0;
    50223       _local_resume($2235,$2238);
    50224       $2239 = $1;
    50225       $2240 = ((($2239)) + 64|0);
    50226       $2241 = HEAP32[$2240>>2]|0;
    50227       $2242 = (($2241) + -1)|0;
    50228       HEAP32[$2240>>2] = $2242;
    50229       $2243 = $12;
    50230       $2244 = ((($2243)) + -16|0);
    50231       $2245 = HEAP32[$2244>>2]|0;
    50232       $2246 = $1;
    50233       $2247 = ((($2246)) + 52|0);
    50234       HEAP32[$2247>>2] = $2245;
    50235       break;
    50236      }
    50237      case 317:  {
    50238       $2248 = $1;
    50239       $2249 = ((($2248)) + 40|0);
    50240       HEAP32[$2249>>2] = 7;
    50241       $2250 = $1;
    50242       $2251 = ((($2250)) + 52|0);
    50243       $2252 = HEAP32[$2251>>2]|0;
    50244       HEAP32[$17>>2] = $2252;
    50245       $2253 = $1;
    50246       $2254 = ((($2253)) + 52|0);
    50247       HEAP32[$2254>>2] = 0;
    50248       break;
    50249      }
    50250      case 318:  {
    50251       $2255 = $1;
    50252       $2256 = ((($2255)) + 68|0);
    50253       $2257 = HEAP32[$2256>>2]|0;
    50254       $2258 = (($2257) + 1)|0;
    50255       HEAP32[$2256>>2] = $2258;
    50256       $2259 = $1;
    50257       $2260 = ((($2259)) + 40|0);
    50258       HEAP32[$2260>>2] = 3;
    50259       $2261 = $1;
    50260       $2262 = (_local_switch($2261)|0);
    50261       HEAP32[$17>>2] = $2262;
    50262       break;
    50263      }
    50264      case 319:  {
    50265       $2263 = $1;
    50266       $2264 = $12;
    50267       $2265 = ((($2264)) + -28|0);
    50268       $2266 = HEAP32[$2265>>2]|0;
    50269       $2267 = $12;
    50270       $2268 = ((($2267)) + -16|0);
    50271       $2269 = HEAP32[$2268>>2]|0;
    50272       $2270 = $12;
    50273       $2271 = ((($2270)) + -8|0);
    50274       $2272 = HEAP32[$2271>>2]|0;
    50275       $2273 = $12;
    50276       $2274 = ((($2273)) + -4|0);
    50277       $2275 = HEAP32[$2274>>2]|0;
    50278       $2276 = (_new_sdef($2263,$2266,$2269,$2272,$2275)|0);
    50279       HEAP32[$17>>2] = $2276;
    50280       $2277 = $12;
    50281       $2278 = ((($2277)) + -32|0);
    50282       $2279 = HEAP32[$2278>>2]|0;
    50283       $2280 = $2279&65535;
    50284       $2281 = HEAP32[$17>>2]|0;
    50285       $2282 = ((($2281)) + 8|0);
    50286       HEAP16[$2282>>1] = $2280;
    50287       $2283 = $1;
    50288       $2284 = $12;
    50289       $2285 = ((($2284)) + -12|0);
    50290       $2286 = HEAP32[$2285>>2]|0;
    50291       _local_resume($2283,$2286);
    50292       $2287 = $1;
    50293       $2288 = ((($2287)) + 68|0);
    50294       $2289 = HEAP32[$2288>>2]|0;
    50295       $2290 = (($2289) + -1)|0;
    50296       HEAP32[$2288>>2] = $2290;
    50297       $2291 = $12;
    50298       $2292 = ((($2291)) + -20|0);
    50299       $2293 = HEAP32[$2292>>2]|0;
    50300       $2294 = $1;
    50301       $2295 = ((($2294)) + 52|0);
    50302       HEAP32[$2295>>2] = $2293;
    50303       break;
    50304      }
    50305      case 320:  {
    50306       $2296 = $1;
    50307       $2297 = (_new_break($2296,0)|0);
    50308       HEAP32[$17>>2] = $2297;
    50309       break;
    50310      }
    50311      case 321:  {
    50312       $2298 = $1;
    50313       $2299 = (_new_next($2298,0)|0);
    50314       HEAP32[$17>>2] = $2299;
    50315       break;
    50316      }
    50317      case 322:  {
    50318       $2300 = $1;
    50319       $2301 = (_new_redo($2300)|0);
    50320       HEAP32[$17>>2] = $2301;
    50321       break;
    50322      }
    50323      case 323:  {
    50324       $2302 = $1;
    50325       $2303 = (_new_retry($2302)|0);
    50326       HEAP32[$17>>2] = $2303;
    50327       break;
    50328      }
    50329      case 324:  {
    50330       $2304 = $12;
    50331       $2305 = HEAP32[$2304>>2]|0;
    50332       HEAP32[$17>>2] = $2305;
    50333       $2306 = HEAP32[$17>>2]|0;
    50334       $2307 = ($2306|0)!=(0|0);
    50335       if (!($2307)) {
    50336        $2308 = $1;
    50337        $2309 = (_new_nil($2308)|0);
    50338        HEAP32[$17>>2] = $2309;
    50339       }
    50340       break;
    50341      }
    50342      case 331:  {
    50343       $2310 = $1;
    50344       $2311 = $12;
    50345       $2312 = ((($2311)) + -12|0);
    50346       $2313 = HEAP32[$2312>>2]|0;
    50347       $2314 = (_cond($2313)|0);
    50348       $2315 = $12;
    50349       $2316 = ((($2315)) + -4|0);
    50350       $2317 = HEAP32[$2316>>2]|0;
    50351       $2318 = $12;
    50352       $2319 = HEAP32[$2318>>2]|0;
    50353       $2320 = (_new_if($2310,$2314,$2317,$2319)|0);
    50354       HEAP32[$17>>2] = $2320;
    50355       break;
    50356      }
    50357      case 333:  {
    50358       $2321 = $12;
    50359       $2322 = HEAP32[$2321>>2]|0;
    50360       HEAP32[$17>>2] = $2322;
    50361       break;
    50362      }
    50363      case 334:  {
    50364       $2323 = $1;
    50365       $2324 = $1;
    50366       $2325 = $12;
    50367       $2326 = HEAP32[$2325>>2]|0;
    50368       $2327 = (_list1_gen($2324,$2326)|0);
    50369       $2328 = (_list1_gen($2323,$2327)|0);
    50370       HEAP32[$17>>2] = $2328;
    50371       break;
    50372      }
    50373      case 336:  {
    50374       $2329 = $1;
    50375       $2330 = $12;
    50376       $2331 = HEAP32[$2330>>2]|0;
    50377       $2332 = (_new_arg($2329,$2331)|0);
    50378       HEAP32[$17>>2] = $2332;
    50379       break;
    50380      }
    50381      case 337:  {
    50382       $2333 = $1;
    50383       $2334 = $12;
    50384       $2335 = ((($2334)) + -4|0);
    50385       $2336 = HEAP32[$2335>>2]|0;
    50386       $2337 = (_new_masgn($2333,$2336,0)|0);
    50387       HEAP32[$17>>2] = $2337;
    50388       break;
    50389      }
    50390      case 338:  {
    50391       $2338 = $1;
    50392       $2339 = $12;
    50393       $2340 = HEAP32[$2339>>2]|0;
    50394       $2341 = (_list1_gen($2338,$2340)|0);
    50395       HEAP32[$17>>2] = $2341;
    50396       break;
    50397      }
    50398      case 339:  {
    50399       $2342 = $1;
    50400       $2343 = $12;
    50401       $2344 = ((($2343)) + -8|0);
    50402       $2345 = HEAP32[$2344>>2]|0;
    50403       $2346 = $1;
    50404       $2347 = $12;
    50405       $2348 = HEAP32[$2347>>2]|0;
    50406       $2349 = (_list1_gen($2346,$2348)|0);
    50407       $2350 = (_append_gen($2342,$2345,$2349)|0);
    50408       HEAP32[$17>>2] = $2350;
    50409       break;
    50410      }
    50411      case 340:  {
    50412       $2351 = $1;
    50413       $2352 = $12;
    50414       $2353 = HEAP32[$2352>>2]|0;
    50415       $2354 = (_list3_gen($2351,$2353,0,0)|0);
    50416       HEAP32[$17>>2] = $2354;
    50417       break;
    50418      }
    50419      case 341:  {
    50420       $2355 = $1;
    50421       $2356 = $12;
    50422       $2357 = ((($2356)) + -12|0);
    50423       $2358 = HEAP32[$2357>>2]|0;
    50424       $2359 = $1;
    50425       $2360 = $12;
    50426       $2361 = HEAP32[$2360>>2]|0;
    50427       $2362 = (_new_arg($2359,$2361)|0);
    50428       $2363 = (_list3_gen($2355,$2358,$2362,0)|0);
    50429       HEAP32[$17>>2] = $2363;
    50430       break;
    50431      }
    50432      case 342:  {
    50433       $2364 = $1;
    50434       $2365 = $12;
    50435       $2366 = ((($2365)) + -20|0);
    50436       $2367 = HEAP32[$2366>>2]|0;
    50437       $2368 = $1;
    50438       $2369 = $12;
    50439       $2370 = ((($2369)) + -8|0);
    50440       $2371 = HEAP32[$2370>>2]|0;
    50441       $2372 = (_new_arg($2368,$2371)|0);
    50442       $2373 = $12;
    50443       $2374 = HEAP32[$2373>>2]|0;
    50444       $2375 = (_list3_gen($2364,$2367,$2372,$2374)|0);
    50445       HEAP32[$17>>2] = $2375;
    50446       break;
    50447      }
    50448      case 343:  {
    50449       $2376 = $1;
    50450       $2377 = $12;
    50451       $2378 = ((($2377)) + -8|0);
    50452       $2379 = HEAP32[$2378>>2]|0;
    50453       $2380 = (_list3_gen($2376,$2379,(-1),0)|0);
    50454       HEAP32[$17>>2] = $2380;
    50455       break;
    50456      }
    50457      case 344:  {
    50458       $2381 = $1;
    50459       $2382 = $12;
    50460       $2383 = ((($2382)) + -16|0);
    50461       $2384 = HEAP32[$2383>>2]|0;
    50462       $2385 = $12;
    50463       $2386 = HEAP32[$2385>>2]|0;
    50464       $2387 = (_list3_gen($2381,$2384,(-1),$2386)|0);
    50465       HEAP32[$17>>2] = $2387;
    50466       break;
    50467      }
    50468      case 345:  {
    50469       $2388 = $1;
    50470       $2389 = $1;
    50471       $2390 = $12;
    50472       $2391 = HEAP32[$2390>>2]|0;
    50473       $2392 = (_new_arg($2389,$2391)|0);
    50474       $2393 = (_list3_gen($2388,0,$2392,0)|0);
    50475       HEAP32[$17>>2] = $2393;
    50476       break;
    50477      }
    50478      case 346:  {
    50479       $2394 = $1;
    50480       $2395 = $1;
    50481       $2396 = $12;
    50482       $2397 = ((($2396)) + -8|0);
    50483       $2398 = HEAP32[$2397>>2]|0;
    50484       $2399 = (_new_arg($2395,$2398)|0);
    50485       $2400 = $12;
    50486       $2401 = HEAP32[$2400>>2]|0;
    50487       $2402 = (_list3_gen($2394,0,$2399,$2401)|0);
    50488       HEAP32[$17>>2] = $2402;
    50489       break;
    50490      }
    50491      case 347:  {
    50492       $2403 = $1;
    50493       $2404 = (_list3_gen($2403,0,(-1),0)|0);
    50494       HEAP32[$17>>2] = $2404;
    50495       break;
    50496      }
    50497      case 348:  {
    50498       $2405 = $1;
    50499       $2406 = $12;
    50500       $2407 = HEAP32[$2406>>2]|0;
    50501       $2408 = (_list3_gen($2405,0,(-1),$2407)|0);
    50502       HEAP32[$17>>2] = $2408;
    50503       break;
    50504      }
    50505      case 349:  {
    50506       $2409 = $1;
    50507       $2410 = $12;
    50508       $2411 = ((($2410)) + -20|0);
    50509       $2412 = HEAP32[$2411>>2]|0;
    50510       $2413 = $12;
    50511       $2414 = ((($2413)) + -12|0);
    50512       $2415 = HEAP32[$2414>>2]|0;
    50513       $2416 = $12;
    50514       $2417 = ((($2416)) + -4|0);
    50515       $2418 = HEAP32[$2417>>2]|0;
    50516       $2419 = $12;
    50517       $2420 = HEAP32[$2419>>2]|0;
    50518       $2421 = (_new_args($2409,$2412,$2415,$2418,0,$2420)|0);
    50519       HEAP32[$17>>2] = $2421;
    50520       break;
    50521      }
    50522      case 350:  {
    50523       $2422 = $1;
    50524       $2423 = $12;
    50525       $2424 = ((($2423)) + -28|0);
    50526       $2425 = HEAP32[$2424>>2]|0;
    50527       $2426 = $12;
    50528       $2427 = ((($2426)) + -20|0);
    50529       $2428 = HEAP32[$2427>>2]|0;
    50530       $2429 = $12;
    50531       $2430 = ((($2429)) + -12|0);
    50532       $2431 = HEAP32[$2430>>2]|0;
    50533       $2432 = $12;
    50534       $2433 = ((($2432)) + -4|0);
    50535       $2434 = HEAP32[$2433>>2]|0;
    50536       $2435 = $12;
    50537       $2436 = HEAP32[$2435>>2]|0;
    50538       $2437 = (_new_args($2422,$2425,$2428,$2431,$2434,$2436)|0);
    50539       HEAP32[$17>>2] = $2437;
    50540       break;
    50541      }
    50542      case 351:  {
    50543       $2438 = $1;
    50544       $2439 = $12;
    50545       $2440 = ((($2439)) + -12|0);
    50546       $2441 = HEAP32[$2440>>2]|0;
    50547       $2442 = $12;
    50548       $2443 = ((($2442)) + -4|0);
    50549       $2444 = HEAP32[$2443>>2]|0;
    50550       $2445 = $12;
    50551       $2446 = HEAP32[$2445>>2]|0;
    50552       $2447 = (_new_args($2438,$2441,$2444,0,0,$2446)|0);
    50553       HEAP32[$17>>2] = $2447;
    50554       break;
    50555      }
    50556      case 352:  {
    50557       $2448 = $1;
    50558       $2449 = $12;
    50559       $2450 = ((($2449)) + -20|0);
    50560       $2451 = HEAP32[$2450>>2]|0;
    50561       $2452 = $12;
    50562       $2453 = ((($2452)) + -12|0);
    50563       $2454 = HEAP32[$2453>>2]|0;
    50564       $2455 = $12;
    50565       $2456 = ((($2455)) + -4|0);
    50566       $2457 = HEAP32[$2456>>2]|0;
    50567       $2458 = $12;
    50568       $2459 = HEAP32[$2458>>2]|0;
    50569       $2460 = (_new_args($2448,$2451,$2454,0,$2457,$2459)|0);
    50570       HEAP32[$17>>2] = $2460;
    50571       break;
    50572      }
    50573      case 353:  {
    50574       $2461 = $1;
    50575       $2462 = $12;
    50576       $2463 = ((($2462)) + -12|0);
    50577       $2464 = HEAP32[$2463>>2]|0;
    50578       $2465 = $12;
    50579       $2466 = ((($2465)) + -4|0);
    50580       $2467 = HEAP32[$2466>>2]|0;
    50581       $2468 = $12;
    50582       $2469 = HEAP32[$2468>>2]|0;
    50583       $2470 = (_new_args($2461,$2464,0,$2467,0,$2469)|0);
    50584       HEAP32[$17>>2] = $2470;
    50585       break;
    50586      }
    50587      case 354:  {
    50588       $2471 = $1;
    50589       $2472 = $12;
    50590       $2473 = ((($2472)) + -4|0);
    50591       $2474 = HEAP32[$2473>>2]|0;
    50592       $2475 = (_new_args($2471,$2474,0,1,0,0)|0);
    50593       HEAP32[$17>>2] = $2475;
    50594       break;
    50595      }
    50596      case 355:  {
    50597       $2476 = $1;
    50598       $2477 = $12;
    50599       $2478 = ((($2477)) + -20|0);
    50600       $2479 = HEAP32[$2478>>2]|0;
    50601       $2480 = $12;
    50602       $2481 = ((($2480)) + -12|0);
    50603       $2482 = HEAP32[$2481>>2]|0;
    50604       $2483 = $12;
    50605       $2484 = ((($2483)) + -4|0);
    50606       $2485 = HEAP32[$2484>>2]|0;
    50607       $2486 = $12;
    50608       $2487 = HEAP32[$2486>>2]|0;
    50609       $2488 = (_new_args($2476,$2479,0,$2482,$2485,$2487)|0);
    50610       HEAP32[$17>>2] = $2488;
    50611       break;
    50612      }
    50613      case 356:  {
    50614       $2489 = $1;
    50615       $2490 = $12;
    50616       $2491 = ((($2490)) + -4|0);
    50617       $2492 = HEAP32[$2491>>2]|0;
    50618       $2493 = $12;
    50619       $2494 = HEAP32[$2493>>2]|0;
    50620       $2495 = (_new_args($2489,$2492,0,0,0,$2494)|0);
    50621       HEAP32[$17>>2] = $2495;
    50622       break;
    50623      }
    50624      case 357:  {
    50625       $2496 = $1;
    50626       $2497 = $12;
    50627       $2498 = ((($2497)) + -12|0);
    50628       $2499 = HEAP32[$2498>>2]|0;
    50629       $2500 = $12;
    50630       $2501 = ((($2500)) + -4|0);
    50631       $2502 = HEAP32[$2501>>2]|0;
    50632       $2503 = $12;
    50633       $2504 = HEAP32[$2503>>2]|0;
    50634       $2505 = (_new_args($2496,0,$2499,$2502,0,$2504)|0);
    50635       HEAP32[$17>>2] = $2505;
    50636       break;
    50637      }
    50638      case 358:  {
    50639       $2506 = $1;
    50640       $2507 = $12;
    50641       $2508 = ((($2507)) + -20|0);
    50642       $2509 = HEAP32[$2508>>2]|0;
    50643       $2510 = $12;
    50644       $2511 = ((($2510)) + -12|0);
    50645       $2512 = HEAP32[$2511>>2]|0;
    50646       $2513 = $12;
    50647       $2514 = ((($2513)) + -4|0);
    50648       $2515 = HEAP32[$2514>>2]|0;
    50649       $2516 = $12;
    50650       $2517 = HEAP32[$2516>>2]|0;
    50651       $2518 = (_new_args($2506,0,$2509,$2512,$2515,$2517)|0);
    50652       HEAP32[$17>>2] = $2518;
    50653       break;
    50654      }
    50655      case 359:  {
    50656       $2519 = $1;
    50657       $2520 = $12;
    50658       $2521 = ((($2520)) + -4|0);
    50659       $2522 = HEAP32[$2521>>2]|0;
    50660       $2523 = $12;
    50661       $2524 = HEAP32[$2523>>2]|0;
    50662       $2525 = (_new_args($2519,0,$2522,0,0,$2524)|0);
    50663       HEAP32[$17>>2] = $2525;
    50664       break;
    50665      }
    50666      case 360:  {
    50667       $2526 = $1;
    50668       $2527 = $12;
    50669       $2528 = ((($2527)) + -12|0);
    50670       $2529 = HEAP32[$2528>>2]|0;
    50671       $2530 = $12;
    50672       $2531 = ((($2530)) + -4|0);
    50673       $2532 = HEAP32[$2531>>2]|0;
    50674       $2533 = $12;
    50675       $2534 = HEAP32[$2533>>2]|0;
    50676       $2535 = (_new_args($2526,0,$2529,0,$2532,$2534)|0);
    50677       HEAP32[$17>>2] = $2535;
    50678       break;
    50679      }
    50680      case 361:  {
    50681       $2536 = $1;
    50682       $2537 = $12;
    50683       $2538 = ((($2537)) + -4|0);
    50684       $2539 = HEAP32[$2538>>2]|0;
    50685       $2540 = $12;
    50686       $2541 = HEAP32[$2540>>2]|0;
    50687       $2542 = (_new_args($2536,0,0,$2539,0,$2541)|0);
    50688       HEAP32[$17>>2] = $2542;
    50689       break;
    50690      }
    50691      case 362:  {
    50692       $2543 = $1;
    50693       $2544 = $12;
    50694       $2545 = ((($2544)) + -12|0);
    50695       $2546 = HEAP32[$2545>>2]|0;
    50696       $2547 = $12;
    50697       $2548 = ((($2547)) + -4|0);
    50698       $2549 = HEAP32[$2548>>2]|0;
    50699       $2550 = $12;
    50700       $2551 = HEAP32[$2550>>2]|0;
    50701       $2552 = (_new_args($2543,0,0,$2546,$2549,$2551)|0);
    50702       HEAP32[$17>>2] = $2552;
    50703       break;
    50704      }
    50705      case 363:  {
    50706       $2553 = $1;
    50707       $2554 = $12;
    50708       $2555 = HEAP32[$2554>>2]|0;
    50709       $2556 = (_new_args($2553,0,0,0,0,$2555)|0);
    50710       HEAP32[$17>>2] = $2556;
    50711       break;
    50712      }
    50713      case 365:  {
    50714       $2557 = $1;
    50715       $2558 = ((($2557)) + 72|0);
    50716       $2559 = HEAP8[$2558>>0]|0;
    50717       $2560 = $2559 & -2;
    50718       $2561 = $2560 | 1;
    50719       HEAP8[$2558>>0] = $2561;
    50720       $2562 = $12;
    50721       $2563 = HEAP32[$2562>>2]|0;
    50722       HEAP32[$17>>2] = $2563;
    50723       break;
    50724      }
    50725      case 366:  {
    50726       HEAP32[$17>>2] = 0;
    50727       break;
    50728      }
    50729      case 367:  {
    50730       HEAP32[$17>>2] = 0;
    50731       break;
    50732      }
    50733      case 368:  {
    50734       $2564 = $12;
    50735       $2565 = ((($2564)) + -8|0);
    50736       $2566 = HEAP32[$2565>>2]|0;
    50737       HEAP32[$17>>2] = $2566;
    50738       break;
    50739      }
    50740      case 369:  {
    50741       HEAP32[$17>>2] = 0;
    50742       break;
    50743      }
    50744      case 370:  {
    50745       HEAP32[$17>>2] = 0;
    50746       break;
    50747      }
    50748      case 373:  {
    50749       $2567 = $1;
    50750       $2568 = $12;
    50751       $2569 = HEAP32[$2568>>2]|0;
    50752       _local_add_f($2567,$2569);
    50753       $2570 = $1;
    50754       $2571 = $12;
    50755       $2572 = HEAP32[$2571>>2]|0;
    50756       _new_bv($2570,$2572);
    50757       break;
    50758      }
    50759      case 375:  {
    50760       $2573 = $12;
    50761       $2574 = ((($2573)) + -8|0);
    50762       $2575 = HEAP32[$2574>>2]|0;
    50763       HEAP32[$17>>2] = $2575;
    50764       break;
    50765      }
    50766      case 376:  {
    50767       $2576 = $12;
    50768       $2577 = HEAP32[$2576>>2]|0;
    50769       HEAP32[$17>>2] = $2577;
    50770       break;
    50771      }
    50772      case 377:  {
    50773       $2578 = $12;
    50774       $2579 = ((($2578)) + -4|0);
    50775       $2580 = HEAP32[$2579>>2]|0;
    50776       HEAP32[$17>>2] = $2580;
    50777       break;
    50778      }
    50779      case 378:  {
    50780       $2581 = $12;
    50781       $2582 = ((($2581)) + -4|0);
    50782       $2583 = HEAP32[$2582>>2]|0;
    50783       HEAP32[$17>>2] = $2583;
    50784       break;
    50785      }
    50786      case 379:  {
    50787       $2584 = $1;
    50788       _local_nest($2584);
    50789       break;
    50790      }
    50791      case 380:  {
    50792       $2585 = $1;
    50793       $2586 = $12;
    50794       $2587 = ((($2586)) + -8|0);
    50795       $2588 = HEAP32[$2587>>2]|0;
    50796       $2589 = $12;
    50797       $2590 = ((($2589)) + -4|0);
    50798       $2591 = HEAP32[$2590>>2]|0;
    50799       $2592 = (_new_block($2585,$2588,$2591)|0);
    50800       HEAP32[$17>>2] = $2592;
    50801       $2593 = $1;
    50802       _local_unnest($2593);
    50803       break;
    50804      }
    50805      case 381:  {
    50806       $2594 = $12;
    50807       $2595 = ((($2594)) + -4|0);
    50808       $2596 = HEAP32[$2595>>2]|0;
    50809       $2597 = HEAP32[$2596>>2]|0;
    50810       $2598 = ($2597|0)==((38)|0);
    50811       $2599 = $1;
    50812       if ($2598) {
    50813        _yyerror($2599,59626);
    50814       } else {
    50815        $2600 = $12;
    50816        $2601 = ((($2600)) + -4|0);
    50817        $2602 = HEAP32[$2601>>2]|0;
    50818        $2603 = $12;
    50819        $2604 = HEAP32[$2603>>2]|0;
    50820        _call_with_block($2599,$2602,$2604);
    50821       }
    50822       $2605 = $12;
    50823       $2606 = ((($2605)) + -4|0);
    50824       $2607 = HEAP32[$2606>>2]|0;
    50825       HEAP32[$17>>2] = $2607;
    50826       break;
    50827      }
    50828      case 382:  {
    50829       $2608 = $1;
    50830       $2609 = $12;
    50831       $2610 = ((($2609)) + -12|0);
    50832       $2611 = HEAP32[$2610>>2]|0;
    50833       $2612 = $12;
    50834       $2613 = ((($2612)) + -4|0);
    50835       $2614 = HEAP32[$2613>>2]|0;
    50836       $2615 = $12;
    50837       $2616 = HEAP32[$2615>>2]|0;
    50838       $2617 = (_new_call($2608,$2611,$2614,$2616)|0);
    50839       HEAP32[$17>>2] = $2617;
    50840       break;
    50841      }
    50842      case 383:  {
    50843       $2618 = $1;
    50844       $2619 = $12;
    50845       $2620 = ((($2619)) + -16|0);
    50846       $2621 = HEAP32[$2620>>2]|0;
    50847       $2622 = $12;
    50848       $2623 = ((($2622)) + -8|0);
    50849       $2624 = HEAP32[$2623>>2]|0;
    50850       $2625 = $12;
    50851       $2626 = ((($2625)) + -4|0);
    50852       $2627 = HEAP32[$2626>>2]|0;
    50853       $2628 = (_new_call($2618,$2621,$2624,$2627)|0);
    50854       HEAP32[$17>>2] = $2628;
    50855       $2629 = $1;
    50856       $2630 = HEAP32[$17>>2]|0;
    50857       $2631 = $12;
    50858       $2632 = HEAP32[$2631>>2]|0;
    50859       _call_with_block($2629,$2630,$2632);
    50860       break;
    50861      }
    50862      case 384:  {
    50863       $2633 = $1;
    50864       $2634 = $12;
    50865       $2635 = ((($2634)) + -16|0);
    50866       $2636 = HEAP32[$2635>>2]|0;
    50867       $2637 = $12;
    50868       $2638 = ((($2637)) + -8|0);
    50869       $2639 = HEAP32[$2638>>2]|0;
    50870       $2640 = $12;
    50871       $2641 = ((($2640)) + -4|0);
    50872       $2642 = HEAP32[$2641>>2]|0;
    50873       $2643 = (_new_call($2633,$2636,$2639,$2642)|0);
    50874       HEAP32[$17>>2] = $2643;
    50875       $2644 = $1;
    50876       $2645 = HEAP32[$17>>2]|0;
    50877       $2646 = $12;
    50878       $2647 = HEAP32[$2646>>2]|0;
    50879       _call_with_block($2644,$2645,$2647);
    50880       break;
    50881      }
    50882      case 385:  {
    50883       $2648 = $1;
    50884       $2649 = $12;
    50885       $2650 = ((($2649)) + -4|0);
    50886       $2651 = HEAP32[$2650>>2]|0;
    50887       $2652 = $12;
    50888       $2653 = HEAP32[$2652>>2]|0;
    50889       $2654 = (_new_fcall($2648,$2651,$2653)|0);
    50890       HEAP32[$17>>2] = $2654;
    50891       break;
    50892      }
    50893      case 386:  {
    50894       $2655 = $1;
    50895       $2656 = $12;
    50896       $2657 = ((($2656)) + -12|0);
    50897       $2658 = HEAP32[$2657>>2]|0;
    50898       $2659 = $12;
    50899       $2660 = ((($2659)) + -4|0);
    50900       $2661 = HEAP32[$2660>>2]|0;
    50901       $2662 = $12;
    50902       $2663 = HEAP32[$2662>>2]|0;
    50903       $2664 = (_new_call($2655,$2658,$2661,$2663)|0);
    50904       HEAP32[$17>>2] = $2664;
    50905       break;
    50906      }
    50907      case 387:  {
    50908       $2665 = $1;
    50909       $2666 = $12;
    50910       $2667 = ((($2666)) + -12|0);
    50911       $2668 = HEAP32[$2667>>2]|0;
    50912       $2669 = $12;
    50913       $2670 = ((($2669)) + -4|0);
    50914       $2671 = HEAP32[$2670>>2]|0;
    50915       $2672 = $12;
    50916       $2673 = HEAP32[$2672>>2]|0;
    50917       $2674 = (_new_call($2665,$2668,$2671,$2673)|0);
    50918       HEAP32[$17>>2] = $2674;
    50919       break;
    50920      }
    50921      case 388:  {
    50922       $2675 = $1;
    50923       $2676 = $12;
    50924       $2677 = ((($2676)) + -8|0);
    50925       $2678 = HEAP32[$2677>>2]|0;
    50926       $2679 = $12;
    50927       $2680 = HEAP32[$2679>>2]|0;
    50928       $2681 = (_new_call($2675,$2678,$2680,0)|0);
    50929       HEAP32[$17>>2] = $2681;
    50930       break;
    50931      }
    50932      case 389:  {
    50933       $2682 = $1;
    50934       $2683 = $12;
    50935       $2684 = ((($2683)) + -8|0);
    50936       $2685 = HEAP32[$2684>>2]|0;
    50937       $2686 = $1;
    50938       $2687 = (_intern_gen($2686,69604,4)|0);
    50939       $2688 = $12;
    50940       $2689 = HEAP32[$2688>>2]|0;
    50941       $2690 = (_new_call($2682,$2685,$2687,$2689)|0);
    50942       HEAP32[$17>>2] = $2690;
    50943       break;
    50944      }
    50945      case 390:  {
    50946       $2691 = $1;
    50947       $2692 = $12;
    50948       $2693 = ((($2692)) + -8|0);
    50949       $2694 = HEAP32[$2693>>2]|0;
    50950       $2695 = $1;
    50951       $2696 = (_intern_gen($2695,69604,4)|0);
    50952       $2697 = $12;
    50953       $2698 = HEAP32[$2697>>2]|0;
    50954       $2699 = (_new_call($2691,$2694,$2696,$2698)|0);
    50955       HEAP32[$17>>2] = $2699;
    50956       break;
    50957      }
    50958      case 391:  {
    50959       $2700 = $1;
    50960       $2701 = $12;
    50961       $2702 = HEAP32[$2701>>2]|0;
    50962       $2703 = (_new_super($2700,$2702)|0);
    50963       HEAP32[$17>>2] = $2703;
    50964       break;
    50965      }
    50966      case 392:  {
    50967       $2704 = $1;
    50968       $2705 = (_new_zsuper($2704)|0);
    50969       HEAP32[$17>>2] = $2705;
    50970       break;
    50971      }
    50972      case 393:  {
    50973       $2706 = $1;
    50974       $2707 = $12;
    50975       $2708 = ((($2707)) + -12|0);
    50976       $2709 = HEAP32[$2708>>2]|0;
    50977       $2710 = $1;
    50978       $2711 = (_intern_gen($2710,69083,2)|0);
    50979       $2712 = $12;
    50980       $2713 = ((($2712)) + -4|0);
    50981       $2714 = HEAP32[$2713>>2]|0;
    50982       $2715 = (_new_call($2706,$2709,$2711,$2714)|0);
    50983       HEAP32[$17>>2] = $2715;
    50984       break;
    50985      }
    50986      case 394:  {
    50987       $2716 = $1;
    50988       _local_nest($2716);
    50989       $2717 = $1;
    50990       $2718 = ((($2717)) + 32|0);
    50991       $2719 = HEAP32[$2718>>2]|0;
    50992       HEAP32[$17>>2] = $2719;
    50993       break;
    50994      }
    50995      case 395:  {
    50996       $2720 = $1;
    50997       $2721 = $12;
    50998       $2722 = ((($2721)) + -8|0);
    50999       $2723 = HEAP32[$2722>>2]|0;
    51000       $2724 = $12;
    51001       $2725 = ((($2724)) + -4|0);
    51002       $2726 = HEAP32[$2725>>2]|0;
    51003       $2727 = (_new_block($2720,$2723,$2726)|0);
    51004       HEAP32[$17>>2] = $2727;
    51005       $2728 = $12;
    51006       $2729 = ((($2728)) + -12|0);
    51007       $2730 = HEAP32[$2729>>2]|0;
    51008       $2731 = $2730&65535;
    51009       $2732 = HEAP32[$17>>2]|0;
    51010       $2733 = ((($2732)) + 8|0);
    51011       HEAP16[$2733>>1] = $2731;
    51012       $2734 = $1;
    51013       _local_unnest($2734);
    51014       break;
    51015      }
    51016      case 396:  {
    51017       $2735 = $1;
    51018       _local_nest($2735);
    51019       $2736 = $1;
    51020       $2737 = ((($2736)) + 32|0);
    51021       $2738 = HEAP32[$2737>>2]|0;
    51022       HEAP32[$17>>2] = $2738;
    51023       break;
    51024      }
    51025      case 397:  {
    51026       $2739 = $1;
    51027       $2740 = $12;
    51028       $2741 = ((($2740)) + -8|0);
    51029       $2742 = HEAP32[$2741>>2]|0;
    51030       $2743 = $12;
    51031       $2744 = ((($2743)) + -4|0);
    51032       $2745 = HEAP32[$2744>>2]|0;
    51033       $2746 = (_new_block($2739,$2742,$2745)|0);
    51034       HEAP32[$17>>2] = $2746;
    51035       $2747 = $12;
    51036       $2748 = ((($2747)) + -12|0);
    51037       $2749 = HEAP32[$2748>>2]|0;
    51038       $2750 = $2749&65535;
    51039       $2751 = HEAP32[$17>>2]|0;
    51040       $2752 = ((($2751)) + 8|0);
    51041       HEAP16[$2752>>1] = $2750;
    51042       $2753 = $1;
    51043       _local_unnest($2753);
    51044       break;
    51045      }
    51046      case 398:  {
    51047       $2754 = $1;
    51048       $2755 = $1;
    51049       $2756 = $12;
    51050       $2757 = ((($2756)) + -12|0);
    51051       $2758 = HEAP32[$2757>>2]|0;
    51052       $2759 = $12;
    51053       $2760 = ((($2759)) + -4|0);
    51054       $2761 = HEAP32[$2760>>2]|0;
    51055       $2762 = (_cons_gen($2755,$2758,$2761)|0);
    51056       $2763 = $12;
    51057       $2764 = HEAP32[$2763>>2]|0;
    51058       $2765 = (_cons_gen($2754,$2762,$2764)|0);
    51059       HEAP32[$17>>2] = $2765;
    51060       break;
    51061      }
    51062      case 399:  {
    51063       $2766 = $12;
    51064       $2767 = HEAP32[$2766>>2]|0;
    51065       $2768 = ($2767|0)!=(0|0);
    51066       if ($2768) {
    51067        $2769 = $1;
    51068        $2770 = $1;
    51069        $2771 = $12;
    51070        $2772 = HEAP32[$2771>>2]|0;
    51071        $2773 = (_cons_gen($2770,0,$2772)|0);
    51072        $2774 = (_cons_gen($2769,$2773,0)|0);
    51073        $$sink9 = $2774;
    51074       } else {
    51075        $$sink9 = 0;
    51076       }
    51077       HEAP32[$17>>2] = $$sink9;
    51078       break;
    51079      }
    51080      case 401:  {
    51081       $2775 = $1;
    51082       $2776 = $1;
    51083       $2777 = $12;
    51084       $2778 = ((($2777)) + -16|0);
    51085       $2779 = HEAP32[$2778>>2]|0;
    51086       $2780 = $12;
    51087       $2781 = ((($2780)) + -12|0);
    51088       $2782 = HEAP32[$2781>>2]|0;
    51089       $2783 = $12;
    51090       $2784 = ((($2783)) + -4|0);
    51091       $2785 = HEAP32[$2784>>2]|0;
    51092       $2786 = (_list3_gen($2776,$2779,$2782,$2785)|0);
    51093       $2787 = (_list1_gen($2775,$2786)|0);
    51094       HEAP32[$17>>2] = $2787;
    51095       $2788 = $12;
    51096       $2789 = HEAP32[$2788>>2]|0;
    51097       $2790 = ($2789|0)!=(0|0);
    51098       if ($2790) {
    51099        $2791 = $1;
    51100        $2792 = HEAP32[$17>>2]|0;
    51101        $2793 = $12;
    51102        $2794 = HEAP32[$2793>>2]|0;
    51103        $2795 = (_append_gen($2791,$2792,$2794)|0);
    51104        HEAP32[$17>>2] = $2795;
    51105       }
    51106       break;
    51107      }
    51108      case 403:  {
    51109       $2796 = $1;
    51110       $2797 = $12;
    51111       $2798 = HEAP32[$2797>>2]|0;
    51112       $2799 = (_list1_gen($2796,$2798)|0);
    51113       HEAP32[$17>>2] = $2799;
    51114       break;
    51115      }
    51116      case 406:  {
    51117       $2800 = $12;
    51118       $2801 = HEAP32[$2800>>2]|0;
    51119       HEAP32[$17>>2] = $2801;
    51120       break;
    51121      }
    51122      case 408:  {
    51123       $2802 = $12;
    51124       $2803 = HEAP32[$2802>>2]|0;
    51125       HEAP32[$17>>2] = $2803;
    51126       break;
    51127      }
    51128      case 416:  {
    51129       $2804 = $12;
    51130       $2805 = HEAP32[$2804>>2]|0;
    51131       HEAP32[$17>>2] = $2805;
    51132       break;
    51133      }
    51134      case 417:  {
    51135       $2806 = $1;
    51136       $2807 = $1;
    51137       $2808 = $12;
    51138       $2809 = ((($2808)) + -4|0);
    51139       $2810 = HEAP32[$2809>>2]|0;
    51140       $2811 = $1;
    51141       $2812 = $12;
    51142       $2813 = HEAP32[$2812>>2]|0;
    51143       $2814 = (_list1_gen($2811,$2813)|0);
    51144       $2815 = (_append_gen($2807,$2810,$2814)|0);
    51145       $2816 = (_new_dstr($2806,$2815)|0);
    51146       HEAP32[$17>>2] = $2816;
    51147       break;
    51148      }
    51149      case 419:  {
    51150       $2817 = $1;
    51151       $2818 = $12;
    51152       $2819 = ((($2818)) + -4|0);
    51153       $2820 = HEAP32[$2819>>2]|0;
    51154       $2821 = $12;
    51155       $2822 = HEAP32[$2821>>2]|0;
    51156       $2823 = (_append_gen($2817,$2820,$2822)|0);
    51157       HEAP32[$17>>2] = $2823;
    51158       break;
    51159      }
    51160      case 420:  {
    51161       $2824 = $1;
    51162       $2825 = $12;
    51163       $2826 = HEAP32[$2825>>2]|0;
    51164       $2827 = (_list1_gen($2824,$2826)|0);
    51165       HEAP32[$17>>2] = $2827;
    51166       break;
    51167      }
    51168      case 421:  {
    51169       $2828 = $1;
    51170       $2829 = ((($2828)) + 44|0);
    51171       $2830 = HEAP32[$2829>>2]|0;
    51172       HEAP32[$17>>2] = $2830;
    51173       $2831 = $1;
    51174       $2832 = ((($2831)) + 44|0);
    51175       HEAP32[$2832>>2] = 0;
    51176       break;
    51177      }
    51178      case 422:  {
    51179       $2833 = $12;
    51180       $2834 = ((($2833)) + -8|0);
    51181       $2835 = HEAP32[$2834>>2]|0;
    51182       $2836 = $1;
    51183       $2837 = ((($2836)) + 44|0);
    51184       HEAP32[$2837>>2] = $2835;
    51185       $2838 = $1;
    51186       $2839 = $12;
    51187       $2840 = ((($2839)) + -12|0);
    51188       $2841 = HEAP32[$2840>>2]|0;
    51189       $2842 = $12;
    51190       $2843 = ((($2842)) + -4|0);
    51191       $2844 = HEAP32[$2843>>2]|0;
    51192       $2845 = (_list2_gen($2838,$2841,$2844)|0);
    51193       HEAP32[$17>>2] = $2845;
    51194       break;
    51195      }
    51196      case 423:  {
    51197       $2846 = $1;
    51198       $2847 = $1;
    51199       $2848 = (_new_literal_delim($2847)|0);
    51200       $2849 = (_list1_gen($2846,$2848)|0);
    51201       HEAP32[$17>>2] = $2849;
    51202       break;
    51203      }
    51204      case 424:  {
    51205       $2850 = $1;
    51206       $2851 = $1;
    51207       $2852 = (_new_literal_delim($2851)|0);
    51208       $2853 = (_list1_gen($2850,$2852)|0);
    51209       HEAP32[$17>>2] = $2853;
    51210       break;
    51211      }
    51212      case 425:  {
    51213       $2854 = $12;
    51214       $2855 = HEAP32[$2854>>2]|0;
    51215       HEAP32[$17>>2] = $2855;
    51216       break;
    51217      }
    51218      case 426:  {
    51219       $2856 = $1;
    51220       $2857 = $1;
    51221       $2858 = $12;
    51222       $2859 = ((($2858)) + -4|0);
    51223       $2860 = HEAP32[$2859>>2]|0;
    51224       $2861 = $1;
    51225       $2862 = $12;
    51226       $2863 = HEAP32[$2862>>2]|0;
    51227       $2864 = (_list1_gen($2861,$2863)|0);
    51228       $2865 = (_append_gen($2857,$2860,$2864)|0);
    51229       $2866 = (_new_dxstr($2856,$2865)|0);
    51230       HEAP32[$17>>2] = $2866;
    51231       break;
    51232      }
    51233      case 427:  {
    51234       $2867 = $12;
    51235       $2868 = HEAP32[$2867>>2]|0;
    51236       HEAP32[$17>>2] = $2868;
    51237       break;
    51238      }
    51239      case 428:  {
    51240       $2869 = $1;
    51241       $2870 = $12;
    51242       $2871 = ((($2870)) + -4|0);
    51243       $2872 = HEAP32[$2871>>2]|0;
    51244       $2873 = $12;
    51245       $2874 = HEAP32[$2873>>2]|0;
    51246       $2875 = (_new_dregx($2869,$2872,$2874)|0);
    51247       HEAP32[$17>>2] = $2875;
    51248       break;
    51249      }
    51250      case 434:  {
    51251       $2876 = $1;
    51252       $2877 = (_parsing_heredoc_inf($2876)|0);
    51253       $27 = $2877;
    51254       $2878 = $1;
    51255       $2879 = $27;
    51256       $2880 = ((($2879)) + 16|0);
    51257       $2881 = HEAP32[$2880>>2]|0;
    51258       $2882 = $1;
    51259       $2883 = $1;
    51260       $2884 = (_new_str($2883,75764,0)|0);
    51261       $2885 = (_list1_gen($2882,$2884)|0);
    51262       $2886 = (_append_gen($2878,$2881,$2885)|0);
    51263       $2887 = $27;
    51264       $2888 = ((($2887)) + 16|0);
    51265       HEAP32[$2888>>2] = $2886;
    51266       $2889 = $1;
    51267       _heredoc_end($2889);
    51268       break;
    51269      }
    51270      case 435:  {
    51271       $2890 = $1;
    51272       _heredoc_end($2890);
    51273       break;
    51274      }
    51275      case 438:  {
    51276       $2891 = $1;
    51277       $2892 = (_parsing_heredoc_inf($2891)|0);
    51278       $28 = $2892;
    51279       $2893 = $1;
    51280       $2894 = $28;
    51281       $2895 = ((($2894)) + 16|0);
    51282       $2896 = HEAP32[$2895>>2]|0;
    51283       $2897 = $1;
    51284       $2898 = $12;
    51285       $2899 = HEAP32[$2898>>2]|0;
    51286       $2900 = (_list1_gen($2897,$2899)|0);
    51287       $2901 = (_append_gen($2893,$2896,$2900)|0);
    51288       $2902 = $28;
    51289       $2903 = ((($2902)) + 16|0);
    51290       HEAP32[$2903>>2] = $2901;
    51291       $2904 = $1;
    51292       _heredoc_treat_nextline($2904);
    51293       break;
    51294      }
    51295      case 439:  {
    51296       $2905 = $1;
    51297       $2906 = ((($2905)) + 44|0);
    51298       $2907 = HEAP32[$2906>>2]|0;
    51299       HEAP32[$17>>2] = $2907;
    51300       $2908 = $1;
    51301       $2909 = ((($2908)) + 44|0);
    51302       HEAP32[$2909>>2] = 0;
    51303       break;
    51304      }
    51305      case 440:  {
    51306       $2910 = $1;
    51307       $2911 = (_parsing_heredoc_inf($2910)|0);
    51308       $29 = $2911;
    51309       $2912 = $12;
    51310       $2913 = ((($2912)) + -8|0);
    51311       $2914 = HEAP32[$2913>>2]|0;
    51312       $2915 = $1;
    51313       $2916 = ((($2915)) + 44|0);
    51314       HEAP32[$2916>>2] = $2914;
    51315       $2917 = $1;
    51316       $2918 = $1;
    51317       $2919 = $29;
    51318       $2920 = ((($2919)) + 16|0);
    51319       $2921 = HEAP32[$2920>>2]|0;
    51320       $2922 = $1;
    51321       $2923 = $12;
    51322       $2924 = ((($2923)) + -12|0);
    51323       $2925 = HEAP32[$2924>>2]|0;
    51324       $2926 = (_list1_gen($2922,$2925)|0);
    51325       $2927 = (_append_gen($2918,$2921,$2926)|0);
    51326       $2928 = $1;
    51327       $2929 = $12;
    51328       $2930 = ((($2929)) + -4|0);
    51329       $2931 = HEAP32[$2930>>2]|0;
    51330       $2932 = (_list1_gen($2928,$2931)|0);
    51331       $2933 = (_append_gen($2917,$2927,$2932)|0);
    51332       $2934 = $29;
    51333       $2935 = ((($2934)) + 16|0);
    51334       HEAP32[$2935>>2] = $2933;
    51335       break;
    51336      }
    51337      case 441:  {
    51338       $2936 = $1;
    51339       $2937 = $1;
    51340       $2938 = $12;
    51341       $2939 = HEAP32[$2938>>2]|0;
    51342       $2940 = (_list1_gen($2937,$2939)|0);
    51343       $2941 = (_new_words($2936,$2940)|0);
    51344       HEAP32[$17>>2] = $2941;
    51345       break;
    51346      }
    51347      case 442:  {
    51348       $2942 = $1;
    51349       $2943 = $1;
    51350       $2944 = $12;
    51351       $2945 = ((($2944)) + -4|0);
    51352       $2946 = HEAP32[$2945>>2]|0;
    51353       $2947 = $1;
    51354       $2948 = $12;
    51355       $2949 = HEAP32[$2948>>2]|0;
    51356       $2950 = (_list1_gen($2947,$2949)|0);
    51357       $2951 = (_append_gen($2943,$2946,$2950)|0);
    51358       $2952 = (_new_words($2942,$2951)|0);
    51359       HEAP32[$17>>2] = $2952;
    51360       break;
    51361      }
    51362      case 443:  {
    51363       $2953 = $1;
    51364       $2954 = $12;
    51365       $2955 = HEAP32[$2954>>2]|0;
    51366       $2956 = (_new_sym($2953,$2955)|0);
    51367       HEAP32[$17>>2] = $2956;
    51368       break;
    51369      }
    51370      case 444:  {
    51371       $2957 = $1;
    51372       $2958 = ((($2957)) + 40|0);
    51373       HEAP32[$2958>>2] = 1;
    51374       $2959 = $1;
    51375       $2960 = $1;
    51376       $2961 = $12;
    51377       $2962 = ((($2961)) + -4|0);
    51378       $2963 = HEAP32[$2962>>2]|0;
    51379       $2964 = $1;
    51380       $2965 = $12;
    51381       $2966 = HEAP32[$2965>>2]|0;
    51382       $2967 = (_list1_gen($2964,$2966)|0);
    51383       $2968 = (_append_gen($2960,$2963,$2967)|0);
    51384       $2969 = (_new_dsym($2959,$2968)|0);
    51385       HEAP32[$17>>2] = $2969;
    51386       break;
    51387      }
    51388      case 445:  {
    51389       $2970 = $1;
    51390       $2971 = ((($2970)) + 40|0);
    51391       HEAP32[$2971>>2] = 1;
    51392       $2972 = $12;
    51393       $2973 = HEAP32[$2972>>2]|0;
    51394       HEAP32[$17>>2] = $2973;
    51395       break;
    51396      }
    51397      case 450:  {
    51398       $2974 = $1;
    51399       $2975 = $12;
    51400       $2976 = HEAP32[$2975>>2]|0;
    51401       $2977 = (_new_strsym($2974,$2976)|0);
    51402       HEAP32[$17>>2] = $2977;
    51403       break;
    51404      }
    51405      case 451:  {
    51406       $2978 = $1;
    51407       $2979 = $12;
    51408       $2980 = HEAP32[$2979>>2]|0;
    51409       $2981 = (_new_strsym($2978,$2980)|0);
    51410       HEAP32[$17>>2] = $2981;
    51411       break;
    51412      }
    51413      case 452:  {
    51414       $2982 = $1;
    51415       $2983 = $1;
    51416       $2984 = $12;
    51417       $2985 = HEAP32[$2984>>2]|0;
    51418       $2986 = (_list1_gen($2983,$2985)|0);
    51419       $2987 = (_new_symbols($2982,$2986)|0);
    51420       HEAP32[$17>>2] = $2987;
    51421       break;
    51422      }
    51423      case 453:  {
    51424       $2988 = $1;
    51425       $2989 = $1;
    51426       $2990 = $12;
    51427       $2991 = ((($2990)) + -4|0);
    51428       $2992 = HEAP32[$2991>>2]|0;
    51429       $2993 = $1;
    51430       $2994 = $12;
    51431       $2995 = HEAP32[$2994>>2]|0;
    51432       $2996 = (_list1_gen($2993,$2995)|0);
    51433       $2997 = (_append_gen($2989,$2992,$2996)|0);
    51434       $2998 = (_new_symbols($2988,$2997)|0);
    51435       HEAP32[$17>>2] = $2998;
    51436       break;
    51437      }
    51438      case 456:  {
    51439       $2999 = $1;
    51440       $3000 = $12;
    51441       $3001 = HEAP32[$3000>>2]|0;
    51442       $3002 = (_negate_lit($2999,$3001)|0);
    51443       HEAP32[$17>>2] = $3002;
    51444       break;
    51445      }
    51446      case 457:  {
    51447       $3003 = $1;
    51448       $3004 = $12;
    51449       $3005 = HEAP32[$3004>>2]|0;
    51450       $3006 = (_negate_lit($3003,$3005)|0);
    51451       HEAP32[$17>>2] = $3006;
    51452       break;
    51453      }
    51454      case 458:  {
    51455       $3007 = $1;
    51456       $3008 = $12;
    51457       $3009 = HEAP32[$3008>>2]|0;
    51458       $3010 = (_new_lvar($3007,$3009)|0);
    51459       HEAP32[$17>>2] = $3010;
    51460       break;
    51461      }
    51462      case 459:  {
    51463       $3011 = $1;
    51464       $3012 = $12;
    51465       $3013 = HEAP32[$3012>>2]|0;
    51466       $3014 = (_new_ivar($3011,$3013)|0);
    51467       HEAP32[$17>>2] = $3014;
    51468       break;
    51469      }
    51470      case 460:  {
    51471       $3015 = $1;
    51472       $3016 = $12;
    51473       $3017 = HEAP32[$3016>>2]|0;
    51474       $3018 = (_new_gvar($3015,$3017)|0);
    51475       HEAP32[$17>>2] = $3018;
    51476       break;
    51477      }
    51478      case 461:  {
    51479       $3019 = $1;
    51480       $3020 = $12;
    51481       $3021 = HEAP32[$3020>>2]|0;
    51482       $3022 = (_new_cvar($3019,$3021)|0);
    51483       HEAP32[$17>>2] = $3022;
    51484       break;
    51485      }
    51486      case 462:  {
    51487       $3023 = $1;
    51488       $3024 = $12;
    51489       $3025 = HEAP32[$3024>>2]|0;
    51490       $3026 = (_new_const($3023,$3025)|0);
    51491       HEAP32[$17>>2] = $3026;
    51492       break;
    51493      }
    51494      case 463:  {
    51495       $3027 = $1;
    51496       $3028 = $12;
    51497       $3029 = HEAP32[$3028>>2]|0;
    51498       _assignable($3027,$3029);
    51499       break;
    51500      }
    51501      case 464:  {
    51502       $3030 = $1;
    51503       $3031 = $12;
    51504       $3032 = HEAP32[$3031>>2]|0;
    51505       $3033 = (_var_reference($3030,$3032)|0);
    51506       HEAP32[$17>>2] = $3033;
    51507       break;
    51508      }
    51509      case 465:  {
    51510       $3034 = $1;
    51511       $3035 = (_new_nil($3034)|0);
    51512       HEAP32[$17>>2] = $3035;
    51513       break;
    51514      }
    51515      case 466:  {
    51516       $3036 = $1;
    51517       $3037 = (_new_self($3036)|0);
    51518       HEAP32[$17>>2] = $3037;
    51519       break;
    51520      }
    51521      case 467:  {
    51522       $3038 = $1;
    51523       $3039 = (_new_true($3038)|0);
    51524       HEAP32[$17>>2] = $3039;
    51525       break;
    51526      }
    51527      case 468:  {
    51528       $3040 = $1;
    51529       $3041 = (_new_false($3040)|0);
    51530       HEAP32[$17>>2] = $3041;
    51531       break;
    51532      }
    51533      case 469:  {
    51534       $3042 = $1;
    51535       $3043 = ((($3042)) + 28|0);
    51536       $3044 = HEAP32[$3043>>2]|0;
    51537       $3045 = ($3044|0)!=(0|0);
    51538       if (!($3045)) {
    51539        $3046 = $1;
    51540        $3047 = ((($3046)) + 28|0);
    51541        HEAP32[$3047>>2] = 70729;
    51542       }
    51543       $3048 = $1;
    51544       $3049 = $1;
    51545       $3050 = ((($3049)) + 28|0);
    51546       $3051 = HEAP32[$3050>>2]|0;
    51547       $3052 = $1;
    51548       $3053 = ((($3052)) + 28|0);
    51549       $3054 = HEAP32[$3053>>2]|0;
    51550       $3055 = (_strlen($3054)|0);
    51551       $3056 = (_new_str($3048,$3051,$3055)|0);
    51552       HEAP32[$17>>2] = $3056;
    51553       break;
    51554      }
    51555      case 470:  {
    51556       $3057 = $1;
    51557       $3058 = ((($3057)) + 32|0);
    51558       $3059 = HEAP32[$3058>>2]|0;
    51559       HEAP32[$vararg_buffer>>2] = $3059;
    51560       (_snprintf($30,16,59647,$vararg_buffer)|0);
    51561       $3060 = $1;
    51562       $3061 = (_new_int($3060,$30,10)|0);
    51563       HEAP32[$17>>2] = $3061;
    51564       break;
    51565      }
    51566      case 473:  {
    51567       HEAP32[$17>>2] = 0;
    51568       break;
    51569      }
    51570      case 474:  {
    51571       $3062 = $1;
    51572       $3063 = ((($3062)) + 40|0);
    51573       HEAP32[$3063>>2] = 0;
    51574       $3064 = $1;
    51575       $3065 = ((($3064)) + 72|0);
    51576       $3066 = HEAP8[$3065>>0]|0;
    51577       $3067 = $3066 & -2;
    51578       $3068 = $3067 | 1;
    51579       HEAP8[$3065>>0] = $3068;
    51580       break;
    51581      }
    51582      case 475:  {
    51583       $3069 = $12;
    51584       $3070 = ((($3069)) + -4|0);
    51585       $3071 = HEAP32[$3070>>2]|0;
    51586       HEAP32[$17>>2] = $3071;
    51587       break;
    51588      }
    51589      case 476:  {
    51590       $3072 = $12;
    51591       $3073 = ((($3072)) + -4|0);
    51592       $3074 = HEAP32[$3073>>2]|0;
    51593       HEAP32[$17>>2] = $3074;
    51594       $3075 = $1;
    51595       $3076 = ((($3075)) + 40|0);
    51596       HEAP32[$3076>>2] = 0;
    51597       $3077 = $1;
    51598       $3078 = ((($3077)) + 72|0);
    51599       $3079 = HEAP8[$3078>>0]|0;
    51600       $3080 = $3079 & -2;
    51601       $3081 = $3080 | 1;
    51602       HEAP8[$3078>>0] = $3081;
    51603       break;
    51604      }
    51605      case 477:  {
    51606       $3082 = $12;
    51607       $3083 = ((($3082)) + -4|0);
    51608       $3084 = HEAP32[$3083>>2]|0;
    51609       HEAP32[$17>>2] = $3084;
    51610       break;
    51611      }
    51612      case 478:  {
    51613       $3085 = $1;
    51614       $3086 = $12;
    51615       $3087 = ((($3086)) + -20|0);
    51616       $3088 = HEAP32[$3087>>2]|0;
    51617       $3089 = $12;
    51618       $3090 = ((($3089)) + -12|0);
    51619       $3091 = HEAP32[$3090>>2]|0;
    51620       $3092 = $12;
    51621       $3093 = ((($3092)) + -4|0);
    51622       $3094 = HEAP32[$3093>>2]|0;
    51623       $3095 = $12;
    51624       $3096 = HEAP32[$3095>>2]|0;
    51625       $3097 = (_new_args($3085,$3088,$3091,$3094,0,$3096)|0);
    51626       HEAP32[$17>>2] = $3097;
    51627       break;
    51628      }
    51629      case 479:  {
    51630       $3098 = $1;
    51631       $3099 = $12;
    51632       $3100 = ((($3099)) + -28|0);
    51633       $3101 = HEAP32[$3100>>2]|0;
    51634       $3102 = $12;
    51635       $3103 = ((($3102)) + -20|0);
    51636       $3104 = HEAP32[$3103>>2]|0;
    51637       $3105 = $12;
    51638       $3106 = ((($3105)) + -12|0);
    51639       $3107 = HEAP32[$3106>>2]|0;
    51640       $3108 = $12;
    51641       $3109 = ((($3108)) + -4|0);
    51642       $3110 = HEAP32[$3109>>2]|0;
    51643       $3111 = $12;
    51644       $3112 = HEAP32[$3111>>2]|0;
    51645       $3113 = (_new_args($3098,$3101,$3104,$3107,$3110,$3112)|0);
    51646       HEAP32[$17>>2] = $3113;
    51647       break;
    51648      }
    51649      case 480:  {
    51650       $3114 = $1;
    51651       $3115 = $12;
    51652       $3116 = ((($3115)) + -12|0);
    51653       $3117 = HEAP32[$3116>>2]|0;
    51654       $3118 = $12;
    51655       $3119 = ((($3118)) + -4|0);
    51656       $3120 = HEAP32[$3119>>2]|0;
    51657       $3121 = $12;
    51658       $3122 = HEAP32[$3121>>2]|0;
    51659       $3123 = (_new_args($3114,$3117,$3120,0,0,$3122)|0);
    51660       HEAP32[$17>>2] = $3123;
    51661       break;
    51662      }
    51663      case 481:  {
    51664       $3124 = $1;
    51665       $3125 = $12;
    51666       $3126 = ((($3125)) + -20|0);
    51667       $3127 = HEAP32[$3126>>2]|0;
    51668       $3128 = $12;
    51669       $3129 = ((($3128)) + -12|0);
    51670       $3130 = HEAP32[$3129>>2]|0;
    51671       $3131 = $12;
    51672       $3132 = ((($3131)) + -4|0);
    51673       $3133 = HEAP32[$3132>>2]|0;
    51674       $3134 = $12;
    51675       $3135 = HEAP32[$3134>>2]|0;
    51676       $3136 = (_new_args($3124,$3127,$3130,0,$3133,$3135)|0);
    51677       HEAP32[$17>>2] = $3136;
    51678       break;
    51679      }
    51680      case 482:  {
    51681       $3137 = $1;
    51682       $3138 = $12;
    51683       $3139 = ((($3138)) + -12|0);
    51684       $3140 = HEAP32[$3139>>2]|0;
    51685       $3141 = $12;
    51686       $3142 = ((($3141)) + -4|0);
    51687       $3143 = HEAP32[$3142>>2]|0;
    51688       $3144 = $12;
    51689       $3145 = HEAP32[$3144>>2]|0;
    51690       $3146 = (_new_args($3137,$3140,0,$3143,0,$3145)|0);
    51691       HEAP32[$17>>2] = $3146;
    51692       break;
    51693      }
    51694      case 483:  {
    51695       $3147 = $1;
    51696       $3148 = $12;
    51697       $3149 = ((($3148)) + -20|0);
    51698       $3150 = HEAP32[$3149>>2]|0;
    51699       $3151 = $12;
    51700       $3152 = ((($3151)) + -12|0);
    51701       $3153 = HEAP32[$3152>>2]|0;
    51702       $3154 = $12;
    51703       $3155 = ((($3154)) + -4|0);
    51704       $3156 = HEAP32[$3155>>2]|0;
    51705       $3157 = $12;
    51706       $3158 = HEAP32[$3157>>2]|0;
    51707       $3159 = (_new_args($3147,$3150,0,$3153,$3156,$3158)|0);
    51708       HEAP32[$17>>2] = $3159;
    51709       break;
    51710      }
    51711      case 484:  {
    51712       $3160 = $1;
    51713       $3161 = $12;
    51714       $3162 = ((($3161)) + -4|0);
    51715       $3163 = HEAP32[$3162>>2]|0;
    51716       $3164 = $12;
    51717       $3165 = HEAP32[$3164>>2]|0;
    51718       $3166 = (_new_args($3160,$3163,0,0,0,$3165)|0);
    51719       HEAP32[$17>>2] = $3166;
    51720       break;
    51721      }
    51722      case 485:  {
    51723       $3167 = $1;
    51724       $3168 = $12;
    51725       $3169 = ((($3168)) + -12|0);
    51726       $3170 = HEAP32[$3169>>2]|0;
    51727       $3171 = $12;
    51728       $3172 = ((($3171)) + -4|0);
    51729       $3173 = HEAP32[$3172>>2]|0;
    51730       $3174 = $12;
    51731       $3175 = HEAP32[$3174>>2]|0;
    51732       $3176 = (_new_args($3167,0,$3170,$3173,0,$3175)|0);
    51733       HEAP32[$17>>2] = $3176;
    51734       break;
    51735      }
    51736      case 486:  {
    51737       $3177 = $1;
    51738       $3178 = $12;
    51739       $3179 = ((($3178)) + -20|0);
    51740       $3180 = HEAP32[$3179>>2]|0;
    51741       $3181 = $12;
    51742       $3182 = ((($3181)) + -12|0);
    51743       $3183 = HEAP32[$3182>>2]|0;
    51744       $3184 = $12;
    51745       $3185 = ((($3184)) + -4|0);
    51746       $3186 = HEAP32[$3185>>2]|0;
    51747       $3187 = $12;
    51748       $3188 = HEAP32[$3187>>2]|0;
    51749       $3189 = (_new_args($3177,0,$3180,$3183,$3186,$3188)|0);
    51750       HEAP32[$17>>2] = $3189;
    51751       break;
    51752      }
    51753      case 487:  {
    51754       $3190 = $1;
    51755       $3191 = $12;
    51756       $3192 = ((($3191)) + -4|0);
    51757       $3193 = HEAP32[$3192>>2]|0;
    51758       $3194 = $12;
    51759       $3195 = HEAP32[$3194>>2]|0;
    51760       $3196 = (_new_args($3190,0,$3193,0,0,$3195)|0);
    51761       HEAP32[$17>>2] = $3196;
    51762       break;
    51763      }
    51764      case 488:  {
    51765       $3197 = $1;
    51766       $3198 = $12;
    51767       $3199 = ((($3198)) + -12|0);
    51768       $3200 = HEAP32[$3199>>2]|0;
    51769       $3201 = $12;
    51770       $3202 = ((($3201)) + -4|0);
    51771       $3203 = HEAP32[$3202>>2]|0;
    51772       $3204 = $12;
    51773       $3205 = HEAP32[$3204>>2]|0;
    51774       $3206 = (_new_args($3197,0,$3200,0,$3203,$3205)|0);
    51775       HEAP32[$17>>2] = $3206;
    51776       break;
    51777      }
    51778      case 489:  {
    51779       $3207 = $1;
    51780       $3208 = $12;
    51781       $3209 = ((($3208)) + -4|0);
    51782       $3210 = HEAP32[$3209>>2]|0;
    51783       $3211 = $12;
    51784       $3212 = HEAP32[$3211>>2]|0;
    51785       $3213 = (_new_args($3207,0,0,$3210,0,$3212)|0);
    51786       HEAP32[$17>>2] = $3213;
    51787       break;
    51788      }
    51789      case 490:  {
    51790       $3214 = $1;
    51791       $3215 = $12;
    51792       $3216 = ((($3215)) + -12|0);
    51793       $3217 = HEAP32[$3216>>2]|0;
    51794       $3218 = $12;
    51795       $3219 = ((($3218)) + -4|0);
    51796       $3220 = HEAP32[$3219>>2]|0;
    51797       $3221 = $12;
    51798       $3222 = HEAP32[$3221>>2]|0;
    51799       $3223 = (_new_args($3214,0,0,$3217,$3220,$3222)|0);
    51800       HEAP32[$17>>2] = $3223;
    51801       break;
    51802      }
    51803      case 491:  {
    51804       $3224 = $1;
    51805       $3225 = $12;
    51806       $3226 = HEAP32[$3225>>2]|0;
    51807       $3227 = (_new_args($3224,0,0,0,0,$3226)|0);
    51808       HEAP32[$17>>2] = $3227;
    51809       break;
    51810      }
    51811      case 492:  {
    51812       $3228 = $1;
    51813       _local_add_f($3228,0);
    51814       $3229 = $1;
    51815       $3230 = (_new_args($3229,0,0,0,0,0)|0);
    51816       HEAP32[$17>>2] = $3230;
    51817       break;
    51818      }
    51819      case 493:  {
    51820       $3231 = $1;
    51821       _yyerror($3231,59650);
    51822       HEAP32[$17>>2] = 0;
    51823       break;
    51824      }
    51825      case 494:  {
    51826       $3232 = $1;
    51827       _yyerror($3232,59687);
    51828       HEAP32[$17>>2] = 0;
    51829       break;
    51830      }
    51831      case 495:  {
    51832       $3233 = $1;
    51833       _yyerror($3233,59734);
    51834       HEAP32[$17>>2] = 0;
    51835       break;
    51836      }
    51837      case 496:  {
    51838       $3234 = $1;
    51839       _yyerror($3234,59778);
    51840       HEAP32[$17>>2] = 0;
    51841       break;
    51842      }
    51843      case 497:  {
    51844       HEAP32[$17>>2] = 0;
    51845       break;
    51846      }
    51847      case 498:  {
    51848       $3235 = $1;
    51849       $3236 = $12;
    51850       $3237 = HEAP32[$3236>>2]|0;
    51851       _local_add_f($3235,$3237);
    51852       $3238 = $12;
    51853       $3239 = HEAP32[$3238>>2]|0;
    51854       HEAP32[$17>>2] = $3239;
    51855       break;
    51856      }
    51857      case 499:  {
    51858       $3240 = $1;
    51859       $3241 = $12;
    51860       $3242 = HEAP32[$3241>>2]|0;
    51861       $3243 = (_new_arg($3240,$3242)|0);
    51862       HEAP32[$17>>2] = $3243;
    51863       break;
    51864      }
    51865      case 500:  {
    51866       $3244 = $1;
    51867       $3245 = $12;
    51868       $3246 = ((($3245)) + -4|0);
    51869       $3247 = HEAP32[$3246>>2]|0;
    51870       $3248 = (_new_masgn($3244,$3247,0)|0);
    51871       HEAP32[$17>>2] = $3248;
    51872       break;
    51873      }
    51874      case 501:  {
    51875       $3249 = $1;
    51876       $3250 = $12;
    51877       $3251 = HEAP32[$3250>>2]|0;
    51878       $3252 = (_list1_gen($3249,$3251)|0);
    51879       HEAP32[$17>>2] = $3252;
    51880       break;
    51881      }
    51882      case 502:  {
    51883       $3253 = $1;
    51884       $3254 = $12;
    51885       $3255 = ((($3254)) + -8|0);
    51886       $3256 = HEAP32[$3255>>2]|0;
    51887       $3257 = $1;
    51888       $3258 = $12;
    51889       $3259 = HEAP32[$3258>>2]|0;
    51890       $3260 = (_list1_gen($3257,$3259)|0);
    51891       $3261 = (_append_gen($3253,$3256,$3260)|0);
    51892       HEAP32[$17>>2] = $3261;
    51893       break;
    51894      }
    51895      case 503:  {
    51896       $3262 = $1;
    51897       $3263 = $12;
    51898       $3264 = ((($3263)) + -4|0);
    51899       $3265 = HEAP32[$3264>>2]|0;
    51900       _local_add_f($3262,$3265);
    51901       $3266 = $12;
    51902       $3267 = ((($3266)) + -4|0);
    51903       $3268 = HEAP32[$3267>>2]|0;
    51904       HEAP32[$17>>2] = $3268;
    51905       break;
    51906      }
    51907      case 504:  {
    51908       $3269 = $1;
    51909       $3270 = $12;
    51910       $3271 = ((($3270)) + -4|0);
    51911       $3272 = HEAP32[$3271>>2]|0;
    51912       $3273 = $3272;
    51913       $3274 = $12;
    51914       $3275 = HEAP32[$3274>>2]|0;
    51915       $3276 = (_cons_gen($3269,$3273,$3275)|0);
    51916       HEAP32[$17>>2] = $3276;
    51917       break;
    51918      }
    51919      case 505:  {
    51920       $3277 = $1;
    51921       $3278 = $12;
    51922       $3279 = ((($3278)) + -4|0);
    51923       $3280 = HEAP32[$3279>>2]|0;
    51924       $3281 = $3280;
    51925       $3282 = $12;
    51926       $3283 = HEAP32[$3282>>2]|0;
    51927       $3284 = (_cons_gen($3277,$3281,$3283)|0);
    51928       HEAP32[$17>>2] = $3284;
    51929       break;
    51930      }
    51931      case 506:  {
    51932       $3285 = $1;
    51933       $3286 = $12;
    51934       $3287 = HEAP32[$3286>>2]|0;
    51935       $3288 = (_list1_gen($3285,$3287)|0);
    51936       HEAP32[$17>>2] = $3288;
    51937       break;
    51938      }
    51939      case 507:  {
    51940       $3289 = $1;
    51941       $3290 = $12;
    51942       $3291 = ((($3290)) + -8|0);
    51943       $3292 = HEAP32[$3291>>2]|0;
    51944       $3293 = $1;
    51945       $3294 = $12;
    51946       $3295 = HEAP32[$3294>>2]|0;
    51947       $3296 = (_list1_gen($3293,$3295)|0);
    51948       $3297 = (_append_gen($3289,$3292,$3296)|0);
    51949       HEAP32[$17>>2] = $3297;
    51950       break;
    51951      }
    51952      case 508:  {
    51953       $3298 = $1;
    51954       $3299 = $12;
    51955       $3300 = HEAP32[$3299>>2]|0;
    51956       $3301 = (_list1_gen($3298,$3300)|0);
    51957       HEAP32[$17>>2] = $3301;
    51958       break;
    51959      }
    51960      case 509:  {
    51961       $3302 = $1;
    51962       $3303 = $12;
    51963       $3304 = ((($3303)) + -8|0);
    51964       $3305 = HEAP32[$3304>>2]|0;
    51965       $3306 = $1;
    51966       $3307 = $12;
    51967       $3308 = HEAP32[$3307>>2]|0;
    51968       $3309 = (_list1_gen($3306,$3308)|0);
    51969       $3310 = (_append_gen($3302,$3305,$3309)|0);
    51970       HEAP32[$17>>2] = $3310;
    51971       break;
    51972      }
    51973      case 512:  {
    51974       $3311 = $1;
    51975       $3312 = $12;
    51976       $3313 = HEAP32[$3312>>2]|0;
    51977       _local_add_f($3311,$3313);
    51978       $3314 = $12;
    51979       $3315 = HEAP32[$3314>>2]|0;
    51980       HEAP32[$17>>2] = $3315;
    51981       break;
    51982      }
    51983      case 513:  {
    51984       $3316 = $1;
    51985       _local_add_f($3316,0);
    51986       HEAP32[$17>>2] = -1;
    51987       break;
    51988      }
    51989      case 516:  {
    51990       $3317 = $1;
    51991       $3318 = $12;
    51992       $3319 = HEAP32[$3318>>2]|0;
    51993       _local_add_f($3317,$3319);
    51994       $3320 = $12;
    51995       $3321 = HEAP32[$3320>>2]|0;
    51996       HEAP32[$17>>2] = $3321;
    51997       break;
    51998      }
    51999      case 517:  {
    52000       $3322 = $12;
    52001       $3323 = HEAP32[$3322>>2]|0;
    52002       HEAP32[$17>>2] = $3323;
    52003       break;
    52004      }
    52005      case 518:  {
    52006       $3324 = $1;
    52007       _local_add_f($3324,0);
    52008       HEAP32[$17>>2] = 0;
    52009       break;
    52010      }
    52011      case 519:  {
    52012       $3325 = $12;
    52013       $3326 = HEAP32[$3325>>2]|0;
    52014       HEAP32[$17>>2] = $3326;
    52015       $3327 = HEAP32[$17>>2]|0;
    52016       $3328 = ($3327|0)!=(0|0);
    52017       if (!($3328)) {
    52018        $3329 = $1;
    52019        $3330 = (_new_nil($3329)|0);
    52020        HEAP32[$17>>2] = $3330;
    52021       }
    52022       break;
    52023      }
    52024      case 520:  {
    52025       $3331 = $1;
    52026       $3332 = ((($3331)) + 40|0);
    52027       HEAP32[$3332>>2] = 0;
    52028       break;
    52029      }
    52030      case 521:  {
    52031       $3333 = $12;
    52032       $3334 = ((($3333)) + -4|0);
    52033       $3335 = HEAP32[$3334>>2]|0;
    52034       $3336 = ($3335|0)==(0|0);
    52035       L556: do {
    52036        if ($3336) {
    52037         $3337 = $1;
    52038         _yyerror($3337,59821);
    52039        } else {
    52040         $3338 = $12;
    52041         $3339 = ((($3338)) + -4|0);
    52042         $3340 = HEAP32[$3339>>2]|0;
    52043         $3341 = HEAP32[$3340>>2]|0;
    52044         $3342 = $3341;
    52045         switch ($3342|0) {
    52046         case 99: case 34: case 51: case 47: case 60: case 58: case 57: case 56: case 55:  {
    52047          break;
    52048         }
    52049         default: {
    52050          break L556;
    52051         }
    52052         }
    52053         $3343 = $1;
    52054         _yyerror($3343,59859);
    52055        }
    52056       } while(0);
    52057       $3344 = $12;
    52058       $3345 = ((($3344)) + -4|0);
    52059       $3346 = HEAP32[$3345>>2]|0;
    52060       HEAP32[$17>>2] = $3346;
    52061       break;
    52062      }
    52063      case 523:  {
    52064       $3347 = $12;
    52065       $3348 = ((($3347)) + -4|0);
    52066       $3349 = HEAP32[$3348>>2]|0;
    52067       HEAP32[$17>>2] = $3349;
    52068       break;
    52069      }
    52070      case 524:  {
    52071       $3350 = $1;
    52072       $3351 = $12;
    52073       $3352 = HEAP32[$3351>>2]|0;
    52074       $3353 = (_list1_gen($3350,$3352)|0);
    52075       HEAP32[$17>>2] = $3353;
    52076       $3354 = $12;
    52077       $3355 = HEAP32[$3354>>2]|0;
    52078       $3356 = ($3355|0)!=(0|0);
    52079       if ($3356) {
    52080        $3357 = $12;
    52081        $3358 = HEAP32[$3357>>2]|0;
    52082        $3359 = ((($3358)) + 10|0);
    52083        $3360 = HEAP16[$3359>>1]|0;
    52084        $3361 = HEAP32[$17>>2]|0;
    52085        $3362 = ((($3361)) + 10|0);
    52086        HEAP16[$3362>>1] = $3360;
    52087        $3363 = $12;
    52088        $3364 = HEAP32[$3363>>2]|0;
    52089        $3365 = ((($3364)) + 8|0);
    52090        $3366 = HEAP16[$3365>>1]|0;
    52091        $3367 = HEAP32[$17>>2]|0;
    52092        $3368 = ((($3367)) + 8|0);
    52093        HEAP16[$3368>>1] = $3366;
    52094       }
    52095       break;
    52096      }
    52097      case 525:  {
    52098       $3369 = $1;
    52099       $3370 = $12;
    52100       $3371 = ((($3370)) + -8|0);
    52101       $3372 = HEAP32[$3371>>2]|0;
    52102       $3373 = $1;
    52103       $3374 = $12;
    52104       $3375 = HEAP32[$3374>>2]|0;
    52105       $3376 = (_list1_gen($3373,$3375)|0);
    52106       $3377 = (_append_gen($3369,$3372,$3376)|0);
    52107       HEAP32[$17>>2] = $3377;
    52108       break;
    52109      }
    52110      case 526:  {
    52111       $3378 = $1;
    52112       $3379 = $12;
    52113       $3380 = ((($3379)) + -8|0);
    52114       $3381 = HEAP32[$3380>>2]|0;
    52115       $3382 = $12;
    52116       $3383 = HEAP32[$3382>>2]|0;
    52117       $3384 = (_cons_gen($3378,$3381,$3383)|0);
    52118       HEAP32[$17>>2] = $3384;
    52119       break;
    52120      }
    52121      case 527:  {
    52122       $3385 = $1;
    52123       $3386 = $1;
    52124       $3387 = $12;
    52125       $3388 = ((($3387)) + -4|0);
    52126       $3389 = HEAP32[$3388>>2]|0;
    52127       $3390 = (_new_sym($3386,$3389)|0);
    52128       $3391 = $12;
    52129       $3392 = HEAP32[$3391>>2]|0;
    52130       $3393 = (_cons_gen($3385,$3390,$3392)|0);
    52131       HEAP32[$17>>2] = $3393;
    52132       break;
    52133      }
    52134      case 549:  {
    52135       $6 = 0;
    52136       break;
    52137      }
    52138      case 551:  {
    52139       $3394 = $1;
    52140       $3395 = ((($3394)) + 32|0);
    52141       $3396 = HEAP32[$3395>>2]|0;
    52142       $3397 = (($3396) + 1)|0;
    52143       HEAP32[$3395>>2] = $3397;
    52144       $3398 = $1;
    52145       $3399 = ((($3398)) + 36|0);
    52146       HEAP32[$3399>>2] = 0;
    52147       break;
    52148      }
    52149      case 554:  {
    52150       $6 = 0;
    52151       break;
    52152      }
    52153      case 555:  {
    52154       HEAP32[$17>>2] = 0;
    52155       break;
    52156      }
    52157      default: {
    52158      }
    52159      }
    52160     } while(0);
    52161     $3400 = $21;
    52162     $3401 = $12;
    52163     $3402 = (0 - ($3400))|0;
    52164     $3403 = (($3401) + ($3402<<2)|0);
    52165     $12 = $3403;
    52166     $3404 = $21;
    52167     $3405 = $9;
    52168     $3406 = (0 - ($3404))|0;
    52169     $3407 = (($3405) + ($3406<<1)|0);
    52170     $9 = $3407;
    52171     $21 = 0;
    52172     $3408 = $12;
    52173     $3409 = ((($3408)) + 4|0);
    52174     $12 = $3409;
    52175     ;HEAP32[$3409>>2]=HEAP32[$17>>2]|0;
    52176     $3410 = $14;
    52177     $3411 = (49776 + ($3410<<1)|0);
    52178     $3412 = HEAP16[$3411>>1]|0;
    52179     $3413 = $3412&65535;
    52180     $14 = $3413;
    52181     $3414 = $14;
    52182     $3415 = (($3414) - 144)|0;
    52183     $3416 = (50888 + ($3415<<1)|0);
    52184     $3417 = HEAP16[$3416>>1]|0;
    52185     $3418 = $3417 << 16 >> 16;
    52186     $3419 = $9;
    52187     $3420 = HEAP16[$3419>>1]|0;
    52188     $3421 = $3420 << 16 >> 16;
    52189     $3422 = (($3418) + ($3421))|0;
    52190     $5 = $3422;
    52191     $3423 = $5;
    52192     $3424 = (0)<=($3423|0);
    52193     $3425 = $5;
    52194     $3426 = ($3425|0)<=(10639);
    52195     $or$cond12 = $3424 & $3426;
    52196     if ($or$cond12) {
    52197      $3427 = $5;
    52198      $3428 = (5280 + ($3427<<1)|0);
    52199      $3429 = HEAP16[$3428>>1]|0;
    52200      $3430 = $3429 << 16 >> 16;
    52201      $3431 = $9;
    52202      $3432 = HEAP16[$3431>>1]|0;
    52203      $3433 = $3432 << 16 >> 16;
    52204      $3434 = ($3430|0)==($3433|0);
    52205      if ($3434) {
    52206       $3435 = $5;
    52207       $3436 = (26560 + ($3435<<1)|0);
    52208       $3437 = HEAP16[$3436>>1]|0;
    52209       $3438 = $3437 << 16 >> 16;
    52210       $5 = $3438;
    52211       break;
    52212      }
    52213     }
    52214     $3439 = $14;
    52215     $3440 = (($3439) - 144)|0;
    52216     $3441 = (51210 + ($3440<<1)|0);
    52217     $3442 = HEAP16[$3441>>1]|0;
    52218     $3443 = $3442 << 16 >> 16;
    52219     $5 = $3443;
    52220    }
    52221    else if ((label|0) == 513) {
    52222     label = 0;
    52223     $3444 = $6;
    52224     $3445 = ($3444|0)!=(0);
    52225     do {
    52226      if (!($3445)) {
    52227       $3446 = $4;
    52228       $3447 = (($3446) + 1)|0;
    52229       $4 = $3447;
    52230       $3448 = $5;
    52231       $3449 = $2;
    52232       $3450 = (_yysyntax_error(0,$3448,$3449)|0);
    52233       $31 = $3450;
    52234       $3451 = $20;
    52235       $3452 = $31;
    52236       $3453 = ($3451>>>0)<($3452>>>0);
    52237       $3454 = $20;
    52238       $3455 = ($3454>>>0)<(4294967295);
    52239       $or$cond14 = $3453 & $3455;
    52240       do {
    52241        if ($or$cond14) {
    52242         $3456 = $31;
    52243         $3457 = $3456<<1;
    52244         $32 = $3457;
    52245         $3458 = $31;
    52246         $3459 = $32;
    52247         $3460 = ($3458>>>0)<=($3459>>>0);
    52248         $3461 = $32;
    52249         $3462 = ($3461>>>0)<=(4294967295);
    52250         $or$cond16 = $3460 & $3462;
    52251         $$19 = $or$cond16 ? $3457 : -1;
    52252         $32 = $$19;
    52253         $3463 = $19;
    52254         $3464 = ($3463|0)!=($18|0);
    52255         if ($3464) {
    52256          $3465 = $1;
    52257          $3466 = HEAP32[$3465>>2]|0;
    52258          $3467 = $19;
    52259          _mrb_free($3466,$3467);
    52260         }
    52261         $3468 = $1;
    52262         $3469 = HEAP32[$3468>>2]|0;
    52263         $3470 = $32;
    52264         $3471 = (_mrb_malloc($3469,$3470)|0);
    52265         $19 = $3471;
    52266         $3472 = $19;
    52267         $3473 = ($3472|0)!=(0|0);
    52268         if ($3473) {
    52269          $3474 = $32;
    52270          $20 = $3474;
    52271          break;
    52272         } else {
    52273          $19 = $18;
    52274          $20 = 128;
    52275          break;
    52276         }
    52277        }
    52278       } while(0);
    52279       $3475 = $31;
    52280       $3476 = (0)<($3475>>>0);
    52281       if ($3476) {
    52282        $3477 = $31;
    52283        $3478 = $20;
    52284        $3479 = ($3477>>>0)<=($3478>>>0);
    52285        if ($3479) {
    52286         $3480 = $19;
    52287         $3481 = $5;
    52288         $3482 = $2;
    52289         (_yysyntax_error($3480,$3481,$3482)|0);
    52290         $3483 = $1;
    52291         $3484 = $19;
    52292         _yyerror($3483,$3484);
    52293         break;
    52294        }
    52295       }
    52296       $3485 = $1;
    52297       _yyerror($3485,59902);
    52298       $3486 = $31;
    52299       $3487 = ($3486|0)!=(0);
    52300       if ($3487) {
    52301        label = 538;
    52302        break L1;
    52303       }
    52304      }
    52305     } while(0);
    52306     $3488 = $6;
    52307     $3489 = ($3488|0)==(3);
    52308     do {
    52309      if ($3489) {
    52310       $3490 = $2;
    52311       $3491 = ($3490|0)<=(0);
    52312       if ($3491) {
    52313        $3492 = $2;
    52314        $3493 = ($3492|0)==(0);
    52315        if ($3493) {
    52316         label = 537;
    52317         break L1;
    52318        } else {
    52319         break;
    52320        }
    52321       } else {
    52322        $3494 = $16;
    52323        $3495 = $1;
    52324        _yydestruct(59915,$3494,$3,$3495);
    52325        $2 = -2;
    52326        break;
    52327       }
    52328      }
    52329     } while(0);
    52330     $6 = 3;
    52331     while(1) {
    52332      $3496 = $5;
    52333      $3497 = (3344 + ($3496<<1)|0);
    52334      $3498 = HEAP16[$3497>>1]|0;
    52335      $3499 = $3498 << 16 >> 16;
    52336      $14 = $3499;
    52337      $3500 = $14;
    52338      $3501 = ($3500|0)!=(-771);
    52339      if ($3501) {
    52340       $3502 = $14;
    52341       $3503 = (($3502) + 1)|0;
    52342       $14 = $3503;
    52343       $3504 = $14;
    52344       $3505 = (0)<=($3504|0);
    52345       $3506 = $14;
    52346       $3507 = ($3506|0)<=(10639);
    52347       $or$cond18 = $3505 & $3507;
    52348       if ($or$cond18) {
    52349        $3508 = $14;
    52350        $3509 = (5280 + ($3508<<1)|0);
    52351        $3510 = HEAP16[$3509>>1]|0;
    52352        $3511 = $3510 << 16 >> 16;
    52353        $3512 = ($3511|0)==(1);
    52354        if ($3512) {
    52355         $3513 = $14;
    52356         $3514 = (26560 + ($3513<<1)|0);
    52357         $3515 = HEAP16[$3514>>1]|0;
    52358         $3516 = $3515 << 16 >> 16;
    52359         $14 = $3516;
    52360         $3517 = $14;
    52361         $3518 = (0)<($3517|0);
    52362         if ($3518) {
    52363          break;
    52364         }
    52365        }
    52366       }
    52367      }
    52368      $3519 = $9;
    52369      $3520 = $8;
    52370      $3521 = ($3519|0)==($3520|0);
    52371      if ($3521) {
    52372       label = 537;
    52373       break L1;
    52374      }
    52375      $3522 = $5;
    52376      $3523 = (51532 + ($3522<<1)|0);
    52377      $3524 = HEAP16[$3523>>1]|0;
    52378      $3525 = $3524&65535;
    52379      $3526 = $12;
    52380      $3527 = $1;
    52381      _yydestruct(59933,$3525,$3526,$3527);
    52382      $3528 = $12;
    52383      $3529 = ((($3528)) + -4|0);
    52384      $12 = $3529;
    52385      $3530 = $9;
    52386      $3531 = ((($3530)) + -2|0);
    52387      $9 = $3531;
    52388      $3532 = $9;
    52389      $3533 = HEAP16[$3532>>1]|0;
    52390      $3534 = $3533 << 16 >> 16;
    52391      $5 = $3534;
    52392     }
    52393     $3535 = $12;
    52394     $3536 = ((($3535)) + 4|0);
    52395     $12 = $3536;
    52396     ;HEAP32[$3536>>2]=HEAP32[$3>>2]|0;
    52397     $3537 = $14;
    52398     $5 = $3537;
    52399    }
    52400   } while(0);
    52401   $35 = $9;
    52402   $36 = ((($35)) + 2|0);
    52403   $9 = $36;
    52404  }
    52405  if ((label|0) == 536) {
    52406   $15 = 0;
    52407  }
    52408  else if ((label|0) == 537) {
    52409   $15 = 1;
    52410  }
    52411  else if ((label|0) == 538) {
    52412   $3538 = $1;
    52413   _yyerror($3538,59948);
    52414   $15 = 2;
    52415  }
    52416  $3539 = $2;
    52417  $3540 = ($3539|0)!=(-2);
    52418  if ($3540) {
    52419   $3541 = $16;
    52420   $3542 = $1;
    52421   _yydestruct(59965,$3541,$3,$3542);
    52422  }
    52423  $3543 = $21;
    52424  $3544 = $12;
    52425  $3545 = (0 - ($3543))|0;
    52426  $3546 = (($3544) + ($3545<<2)|0);
    52427  $12 = $3546;
    52428  $3547 = $21;
    52429  $3548 = $9;
    52430  $3549 = (0 - ($3547))|0;
    52431  $3550 = (($3548) + ($3549<<1)|0);
    52432  $9 = $3550;
    52433  while(1) {
    52434   $3551 = $9;
    52435   $3552 = $8;
    52436   $3553 = ($3551|0)!=($3552|0);
    52437   if (!($3553)) {
    52438    break;
    52439   }
    52440   $3554 = $9;
    52441   $3555 = HEAP16[$3554>>1]|0;
    52442   $3556 = $3555 << 16 >> 16;
    52443   $3557 = (51532 + ($3556<<1)|0);
    52444   $3558 = HEAP16[$3557>>1]|0;
    52445   $3559 = $3558&65535;
    52446   $3560 = $12;
    52447   $3561 = $1;
    52448   _yydestruct(59995,$3559,$3560,$3561);
    52449   $3562 = $12;
    52450   $3563 = ((($3562)) + -4|0);
    52451   $12 = $3563;
    52452   $3564 = $9;
    52453   $3565 = ((($3564)) + -2|0);
    52454   $9 = $3565;
    52455  }
    52456  $3566 = $8;
    52457  $3567 = ($3566|0)!=($7|0);
    52458  if ($3567) {
    52459   $3568 = $1;
    52460   $3569 = HEAP32[$3568>>2]|0;
    52461   $3570 = $8;
    52462   _mrb_free($3569,$3570);
    52463  }
    52464  $3571 = $19;
    52465  $3572 = ($3571|0)!=($18|0);
    52466  if (!($3572)) {
    52467   $3576 = $15;
    52468   STACKTOP = sp;return ($3576|0);
    52469  }
    52470  $3573 = $1;
    52471  $3574 = HEAP32[$3573>>2]|0;
    52472  $3575 = $19;
    52473  _mrb_free($3574,$3575);
    52474  $3576 = $15;
    52475  STACKTOP = sp;return ($3576|0);
    52476 }
    52477 function _new_nil($0) {
    52478  $0 = $0|0;
    52479  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    52480  sp = STACKTOP;
    52481  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    52482  $1 = $0;
    52483  $2 = $1;
    52484  $3 = (_list1_gen($2,(86))|0);
    52485  STACKTOP = sp;return ($3|0);
    52486 }
    52487 function _parser_update_cxt($0,$1) {
    52488  $0 = $0|0;
    52489  $1 = $1|0;
    52490  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    52491  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    52492  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    52493  sp = STACKTOP;
    52494  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    52495  $2 = $0;
    52496  $3 = $1;
    52497  $6 = 0;
    52498  $7 = $3;
    52499  $8 = ($7|0)!=(0|0);
    52500  if (!($8)) {
    52501   STACKTOP = sp;return;
    52502  }
    52503  $9 = $2;
    52504  $10 = ((($9)) + 1144|0);
    52505  $11 = HEAP32[$10>>2]|0;
    52506  $12 = HEAP32[$11>>2]|0;
    52507  $13 = $12;
    52508  $14 = ($13|0)!=(3);
    52509  if ($14) {
    52510   STACKTOP = sp;return;
    52511  }
    52512  $15 = $2;
    52513  $16 = ((($15)) + 1144|0);
    52514  $17 = HEAP32[$16>>2]|0;
    52515  $18 = ((($17)) + 4|0);
    52516  $19 = HEAP32[$18>>2]|0;
    52517  $20 = HEAP32[$19>>2]|0;
    52518  $4 = $20;
    52519  $5 = $20;
    52520  while(1) {
    52521   $21 = $4;
    52522   $22 = ($21|0)!=(0|0);
    52523   if (!($22)) {
    52524    break;
    52525   }
    52526   $23 = $6;
    52527   $24 = (($23) + 1)|0;
    52528   $6 = $24;
    52529   $25 = $4;
    52530   $26 = ((($25)) + 4|0);
    52531   $27 = HEAP32[$26>>2]|0;
    52532   $4 = $27;
    52533  }
    52534  $28 = $2;
    52535  $29 = HEAP32[$28>>2]|0;
    52536  $30 = $3;
    52537  $31 = HEAP32[$30>>2]|0;
    52538  $32 = $6;
    52539  $33 = $32<<2;
    52540  $34 = (_mrb_realloc($29,$31,$33)|0);
    52541  $35 = $3;
    52542  HEAP32[$35>>2] = $34;
    52543  $36 = $6;
    52544  $37 = $3;
    52545  $38 = ((($37)) + 4|0);
    52546  HEAP32[$38>>2] = $36;
    52547  $6 = 0;
    52548  $39 = $5;
    52549  $4 = $39;
    52550  while(1) {
    52551   $40 = $4;
    52552   $41 = ($40|0)!=(0|0);
    52553   if (!($41)) {
    52554    break;
    52555   }
    52556   $42 = $4;
    52557   $43 = HEAP32[$42>>2]|0;
    52558   $44 = $43;
    52559   $45 = $3;
    52560   $46 = HEAP32[$45>>2]|0;
    52561   $47 = $6;
    52562   $48 = (($46) + ($47<<2)|0);
    52563   HEAP32[$48>>2] = $44;
    52564   $49 = $6;
    52565   $50 = (($49) + 1)|0;
    52566   $6 = $50;
    52567   $51 = $4;
    52568   $52 = ((($51)) + 4|0);
    52569   $53 = HEAP32[$52>>2]|0;
    52570   $4 = $53;
    52571  }
    52572  STACKTOP = sp;return;
    52573 }
    52574 function _mrb_parser_dump($0,$1,$2) {
    52575  $0 = $0|0;
    52576  $1 = $1|0;
    52577  $2 = $2|0;
    52578  var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0;
    52579  var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0;
    52580  var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0;
    52581  var $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0;
    52582  var $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0;
    52583  var $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0;
    52584  var $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0;
    52585  var $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0;
    52586  var $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0;
    52587  var $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0;
    52588  var $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0;
    52589  var $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0;
    52590  var $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0;
    52591  var $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0;
    52592  var $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0;
    52593  var $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0;
    52594  var $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
    52595  var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
    52596  var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0;
    52597  var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0;
    52598  var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
    52599  var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
    52600  var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
    52601  var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
    52602  var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
    52603  var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0;
    52604  var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0;
    52605  var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0;
    52606  var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0;
    52607  var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0;
    52608  var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0;
    52609  var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0;
    52610  var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0;
    52611  var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0;
    52612  var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0;
    52613  var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0;
    52614  var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0;
    52615  var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0;
    52616  var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0;
    52617  var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0;
    52618  var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0;
    52619  var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0;
    52620  var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0;
    52621  var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0;
    52622  var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0;
    52623  var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0;
    52624  var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0;
    52625  var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0;
    52626  var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0;
    52627  var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0;
    52628  var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0;
    52629  var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0;
    52630  var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0;
    52631  var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0;
    52632  var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0;
    52633  var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0;
    52634  var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0;
    52635  var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0;
    52636  var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0;
    52637  var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0;
    52638  var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0;
    52639  var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0;
    52640  var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0;
    52641  var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0;
    52642  var $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer102 = 0, $vararg_buffer104 = 0, $vararg_buffer106 = 0, $vararg_buffer108 = 0, $vararg_buffer11 = 0, $vararg_buffer110 = 0, $vararg_buffer112 = 0, $vararg_buffer115 = 0;
    52643  var $vararg_buffer118 = 0, $vararg_buffer120 = 0, $vararg_buffer122 = 0, $vararg_buffer124 = 0, $vararg_buffer126 = 0, $vararg_buffer128 = 0, $vararg_buffer13 = 0, $vararg_buffer130 = 0, $vararg_buffer132 = 0, $vararg_buffer134 = 0, $vararg_buffer136 = 0, $vararg_buffer138 = 0, $vararg_buffer140 = 0, $vararg_buffer142 = 0, $vararg_buffer144 = 0, $vararg_buffer146 = 0, $vararg_buffer148 = 0, $vararg_buffer15 = 0, $vararg_buffer150 = 0, $vararg_buffer152 = 0;
    52644  var $vararg_buffer156 = 0, $vararg_buffer158 = 0, $vararg_buffer160 = 0, $vararg_buffer162 = 0, $vararg_buffer164 = 0, $vararg_buffer166 = 0, $vararg_buffer168 = 0, $vararg_buffer17 = 0, $vararg_buffer170 = 0, $vararg_buffer172 = 0, $vararg_buffer174 = 0, $vararg_buffer176 = 0, $vararg_buffer179 = 0, $vararg_buffer182 = 0, $vararg_buffer185 = 0, $vararg_buffer188 = 0, $vararg_buffer19 = 0, $vararg_buffer191 = 0, $vararg_buffer193 = 0, $vararg_buffer195 = 0;
    52645  var $vararg_buffer197 = 0, $vararg_buffer200 = 0, $vararg_buffer203 = 0, $vararg_buffer206 = 0, $vararg_buffer208 = 0, $vararg_buffer21 = 0, $vararg_buffer212 = 0, $vararg_buffer215 = 0, $vararg_buffer217 = 0, $vararg_buffer221 = 0, $vararg_buffer223 = 0, $vararg_buffer227 = 0, $vararg_buffer229 = 0, $vararg_buffer23 = 0, $vararg_buffer233 = 0, $vararg_buffer235 = 0, $vararg_buffer238 = 0, $vararg_buffer241 = 0, $vararg_buffer244 = 0, $vararg_buffer246 = 0;
    52646  var $vararg_buffer248 = 0, $vararg_buffer25 = 0, $vararg_buffer250 = 0, $vararg_buffer252 = 0, $vararg_buffer256 = 0, $vararg_buffer258 = 0, $vararg_buffer261 = 0, $vararg_buffer263 = 0, $vararg_buffer265 = 0, $vararg_buffer268 = 0, $vararg_buffer27 = 0, $vararg_buffer271 = 0, $vararg_buffer274 = 0, $vararg_buffer276 = 0, $vararg_buffer278 = 0, $vararg_buffer280 = 0, $vararg_buffer283 = 0, $vararg_buffer286 = 0, $vararg_buffer289 = 0, $vararg_buffer29 = 0;
    52647  var $vararg_buffer291 = 0, $vararg_buffer293 = 0, $vararg_buffer295 = 0, $vararg_buffer297 = 0, $vararg_buffer3 = 0, $vararg_buffer300 = 0, $vararg_buffer302 = 0, $vararg_buffer304 = 0, $vararg_buffer307 = 0, $vararg_buffer309 = 0, $vararg_buffer31 = 0, $vararg_buffer311 = 0, $vararg_buffer313 = 0, $vararg_buffer316 = 0, $vararg_buffer319 = 0, $vararg_buffer321 = 0, $vararg_buffer324 = 0, $vararg_buffer326 = 0, $vararg_buffer329 = 0, $vararg_buffer331 = 0;
    52648  var $vararg_buffer333 = 0, $vararg_buffer336 = 0, $vararg_buffer339 = 0, $vararg_buffer34 = 0, $vararg_buffer341 = 0, $vararg_buffer344 = 0, $vararg_buffer346 = 0, $vararg_buffer348 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer41 = 0, $vararg_buffer43 = 0, $vararg_buffer45 = 0, $vararg_buffer47 = 0, $vararg_buffer49 = 0, $vararg_buffer5 = 0, $vararg_buffer51 = 0, $vararg_buffer53 = 0, $vararg_buffer55 = 0, $vararg_buffer57 = 0;
    52649  var $vararg_buffer59 = 0, $vararg_buffer61 = 0, $vararg_buffer63 = 0, $vararg_buffer65 = 0, $vararg_buffer67 = 0, $vararg_buffer69 = 0, $vararg_buffer7 = 0, $vararg_buffer71 = 0, $vararg_buffer73 = 0, $vararg_buffer75 = 0, $vararg_buffer77 = 0, $vararg_buffer79 = 0, $vararg_buffer81 = 0, $vararg_buffer83 = 0, $vararg_buffer85 = 0, $vararg_buffer87 = 0, $vararg_buffer89 = 0, $vararg_buffer9 = 0, $vararg_buffer91 = 0, $vararg_buffer94 = 0;
    52650  var $vararg_buffer96 = 0, $vararg_buffer98 = 0, $vararg_ptr101 = 0, $vararg_ptr155 = 0, $vararg_ptr211 = 0, $vararg_ptr220 = 0, $vararg_ptr226 = 0, $vararg_ptr232 = 0, $vararg_ptr255 = 0, $vararg_ptr351 = 0, label = 0, sp = 0;
    52651  sp = STACKTOP;
    52652  STACKTOP = STACKTOP + 1296|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1296|0);
    52653  $vararg_buffer348 = sp + 1208|0;
    52654  $vararg_buffer346 = sp + 1200|0;
    52655  $vararg_buffer344 = sp + 1192|0;
    52656  $vararg_buffer341 = sp + 1184|0;
    52657  $vararg_buffer339 = sp + 1176|0;
    52658  $vararg_buffer336 = sp + 1168|0;
    52659  $vararg_buffer333 = sp + 1160|0;
    52660  $vararg_buffer331 = sp + 1152|0;
    52661  $vararg_buffer329 = sp + 1144|0;
    52662  $vararg_buffer326 = sp + 1136|0;
    52663  $vararg_buffer324 = sp + 1128|0;
    52664  $vararg_buffer321 = sp + 1120|0;
    52665  $vararg_buffer319 = sp + 1112|0;
    52666  $vararg_buffer316 = sp + 1104|0;
    52667  $vararg_buffer313 = sp + 1096|0;
    52668  $vararg_buffer311 = sp + 1088|0;
    52669  $vararg_buffer309 = sp + 1080|0;
    52670  $vararg_buffer307 = sp + 1072|0;
    52671  $vararg_buffer304 = sp + 1064|0;
    52672  $vararg_buffer302 = sp + 1056|0;
    52673  $vararg_buffer300 = sp + 1048|0;
    52674  $vararg_buffer297 = sp + 1040|0;
    52675  $vararg_buffer295 = sp + 1032|0;
    52676  $vararg_buffer293 = sp + 1024|0;
    52677  $vararg_buffer291 = sp + 1016|0;
    52678  $vararg_buffer289 = sp + 1008|0;
    52679  $vararg_buffer286 = sp + 1000|0;
    52680  $vararg_buffer283 = sp + 992|0;
    52681  $vararg_buffer280 = sp + 984|0;
    52682  $vararg_buffer278 = sp + 976|0;
    52683  $vararg_buffer276 = sp + 968|0;
    52684  $vararg_buffer274 = sp + 960|0;
    52685  $vararg_buffer271 = sp + 952|0;
    52686  $vararg_buffer268 = sp + 944|0;
    52687  $vararg_buffer265 = sp + 936|0;
    52688  $vararg_buffer263 = sp + 928|0;
    52689  $vararg_buffer261 = sp + 920|0;
    52690  $vararg_buffer258 = sp + 912|0;
    52691  $vararg_buffer256 = sp + 904|0;
    52692  $vararg_buffer252 = sp + 896|0;
    52693  $vararg_buffer250 = sp + 888|0;
    52694  $vararg_buffer248 = sp + 880|0;
    52695  $vararg_buffer246 = sp + 872|0;
    52696  $vararg_buffer244 = sp + 864|0;
    52697  $vararg_buffer241 = sp + 856|0;
    52698  $vararg_buffer238 = sp + 848|0;
    52699  $vararg_buffer235 = sp + 840|0;
    52700  $vararg_buffer233 = sp + 832|0;
    52701  $vararg_buffer229 = sp + 824|0;
    52702  $vararg_buffer227 = sp + 816|0;
    52703  $vararg_buffer223 = sp + 808|0;
    52704  $vararg_buffer221 = sp + 800|0;
    52705  $vararg_buffer217 = sp + 792|0;
    52706  $vararg_buffer215 = sp + 784|0;
    52707  $vararg_buffer212 = sp + 776|0;
    52708  $vararg_buffer208 = sp + 768|0;
    52709  $vararg_buffer206 = sp + 760|0;
    52710  $vararg_buffer203 = sp + 752|0;
    52711  $vararg_buffer200 = sp + 744|0;
    52712  $vararg_buffer197 = sp + 736|0;
    52713  $vararg_buffer195 = sp + 728|0;
    52714  $vararg_buffer193 = sp + 720|0;
    52715  $vararg_buffer191 = sp + 712|0;
    52716  $vararg_buffer188 = sp + 704|0;
    52717  $vararg_buffer185 = sp + 696|0;
    52718  $vararg_buffer182 = sp + 688|0;
    52719  $vararg_buffer179 = sp + 680|0;
    52720  $vararg_buffer176 = sp + 672|0;
    52721  $vararg_buffer174 = sp + 664|0;
    52722  $vararg_buffer172 = sp + 656|0;
    52723  $vararg_buffer170 = sp + 648|0;
    52724  $vararg_buffer168 = sp + 640|0;
    52725  $vararg_buffer166 = sp + 632|0;
    52726  $vararg_buffer164 = sp + 624|0;
    52727  $vararg_buffer162 = sp + 616|0;
    52728  $vararg_buffer160 = sp + 608|0;
    52729  $vararg_buffer158 = sp + 600|0;
    52730  $vararg_buffer156 = sp + 592|0;
    52731  $vararg_buffer152 = sp + 584|0;
    52732  $vararg_buffer150 = sp + 576|0;
    52733  $vararg_buffer148 = sp + 568|0;
    52734  $vararg_buffer146 = sp + 560|0;
    52735  $vararg_buffer144 = sp + 552|0;
    52736  $vararg_buffer142 = sp + 544|0;
    52737  $vararg_buffer140 = sp + 536|0;
    52738  $vararg_buffer138 = sp + 528|0;
    52739  $vararg_buffer136 = sp + 520|0;
    52740  $vararg_buffer134 = sp + 512|0;
    52741  $vararg_buffer132 = sp + 504|0;
    52742  $vararg_buffer130 = sp + 496|0;
    52743  $vararg_buffer128 = sp + 488|0;
    52744  $vararg_buffer126 = sp + 480|0;
    52745  $vararg_buffer124 = sp + 472|0;
    52746  $vararg_buffer122 = sp + 464|0;
    52747  $vararg_buffer120 = sp + 456|0;
    52748  $vararg_buffer118 = sp + 448|0;
    52749  $vararg_buffer115 = sp + 440|0;
    52750  $vararg_buffer112 = sp + 432|0;
    52751  $vararg_buffer110 = sp + 424|0;
    52752  $vararg_buffer108 = sp + 416|0;
    52753  $vararg_buffer106 = sp + 408|0;
    52754  $vararg_buffer104 = sp + 400|0;
    52755  $vararg_buffer102 = sp + 392|0;
    52756  $vararg_buffer98 = sp + 384|0;
    52757  $vararg_buffer96 = sp + 376|0;
    52758  $vararg_buffer94 = sp + 368|0;
    52759  $vararg_buffer91 = sp + 360|0;
    52760  $vararg_buffer89 = sp + 352|0;
    52761  $vararg_buffer87 = sp + 344|0;
    52762  $vararg_buffer85 = sp + 336|0;
    52763  $vararg_buffer83 = sp + 328|0;
    52764  $vararg_buffer81 = sp + 320|0;
    52765  $vararg_buffer79 = sp + 312|0;
    52766  $vararg_buffer77 = sp + 304|0;
    52767  $vararg_buffer75 = sp + 296|0;
    52768  $vararg_buffer73 = sp + 288|0;
    52769  $vararg_buffer71 = sp + 280|0;
    52770  $vararg_buffer69 = sp + 272|0;
    52771  $vararg_buffer67 = sp + 264|0;
    52772  $vararg_buffer65 = sp + 256|0;
    52773  $vararg_buffer63 = sp + 248|0;
    52774  $vararg_buffer61 = sp + 240|0;
    52775  $vararg_buffer59 = sp + 232|0;
    52776  $vararg_buffer57 = sp + 224|0;
    52777  $vararg_buffer55 = sp + 216|0;
    52778  $vararg_buffer53 = sp + 208|0;
    52779  $vararg_buffer51 = sp + 200|0;
    52780  $vararg_buffer49 = sp + 192|0;
    52781  $vararg_buffer47 = sp + 184|0;
    52782  $vararg_buffer45 = sp + 176|0;
    52783  $vararg_buffer43 = sp + 168|0;
    52784  $vararg_buffer41 = sp + 160|0;
    52785  $vararg_buffer39 = sp + 152|0;
    52786  $vararg_buffer36 = sp + 144|0;
    52787  $vararg_buffer34 = sp + 136|0;
    52788  $vararg_buffer31 = sp + 128|0;
    52789  $vararg_buffer29 = sp + 120|0;
    52790  $vararg_buffer27 = sp + 112|0;
    52791  $vararg_buffer25 = sp + 104|0;
    52792  $vararg_buffer23 = sp + 96|0;
    52793  $vararg_buffer21 = sp + 88|0;
    52794  $vararg_buffer19 = sp + 80|0;
    52795  $vararg_buffer17 = sp + 72|0;
    52796  $vararg_buffer15 = sp + 64|0;
    52797  $vararg_buffer13 = sp + 56|0;
    52798  $vararg_buffer11 = sp + 48|0;
    52799  $vararg_buffer9 = sp + 40|0;
    52800  $vararg_buffer7 = sp + 32|0;
    52801  $vararg_buffer5 = sp + 24|0;
    52802  $vararg_buffer3 = sp + 16|0;
    52803  $vararg_buffer1 = sp + 8|0;
    52804  $vararg_buffer = sp;
    52805  $3 = $0;
    52806  $4 = $1;
    52807  $5 = $2;
    52808  $22 = $4;
    52809  $23 = ($22|0)!=(0|0);
    52810  if (!($23)) {
    52811   STACKTOP = sp;return;
    52812  }
    52813  L3: while(1) {
    52814   $24 = $4;
    52815   $25 = $5;
    52816   _dump_prefix($24,$25);
    52817   $26 = $4;
    52818   $27 = HEAP32[$26>>2]|0;
    52819   $28 = $27;
    52820   $6 = $28;
    52821   $29 = $4;
    52822   $30 = ((($29)) + 4|0);
    52823   $31 = HEAP32[$30>>2]|0;
    52824   $4 = $31;
    52825   $32 = $6;
    52826   switch ($32|0) {
    52827   case 17:  {
    52828    label = 3;
    52829    break L3;
    52830    break;
    52831   }
    52832   case 18:  {
    52833    label = 4;
    52834    break L3;
    52835    break;
    52836   }
    52837   case 19:  {
    52838    label = 18;
    52839    break L3;
    52840    break;
    52841   }
    52842   case 53:  {
    52843    label = 19;
    52844    break L3;
    52845    break;
    52846   }
    52847   case 4:  {
    52848    break L3;
    52849    break;
    52850   }
    52851   case 5:  {
    52852    label = 34;
    52853    break L3;
    52854    break;
    52855   }
    52856   case 20:  {
    52857    label = 36;
    52858    break L3;
    52859    break;
    52860   }
    52861   case 21:  {
    52862    label = 37;
    52863    break L3;
    52864    break;
    52865   }
    52866   case 6:  {
    52867    label = 38;
    52868    break L3;
    52869    break;
    52870   }
    52871   case 9:  {
    52872    label = 43;
    52873    break L3;
    52874    break;
    52875   }
    52876   case 10:  {
    52877    label = 44;
    52878    break L3;
    52879    break;
    52880   }
    52881   case 12:  {
    52882    label = 45;
    52883    break L3;
    52884    break;
    52885   }
    52886   case 29: case 30:  {
    52887    label = 66;
    52888    break L3;
    52889    break;
    52890   }
    52891   case 80:  {
    52892    label = 69;
    52893    break L3;
    52894    break;
    52895   }
    52896   case 81:  {
    52897    label = 70;
    52898    break L3;
    52899    break;
    52900   }
    52901   case 77:  {
    52902    label = 71;
    52903    break L3;
    52904    break;
    52905   }
    52906   case 78:  {
    52907    label = 72;
    52908    break L3;
    52909    break;
    52910   }
    52911   case 34:  {
    52912    label = 73;
    52913    break L3;
    52914    break;
    52915   }
    52916   case 36:  {
    52917    label = 74;
    52918    break L3;
    52919    break;
    52920   }
    52921   case 66:  {
    52922    label = 77;
    52923    break L3;
    52924    break;
    52925   }
    52926   case 24:  {
    52927    label = 78;
    52928    break L3;
    52929    break;
    52930   }
    52931   case 23:  {
    52932    label = 79;
    52933    break L3;
    52934    break;
    52935   }
    52936   case 28:  {
    52937    label = 90;
    52938    break L3;
    52939    break;
    52940   }
    52941   case 32:  {
    52942    label = 91;
    52943    break L3;
    52944    break;
    52945   }
    52946   case 33:  {
    52947    label = 94;
    52948    break L3;
    52949    break;
    52950   }
    52951   case 37:  {
    52952    label = 95;
    52953    break L3;
    52954    break;
    52955   }
    52956   case 38:  {
    52957    label = 96;
    52958    break L3;
    52959    break;
    52960   }
    52961   case 13:  {
    52962    label = 97;
    52963    break L3;
    52964    break;
    52965   }
    52966   case 14:  {
    52967    label = 98;
    52968    break L3;
    52969    break;
    52970   }
    52971   case 15:  {
    52972    label = 99;
    52973    break L3;
    52974    break;
    52975   }
    52976   case 16:  {
    52977    label = 100;
    52978    break L3;
    52979    break;
    52980   }
    52981   case 39:  {
    52982    label = 101;
    52983    break L3;
    52984    break;
    52985   }
    52986   case 41:  {
    52987    label = 102;
    52988    break L3;
    52989    break;
    52990   }
    52991   case 42:  {
    52992    label = 103;
    52993    break L3;
    52994    break;
    52995   }
    52996   case 44:  {
    52997    label = 104;
    52998    break L3;
    52999    break;
    53000   }
    53001   case 43:  {
    53002    label = 105;
    53003    break L3;
    53004    break;
    53005   }
    53006   case 47:  {
    53007    label = 106;
    53008    break L3;
    53009    break;
    53010   }
    53011   case 46:  {
    53012    label = 107;
    53013    break L3;
    53014    break;
    53015   }
    53016   case 45:  {
    53017    label = 108;
    53018    break L3;
    53019    break;
    53020   }
    53021   case 63:  {
    53022    label = 109;
    53023    break L3;
    53024    break;
    53025   }
    53026   case 69:  {
    53027    label = 110;
    53028    break L3;
    53029    break;
    53030   }
    53031   case 50:  {
    53032    label = 111;
    53033    break L3;
    53034    break;
    53035   }
    53036   case 51:  {
    53037    label = 112;
    53038    break L3;
    53039    break;
    53040   }
    53041   case 52:  {
    53042    label = 113;
    53043    break L3;
    53044    break;
    53045   }
    53046   case 55:  {
    53047    label = 114;
    53048    break L3;
    53049    break;
    53050   }
    53051   case 56:  {
    53052    label = 115;
    53053    break L3;
    53054    break;
    53055   }
    53056   case 57:  {
    53057    label = 116;
    53058    break L3;
    53059    break;
    53060   }
    53061   case 58:  {
    53062    label = 117;
    53063    break L3;
    53064    break;
    53065   }
    53066   case 59:  {
    53067    label = 118;
    53068    break L3;
    53069    break;
    53070   }
    53071   case 60:  {
    53072    label = 119;
    53073    break L3;
    53074    break;
    53075   }
    53076   case 54:  {
    53077    label = 120;
    53078    break L3;
    53079    break;
    53080   }
    53081   case 85:  {
    53082    label = 121;
    53083    break L3;
    53084    break;
    53085   }
    53086   case 86:  {
    53087    label = 122;
    53088    break L3;
    53089    break;
    53090   }
    53091   case 87:  {
    53092    label = 123;
    53093    break L3;
    53094    break;
    53095   }
    53096   case 88:  {
    53097    label = 124;
    53098    break L3;
    53099    break;
    53100   }
    53101   case 72:  {
    53102    label = 125;
    53103    break L3;
    53104    break;
    53105   }
    53106   case 73:  {
    53107    label = 126;
    53108    break L3;
    53109    break;
    53110   }
    53111   case 74:  {
    53112    label = 130;
    53113    break L3;
    53114    break;
    53115   }
    53116   case 75:  {
    53117    label = 138;
    53118    break L3;
    53119    break;
    53120   }
    53121   case 76:  {
    53122    label = 144;
    53123    break L3;
    53124    break;
    53125   }
    53126   case 70:  {
    53127    label = 145;
    53128    break L3;
    53129    break;
    53130   }
    53131   case 71:  {
    53132    label = 170;
    53133    break L3;
    53134    break;
    53135   }
    53136   case 91:  {
    53137    label = 184;
    53138    break L3;
    53139    break;
    53140   }
    53141   case 99:  {
    53142    label = 185;
    53143    break L3;
    53144    break;
    53145   }
    53146   case 3:  {
    53147    break;
    53148   }
    53149   default: {
    53150    label = 186;
    53151    break L3;
    53152   }
    53153   }
    53154   (_printf(57509,$vararg_buffer85)|0);
    53155   $441 = $4;
    53156   $442 = HEAP32[$441>>2]|0;
    53157   $12 = $442;
    53158   $13 = 1;
    53159   $443 = $12;
    53160   $444 = ($443|0)!=(0|0);
    53161   do {
    53162    if ($444) {
    53163     $445 = $12;
    53164     $446 = HEAP32[$445>>2]|0;
    53165     $447 = ($446|0)!=(0|0);
    53166     if (!($447)) {
    53167      $448 = $12;
    53168      $449 = ((($448)) + 4|0);
    53169      $450 = HEAP32[$449>>2]|0;
    53170      $451 = ($450|0)!=(0|0);
    53171      if (!($451)) {
    53172       break;
    53173      }
    53174     }
    53175     $452 = $12;
    53176     $453 = $5;
    53177     $454 = (($453) + 1)|0;
    53178     _dump_prefix($452,$454);
    53179     (_printf(57522,$vararg_buffer87)|0);
    53180     $455 = $12;
    53181     $456 = $5;
    53182     $457 = (($456) + 2)|0;
    53183     _dump_prefix($455,$457);
    53184     while(1) {
    53185      $458 = $12;
    53186      $459 = ($458|0)!=(0|0);
    53187      if (!($459)) {
    53188       break;
    53189      }
    53190      $460 = $12;
    53191      $461 = HEAP32[$460>>2]|0;
    53192      $462 = ($461|0)!=(0|0);
    53193      if ($462) {
    53194       $463 = $13;
    53195       $464 = ($463<<24>>24)!=(0);
    53196       if (!($464)) {
    53197        (_printf(57540,$vararg_buffer89)|0);
    53198       }
    53199       $465 = $3;
    53200       $466 = $12;
    53201       $467 = HEAP32[$466>>2]|0;
    53202       $468 = $467;
    53203       $469 = (_mrb_sym2name($465,$468)|0);
    53204       HEAP32[$vararg_buffer91>>2] = $469;
    53205       (_printf(57543,$vararg_buffer91)|0);
    53206       $13 = 0;
    53207      }
    53208      $470 = $12;
    53209      $471 = ((($470)) + 4|0);
    53210      $472 = HEAP32[$471>>2]|0;
    53211      $12 = $472;
    53212     }
    53213     (_printf(67789,$vararg_buffer94)|0);
    53214    }
    53215   } while(0);
    53216   $473 = $4;
    53217   $474 = ((($473)) + 4|0);
    53218   $475 = HEAP32[$474>>2]|0;
    53219   $4 = $475;
    53220   $476 = $5;
    53221   $477 = (($476) + 1)|0;
    53222   $5 = $477;
    53223  }
    53224  switch (label|0) {
    53225   case 3: {
    53226    (_printf(57167,$vararg_buffer)|0);
    53227    $33 = $3;
    53228    $34 = $4;
    53229    $35 = $5;
    53230    $36 = (($35) + 1)|0;
    53231    _dump_recur($33,$34,$36);
    53232    STACKTOP = sp;return;
    53233    break;
    53234   }
    53235   case 4: {
    53236    (_printf(57180,$vararg_buffer1)|0);
    53237    $37 = $4;
    53238    $38 = HEAP32[$37>>2]|0;
    53239    $39 = ($38|0)!=(0|0);
    53240    if ($39) {
    53241     $40 = $4;
    53242     $41 = $5;
    53243     $42 = (($41) + 1)|0;
    53244     _dump_prefix($40,$42);
    53245     (_printf(57194,$vararg_buffer3)|0);
    53246     $43 = $3;
    53247     $44 = $4;
    53248     $45 = HEAP32[$44>>2]|0;
    53249     $46 = $5;
    53250     $47 = (($46) + 2)|0;
    53251     _mrb_parser_dump($43,$45,$47);
    53252    }
    53253    $48 = $4;
    53254    $49 = ((($48)) + 4|0);
    53255    $50 = HEAP32[$49>>2]|0;
    53256    $4 = $50;
    53257    $51 = $4;
    53258    $52 = HEAP32[$51>>2]|0;
    53259    $53 = ($52|0)!=(0|0);
    53260    L31: do {
    53261     if ($53) {
    53262      $54 = $4;
    53263      $55 = HEAP32[$54>>2]|0;
    53264      $7 = $55;
    53265      $56 = $7;
    53266      $57 = $5;
    53267      $58 = (($57) + 1)|0;
    53268      _dump_prefix($56,$58);
    53269      (_printf(57201,$vararg_buffer5)|0);
    53270      while(1) {
    53271       $59 = $7;
    53272       $60 = ($59|0)!=(0|0);
    53273       if (!($60)) {
    53274        break L31;
    53275       }
    53276       $61 = $7;
    53277       $62 = HEAP32[$61>>2]|0;
    53278       $8 = $62;
    53279       $63 = $8;
    53280       $64 = HEAP32[$63>>2]|0;
    53281       $65 = ($64|0)!=(0|0);
    53282       if ($65) {
    53283        $66 = $7;
    53284        $67 = $5;
    53285        $68 = (($67) + 2)|0;
    53286        _dump_prefix($66,$68);
    53287        (_printf(57210,$vararg_buffer7)|0);
    53288        $69 = $3;
    53289        $70 = $8;
    53290        $71 = HEAP32[$70>>2]|0;
    53291        $72 = $5;
    53292        $73 = (($72) + 3)|0;
    53293        _dump_recur($69,$71,$73);
    53294       }
    53295       $74 = $8;
    53296       $75 = ((($74)) + 4|0);
    53297       $76 = HEAP32[$75>>2]|0;
    53298       $77 = HEAP32[$76>>2]|0;
    53299       $78 = ($77|0)!=(0|0);
    53300       if ($78) {
    53301        $79 = $8;
    53302        $80 = $5;
    53303        $81 = (($80) + 2)|0;
    53304        _dump_prefix($79,$81);
    53305        (_printf(57227,$vararg_buffer9)|0);
    53306        $82 = $3;
    53307        $83 = $8;
    53308        $84 = ((($83)) + 4|0);
    53309        $85 = HEAP32[$84>>2]|0;
    53310        $86 = HEAP32[$85>>2]|0;
    53311        $87 = $5;
    53312        $88 = (($87) + 3)|0;
    53313        _mrb_parser_dump($82,$86,$88);
    53314       }
    53315       $89 = $8;
    53316       $90 = ((($89)) + 4|0);
    53317       $91 = HEAP32[$90>>2]|0;
    53318       $92 = ((($91)) + 4|0);
    53319       $93 = HEAP32[$92>>2]|0;
    53320       $94 = HEAP32[$93>>2]|0;
    53321       $95 = ($94|0)!=(0|0);
    53322       if ($95) {
    53323        $96 = $8;
    53324        $97 = $5;
    53325        $98 = (($97) + 2)|0;
    53326        _dump_prefix($96,$98);
    53327        (_printf(57237,$vararg_buffer11)|0);
    53328        $99 = $3;
    53329        $100 = $8;
    53330        $101 = ((($100)) + 4|0);
    53331        $102 = HEAP32[$101>>2]|0;
    53332        $103 = ((($102)) + 4|0);
    53333        $104 = HEAP32[$103>>2]|0;
    53334        $105 = HEAP32[$104>>2]|0;
    53335        $106 = $5;
    53336        $107 = (($106) + 3)|0;
    53337        _mrb_parser_dump($99,$105,$107);
    53338       }
    53339       $108 = $7;
    53340       $109 = ((($108)) + 4|0);
    53341       $110 = HEAP32[$109>>2]|0;
    53342       $7 = $110;
    53343      }
    53344     }
    53345    } while(0);
    53346    $111 = $4;
    53347    $112 = ((($111)) + 4|0);
    53348    $113 = HEAP32[$112>>2]|0;
    53349    $4 = $113;
    53350    $114 = $4;
    53351    $115 = HEAP32[$114>>2]|0;
    53352    $116 = ($115|0)!=(0|0);
    53353    if (!($116)) {
    53354     STACKTOP = sp;return;
    53355    }
    53356    $117 = $4;
    53357    $118 = $5;
    53358    $119 = (($118) + 1)|0;
    53359    _dump_prefix($117,$119);
    53360    (_printf(57251,$vararg_buffer13)|0);
    53361    $120 = $3;
    53362    $121 = $4;
    53363    $122 = HEAP32[$121>>2]|0;
    53364    $123 = $5;
    53365    $124 = (($123) + 2)|0;
    53366    _mrb_parser_dump($120,$122,$124);
    53367    STACKTOP = sp;return;
    53368    break;
    53369   }
    53370   case 18: {
    53371    (_printf(57258,$vararg_buffer15)|0);
    53372    $125 = $4;
    53373    $126 = $5;
    53374    $127 = (($126) + 1)|0;
    53375    _dump_prefix($125,$127);
    53376    (_printf(57194,$vararg_buffer17)|0);
    53377    $128 = $3;
    53378    $129 = $4;
    53379    $130 = HEAP32[$129>>2]|0;
    53380    $131 = $5;
    53381    $132 = (($131) + 2)|0;
    53382    _mrb_parser_dump($128,$130,$132);
    53383    $133 = $4;
    53384    $134 = $5;
    53385    $135 = (($134) + 1)|0;
    53386    _dump_prefix($133,$135);
    53387    (_printf(57272,$vararg_buffer19)|0);
    53388    $136 = $3;
    53389    $137 = $4;
    53390    $138 = ((($137)) + 4|0);
    53391    $139 = HEAP32[$138>>2]|0;
    53392    $140 = ((($139)) + 4|0);
    53393    $141 = HEAP32[$140>>2]|0;
    53394    $142 = $5;
    53395    $143 = (($142) + 2)|0;
    53396    _mrb_parser_dump($136,$141,$143);
    53397    STACKTOP = sp;return;
    53398    break;
    53399   }
    53400   case 19: {
    53401    (_printf(57281,$vararg_buffer21)|0);
    53402    break;
    53403   }
    53404   case 34: {
    53405    (_printf(57372,$vararg_buffer41)|0);
    53406    $243 = $4;
    53407    $244 = $5;
    53408    $245 = (($244) + 1)|0;
    53409    _dump_prefix($243,$245);
    53410    (_printf(57382,$vararg_buffer43)|0);
    53411    $246 = $3;
    53412    $247 = $4;
    53413    $248 = HEAP32[$247>>2]|0;
    53414    $249 = $5;
    53415    $250 = (($249) + 2)|0;
    53416    _mrb_parser_dump($246,$248,$250);
    53417    $251 = $4;
    53418    $252 = $5;
    53419    $253 = (($252) + 1)|0;
    53420    _dump_prefix($251,$253);
    53421    (_printf(57389,$vararg_buffer45)|0);
    53422    $254 = $3;
    53423    $255 = $4;
    53424    $256 = ((($255)) + 4|0);
    53425    $257 = HEAP32[$256>>2]|0;
    53426    $258 = HEAP32[$257>>2]|0;
    53427    $259 = $5;
    53428    $260 = (($259) + 2)|0;
    53429    _mrb_parser_dump($254,$258,$260);
    53430    $261 = $4;
    53431    $262 = ((($261)) + 4|0);
    53432    $263 = HEAP32[$262>>2]|0;
    53433    $264 = ((($263)) + 4|0);
    53434    $265 = HEAP32[$264>>2]|0;
    53435    $266 = HEAP32[$265>>2]|0;
    53436    $267 = ($266|0)!=(0|0);
    53437    if (!($267)) {
    53438     STACKTOP = sp;return;
    53439    }
    53440    $268 = $4;
    53441    $269 = $5;
    53442    $270 = (($269) + 1)|0;
    53443    _dump_prefix($268,$270);
    53444    (_printf(57251,$vararg_buffer47)|0);
    53445    $271 = $3;
    53446    $272 = $4;
    53447    $273 = ((($272)) + 4|0);
    53448    $274 = HEAP32[$273>>2]|0;
    53449    $275 = ((($274)) + 4|0);
    53450    $276 = HEAP32[$275>>2]|0;
    53451    $277 = HEAP32[$276>>2]|0;
    53452    $278 = $5;
    53453    $279 = (($278) + 2)|0;
    53454    _mrb_parser_dump($271,$277,$279);
    53455    STACKTOP = sp;return;
    53456    break;
    53457   }
    53458   case 36: {
    53459    (_printf(57396,$vararg_buffer49)|0);
    53460    $280 = $3;
    53461    $281 = $4;
    53462    $282 = HEAP32[$281>>2]|0;
    53463    $283 = $5;
    53464    $284 = (($283) + 1)|0;
    53465    _mrb_parser_dump($280,$282,$284);
    53466    $285 = $3;
    53467    $286 = $4;
    53468    $287 = ((($286)) + 4|0);
    53469    $288 = HEAP32[$287>>2]|0;
    53470    $289 = $5;
    53471    $290 = (($289) + 1)|0;
    53472    _mrb_parser_dump($285,$288,$290);
    53473    STACKTOP = sp;return;
    53474    break;
    53475   }
    53476   case 37: {
    53477    (_printf(57407,$vararg_buffer51)|0);
    53478    $291 = $3;
    53479    $292 = $4;
    53480    $293 = HEAP32[$292>>2]|0;
    53481    $294 = $5;
    53482    $295 = (($294) + 1)|0;
    53483    _mrb_parser_dump($291,$293,$295);
    53484    $296 = $3;
    53485    $297 = $4;
    53486    $298 = ((($297)) + 4|0);
    53487    $299 = HEAP32[$298>>2]|0;
    53488    $300 = $5;
    53489    $301 = (($300) + 1)|0;
    53490    _mrb_parser_dump($296,$299,$301);
    53491    STACKTOP = sp;return;
    53492    break;
    53493   }
    53494   case 38: {
    53495    (_printf(57417,$vararg_buffer53)|0);
    53496    $302 = $4;
    53497    $303 = HEAP32[$302>>2]|0;
    53498    $304 = ($303|0)!=(0|0);
    53499    if ($304) {
    53500     $305 = $3;
    53501     $306 = $4;
    53502     $307 = HEAP32[$306>>2]|0;
    53503     $308 = $5;
    53504     $309 = (($308) + 1)|0;
    53505     _mrb_parser_dump($305,$307,$309);
    53506    }
    53507    $310 = $4;
    53508    $311 = ((($310)) + 4|0);
    53509    $312 = HEAP32[$311>>2]|0;
    53510    $4 = $312;
    53511    while(1) {
    53512     $313 = $4;
    53513     $314 = ($313|0)!=(0|0);
    53514     if (!($314)) {
    53515      break;
    53516     }
    53517     $315 = $4;
    53518     $316 = $5;
    53519     $317 = (($316) + 1)|0;
    53520     _dump_prefix($315,$317);
    53521     (_printf(57429,$vararg_buffer55)|0);
    53522     $318 = $3;
    53523     $319 = $4;
    53524     $320 = HEAP32[$319>>2]|0;
    53525     $321 = HEAP32[$320>>2]|0;
    53526     $322 = $5;
    53527     $323 = (($322) + 2)|0;
    53528     _dump_recur($318,$321,$323);
    53529     $324 = $4;
    53530     $325 = $5;
    53531     $326 = (($325) + 1)|0;
    53532     _dump_prefix($324,$326);
    53533     (_printf(57194,$vararg_buffer57)|0);
    53534     $327 = $3;
    53535     $328 = $4;
    53536     $329 = HEAP32[$328>>2]|0;
    53537     $330 = ((($329)) + 4|0);
    53538     $331 = HEAP32[$330>>2]|0;
    53539     $332 = $5;
    53540     $333 = (($332) + 2)|0;
    53541     _mrb_parser_dump($327,$331,$333);
    53542     $334 = $4;
    53543     $335 = ((($334)) + 4|0);
    53544     $336 = HEAP32[$335>>2]|0;
    53545     $4 = $336;
    53546    }
    53547    STACKTOP = sp;return;
    53548    break;
    53549   }
    53550   case 43: {
    53551    (_printf(57436,$vararg_buffer59)|0);
    53552    $337 = $4;
    53553    $338 = $5;
    53554    $339 = (($338) + 1)|0;
    53555    _dump_prefix($337,$339);
    53556    (_printf(57382,$vararg_buffer61)|0);
    53557    $340 = $3;
    53558    $341 = $4;
    53559    $342 = HEAP32[$341>>2]|0;
    53560    $343 = $5;
    53561    $344 = (($343) + 2)|0;
    53562    _mrb_parser_dump($340,$342,$344);
    53563    $345 = $4;
    53564    $346 = $5;
    53565    $347 = (($346) + 1)|0;
    53566    _dump_prefix($345,$347);
    53567    (_printf(57194,$vararg_buffer63)|0);
    53568    $348 = $3;
    53569    $349 = $4;
    53570    $350 = ((($349)) + 4|0);
    53571    $351 = HEAP32[$350>>2]|0;
    53572    $352 = $5;
    53573    $353 = (($352) + 2)|0;
    53574    _mrb_parser_dump($348,$351,$353);
    53575    STACKTOP = sp;return;
    53576    break;
    53577   }
    53578   case 44: {
    53579    (_printf(57449,$vararg_buffer65)|0);
    53580    $354 = $4;
    53581    $355 = $5;
    53582    $356 = (($355) + 1)|0;
    53583    _dump_prefix($354,$356);
    53584    (_printf(57382,$vararg_buffer67)|0);
    53585    $357 = $3;
    53586    $358 = $4;
    53587    $359 = HEAP32[$358>>2]|0;
    53588    $360 = $5;
    53589    $361 = (($360) + 2)|0;
    53590    _mrb_parser_dump($357,$359,$361);
    53591    $362 = $4;
    53592    $363 = $5;
    53593    $364 = (($363) + 1)|0;
    53594    _dump_prefix($362,$364);
    53595    (_printf(57194,$vararg_buffer69)|0);
    53596    $365 = $3;
    53597    $366 = $4;
    53598    $367 = ((($366)) + 4|0);
    53599    $368 = HEAP32[$367>>2]|0;
    53600    $369 = $5;
    53601    $370 = (($369) + 2)|0;
    53602    _mrb_parser_dump($365,$368,$370);
    53603    STACKTOP = sp;return;
    53604    break;
    53605   }
    53606   case 45: {
    53607    (_printf(57462,$vararg_buffer71)|0);
    53608    $371 = $4;
    53609    $372 = $5;
    53610    $373 = (($372) + 1)|0;
    53611    _dump_prefix($371,$373);
    53612    (_printf(57473,$vararg_buffer73)|0);
    53613    $374 = $4;
    53614    $375 = HEAP32[$374>>2]|0;
    53615    $11 = $375;
    53616    $376 = $11;
    53617    $377 = HEAP32[$376>>2]|0;
    53618    $378 = ($377|0)!=(0|0);
    53619    if ($378) {
    53620     $379 = $11;
    53621     $380 = $5;
    53622     $381 = (($380) + 2)|0;
    53623     _dump_prefix($379,$381);
    53624     (_printf(57479,$vararg_buffer75)|0);
    53625     $382 = $3;
    53626     $383 = $11;
    53627     $384 = HEAP32[$383>>2]|0;
    53628     $385 = $5;
    53629     $386 = (($385) + 3)|0;
    53630     _dump_recur($382,$384,$386);
    53631    }
    53632    $387 = $11;
    53633    $388 = ((($387)) + 4|0);
    53634    $389 = HEAP32[$388>>2]|0;
    53635    $11 = $389;
    53636    $390 = $11;
    53637    $391 = ($390|0)!=(0|0);
    53638    if ($391) {
    53639     $392 = $11;
    53640     $393 = HEAP32[$392>>2]|0;
    53641     $394 = ($393|0)!=(0|0);
    53642     if ($394) {
    53643      $395 = $11;
    53644      $396 = $5;
    53645      $397 = (($396) + 2)|0;
    53646      _dump_prefix($395,$397);
    53647      (_printf(57485,$vararg_buffer77)|0);
    53648      $398 = $3;
    53649      $399 = $11;
    53650      $400 = HEAP32[$399>>2]|0;
    53651      $401 = $5;
    53652      $402 = (($401) + 3)|0;
    53653      _mrb_parser_dump($398,$400,$402);
    53654     }
    53655     $403 = $11;
    53656     $404 = ((($403)) + 4|0);
    53657     $405 = HEAP32[$404>>2]|0;
    53658     $11 = $405;
    53659     $406 = $11;
    53660     $407 = ($406|0)!=(0|0);
    53661     if ($407) {
    53662      $408 = $11;
    53663      $409 = HEAP32[$408>>2]|0;
    53664      $410 = ($409|0)!=(0|0);
    53665      if ($410) {
    53666       $411 = $11;
    53667       $412 = $5;
    53668       $413 = (($412) + 2)|0;
    53669       _dump_prefix($411,$413);
    53670       (_printf(57492,$vararg_buffer79)|0);
    53671       $414 = $3;
    53672       $415 = $11;
    53673       $416 = HEAP32[$415>>2]|0;
    53674       $417 = $5;
    53675       $418 = (($417) + 3)|0;
    53676       _dump_recur($414,$416,$418);
    53677      }
    53678     }
    53679    }
    53680    $419 = $4;
    53681    $420 = ((($419)) + 4|0);
    53682    $421 = HEAP32[$420>>2]|0;
    53683    $4 = $421;
    53684    $422 = $4;
    53685    $423 = $5;
    53686    $424 = (($423) + 1)|0;
    53687    _dump_prefix($422,$424);
    53688    (_printf(57499,$vararg_buffer81)|0);
    53689    $425 = $3;
    53690    $426 = $4;
    53691    $427 = HEAP32[$426>>2]|0;
    53692    $428 = $5;
    53693    $429 = (($428) + 2)|0;
    53694    _mrb_parser_dump($425,$427,$429);
    53695    $430 = $4;
    53696    $431 = ((($430)) + 4|0);
    53697    $432 = HEAP32[$431>>2]|0;
    53698    $4 = $432;
    53699    $433 = $4;
    53700    $434 = $5;
    53701    $435 = (($434) + 1)|0;
    53702    _dump_prefix($433,$435);
    53703    (_printf(57504,$vararg_buffer83)|0);
    53704    $436 = $3;
    53705    $437 = $4;
    53706    $438 = HEAP32[$437>>2]|0;
    53707    $439 = $5;
    53708    $440 = (($439) + 2)|0;
    53709    _mrb_parser_dump($436,$438,$440);
    53710    STACKTOP = sp;return;
    53711    break;
    53712   }
    53713   case 66: {
    53714    (_printf(57546,$vararg_buffer96)|0);
    53715    $478 = $3;
    53716    $479 = $4;
    53717    $480 = HEAP32[$479>>2]|0;
    53718    $481 = $5;
    53719    $482 = (($481) + 1)|0;
    53720    _mrb_parser_dump($478,$480,$482);
    53721    $483 = $4;
    53722    $484 = $5;
    53723    $485 = (($484) + 1)|0;
    53724    _dump_prefix($483,$485);
    53725    $486 = $3;
    53726    $487 = $4;
    53727    $488 = ((($487)) + 4|0);
    53728    $489 = HEAP32[$488>>2]|0;
    53729    $490 = HEAP32[$489>>2]|0;
    53730    $491 = $490;
    53731    $492 = (_mrb_sym2name($486,$491)|0);
    53732    $493 = $4;
    53733    $494 = ((($493)) + 4|0);
    53734    $495 = HEAP32[$494>>2]|0;
    53735    $496 = HEAP32[$495>>2]|0;
    53736    $497 = $496;
    53737    HEAP32[$vararg_buffer98>>2] = $492;
    53738    $vararg_ptr101 = ((($vararg_buffer98)) + 4|0);
    53739    HEAP32[$vararg_ptr101>>2] = $497;
    53740    (_printf(57558,$vararg_buffer98)|0);
    53741    $498 = $4;
    53742    $499 = ((($498)) + 4|0);
    53743    $500 = HEAP32[$499>>2]|0;
    53744    $501 = ((($500)) + 4|0);
    53745    $502 = HEAP32[$501>>2]|0;
    53746    $503 = HEAP32[$502>>2]|0;
    53747    $4 = $503;
    53748    $504 = $4;
    53749    $505 = ($504|0)!=(0|0);
    53750    if (!($505)) {
    53751     STACKTOP = sp;return;
    53752    }
    53753    $506 = $4;
    53754    $507 = $5;
    53755    $508 = (($507) + 1)|0;
    53756    _dump_prefix($506,$508);
    53757    (_printf(57576,$vararg_buffer102)|0);
    53758    $509 = $3;
    53759    $510 = $4;
    53760    $511 = HEAP32[$510>>2]|0;
    53761    $512 = $5;
    53762    $513 = (($512) + 2)|0;
    53763    _dump_recur($509,$511,$513);
    53764    $514 = $4;
    53765    $515 = ((($514)) + 4|0);
    53766    $516 = HEAP32[$515>>2]|0;
    53767    $517 = ($516|0)!=(0|0);
    53768    if (!($517)) {
    53769     STACKTOP = sp;return;
    53770    }
    53771    $518 = $4;
    53772    $519 = $5;
    53773    $520 = (($519) + 1)|0;
    53774    _dump_prefix($518,$520);
    53775    (_printf(57583,$vararg_buffer104)|0);
    53776    $521 = $3;
    53777    $522 = $4;
    53778    $523 = ((($522)) + 4|0);
    53779    $524 = HEAP32[$523>>2]|0;
    53780    $525 = $5;
    53781    $526 = (($525) + 2)|0;
    53782    _mrb_parser_dump($521,$524,$526);
    53783    STACKTOP = sp;return;
    53784    break;
    53785   }
    53786   case 69: {
    53787    (_printf(57591,$vararg_buffer106)|0);
    53788    $527 = $3;
    53789    $528 = $4;
    53790    $529 = HEAP32[$528>>2]|0;
    53791    $530 = $5;
    53792    $531 = (($530) + 1)|0;
    53793    _mrb_parser_dump($527,$529,$531);
    53794    $532 = $3;
    53795    $533 = $4;
    53796    $534 = ((($533)) + 4|0);
    53797    $535 = HEAP32[$534>>2]|0;
    53798    $536 = $5;
    53799    $537 = (($536) + 1)|0;
    53800    _mrb_parser_dump($532,$535,$537);
    53801    STACKTOP = sp;return;
    53802    break;
    53803   }
    53804   case 70: {
    53805    (_printf(57603,$vararg_buffer108)|0);
    53806    $538 = $3;
    53807    $539 = $4;
    53808    $540 = HEAP32[$539>>2]|0;
    53809    $541 = $5;
    53810    $542 = (($541) + 1)|0;
    53811    _mrb_parser_dump($538,$540,$542);
    53812    $543 = $3;
    53813    $544 = $4;
    53814    $545 = ((($544)) + 4|0);
    53815    $546 = HEAP32[$545>>2]|0;
    53816    $547 = $5;
    53817    $548 = (($547) + 1)|0;
    53818    _mrb_parser_dump($543,$546,$548);
    53819    STACKTOP = sp;return;
    53820    break;
    53821   }
    53822   case 71: {
    53823    (_printf(57615,$vararg_buffer110)|0);
    53824    $549 = $3;
    53825    $550 = $4;
    53826    $551 = HEAP32[$550>>2]|0;
    53827    $552 = $5;
    53828    $553 = (($552) + 1)|0;
    53829    _mrb_parser_dump($549,$551,$553);
    53830    $554 = $4;
    53831    $555 = $5;
    53832    $556 = (($555) + 1)|0;
    53833    _dump_prefix($554,$556);
    53834    $557 = $3;
    53835    $558 = $4;
    53836    $559 = ((($558)) + 4|0);
    53837    $560 = HEAP32[$559>>2]|0;
    53838    $561 = $560;
    53839    $562 = (_mrb_sym2name($557,$561)|0);
    53840    HEAP32[$vararg_buffer112>>2] = $562;
    53841    (_printf(57629,$vararg_buffer112)|0);
    53842    STACKTOP = sp;return;
    53843    break;
    53844   }
    53845   case 72: {
    53846    $563 = $3;
    53847    $564 = $4;
    53848    $565 = $564;
    53849    $566 = (_mrb_sym2name($563,$565)|0);
    53850    HEAP32[$vararg_buffer115>>2] = $566;
    53851    (_printf(57635,$vararg_buffer115)|0);
    53852    STACKTOP = sp;return;
    53853    break;
    53854   }
    53855   case 73: {
    53856    (_printf(57654,$vararg_buffer118)|0);
    53857    $567 = $3;
    53858    $568 = $4;
    53859    $569 = $5;
    53860    $570 = (($569) + 1)|0;
    53861    _dump_recur($567,$568,$570);
    53862    STACKTOP = sp;return;
    53863    break;
    53864   }
    53865   case 74: {
    53866    (_printf(57667,$vararg_buffer120)|0);
    53867    while(1) {
    53868     $571 = $4;
    53869     $572 = ($571|0)!=(0|0);
    53870     if (!($572)) {
    53871      break;
    53872     }
    53873     $573 = $4;
    53874     $574 = $5;
    53875     $575 = (($574) + 1)|0;
    53876     _dump_prefix($573,$575);
    53877     (_printf(57679,$vararg_buffer122)|0);
    53878     $576 = $3;
    53879     $577 = $4;
    53880     $578 = HEAP32[$577>>2]|0;
    53881     $579 = HEAP32[$578>>2]|0;
    53882     $580 = $5;
    53883     $581 = (($580) + 2)|0;
    53884     _mrb_parser_dump($576,$579,$581);
    53885     $582 = $4;
    53886     $583 = $5;
    53887     $584 = (($583) + 1)|0;
    53888     _dump_prefix($582,$584);
    53889     (_printf(57685,$vararg_buffer124)|0);
    53890     $585 = $3;
    53891     $586 = $4;
    53892     $587 = HEAP32[$586>>2]|0;
    53893     $588 = ((($587)) + 4|0);
    53894     $589 = HEAP32[$588>>2]|0;
    53895     $590 = $5;
    53896     $591 = (($590) + 2)|0;
    53897     _mrb_parser_dump($585,$589,$591);
    53898     $592 = $4;
    53899     $593 = ((($592)) + 4|0);
    53900     $594 = HEAP32[$593>>2]|0;
    53901     $4 = $594;
    53902    }
    53903    STACKTOP = sp;return;
    53904    break;
    53905   }
    53906   case 77: {
    53907    (_printf(57693,$vararg_buffer126)|0);
    53908    $595 = $3;
    53909    $596 = $4;
    53910    $597 = $5;
    53911    $598 = (($597) + 1)|0;
    53912    _mrb_parser_dump($595,$596,$598);
    53913    STACKTOP = sp;return;
    53914    break;
    53915   }
    53916   case 78: {
    53917    (_printf(57706,$vararg_buffer128)|0);
    53918    $599 = $4;
    53919    $600 = $5;
    53920    $601 = (($600) + 1)|0;
    53921    _dump_prefix($599,$601);
    53922    (_printf(57718,$vararg_buffer130)|0);
    53923    $602 = $3;
    53924    $603 = $4;
    53925    $604 = HEAP32[$603>>2]|0;
    53926    $605 = $5;
    53927    $606 = (($605) + 2)|0;
    53928    _mrb_parser_dump($602,$604,$606);
    53929    $607 = $4;
    53930    $608 = $5;
    53931    $609 = (($608) + 1)|0;
    53932    _dump_prefix($607,$609);
    53933    (_printf(57724,$vararg_buffer132)|0);
    53934    $610 = $3;
    53935    $611 = $4;
    53936    $612 = ((($611)) + 4|0);
    53937    $613 = HEAP32[$612>>2]|0;
    53938    $614 = $5;
    53939    $615 = (($614) + 2)|0;
    53940    _mrb_parser_dump($610,$613,$615);
    53941    STACKTOP = sp;return;
    53942    break;
    53943   }
    53944   case 79: {
    53945    (_printf(57730,$vararg_buffer134)|0);
    53946    $616 = $4;
    53947    $617 = $5;
    53948    $618 = (($617) + 1)|0;
    53949    _dump_prefix($616,$618);
    53950    (_printf(57743,$vararg_buffer136)|0);
    53951    $619 = $4;
    53952    $620 = HEAP32[$619>>2]|0;
    53953    $14 = $620;
    53954    $621 = $14;
    53955    $622 = HEAP32[$621>>2]|0;
    53956    $623 = ($622|0)!=(0|0);
    53957    if ($623) {
    53958     $624 = $4;
    53959     $625 = $5;
    53960     $626 = (($625) + 2)|0;
    53961     _dump_prefix($624,$626);
    53962     (_printf(57479,$vararg_buffer138)|0);
    53963     $627 = $3;
    53964     $628 = $14;
    53965     $629 = HEAP32[$628>>2]|0;
    53966     $630 = $5;
    53967     $631 = (($630) + 3)|0;
    53968     _dump_recur($627,$629,$631);
    53969    }
    53970    $632 = $14;
    53971    $633 = ((($632)) + 4|0);
    53972    $634 = HEAP32[$633>>2]|0;
    53973    $14 = $634;
    53974    $635 = $14;
    53975    $636 = ($635|0)!=(0|0);
    53976    if ($636) {
    53977     $637 = $14;
    53978     $638 = HEAP32[$637>>2]|0;
    53979     $639 = ($638|0)!=(0|0);
    53980     do {
    53981      if ($639) {
    53982       $640 = $14;
    53983       $641 = $5;
    53984       $642 = (($641) + 2)|0;
    53985       _dump_prefix($640,$642);
    53986       (_printf(57485,$vararg_buffer140)|0);
    53987       $643 = $14;
    53988       $644 = HEAP32[$643>>2]|0;
    53989       $645 = ($644|0)==((-1)|0);
    53990       if ($645) {
    53991        $646 = $14;
    53992        $647 = $5;
    53993        $648 = (($647) + 2)|0;
    53994        _dump_prefix($646,$648);
    53995        (_printf(57750,$vararg_buffer142)|0);
    53996        break;
    53997       } else {
    53998        $649 = $3;
    53999        $650 = $14;
    54000        $651 = HEAP32[$650>>2]|0;
    54001        $652 = $5;
    54002        $653 = (($652) + 3)|0;
    54003        _mrb_parser_dump($649,$651,$653);
    54004        break;
    54005       }
    54006      }
    54007     } while(0);
    54008     $654 = $14;
    54009     $655 = ((($654)) + 4|0);
    54010     $656 = HEAP32[$655>>2]|0;
    54011     $14 = $656;
    54012     $657 = $14;
    54013     $658 = ($657|0)!=(0|0);
    54014     if ($658) {
    54015      $659 = $14;
    54016      $660 = HEAP32[$659>>2]|0;
    54017      $661 = ($660|0)!=(0|0);
    54018      if ($661) {
    54019       $662 = $14;
    54020       $663 = $5;
    54021       $664 = (($663) + 2)|0;
    54022       _dump_prefix($662,$664);
    54023       (_printf(57492,$vararg_buffer144)|0);
    54024       $665 = $3;
    54025       $666 = $14;
    54026       $667 = HEAP32[$666>>2]|0;
    54027       $668 = $5;
    54028       $669 = (($668) + 3)|0;
    54029       _dump_recur($665,$667,$669);
    54030      }
    54031     }
    54032    }
    54033    $670 = $4;
    54034    $671 = $5;
    54035    $672 = (($671) + 1)|0;
    54036    _dump_prefix($670,$672);
    54037    (_printf(57724,$vararg_buffer146)|0);
    54038    $673 = $3;
    54039    $674 = $4;
    54040    $675 = ((($674)) + 4|0);
    54041    $676 = HEAP32[$675>>2]|0;
    54042    $677 = $5;
    54043    $678 = (($677) + 2)|0;
    54044    _mrb_parser_dump($673,$676,$678);
    54045    STACKTOP = sp;return;
    54046    break;
    54047   }
    54048   case 90: {
    54049    (_printf(57759,$vararg_buffer148)|0);
    54050    $679 = $4;
    54051    $680 = $5;
    54052    $681 = (($680) + 1)|0;
    54053    _dump_prefix($679,$681);
    54054    (_printf(57718,$vararg_buffer150)|0);
    54055    $682 = $3;
    54056    $683 = $4;
    54057    $684 = HEAP32[$683>>2]|0;
    54058    $685 = $5;
    54059    $686 = (($685) + 2)|0;
    54060    _mrb_parser_dump($682,$684,$686);
    54061    $687 = $4;
    54062    $688 = ((($687)) + 4|0);
    54063    $689 = HEAP32[$688>>2]|0;
    54064    $4 = $689;
    54065    $690 = $4;
    54066    $691 = $5;
    54067    $692 = (($691) + 1)|0;
    54068    _dump_prefix($690,$692);
    54069    $693 = $3;
    54070    $694 = $4;
    54071    $695 = HEAP32[$694>>2]|0;
    54072    $696 = $695;
    54073    $697 = (_mrb_sym2name($693,$696)|0);
    54074    $698 = $4;
    54075    $699 = HEAP32[$698>>2]|0;
    54076    $700 = $699;
    54077    HEAP32[$vararg_buffer152>>2] = $697;
    54078    $vararg_ptr155 = ((($vararg_buffer152)) + 4|0);
    54079    HEAP32[$vararg_ptr155>>2] = $700;
    54080    (_printf(57774,$vararg_buffer152)|0);
    54081    $701 = $4;
    54082    $702 = ((($701)) + 4|0);
    54083    $703 = HEAP32[$702>>2]|0;
    54084    $4 = $703;
    54085    $704 = $3;
    54086    $705 = $4;
    54087    $706 = HEAP32[$705>>2]|0;
    54088    $707 = $5;
    54089    $708 = (($707) + 1)|0;
    54090    _mrb_parser_dump($704,$706,$708);
    54091    STACKTOP = sp;return;
    54092    break;
    54093   }
    54094   case 91: {
    54095    (_printf(57788,$vararg_buffer156)|0);
    54096    $709 = $4;
    54097    $710 = ($709|0)!=(0|0);
    54098    if (!($710)) {
    54099     STACKTOP = sp;return;
    54100    }
    54101    $711 = $4;
    54102    $712 = $5;
    54103    $713 = (($712) + 1)|0;
    54104    _dump_prefix($711,$713);
    54105    (_printf(57576,$vararg_buffer158)|0);
    54106    $714 = $3;
    54107    $715 = $4;
    54108    $716 = HEAP32[$715>>2]|0;
    54109    $717 = $5;
    54110    $718 = (($717) + 2)|0;
    54111    _dump_recur($714,$716,$718);
    54112    $719 = $4;
    54113    $720 = ((($719)) + 4|0);
    54114    $721 = HEAP32[$720>>2]|0;
    54115    $722 = ($721|0)!=(0|0);
    54116    if (!($722)) {
    54117     STACKTOP = sp;return;
    54118    }
    54119    $723 = $4;
    54120    $724 = $5;
    54121    $725 = (($724) + 1)|0;
    54122    _dump_prefix($723,$725);
    54123    (_printf(57583,$vararg_buffer160)|0);
    54124    $726 = $3;
    54125    $727 = $4;
    54126    $728 = ((($727)) + 4|0);
    54127    $729 = HEAP32[$728>>2]|0;
    54128    $730 = $5;
    54129    $731 = (($730) + 2)|0;
    54130    _mrb_parser_dump($726,$729,$731);
    54131    STACKTOP = sp;return;
    54132    break;
    54133   }
    54134   case 94: {
    54135    (_printf(57801,$vararg_buffer162)|0);
    54136    STACKTOP = sp;return;
    54137    break;
    54138   }
    54139   case 95: {
    54140    (_printf(57814,$vararg_buffer164)|0);
    54141    $732 = $3;
    54142    $733 = $4;
    54143    $734 = $5;
    54144    $735 = (($734) + 1)|0;
    54145    _mrb_parser_dump($732,$733,$735);
    54146    STACKTOP = sp;return;
    54147    break;
    54148   }
    54149   case 96: {
    54150    (_printf(57828,$vararg_buffer166)|0);
    54151    $736 = $3;
    54152    $737 = $4;
    54153    $738 = $5;
    54154    $739 = (($738) + 1)|0;
    54155    _dump_recur($736,$737,$739);
    54156    STACKTOP = sp;return;
    54157    break;
    54158   }
    54159   case 97: {
    54160    (_printf(57841,$vararg_buffer168)|0);
    54161    $740 = $3;
    54162    $741 = $4;
    54163    $742 = $5;
    54164    $743 = (($742) + 1)|0;
    54165    _mrb_parser_dump($740,$741,$743);
    54166    STACKTOP = sp;return;
    54167    break;
    54168   }
    54169   case 98: {
    54170    (_printf(57854,$vararg_buffer170)|0);
    54171    $744 = $3;
    54172    $745 = $4;
    54173    $746 = $5;
    54174    $747 = (($746) + 1)|0;
    54175    _mrb_parser_dump($744,$745,$747);
    54176    STACKTOP = sp;return;
    54177    break;
    54178   }
    54179   case 99: {
    54180    (_printf(57866,$vararg_buffer172)|0);
    54181    STACKTOP = sp;return;
    54182    break;
    54183   }
    54184   case 100: {
    54185    (_printf(57877,$vararg_buffer174)|0);
    54186    STACKTOP = sp;return;
    54187    break;
    54188   }
    54189   case 101: {
    54190    $748 = $3;
    54191    $749 = $4;
    54192    $750 = $749;
    54193    $751 = (_mrb_sym2name($748,$750)|0);
    54194    HEAP32[$vararg_buffer176>>2] = $751;
    54195    (_printf(57889,$vararg_buffer176)|0);
    54196    STACKTOP = sp;return;
    54197    break;
    54198   }
    54199   case 102: {
    54200    $752 = $3;
    54201    $753 = $4;
    54202    $754 = $753;
    54203    $755 = (_mrb_sym2name($752,$754)|0);
    54204    HEAP32[$vararg_buffer179>>2] = $755;
    54205    (_printf(57903,$vararg_buffer179)|0);
    54206    STACKTOP = sp;return;
    54207    break;
    54208   }
    54209   case 103: {
    54210    $756 = $3;
    54211    $757 = $4;
    54212    $758 = $757;
    54213    $759 = (_mrb_sym2name($756,$758)|0);
    54214    HEAP32[$vararg_buffer182>>2] = $759;
    54215    (_printf(57917,$vararg_buffer182)|0);
    54216    STACKTOP = sp;return;
    54217    break;
    54218   }
    54219   case 104: {
    54220    $760 = $3;
    54221    $761 = $4;
    54222    $762 = $761;
    54223    $763 = (_mrb_sym2name($760,$762)|0);
    54224    HEAP32[$vararg_buffer185>>2] = $763;
    54225    (_printf(57931,$vararg_buffer185)|0);
    54226    STACKTOP = sp;return;
    54227    break;
    54228   }
    54229   case 105: {
    54230    $764 = $3;
    54231    $765 = $4;
    54232    $766 = $765;
    54233    $767 = (_mrb_sym2name($764,$766)|0);
    54234    HEAP32[$vararg_buffer188>>2] = $767;
    54235    (_printf(57945,$vararg_buffer188)|0);
    54236    STACKTOP = sp;return;
    54237    break;
    54238   }
    54239   case 106: {
    54240    (_printf(57960,$vararg_buffer191)|0);
    54241    $768 = $4;
    54242    $769 = $5;
    54243    $770 = (($769) + 1)|0;
    54244    _dump_prefix($768,$770);
    54245    (_printf(57718,$vararg_buffer193)|0);
    54246    $771 = $3;
    54247    $772 = $4;
    54248    $773 = HEAP32[$772>>2]|0;
    54249    $774 = $5;
    54250    $775 = (($774) + 2)|0;
    54251    _mrb_parser_dump($771,$773,$775);
    54252    $776 = $4;
    54253    $777 = $5;
    54254    $778 = (($777) + 1)|0;
    54255    _dump_prefix($776,$778);
    54256    (_printf(57724,$vararg_buffer195)|0);
    54257    $779 = $3;
    54258    $780 = $4;
    54259    $781 = ((($780)) + 4|0);
    54260    $782 = HEAP32[$781>>2]|0;
    54261    $783 = $5;
    54262    $784 = (($783) + 2)|0;
    54263    _mrb_parser_dump($779,$782,$784);
    54264    STACKTOP = sp;return;
    54265    break;
    54266   }
    54267   case 107: {
    54268    $785 = $4;
    54269    $786 = $785;
    54270    HEAP32[$vararg_buffer197>>2] = $786;
    54271    (_printf(57973,$vararg_buffer197)|0);
    54272    STACKTOP = sp;return;
    54273    break;
    54274   }
    54275   case 108: {
    54276    $787 = $4;
    54277    $788 = $787;
    54278    HEAP32[$vararg_buffer200>>2] = $788;
    54279    (_printf(57993,$vararg_buffer200)|0);
    54280    STACKTOP = sp;return;
    54281    break;
    54282   }
    54283   case 109: {
    54284    $789 = $3;
    54285    $790 = $4;
    54286    $791 = $790;
    54287    $792 = (_mrb_sym2name($789,$791)|0);
    54288    HEAP32[$vararg_buffer203>>2] = $792;
    54289    (_printf(58012,$vararg_buffer203)|0);
    54290    STACKTOP = sp;return;
    54291    break;
    54292   }
    54293   case 110: {
    54294    (_printf(58025,$vararg_buffer206)|0);
    54295    $793 = $3;
    54296    $794 = $4;
    54297    $795 = $5;
    54298    $796 = (($795) + 1)|0;
    54299    _mrb_parser_dump($793,$794,$796);
    54300    STACKTOP = sp;return;
    54301    break;
    54302   }
    54303   case 111: {
    54304    $797 = $4;
    54305    $798 = HEAP32[$797>>2]|0;
    54306    $799 = $4;
    54307    $800 = ((($799)) + 4|0);
    54308    $801 = HEAP32[$800>>2]|0;
    54309    $802 = HEAP32[$801>>2]|0;
    54310    $803 = $802;
    54311    HEAP32[$vararg_buffer208>>2] = $798;
    54312    $vararg_ptr211 = ((($vararg_buffer208)) + 4|0);
    54313    HEAP32[$vararg_ptr211>>2] = $803;
    54314    (_printf(58042,$vararg_buffer208)|0);
    54315    STACKTOP = sp;return;
    54316    break;
    54317   }
    54318   case 112: {
    54319    $804 = $4;
    54320    HEAP32[$vararg_buffer212>>2] = $804;
    54321    (_printf(58063,$vararg_buffer212)|0);
    54322    STACKTOP = sp;return;
    54323    break;
    54324   }
    54325   case 113: {
    54326    (_printf(58078,$vararg_buffer215)|0);
    54327    $805 = $3;
    54328    $806 = $4;
    54329    $807 = $5;
    54330    $808 = (($807) + 1)|0;
    54331    _mrb_parser_dump($805,$806,$808);
    54332    STACKTOP = sp;return;
    54333    break;
    54334   }
    54335   case 114: {
    54336    $809 = $4;
    54337    $810 = HEAP32[$809>>2]|0;
    54338    $811 = $4;
    54339    $812 = ((($811)) + 4|0);
    54340    $813 = HEAP32[$812>>2]|0;
    54341    $814 = $813;
    54342    HEAP32[$vararg_buffer217>>2] = $810;
    54343    $vararg_ptr220 = ((($vararg_buffer217)) + 4|0);
    54344    HEAP32[$vararg_ptr220>>2] = $814;
    54345    (_printf(58091,$vararg_buffer217)|0);
    54346    STACKTOP = sp;return;
    54347    break;
    54348   }
    54349   case 115: {
    54350    (_printf(58113,$vararg_buffer221)|0);
    54351    $815 = $3;
    54352    $816 = $4;
    54353    $817 = $5;
    54354    $818 = (($817) + 1)|0;
    54355    _dump_recur($815,$816,$818);
    54356    STACKTOP = sp;return;
    54357    break;
    54358   }
    54359   case 116: {
    54360    $819 = $4;
    54361    $820 = HEAP32[$819>>2]|0;
    54362    $821 = $4;
    54363    $822 = ((($821)) + 4|0);
    54364    $823 = HEAP32[$822>>2]|0;
    54365    $824 = $823;
    54366    HEAP32[$vararg_buffer223>>2] = $820;
    54367    $vararg_ptr226 = ((($vararg_buffer223)) + 4|0);
    54368    HEAP32[$vararg_ptr226>>2] = $824;
    54369    (_printf(58124,$vararg_buffer223)|0);
    54370    STACKTOP = sp;return;
    54371    break;
    54372   }
    54373   case 117: {
    54374    (_printf(58147,$vararg_buffer227)|0);
    54375    $825 = $3;
    54376    $826 = $4;
    54377    $827 = $5;
    54378    $828 = (($827) + 1)|0;
    54379    _dump_recur($825,$826,$828);
    54380    STACKTOP = sp;return;
    54381    break;
    54382   }
    54383   case 118: {
    54384    $829 = $4;
    54385    $830 = HEAP32[$829>>2]|0;
    54386    $831 = $4;
    54387    $832 = ((($831)) + 4|0);
    54388    $833 = HEAP32[$832>>2]|0;
    54389    HEAP32[$vararg_buffer229>>2] = $830;
    54390    $vararg_ptr232 = ((($vararg_buffer229)) + 4|0);
    54391    HEAP32[$vararg_ptr232>>2] = $833;
    54392    (_printf(58159,$vararg_buffer229)|0);
    54393    STACKTOP = sp;return;
    54394    break;
    54395   }
    54396   case 119: {
    54397    (_printf(58177,$vararg_buffer233)|0);
    54398    $834 = $3;
    54399    $835 = $4;
    54400    $836 = HEAP32[$835>>2]|0;
    54401    $837 = $5;
    54402    $838 = (($837) + 1)|0;
    54403    _dump_recur($834,$836,$838);
    54404    $839 = $4;
    54405    $840 = $5;
    54406    _dump_prefix($839,$840);
    54407    $841 = $4;
    54408    $842 = ((($841)) + 4|0);
    54409    $843 = HEAP32[$842>>2]|0;
    54410    $844 = ((($843)) + 4|0);
    54411    $845 = HEAP32[$844>>2]|0;
    54412    $846 = HEAP32[$845>>2]|0;
    54413    HEAP32[$vararg_buffer235>>2] = $846;
    54414    (_printf(58189,$vararg_buffer235)|0);
    54415    $847 = $4;
    54416    $848 = $5;
    54417    _dump_prefix($847,$848);
    54418    $849 = $4;
    54419    $850 = ((($849)) + 4|0);
    54420    $851 = HEAP32[$850>>2]|0;
    54421    $852 = ((($851)) + 4|0);
    54422    $853 = HEAP32[$852>>2]|0;
    54423    $854 = ((($853)) + 4|0);
    54424    $855 = HEAP32[$854>>2]|0;
    54425    HEAP32[$vararg_buffer238>>2] = $855;
    54426    (_printf(58199,$vararg_buffer238)|0);
    54427    STACKTOP = sp;return;
    54428    break;
    54429   }
    54430   case 120: {
    54431    $856 = $3;
    54432    $857 = $4;
    54433    $858 = $857;
    54434    $859 = (_mrb_sym2name($856,$858)|0);
    54435    HEAP32[$vararg_buffer241>>2] = $859;
    54436    (_printf(58208,$vararg_buffer241)|0);
    54437    STACKTOP = sp;return;
    54438    break;
    54439   }
    54440   case 121: {
    54441    (_printf(58222,$vararg_buffer244)|0);
    54442    STACKTOP = sp;return;
    54443    break;
    54444   }
    54445   case 122: {
    54446    (_printf(58233,$vararg_buffer246)|0);
    54447    STACKTOP = sp;return;
    54448    break;
    54449   }
    54450   case 123: {
    54451    (_printf(58243,$vararg_buffer248)|0);
    54452    STACKTOP = sp;return;
    54453    break;
    54454   }
    54455   case 124: {
    54456    (_printf(58254,$vararg_buffer250)|0);
    54457    STACKTOP = sp;return;
    54458    break;
    54459   }
    54460   case 125: {
    54461    $860 = $3;
    54462    $861 = $4;
    54463    $862 = HEAP32[$861>>2]|0;
    54464    $863 = $862;
    54465    $864 = (_mrb_sym2name($860,$863)|0);
    54466    $865 = $3;
    54467    $866 = $4;
    54468    $867 = ((($866)) + 4|0);
    54469    $868 = HEAP32[$867>>2]|0;
    54470    $869 = $868;
    54471    $870 = (_mrb_sym2name($865,$869)|0);
    54472    HEAP32[$vararg_buffer252>>2] = $864;
    54473    $vararg_ptr255 = ((($vararg_buffer252)) + 4|0);
    54474    HEAP32[$vararg_ptr255>>2] = $870;
    54475    (_printf(58266,$vararg_buffer252)|0);
    54476    STACKTOP = sp;return;
    54477    break;
    54478   }
    54479   case 126: {
    54480    (_printf(58285,$vararg_buffer256)|0);
    54481    $871 = $4;
    54482    $15 = $871;
    54483    while(1) {
    54484     $872 = $15;
    54485     $873 = ($872|0)!=(0|0);
    54486     if (!($873)) {
    54487      break;
    54488     }
    54489     $874 = $3;
    54490     $875 = $15;
    54491     $876 = HEAP32[$875>>2]|0;
    54492     $877 = $876;
    54493     $878 = (_mrb_sym2name($874,$877)|0);
    54494     HEAP32[$vararg_buffer258>>2] = $878;
    54495     (_printf(58296,$vararg_buffer258)|0);
    54496     $879 = $15;
    54497     $880 = ((($879)) + 4|0);
    54498     $881 = HEAP32[$880>>2]|0;
    54499     $15 = $881;
    54500    }
    54501    (_printf(58300,$vararg_buffer261)|0);
    54502    STACKTOP = sp;return;
    54503    break;
    54504   }
    54505   case 130: {
    54506    (_printf(58303,$vararg_buffer263)|0);
    54507    $882 = $4;
    54508    $883 = HEAP32[$882>>2]|0;
    54509    $884 = HEAP32[$883>>2]|0;
    54510    $885 = ($884|0)==(0|0);
    54511    $886 = $4;
    54512    do {
    54513     if ($885) {
    54514      $887 = $5;
    54515      $888 = (($887) + 1)|0;
    54516      _dump_prefix($886,$888);
    54517      $889 = $3;
    54518      $890 = $4;
    54519      $891 = HEAP32[$890>>2]|0;
    54520      $892 = ((($891)) + 4|0);
    54521      $893 = HEAP32[$892>>2]|0;
    54522      $894 = $893;
    54523      $895 = (_mrb_sym2name($889,$894)|0);
    54524      HEAP32[$vararg_buffer265>>2] = $895;
    54525      (_printf(58316,$vararg_buffer265)|0);
    54526     } else {
    54527      $896 = HEAP32[$886>>2]|0;
    54528      $897 = HEAP32[$896>>2]|0;
    54529      $898 = ($897|0)==((1)|0);
    54530      if ($898) {
    54531       $899 = $4;
    54532       $900 = $5;
    54533       $901 = (($900) + 1)|0;
    54534       _dump_prefix($899,$901);
    54535       $902 = $3;
    54536       $903 = $4;
    54537       $904 = HEAP32[$903>>2]|0;
    54538       $905 = ((($904)) + 4|0);
    54539       $906 = HEAP32[$905>>2]|0;
    54540       $907 = $906;
    54541       $908 = (_mrb_sym2name($902,$907)|0);
    54542       HEAP32[$vararg_buffer268>>2] = $908;
    54543       (_printf(57629,$vararg_buffer268)|0);
    54544       break;
    54545      } else {
    54546       $909 = $3;
    54547       $910 = $4;
    54548       $911 = HEAP32[$910>>2]|0;
    54549       $912 = HEAP32[$911>>2]|0;
    54550       $913 = $5;
    54551       $914 = (($913) + 1)|0;
    54552       _mrb_parser_dump($909,$912,$914);
    54553       $915 = $4;
    54554       $916 = $5;
    54555       $917 = (($916) + 1)|0;
    54556       _dump_prefix($915,$917);
    54557       $918 = $3;
    54558       $919 = $4;
    54559       $920 = HEAP32[$919>>2]|0;
    54560       $921 = ((($920)) + 4|0);
    54561       $922 = HEAP32[$921>>2]|0;
    54562       $923 = $922;
    54563       $924 = (_mrb_sym2name($918,$923)|0);
    54564       HEAP32[$vararg_buffer271>>2] = $924;
    54565       (_printf(57629,$vararg_buffer271)|0);
    54566       break;
    54567      }
    54568     }
    54569    } while(0);
    54570    $925 = $4;
    54571    $926 = ((($925)) + 4|0);
    54572    $927 = HEAP32[$926>>2]|0;
    54573    $928 = HEAP32[$927>>2]|0;
    54574    $929 = ($928|0)!=(0|0);
    54575    if ($929) {
    54576     $930 = $4;
    54577     $931 = $5;
    54578     $932 = (($931) + 1)|0;
    54579     _dump_prefix($930,$932);
    54580     (_printf(58321,$vararg_buffer274)|0);
    54581     $933 = $3;
    54582     $934 = $4;
    54583     $935 = ((($934)) + 4|0);
    54584     $936 = HEAP32[$935>>2]|0;
    54585     $937 = HEAP32[$936>>2]|0;
    54586     $938 = $5;
    54587     $939 = (($938) + 2)|0;
    54588     _mrb_parser_dump($933,$937,$939);
    54589    }
    54590    $940 = $4;
    54591    $941 = $5;
    54592    $942 = (($941) + 1)|0;
    54593    _dump_prefix($940,$942);
    54594    (_printf(57194,$vararg_buffer276)|0);
    54595    $943 = $3;
    54596    $944 = $4;
    54597    $945 = ((($944)) + 4|0);
    54598    $946 = HEAP32[$945>>2]|0;
    54599    $947 = ((($946)) + 4|0);
    54600    $948 = HEAP32[$947>>2]|0;
    54601    $949 = HEAP32[$948>>2]|0;
    54602    $950 = ((($949)) + 4|0);
    54603    $951 = HEAP32[$950>>2]|0;
    54604    $952 = $5;
    54605    $953 = (($952) + 2)|0;
    54606    _mrb_parser_dump($943,$951,$953);
    54607    STACKTOP = sp;return;
    54608    break;
    54609   }
    54610   case 138: {
    54611    (_printf(58329,$vararg_buffer278)|0);
    54612    $954 = $4;
    54613    $955 = HEAP32[$954>>2]|0;
    54614    $956 = HEAP32[$955>>2]|0;
    54615    $957 = ($956|0)==(0|0);
    54616    $958 = $4;
    54617    do {
    54618     if ($957) {
    54619      $959 = $5;
    54620      $960 = (($959) + 1)|0;
    54621      _dump_prefix($958,$960);
    54622      $961 = $3;
    54623      $962 = $4;
    54624      $963 = HEAP32[$962>>2]|0;
    54625      $964 = ((($963)) + 4|0);
    54626      $965 = HEAP32[$964>>2]|0;
    54627      $966 = $965;
    54628      $967 = (_mrb_sym2name($961,$966)|0);
    54629      HEAP32[$vararg_buffer280>>2] = $967;
    54630      (_printf(58316,$vararg_buffer280)|0);
    54631     } else {
    54632      $968 = HEAP32[$958>>2]|0;
    54633      $969 = HEAP32[$968>>2]|0;
    54634      $970 = ($969|0)==((1)|0);
    54635      if ($970) {
    54636       $971 = $4;
    54637       $972 = $5;
    54638       $973 = (($972) + 1)|0;
    54639       _dump_prefix($971,$973);
    54640       $974 = $3;
    54641       $975 = $4;
    54642       $976 = HEAP32[$975>>2]|0;
    54643       $977 = ((($976)) + 4|0);
    54644       $978 = HEAP32[$977>>2]|0;
    54645       $979 = $978;
    54646       $980 = (_mrb_sym2name($974,$979)|0);
    54647       HEAP32[$vararg_buffer283>>2] = $980;
    54648       (_printf(57629,$vararg_buffer283)|0);
    54649       break;
    54650      } else {
    54651       $981 = $3;
    54652       $982 = $4;
    54653       $983 = HEAP32[$982>>2]|0;
    54654       $984 = HEAP32[$983>>2]|0;
    54655       $985 = $5;
    54656       $986 = (($985) + 1)|0;
    54657       _mrb_parser_dump($981,$984,$986);
    54658       $987 = $4;
    54659       $988 = $5;
    54660       $989 = (($988) + 1)|0;
    54661       _dump_prefix($987,$989);
    54662       $990 = $3;
    54663       $991 = $4;
    54664       $992 = HEAP32[$991>>2]|0;
    54665       $993 = ((($992)) + 4|0);
    54666       $994 = HEAP32[$993>>2]|0;
    54667       $995 = $994;
    54668       $996 = (_mrb_sym2name($990,$995)|0);
    54669       HEAP32[$vararg_buffer286>>2] = $996;
    54670       (_printf(57629,$vararg_buffer286)|0);
    54671       break;
    54672      }
    54673     }
    54674    } while(0);
    54675    $997 = $4;
    54676    $998 = $5;
    54677    $999 = (($998) + 1)|0;
    54678    _dump_prefix($997,$999);
    54679    (_printf(57194,$vararg_buffer289)|0);
    54680    $1000 = $3;
    54681    $1001 = $4;
    54682    $1002 = ((($1001)) + 4|0);
    54683    $1003 = HEAP32[$1002>>2]|0;
    54684    $1004 = HEAP32[$1003>>2]|0;
    54685    $1005 = ((($1004)) + 4|0);
    54686    $1006 = HEAP32[$1005>>2]|0;
    54687    $1007 = $5;
    54688    $1008 = (($1007) + 2)|0;
    54689    _mrb_parser_dump($1000,$1006,$1008);
    54690    STACKTOP = sp;return;
    54691    break;
    54692   }
    54693   case 144: {
    54694    (_printf(58343,$vararg_buffer291)|0);
    54695    $1009 = $3;
    54696    $1010 = $4;
    54697    $1011 = HEAP32[$1010>>2]|0;
    54698    $1012 = $5;
    54699    $1013 = (($1012) + 1)|0;
    54700    _mrb_parser_dump($1009,$1011,$1013);
    54701    $1014 = $4;
    54702    $1015 = $5;
    54703    $1016 = (($1015) + 1)|0;
    54704    _dump_prefix($1014,$1016);
    54705    (_printf(57194,$vararg_buffer293)|0);
    54706    $1017 = $3;
    54707    $1018 = $4;
    54708    $1019 = ((($1018)) + 4|0);
    54709    $1020 = HEAP32[$1019>>2]|0;
    54710    $1021 = HEAP32[$1020>>2]|0;
    54711    $1022 = ((($1021)) + 4|0);
    54712    $1023 = HEAP32[$1022>>2]|0;
    54713    $1024 = $5;
    54714    $1025 = (($1024) + 2)|0;
    54715    _mrb_parser_dump($1017,$1023,$1025);
    54716    STACKTOP = sp;return;
    54717    break;
    54718   }
    54719   case 145: {
    54720    (_printf(58357,$vararg_buffer295)|0);
    54721    $1026 = $4;
    54722    $1027 = $5;
    54723    $1028 = (($1027) + 1)|0;
    54724    _dump_prefix($1026,$1028);
    54725    $1029 = $3;
    54726    $1030 = $4;
    54727    $1031 = HEAP32[$1030>>2]|0;
    54728    $1032 = $1031;
    54729    $1033 = (_mrb_sym2name($1029,$1032)|0);
    54730    HEAP32[$vararg_buffer297>>2] = $1033;
    54731    (_printf(58368,$vararg_buffer297)|0);
    54732    $1034 = $4;
    54733    $1035 = ((($1034)) + 4|0);
    54734    $1036 = HEAP32[$1035>>2]|0;
    54735    $4 = $1036;
    54736    $1037 = $4;
    54737    $1038 = HEAP32[$1037>>2]|0;
    54738    $16 = $1038;
    54739    $17 = 1;
    54740    $1039 = $16;
    54741    $1040 = ($1039|0)!=(0|0);
    54742    do {
    54743     if ($1040) {
    54744      $1041 = $16;
    54745      $1042 = HEAP32[$1041>>2]|0;
    54746      $1043 = ($1042|0)!=(0|0);
    54747      if (!($1043)) {
    54748       $1044 = $16;
    54749       $1045 = ((($1044)) + 4|0);
    54750       $1046 = HEAP32[$1045>>2]|0;
    54751       $1047 = ($1046|0)!=(0|0);
    54752       if (!($1047)) {
    54753        break;
    54754       }
    54755      }
    54756      $1048 = $16;
    54757      $1049 = $5;
    54758      $1050 = (($1049) + 1)|0;
    54759      _dump_prefix($1048,$1050);
    54760      (_printf(57522,$vararg_buffer300)|0);
    54761      $1051 = $16;
    54762      $1052 = $5;
    54763      $1053 = (($1052) + 2)|0;
    54764      _dump_prefix($1051,$1053);
    54765      while(1) {
    54766       $1054 = $16;
    54767       $1055 = ($1054|0)!=(0|0);
    54768       if (!($1055)) {
    54769        break;
    54770       }
    54771       $1056 = $16;
    54772       $1057 = HEAP32[$1056>>2]|0;
    54773       $1058 = ($1057|0)!=(0|0);
    54774       if ($1058) {
    54775        $1059 = $17;
    54776        $1060 = ($1059<<24>>24)!=(0);
    54777        if (!($1060)) {
    54778         (_printf(57540,$vararg_buffer302)|0);
    54779        }
    54780        $1061 = $3;
    54781        $1062 = $16;
    54782        $1063 = HEAP32[$1062>>2]|0;
    54783        $1064 = $1063;
    54784        $1065 = (_mrb_sym2name($1061,$1064)|0);
    54785        HEAP32[$vararg_buffer304>>2] = $1065;
    54786        (_printf(57543,$vararg_buffer304)|0);
    54787        $17 = 0;
    54788       }
    54789       $1066 = $16;
    54790       $1067 = ((($1066)) + 4|0);
    54791       $1068 = HEAP32[$1067>>2]|0;
    54792       $16 = $1068;
    54793      }
    54794      (_printf(67789,$vararg_buffer307)|0);
    54795     }
    54796    } while(0);
    54797    $1069 = $4;
    54798    $1070 = ((($1069)) + 4|0);
    54799    $1071 = HEAP32[$1070>>2]|0;
    54800    $4 = $1071;
    54801    $1072 = $4;
    54802    $1073 = HEAP32[$1072>>2]|0;
    54803    $1074 = ($1073|0)!=(0|0);
    54804    if ($1074) {
    54805     $1075 = $4;
    54806     $1076 = HEAP32[$1075>>2]|0;
    54807     $18 = $1076;
    54808     $1077 = $18;
    54809     $1078 = HEAP32[$1077>>2]|0;
    54810     $1079 = ($1078|0)!=(0|0);
    54811     if ($1079) {
    54812      $1080 = $18;
    54813      $1081 = $5;
    54814      $1082 = (($1081) + 1)|0;
    54815      _dump_prefix($1080,$1082);
    54816      (_printf(57294,$vararg_buffer309)|0);
    54817      $1083 = $3;
    54818      $1084 = $18;
    54819      $1085 = HEAP32[$1084>>2]|0;
    54820      $1086 = $5;
    54821      $1087 = (($1086) + 2)|0;
    54822      _dump_recur($1083,$1085,$1087);
    54823     }
    54824     $1088 = $18;
    54825     $1089 = ((($1088)) + 4|0);
    54826     $1090 = HEAP32[$1089>>2]|0;
    54827     $18 = $1090;
    54828     $1091 = $18;
    54829     $1092 = HEAP32[$1091>>2]|0;
    54830     $1093 = ($1092|0)!=(0|0);
    54831     L255: do {
    54832      if ($1093) {
    54833       $1094 = $18;
    54834       $1095 = $5;
    54835       $1096 = (($1095) + 1)|0;
    54836       _dump_prefix($1094,$1096);
    54837       (_printf(57311,$vararg_buffer311)|0);
    54838       $1097 = $18;
    54839       $1098 = HEAP32[$1097>>2]|0;
    54840       $19 = $1098;
    54841       while(1) {
    54842        $1099 = $19;
    54843        $1100 = ($1099|0)!=(0|0);
    54844        if (!($1100)) {
    54845         break L255;
    54846        }
    54847        $1101 = $19;
    54848        $1102 = $5;
    54849        $1103 = (($1102) + 2)|0;
    54850        _dump_prefix($1101,$1103);
    54851        $1104 = $3;
    54852        $1105 = $19;
    54853        $1106 = HEAP32[$1105>>2]|0;
    54854        $1107 = HEAP32[$1106>>2]|0;
    54855        $1108 = $1107;
    54856        $1109 = (_mrb_sym2name($1104,$1108)|0);
    54857        HEAP32[$vararg_buffer313>>2] = $1109;
    54858        (_printf(57327,$vararg_buffer313)|0);
    54859        $1110 = $3;
    54860        $1111 = $19;
    54861        $1112 = HEAP32[$1111>>2]|0;
    54862        $1113 = ((($1112)) + 4|0);
    54863        $1114 = HEAP32[$1113>>2]|0;
    54864        _mrb_parser_dump($1110,$1114,0);
    54865        $1115 = $19;
    54866        $1116 = ((($1115)) + 4|0);
    54867        $1117 = HEAP32[$1116>>2]|0;
    54868        $19 = $1117;
    54869       }
    54870      }
    54871     } while(0);
    54872     $1118 = $18;
    54873     $1119 = ((($1118)) + 4|0);
    54874     $1120 = HEAP32[$1119>>2]|0;
    54875     $18 = $1120;
    54876     $1121 = $18;
    54877     $1122 = HEAP32[$1121>>2]|0;
    54878     $1123 = ($1122|0)!=(0|0);
    54879     if ($1123) {
    54880      $1124 = $18;
    54881      $1125 = $5;
    54882      $1126 = (($1125) + 1)|0;
    54883      _dump_prefix($1124,$1126);
    54884      $1127 = $3;
    54885      $1128 = $18;
    54886      $1129 = HEAP32[$1128>>2]|0;
    54887      $1130 = $1129;
    54888      $1131 = (_mrb_sym2name($1127,$1130)|0);
    54889      HEAP32[$vararg_buffer316>>2] = $1131;
    54890      (_printf(57331,$vararg_buffer316)|0);
    54891     }
    54892     $1132 = $18;
    54893     $1133 = ((($1132)) + 4|0);
    54894     $1134 = HEAP32[$1133>>2]|0;
    54895     $18 = $1134;
    54896     $1135 = $18;
    54897     $1136 = HEAP32[$1135>>2]|0;
    54898     $1137 = ($1136|0)!=(0|0);
    54899     if ($1137) {
    54900      $1138 = $18;
    54901      $1139 = $5;
    54902      $1140 = (($1139) + 1)|0;
    54903      _dump_prefix($1138,$1140);
    54904      (_printf(57341,$vararg_buffer319)|0);
    54905      $1141 = $3;
    54906      $1142 = $18;
    54907      $1143 = HEAP32[$1142>>2]|0;
    54908      $1144 = $5;
    54909      $1145 = (($1144) + 2)|0;
    54910      _dump_recur($1141,$1143,$1145);
    54911     }
    54912     $1146 = $18;
    54913     $1147 = ((($1146)) + 4|0);
    54914     $1148 = HEAP32[$1147>>2]|0;
    54915     $1149 = ($1148|0)!=(0|0);
    54916     if ($1149) {
    54917      $1150 = $18;
    54918      $1151 = $5;
    54919      $1152 = (($1151) + 1)|0;
    54920      _dump_prefix($1150,$1152);
    54921      $1153 = $3;
    54922      $1154 = $18;
    54923      $1155 = ((($1154)) + 4|0);
    54924      $1156 = HEAP32[$1155>>2]|0;
    54925      $1157 = $1156;
    54926      $1158 = (_mrb_sym2name($1153,$1157)|0);
    54927      HEAP32[$vararg_buffer321>>2] = $1158;
    54928      (_printf(57363,$vararg_buffer321)|0);
    54929     }
    54930    }
    54931    $1159 = $3;
    54932    $1160 = $4;
    54933    $1161 = ((($1160)) + 4|0);
    54934    $1162 = HEAP32[$1161>>2]|0;
    54935    $1163 = HEAP32[$1162>>2]|0;
    54936    $1164 = $5;
    54937    $1165 = (($1164) + 1)|0;
    54938    _mrb_parser_dump($1159,$1163,$1165);
    54939    STACKTOP = sp;return;
    54940    break;
    54941   }
    54942   case 170: {
    54943    (_printf(58372,$vararg_buffer324)|0);
    54944    $1166 = $3;
    54945    $1167 = $4;
    54946    $1168 = HEAP32[$1167>>2]|0;
    54947    $1169 = $5;
    54948    $1170 = (($1169) + 1)|0;
    54949    _mrb_parser_dump($1166,$1168,$1170);
    54950    $1171 = $4;
    54951    $1172 = ((($1171)) + 4|0);
    54952    $1173 = HEAP32[$1172>>2]|0;
    54953    $4 = $1173;
    54954    $1174 = $4;
    54955    $1175 = $5;
    54956    $1176 = (($1175) + 1)|0;
    54957    _dump_prefix($1174,$1176);
    54958    $1177 = $3;
    54959    $1178 = $4;
    54960    $1179 = HEAP32[$1178>>2]|0;
    54961    $1180 = $1179;
    54962    $1181 = (_mrb_sym2name($1177,$1180)|0);
    54963    HEAP32[$vararg_buffer326>>2] = $1181;
    54964    (_printf(58316,$vararg_buffer326)|0);
    54965    $1182 = $4;
    54966    $1183 = ((($1182)) + 4|0);
    54967    $1184 = HEAP32[$1183>>2]|0;
    54968    $1185 = ((($1184)) + 4|0);
    54969    $1186 = HEAP32[$1185>>2]|0;
    54970    $4 = $1186;
    54971    $1187 = $4;
    54972    $1188 = HEAP32[$1187>>2]|0;
    54973    $1189 = ($1188|0)!=(0|0);
    54974    if ($1189) {
    54975     $1190 = $4;
    54976     $1191 = HEAP32[$1190>>2]|0;
    54977     $20 = $1191;
    54978     $1192 = $20;
    54979     $1193 = HEAP32[$1192>>2]|0;
    54980     $1194 = ($1193|0)!=(0|0);
    54981     if ($1194) {
    54982      $1195 = $20;
    54983      $1196 = $5;
    54984      $1197 = (($1196) + 1)|0;
    54985      _dump_prefix($1195,$1197);
    54986      (_printf(57294,$vararg_buffer329)|0);
    54987      $1198 = $3;
    54988      $1199 = $20;
    54989      $1200 = HEAP32[$1199>>2]|0;
    54990      $1201 = $5;
    54991      $1202 = (($1201) + 2)|0;
    54992      _dump_recur($1198,$1200,$1202);
    54993     }
    54994     $1203 = $20;
    54995     $1204 = ((($1203)) + 4|0);
    54996     $1205 = HEAP32[$1204>>2]|0;
    54997     $20 = $1205;
    54998     $1206 = $20;
    54999     $1207 = HEAP32[$1206>>2]|0;
    55000     $1208 = ($1207|0)!=(0|0);
    55001     L276: do {
    55002      if ($1208) {
    55003       $1209 = $20;
    55004       $1210 = $5;
    55005       $1211 = (($1210) + 1)|0;
    55006       _dump_prefix($1209,$1211);
    55007       (_printf(57311,$vararg_buffer331)|0);
    55008       $1212 = $20;
    55009       $1213 = HEAP32[$1212>>2]|0;
    55010       $21 = $1213;
    55011       while(1) {
    55012        $1214 = $21;
    55013        $1215 = ($1214|0)!=(0|0);
    55014        if (!($1215)) {
    55015         break L276;
    55016        }
    55017        $1216 = $21;
    55018        $1217 = $5;
    55019        $1218 = (($1217) + 2)|0;
    55020        _dump_prefix($1216,$1218);
    55021        $1219 = $3;
    55022        $1220 = $21;
    55023        $1221 = HEAP32[$1220>>2]|0;
    55024        $1222 = HEAP32[$1221>>2]|0;
    55025        $1223 = $1222;
    55026        $1224 = (_mrb_sym2name($1219,$1223)|0);
    55027        HEAP32[$vararg_buffer333>>2] = $1224;
    55028        (_printf(57327,$vararg_buffer333)|0);
    55029        $1225 = $3;
    55030        $1226 = $21;
    55031        $1227 = HEAP32[$1226>>2]|0;
    55032        $1228 = ((($1227)) + 4|0);
    55033        $1229 = HEAP32[$1228>>2]|0;
    55034        _mrb_parser_dump($1225,$1229,0);
    55035        $1230 = $21;
    55036        $1231 = ((($1230)) + 4|0);
    55037        $1232 = HEAP32[$1231>>2]|0;
    55038        $21 = $1232;
    55039       }
    55040      }
    55041     } while(0);
    55042     $1233 = $20;
    55043     $1234 = ((($1233)) + 4|0);
    55044     $1235 = HEAP32[$1234>>2]|0;
    55045     $20 = $1235;
    55046     $1236 = $20;
    55047     $1237 = HEAP32[$1236>>2]|0;
    55048     $1238 = ($1237|0)!=(0|0);
    55049     if ($1238) {
    55050      $1239 = $20;
    55051      $1240 = $5;
    55052      $1241 = (($1240) + 1)|0;
    55053      _dump_prefix($1239,$1241);
    55054      $1242 = $3;
    55055      $1243 = $20;
    55056      $1244 = HEAP32[$1243>>2]|0;
    55057      $1245 = $1244;
    55058      $1246 = (_mrb_sym2name($1242,$1245)|0);
    55059      HEAP32[$vararg_buffer336>>2] = $1246;
    55060      (_printf(57331,$vararg_buffer336)|0);
    55061     }
    55062     $1247 = $20;
    55063     $1248 = ((($1247)) + 4|0);
    55064     $1249 = HEAP32[$1248>>2]|0;
    55065     $20 = $1249;
    55066     $1250 = $20;
    55067     $1251 = HEAP32[$1250>>2]|0;
    55068     $1252 = ($1251|0)!=(0|0);
    55069     if ($1252) {
    55070      $1253 = $20;
    55071      $1254 = $5;
    55072      $1255 = (($1254) + 1)|0;
    55073      _dump_prefix($1253,$1255);
    55074      (_printf(57341,$vararg_buffer339)|0);
    55075      $1256 = $3;
    55076      $1257 = $20;
    55077      $1258 = HEAP32[$1257>>2]|0;
    55078      $1259 = $5;
    55079      $1260 = (($1259) + 2)|0;
    55080      _dump_recur($1256,$1258,$1260);
    55081     }
    55082     $1261 = $20;
    55083     $1262 = ((($1261)) + 4|0);
    55084     $1263 = HEAP32[$1262>>2]|0;
    55085     $20 = $1263;
    55086     $1264 = $20;
    55087     $1265 = ($1264|0)!=(0|0);
    55088     if ($1265) {
    55089      $1266 = $20;
    55090      $1267 = $5;
    55091      $1268 = (($1267) + 1)|0;
    55092      _dump_prefix($1266,$1268);
    55093      $1269 = $3;
    55094      $1270 = $20;
    55095      $1271 = $1270;
    55096      $1272 = (_mrb_sym2name($1269,$1271)|0);
    55097      HEAP32[$vararg_buffer341>>2] = $1272;
    55098      (_printf(57363,$vararg_buffer341)|0);
    55099     }
    55100    }
    55101    $1273 = $4;
    55102    $1274 = ((($1273)) + 4|0);
    55103    $1275 = HEAP32[$1274>>2]|0;
    55104    $4 = $1275;
    55105    $1276 = $3;
    55106    $1277 = $4;
    55107    $1278 = HEAP32[$1277>>2]|0;
    55108    $1279 = $5;
    55109    $1280 = (($1279) + 1)|0;
    55110    _mrb_parser_dump($1276,$1278,$1280);
    55111    STACKTOP = sp;return;
    55112    break;
    55113   }
    55114   case 184: {
    55115    (_printf(58384,$vararg_buffer344)|0);
    55116    $1281 = $3;
    55117    $1282 = $4;
    55118    $1283 = $5;
    55119    $1284 = (($1283) + 1)|0;
    55120    _mrb_parser_dump($1281,$1282,$1284);
    55121    STACKTOP = sp;return;
    55122    break;
    55123   }
    55124   case 185: {
    55125    (_printf(58399,$vararg_buffer346)|0);
    55126    $1285 = $3;
    55127    $1286 = $4;
    55128    $1287 = ((($1286)) + 16|0);
    55129    $1288 = HEAP32[$1287>>2]|0;
    55130    $1289 = $5;
    55131    $1290 = (($1289) + 1)|0;
    55132    _mrb_parser_dump($1285,$1288,$1290);
    55133    STACKTOP = sp;return;
    55134    break;
    55135   }
    55136   case 186: {
    55137    $1291 = $6;
    55138    $1292 = $6;
    55139    HEAP32[$vararg_buffer348>>2] = $1291;
    55140    $vararg_ptr351 = ((($vararg_buffer348)) + 4|0);
    55141    HEAP32[$vararg_ptr351>>2] = $1292;
    55142    (_printf(58414,$vararg_buffer348)|0);
    55143    STACKTOP = sp;return;
    55144    break;
    55145   }
    55146  }
    55147  (_printf(57281,$vararg_buffer23)|0);
    55148  $144 = $4;
    55149  $145 = ((($144)) + 4|0);
    55150  $146 = HEAP32[$145>>2]|0;
    55151  $4 = $146;
    55152  $147 = $4;
    55153  $148 = HEAP32[$147>>2]|0;
    55154  $149 = ($148|0)!=(0|0);
    55155  if ($149) {
    55156   $150 = $4;
    55157   $151 = HEAP32[$150>>2]|0;
    55158   $9 = $151;
    55159   $152 = $9;
    55160   $153 = HEAP32[$152>>2]|0;
    55161   $154 = ($153|0)!=(0|0);
    55162   if ($154) {
    55163    $155 = $9;
    55164    $156 = $5;
    55165    $157 = (($156) + 1)|0;
    55166    _dump_prefix($155,$157);
    55167    (_printf(57294,$vararg_buffer25)|0);
    55168    $158 = $3;
    55169    $159 = $9;
    55170    $160 = HEAP32[$159>>2]|0;
    55171    $161 = $5;
    55172    $162 = (($161) + 2)|0;
    55173    _dump_recur($158,$160,$162);
    55174   }
    55175   $163 = $9;
    55176   $164 = ((($163)) + 4|0);
    55177   $165 = HEAP32[$164>>2]|0;
    55178   $9 = $165;
    55179   $166 = $9;
    55180   $167 = HEAP32[$166>>2]|0;
    55181   $168 = ($167|0)!=(0|0);
    55182   L301: do {
    55183    if ($168) {
    55184     $169 = $9;
    55185     $170 = $5;
    55186     $171 = (($170) + 1)|0;
    55187     _dump_prefix($169,$171);
    55188     (_printf(57311,$vararg_buffer27)|0);
    55189     $172 = $9;
    55190     $173 = HEAP32[$172>>2]|0;
    55191     $10 = $173;
    55192     while(1) {
    55193      $174 = $10;
    55194      $175 = ($174|0)!=(0|0);
    55195      if (!($175)) {
    55196       break L301;
    55197      }
    55198      $176 = $10;
    55199      $177 = $5;
    55200      $178 = (($177) + 2)|0;
    55201      _dump_prefix($176,$178);
    55202      $179 = $3;
    55203      $180 = $10;
    55204      $181 = HEAP32[$180>>2]|0;
    55205      $182 = HEAP32[$181>>2]|0;
    55206      $183 = $182;
    55207      $184 = (_mrb_sym2name($179,$183)|0);
    55208      HEAP32[$vararg_buffer29>>2] = $184;
    55209      (_printf(57327,$vararg_buffer29)|0);
    55210      $185 = $3;
    55211      $186 = $10;
    55212      $187 = HEAP32[$186>>2]|0;
    55213      $188 = ((($187)) + 4|0);
    55214      $189 = HEAP32[$188>>2]|0;
    55215      _mrb_parser_dump($185,$189,0);
    55216      $190 = $10;
    55217      $191 = ((($190)) + 4|0);
    55218      $192 = HEAP32[$191>>2]|0;
    55219      $10 = $192;
    55220     }
    55221    }
    55222   } while(0);
    55223   $193 = $9;
    55224   $194 = ((($193)) + 4|0);
    55225   $195 = HEAP32[$194>>2]|0;
    55226   $9 = $195;
    55227   $196 = $9;
    55228   $197 = HEAP32[$196>>2]|0;
    55229   $198 = ($197|0)!=(0|0);
    55230   if ($198) {
    55231    $199 = $9;
    55232    $200 = $5;
    55233    $201 = (($200) + 1)|0;
    55234    _dump_prefix($199,$201);
    55235    $202 = $3;
    55236    $203 = $9;
    55237    $204 = HEAP32[$203>>2]|0;
    55238    $205 = $204;
    55239    $206 = (_mrb_sym2name($202,$205)|0);
    55240    HEAP32[$vararg_buffer31>>2] = $206;
    55241    (_printf(57331,$vararg_buffer31)|0);
    55242   }
    55243   $207 = $9;
    55244   $208 = ((($207)) + 4|0);
    55245   $209 = HEAP32[$208>>2]|0;
    55246   $9 = $209;
    55247   $210 = $9;
    55248   $211 = HEAP32[$210>>2]|0;
    55249   $212 = ($211|0)!=(0|0);
    55250   if ($212) {
    55251    $213 = $9;
    55252    $214 = $5;
    55253    $215 = (($214) + 1)|0;
    55254    _dump_prefix($213,$215);
    55255    (_printf(57341,$vararg_buffer34)|0);
    55256    $216 = $3;
    55257    $217 = $9;
    55258    $218 = HEAP32[$217>>2]|0;
    55259    $219 = $5;
    55260    $220 = (($219) + 2)|0;
    55261    _dump_recur($216,$218,$220);
    55262   }
    55263   $221 = $9;
    55264   $222 = ((($221)) + 4|0);
    55265   $223 = HEAP32[$222>>2]|0;
    55266   $9 = $223;
    55267   $224 = $9;
    55268   $225 = ($224|0)!=(0|0);
    55269   if ($225) {
    55270    $226 = $9;
    55271    $227 = $5;
    55272    $228 = (($227) + 1)|0;
    55273    _dump_prefix($226,$228);
    55274    $229 = $3;
    55275    $230 = $9;
    55276    $231 = $230;
    55277    $232 = (_mrb_sym2name($229,$231)|0);
    55278    HEAP32[$vararg_buffer36>>2] = $232;
    55279    (_printf(57363,$vararg_buffer36)|0);
    55280   }
    55281  }
    55282  $233 = $4;
    55283  $234 = $5;
    55284  $235 = (($234) + 1)|0;
    55285  _dump_prefix($233,$235);
    55286  (_printf(57194,$vararg_buffer39)|0);
    55287  $236 = $3;
    55288  $237 = $4;
    55289  $238 = ((($237)) + 4|0);
    55290  $239 = HEAP32[$238>>2]|0;
    55291  $240 = HEAP32[$239>>2]|0;
    55292  $241 = $5;
    55293  $242 = (($241) + 2)|0;
    55294  _mrb_parser_dump($236,$240,$242);
    55295  STACKTOP = sp;return;
    55296 }
    55297 function _yyerror($0,$1) {
    55298  $0 = $0|0;
    55299  $1 = $1|0;
    55300  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    55301  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    55302  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    55303  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0;
    55304  var $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
    55305  sp = STACKTOP;
    55306  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    55307  $vararg_buffer4 = sp + 16|0;
    55308  $vararg_buffer = sp;
    55309  $2 = $0;
    55310  $3 = $1;
    55311  $6 = $2;
    55312  $7 = ((($6)) + 1148|0);
    55313  $8 = HEAP8[$7>>0]|0;
    55314  $9 = ($8&255) >>> 1;
    55315  $10 = $9 & 1;
    55316  $11 = ($10<<24>>24)!=(0);
    55317  $12 = $2;
    55318  if ($11) {
    55319   $33 = ((($12)) + 1136|0);
    55320   $34 = HEAP32[$33>>2]|0;
    55321   $35 = ($34>>>0)<(10);
    55322   if (!($35)) {
    55323    $73 = $2;
    55324    $74 = ((($73)) + 1136|0);
    55325    $75 = HEAP32[$74>>2]|0;
    55326    $76 = (($75) + 1)|0;
    55327    HEAP32[$74>>2] = $76;
    55328    STACKTOP = sp;return;
    55329   }
    55330   $36 = $3;
    55331   $37 = (_strlen($36)|0);
    55332   $5 = $37;
    55333   $38 = $2;
    55334   $39 = $5;
    55335   $40 = (($39) + 1)|0;
    55336   $41 = (_parser_palloc($38,$40)|0);
    55337   $4 = $41;
    55338   $42 = $4;
    55339   $43 = $3;
    55340   $44 = $5;
    55341   $45 = (($44) + 1)|0;
    55342   _memcpy(($42|0),($43|0),($45|0))|0;
    55343   $46 = $4;
    55344   $47 = $2;
    55345   $48 = ((($47)) + 1152|0);
    55346   $49 = $2;
    55347   $50 = ((($49)) + 1136|0);
    55348   $51 = HEAP32[$50>>2]|0;
    55349   $52 = (($48) + (($51*12)|0)|0);
    55350   $53 = ((($52)) + 8|0);
    55351   HEAP32[$53>>2] = $46;
    55352   $54 = $2;
    55353   $55 = ((($54)) + 32|0);
    55354   $56 = HEAP32[$55>>2]|0;
    55355   $57 = $2;
    55356   $58 = ((($57)) + 1152|0);
    55357   $59 = $2;
    55358   $60 = ((($59)) + 1136|0);
    55359   $61 = HEAP32[$60>>2]|0;
    55360   $62 = (($58) + (($61*12)|0)|0);
    55361   HEAP32[$62>>2] = $56;
    55362   $63 = $2;
    55363   $64 = ((($63)) + 36|0);
    55364   $65 = HEAP32[$64>>2]|0;
    55365   $66 = $2;
    55366   $67 = ((($66)) + 1152|0);
    55367   $68 = $2;
    55368   $69 = ((($68)) + 1136|0);
    55369   $70 = HEAP32[$69>>2]|0;
    55370   $71 = (($67) + (($70*12)|0)|0);
    55371   $72 = ((($71)) + 4|0);
    55372   HEAP32[$72>>2] = $65;
    55373   $73 = $2;
    55374   $74 = ((($73)) + 1136|0);
    55375   $75 = HEAP32[$74>>2]|0;
    55376   $76 = (($75) + 1)|0;
    55377   HEAP32[$74>>2] = $76;
    55378   STACKTOP = sp;return;
    55379  }
    55380  $13 = ((($12)) + 28|0);
    55381  $14 = HEAP32[$13>>2]|0;
    55382  $15 = ($14|0)!=(0|0);
    55383  $16 = HEAP32[637]|0;
    55384  $17 = $2;
    55385  if ($15) {
    55386   $18 = ((($17)) + 28|0);
    55387   $19 = HEAP32[$18>>2]|0;
    55388   $20 = $2;
    55389   $21 = ((($20)) + 32|0);
    55390   $22 = HEAP32[$21>>2]|0;
    55391   $23 = $2;
    55392   $24 = ((($23)) + 36|0);
    55393   $25 = HEAP32[$24>>2]|0;
    55394   $26 = $3;
    55395   HEAP32[$vararg_buffer>>2] = $19;
    55396   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    55397   HEAP32[$vararg_ptr1>>2] = $22;
    55398   $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    55399   HEAP32[$vararg_ptr2>>2] = $25;
    55400   $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
    55401   HEAP32[$vararg_ptr3>>2] = $26;
    55402   (_fprintf($16,57137,$vararg_buffer)|0);
    55403   $73 = $2;
    55404   $74 = ((($73)) + 1136|0);
    55405   $75 = HEAP32[$74>>2]|0;
    55406   $76 = (($75) + 1)|0;
    55407   HEAP32[$74>>2] = $76;
    55408   STACKTOP = sp;return;
    55409  } else {
    55410   $27 = ((($17)) + 32|0);
    55411   $28 = HEAP32[$27>>2]|0;
    55412   $29 = $2;
    55413   $30 = ((($29)) + 36|0);
    55414   $31 = HEAP32[$30>>2]|0;
    55415   $32 = $3;
    55416   HEAP32[$vararg_buffer4>>2] = $28;
    55417   $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
    55418   HEAP32[$vararg_ptr7>>2] = $31;
    55419   $vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
    55420   HEAP32[$vararg_ptr8>>2] = $32;
    55421   (_fprintf($16,57151,$vararg_buffer4)|0);
    55422   $73 = $2;
    55423   $74 = ((($73)) + 1136|0);
    55424   $75 = HEAP32[$74>>2]|0;
    55425   $76 = (($75) + 1)|0;
    55426   HEAP32[$74>>2] = $76;
    55427   STACKTOP = sp;return;
    55428  }
    55429 }
    55430 function _parser_palloc($0,$1) {
    55431  $0 = $0|0;
    55432  $1 = $1|0;
    55433  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55434  sp = STACKTOP;
    55435  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55436  $2 = $0;
    55437  $3 = $1;
    55438  $5 = $2;
    55439  $6 = ((($5)) + 4|0);
    55440  $7 = HEAP32[$6>>2]|0;
    55441  $8 = $3;
    55442  $9 = (_mrb_pool_alloc($7,$8)|0);
    55443  $4 = $9;
    55444  $10 = $4;
    55445  $11 = ($10|0)!=(0|0);
    55446  if ($11) {
    55447   $15 = $4;
    55448   STACKTOP = sp;return ($15|0);
    55449  } else {
    55450   $12 = $2;
    55451   $13 = ((($12)) + 1404|0);
    55452   $14 = HEAP32[$13>>2]|0;
    55453   _longjmp(($14|0),1);
    55454   // unreachable;
    55455  }
    55456  return (0)|0;
    55457 }
    55458 function _dump_prefix($0,$1) {
    55459  $0 = $0|0;
    55460  $1 = $1|0;
    55461  var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    55462  sp = STACKTOP;
    55463  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55464  $vararg_buffer = sp;
    55465  $2 = $0;
    55466  $3 = $1;
    55467  $4 = $2;
    55468  $5 = ((($4)) + 8|0);
    55469  $6 = HEAP16[$5>>1]|0;
    55470  $7 = $6&65535;
    55471  HEAP32[$vararg_buffer>>2] = $7;
    55472  (_printf(58436,$vararg_buffer)|0);
    55473  while(1) {
    55474   $8 = $3;
    55475   $9 = (($8) + -1)|0;
    55476   $3 = $9;
    55477   $10 = ($8|0)!=(0);
    55478   if (!($10)) {
    55479    break;
    55480   }
    55481   $11 = HEAP32[762]|0;
    55482   (_putc(32,$11)|0);
    55483   $12 = HEAP32[762]|0;
    55484   (_putc(32,$12)|0);
    55485  }
    55486  STACKTOP = sp;return;
    55487 }
    55488 function _dump_recur($0,$1,$2) {
    55489  $0 = $0|0;
    55490  $1 = $1|0;
    55491  $2 = $2|0;
    55492  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55493  sp = STACKTOP;
    55494  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55495  $3 = $0;
    55496  $4 = $1;
    55497  $5 = $2;
    55498  while(1) {
    55499   $6 = $4;
    55500   $7 = ($6|0)!=(0|0);
    55501   if (!($7)) {
    55502    break;
    55503   }
    55504   $8 = $3;
    55505   $9 = $4;
    55506   $10 = HEAP32[$9>>2]|0;
    55507   $11 = $5;
    55508   _mrb_parser_dump($8,$10,$11);
    55509   $12 = $4;
    55510   $13 = ((($12)) + 4|0);
    55511   $14 = HEAP32[$13>>2]|0;
    55512   $4 = $14;
    55513  }
    55514  STACKTOP = sp;return;
    55515 }
    55516 function _list1_gen($0,$1) {
    55517  $0 = $0|0;
    55518  $1 = $1|0;
    55519  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    55520  sp = STACKTOP;
    55521  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55522  $2 = $0;
    55523  $3 = $1;
    55524  $4 = $2;
    55525  $5 = $3;
    55526  $6 = (_cons_gen($4,$5,0)|0);
    55527  STACKTOP = sp;return ($6|0);
    55528 }
    55529 function _cons_gen($0,$1,$2) {
    55530  $0 = $0|0;
    55531  $1 = $1|0;
    55532  $2 = $2|0;
    55533  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    55534  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55535  sp = STACKTOP;
    55536  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55537  $3 = $0;
    55538  $4 = $1;
    55539  $5 = $2;
    55540  $7 = $3;
    55541  $8 = ((($7)) + 8|0);
    55542  $9 = HEAP32[$8>>2]|0;
    55543  $10 = ($9|0)!=(0|0);
    55544  $11 = $3;
    55545  if ($10) {
    55546   $12 = ((($11)) + 8|0);
    55547   $13 = HEAP32[$12>>2]|0;
    55548   $6 = $13;
    55549   $14 = $3;
    55550   $15 = ((($14)) + 8|0);
    55551   $16 = HEAP32[$15>>2]|0;
    55552   $17 = ((($16)) + 4|0);
    55553   $18 = HEAP32[$17>>2]|0;
    55554   $19 = $3;
    55555   $20 = ((($19)) + 8|0);
    55556   HEAP32[$20>>2] = $18;
    55557  } else {
    55558   $21 = (_parser_palloc($11,12)|0);
    55559   $6 = $21;
    55560  }
    55561  $22 = $4;
    55562  $23 = $6;
    55563  HEAP32[$23>>2] = $22;
    55564  $24 = $5;
    55565  $25 = $6;
    55566  $26 = ((($25)) + 4|0);
    55567  HEAP32[$26>>2] = $24;
    55568  $27 = $3;
    55569  $28 = ((($27)) + 32|0);
    55570  $29 = HEAP32[$28>>2]|0;
    55571  $30 = $29&65535;
    55572  $31 = $6;
    55573  $32 = ((($31)) + 8|0);
    55574  HEAP16[$32>>1] = $30;
    55575  $33 = $3;
    55576  $34 = ((($33)) + 1400|0);
    55577  $35 = HEAP32[$34>>2]|0;
    55578  $36 = $35&65535;
    55579  $37 = $6;
    55580  $38 = ((($37)) + 10|0);
    55581  HEAP16[$38>>1] = $36;
    55582  $39 = $6;
    55583  STACKTOP = sp;return ($39|0);
    55584 }
    55585 function _yylex($0,$1) {
    55586  $0 = $0|0;
    55587  $1 = $1|0;
    55588  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    55589  sp = STACKTOP;
    55590  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55591  $2 = $0;
    55592  $3 = $1;
    55593  $4 = $2;
    55594  $5 = $3;
    55595  $6 = ((($5)) + 1132|0);
    55596  HEAP32[$6>>2] = $4;
    55597  $7 = $3;
    55598  $8 = (_parser_yylex($7)|0);
    55599  STACKTOP = sp;return ($8|0);
    55600 }
    55601 function _new_scope($0,$1) {
    55602  $0 = $0|0;
    55603  $1 = $1|0;
    55604  var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55605  sp = STACKTOP;
    55606  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55607  $2 = $0;
    55608  $3 = $1;
    55609  $4 = $2;
    55610  $5 = $2;
    55611  $6 = $2;
    55612  $7 = (_locals_node($6)|0);
    55613  $8 = $3;
    55614  $9 = (_cons_gen($5,$7,$8)|0);
    55615  $10 = (_cons_gen($4,(3),$9)|0);
    55616  STACKTOP = sp;return ($10|0);
    55617 }
    55618 function _new_begin($0,$1) {
    55619  $0 = $0|0;
    55620  $1 = $1|0;
    55621  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55622  sp = STACKTOP;
    55623  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55624  $3 = $0;
    55625  $4 = $1;
    55626  $5 = $4;
    55627  $6 = ($5|0)!=(0|0);
    55628  $7 = $3;
    55629  if ($6) {
    55630   $8 = $4;
    55631   $9 = (_list2_gen($7,(17),$8)|0);
    55632   $2 = $9;
    55633  } else {
    55634   $10 = (_cons_gen($7,(17),0)|0);
    55635   $2 = $10;
    55636  }
    55637  $11 = $2;
    55638  STACKTOP = sp;return ($11|0);
    55639 }
    55640 function _append_gen($0,$1,$2) {
    55641  $0 = $0|0;
    55642  $1 = $1|0;
    55643  $2 = $2|0;
    55644  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    55645  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55646  sp = STACKTOP;
    55647  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    55648  $4 = $0;
    55649  $5 = $1;
    55650  $6 = $2;
    55651  $8 = $5;
    55652  $7 = $8;
    55653  $9 = $5;
    55654  $10 = ($9|0)!=(0|0);
    55655  if (!($10)) {
    55656   $11 = $6;
    55657   $3 = $11;
    55658   $25 = $3;
    55659   STACKTOP = sp;return ($25|0);
    55660  }
    55661  while(1) {
    55662   $12 = $7;
    55663   $13 = ((($12)) + 4|0);
    55664   $14 = HEAP32[$13>>2]|0;
    55665   $15 = ($14|0)!=(0|0);
    55666   if (!($15)) {
    55667    break;
    55668   }
    55669   $16 = $7;
    55670   $17 = ((($16)) + 4|0);
    55671   $18 = HEAP32[$17>>2]|0;
    55672   $7 = $18;
    55673  }
    55674  $19 = $6;
    55675  $20 = ($19|0)!=(0|0);
    55676  if ($20) {
    55677   $21 = $6;
    55678   $22 = $7;
    55679   $23 = ((($22)) + 4|0);
    55680   HEAP32[$23>>2] = $21;
    55681  }
    55682  $24 = $5;
    55683  $3 = $24;
    55684  $25 = $3;
    55685  STACKTOP = sp;return ($25|0);
    55686 }
    55687 function _local_switch($0) {
    55688  $0 = $0|0;
    55689  var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55690  sp = STACKTOP;
    55691  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55692  $1 = $0;
    55693  $3 = $1;
    55694  $4 = ((($3)) + 76|0);
    55695  $5 = HEAP32[$4>>2]|0;
    55696  $2 = $5;
    55697  $6 = $1;
    55698  $7 = (_cons_gen($6,0,0)|0);
    55699  $8 = $1;
    55700  $9 = ((($8)) + 76|0);
    55701  HEAP32[$9>>2] = $7;
    55702  $10 = $2;
    55703  STACKTOP = sp;return ($10|0);
    55704 }
    55705 function _local_resume($0,$1) {
    55706  $0 = $0|0;
    55707  $1 = $1|0;
    55708  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    55709  sp = STACKTOP;
    55710  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55711  $2 = $0;
    55712  $3 = $1;
    55713  $4 = $3;
    55714  $5 = $2;
    55715  $6 = ((($5)) + 76|0);
    55716  HEAP32[$6>>2] = $4;
    55717  STACKTOP = sp;return;
    55718 }
    55719 function _new_rescue($0,$1,$2,$3) {
    55720  $0 = $0|0;
    55721  $1 = $1|0;
    55722  $2 = $2|0;
    55723  $3 = $3|0;
    55724  var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55725  sp = STACKTOP;
    55726  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55727  $4 = $0;
    55728  $5 = $1;
    55729  $6 = $2;
    55730  $7 = $3;
    55731  $8 = $4;
    55732  $9 = $5;
    55733  $10 = $6;
    55734  $11 = $7;
    55735  $12 = (_list4_gen($8,(18),$9,$10,$11)|0);
    55736  STACKTOP = sp;return ($12|0);
    55737 }
    55738 function _yywarn($0,$1) {
    55739  $0 = $0|0;
    55740  $1 = $1|0;
    55741  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    55742  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    55743  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    55744  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0;
    55745  var $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
    55746  sp = STACKTOP;
    55747  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    55748  $vararg_buffer4 = sp + 16|0;
    55749  $vararg_buffer = sp;
    55750  $2 = $0;
    55751  $3 = $1;
    55752  $6 = $2;
    55753  $7 = ((($6)) + 1148|0);
    55754  $8 = HEAP8[$7>>0]|0;
    55755  $9 = ($8&255) >>> 1;
    55756  $10 = $9 & 1;
    55757  $11 = ($10<<24>>24)!=(0);
    55758  $12 = $2;
    55759  if ($11) {
    55760   $33 = ((($12)) + 1140|0);
    55761   $34 = HEAP32[$33>>2]|0;
    55762   $35 = ($34>>>0)<(10);
    55763   if (!($35)) {
    55764    $73 = $2;
    55765    $74 = ((($73)) + 1140|0);
    55766    $75 = HEAP32[$74>>2]|0;
    55767    $76 = (($75) + 1)|0;
    55768    HEAP32[$74>>2] = $76;
    55769    STACKTOP = sp;return;
    55770   }
    55771   $36 = $3;
    55772   $37 = (_strlen($36)|0);
    55773   $5 = $37;
    55774   $38 = $2;
    55775   $39 = $5;
    55776   $40 = (($39) + 1)|0;
    55777   $41 = (_parser_palloc($38,$40)|0);
    55778   $4 = $41;
    55779   $42 = $4;
    55780   $43 = $3;
    55781   $44 = $5;
    55782   $45 = (($44) + 1)|0;
    55783   _memcpy(($42|0),($43|0),($45|0))|0;
    55784   $46 = $4;
    55785   $47 = $2;
    55786   $48 = ((($47)) + 1272|0);
    55787   $49 = $2;
    55788   $50 = ((($49)) + 1140|0);
    55789   $51 = HEAP32[$50>>2]|0;
    55790   $52 = (($48) + (($51*12)|0)|0);
    55791   $53 = ((($52)) + 8|0);
    55792   HEAP32[$53>>2] = $46;
    55793   $54 = $2;
    55794   $55 = ((($54)) + 32|0);
    55795   $56 = HEAP32[$55>>2]|0;
    55796   $57 = $2;
    55797   $58 = ((($57)) + 1272|0);
    55798   $59 = $2;
    55799   $60 = ((($59)) + 1140|0);
    55800   $61 = HEAP32[$60>>2]|0;
    55801   $62 = (($58) + (($61*12)|0)|0);
    55802   HEAP32[$62>>2] = $56;
    55803   $63 = $2;
    55804   $64 = ((($63)) + 36|0);
    55805   $65 = HEAP32[$64>>2]|0;
    55806   $66 = $2;
    55807   $67 = ((($66)) + 1272|0);
    55808   $68 = $2;
    55809   $69 = ((($68)) + 1140|0);
    55810   $70 = HEAP32[$69>>2]|0;
    55811   $71 = (($67) + (($70*12)|0)|0);
    55812   $72 = ((($71)) + 4|0);
    55813   HEAP32[$72>>2] = $65;
    55814   $73 = $2;
    55815   $74 = ((($73)) + 1140|0);
    55816   $75 = HEAP32[$74>>2]|0;
    55817   $76 = (($75) + 1)|0;
    55818   HEAP32[$74>>2] = $76;
    55819   STACKTOP = sp;return;
    55820  }
    55821  $13 = ((($12)) + 28|0);
    55822  $14 = HEAP32[$13>>2]|0;
    55823  $15 = ($14|0)!=(0|0);
    55824  $16 = HEAP32[637]|0;
    55825  $17 = $2;
    55826  if ($15) {
    55827   $18 = ((($17)) + 28|0);
    55828   $19 = HEAP32[$18>>2]|0;
    55829   $20 = $2;
    55830   $21 = ((($20)) + 32|0);
    55831   $22 = HEAP32[$21>>2]|0;
    55832   $23 = $2;
    55833   $24 = ((($23)) + 36|0);
    55834   $25 = HEAP32[$24>>2]|0;
    55835   $26 = $3;
    55836   HEAP32[$vararg_buffer>>2] = $19;
    55837   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    55838   HEAP32[$vararg_ptr1>>2] = $22;
    55839   $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    55840   HEAP32[$vararg_ptr2>>2] = $25;
    55841   $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
    55842   HEAP32[$vararg_ptr3>>2] = $26;
    55843   (_fprintf($16,57137,$vararg_buffer)|0);
    55844   $73 = $2;
    55845   $74 = ((($73)) + 1140|0);
    55846   $75 = HEAP32[$74>>2]|0;
    55847   $76 = (($75) + 1)|0;
    55848   HEAP32[$74>>2] = $76;
    55849   STACKTOP = sp;return;
    55850  } else {
    55851   $27 = ((($17)) + 32|0);
    55852   $28 = HEAP32[$27>>2]|0;
    55853   $29 = $2;
    55854   $30 = ((($29)) + 36|0);
    55855   $31 = HEAP32[$30>>2]|0;
    55856   $32 = $3;
    55857   HEAP32[$vararg_buffer4>>2] = $28;
    55858   $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
    55859   HEAP32[$vararg_ptr7>>2] = $31;
    55860   $vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
    55861   HEAP32[$vararg_ptr8>>2] = $32;
    55862   (_fprintf($16,57151,$vararg_buffer4)|0);
    55863   $73 = $2;
    55864   $74 = ((($73)) + 1140|0);
    55865   $75 = HEAP32[$74>>2]|0;
    55866   $76 = (($75) + 1)|0;
    55867   HEAP32[$74>>2] = $76;
    55868   STACKTOP = sp;return;
    55869  }
    55870 }
    55871 function _new_ensure($0,$1,$2) {
    55872  $0 = $0|0;
    55873  $1 = $1|0;
    55874  $2 = $2|0;
    55875  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55876  sp = STACKTOP;
    55877  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55878  $3 = $0;
    55879  $4 = $1;
    55880  $5 = $2;
    55881  $6 = $3;
    55882  $7 = $3;
    55883  $8 = $4;
    55884  $9 = $3;
    55885  $10 = $5;
    55886  $11 = (_cons_gen($9,0,$10)|0);
    55887  $12 = (_cons_gen($7,$8,$11)|0);
    55888  $13 = (_cons_gen($6,(19),$12)|0);
    55889  STACKTOP = sp;return ($13|0);
    55890 }
    55891 function _new_alias($0,$1,$2) {
    55892  $0 = $0|0;
    55893  $1 = $1|0;
    55894  $2 = $2|0;
    55895  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55896  sp = STACKTOP;
    55897  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55898  $3 = $0;
    55899  $4 = $1;
    55900  $5 = $2;
    55901  $6 = $3;
    55902  $7 = $3;
    55903  $8 = $4;
    55904  $9 = $8;
    55905  $10 = $5;
    55906  $11 = $10;
    55907  $12 = (_cons_gen($7,$9,$11)|0);
    55908  $13 = (_cons_gen($6,(72),$12)|0);
    55909  STACKTOP = sp;return ($13|0);
    55910 }
    55911 function _cond($0) {
    55912  $0 = $0|0;
    55913  var $1 = 0, $2 = 0, label = 0, sp = 0;
    55914  sp = STACKTOP;
    55915  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55916  $1 = $0;
    55917  $2 = $1;
    55918  STACKTOP = sp;return ($2|0);
    55919 }
    55920 function _new_if($0,$1,$2,$3) {
    55921  $0 = $0|0;
    55922  $1 = $1|0;
    55923  $2 = $2|0;
    55924  $3 = $3|0;
    55925  var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55926  sp = STACKTOP;
    55927  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55928  $4 = $0;
    55929  $5 = $1;
    55930  $6 = $2;
    55931  $7 = $3;
    55932  $8 = $4;
    55933  $9 = $5;
    55934  $10 = $6;
    55935  $11 = $7;
    55936  $12 = (_list4_gen($8,(5),$9,$10,$11)|0);
    55937  STACKTOP = sp;return ($12|0);
    55938 }
    55939 function _new_unless($0,$1,$2,$3) {
    55940  $0 = $0|0;
    55941  $1 = $1|0;
    55942  $2 = $2|0;
    55943  $3 = $3|0;
    55944  var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55945  sp = STACKTOP;
    55946  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55947  $4 = $0;
    55948  $5 = $1;
    55949  $6 = $2;
    55950  $7 = $3;
    55951  $8 = $4;
    55952  $9 = $5;
    55953  $10 = $7;
    55954  $11 = $6;
    55955  $12 = (_list4_gen($8,(5),$9,$10,$11)|0);
    55956  STACKTOP = sp;return ($12|0);
    55957 }
    55958 function _new_while($0,$1,$2) {
    55959  $0 = $0|0;
    55960  $1 = $1|0;
    55961  $2 = $2|0;
    55962  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55963  sp = STACKTOP;
    55964  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55965  $3 = $0;
    55966  $4 = $1;
    55967  $5 = $2;
    55968  $6 = $3;
    55969  $7 = $3;
    55970  $8 = $4;
    55971  $9 = $5;
    55972  $10 = (_cons_gen($7,$8,$9)|0);
    55973  $11 = (_cons_gen($6,(9),$10)|0);
    55974  STACKTOP = sp;return ($11|0);
    55975 }
    55976 function _new_until($0,$1,$2) {
    55977  $0 = $0|0;
    55978  $1 = $1|0;
    55979  $2 = $2|0;
    55980  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    55981  sp = STACKTOP;
    55982  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    55983  $3 = $0;
    55984  $4 = $1;
    55985  $5 = $2;
    55986  $6 = $3;
    55987  $7 = $3;
    55988  $8 = $4;
    55989  $9 = $5;
    55990  $10 = (_cons_gen($7,$8,$9)|0);
    55991  $11 = (_cons_gen($6,(10),$10)|0);
    55992  STACKTOP = sp;return ($11|0);
    55993 }
    55994 function _list3_gen($0,$1,$2,$3) {
    55995  $0 = $0|0;
    55996  $1 = $1|0;
    55997  $2 = $2|0;
    55998  $3 = $3|0;
    55999  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56000  sp = STACKTOP;
    56001  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56002  $4 = $0;
    56003  $5 = $1;
    56004  $6 = $2;
    56005  $7 = $3;
    56006  $8 = $4;
    56007  $9 = $5;
    56008  $10 = $4;
    56009  $11 = $6;
    56010  $12 = $4;
    56011  $13 = $7;
    56012  $14 = (_cons_gen($12,$13,0)|0);
    56013  $15 = (_cons_gen($10,$11,$14)|0);
    56014  $16 = (_cons_gen($8,$9,$15)|0);
    56015  STACKTOP = sp;return ($16|0);
    56016 }
    56017 function _new_postexe($0,$1) {
    56018  $0 = $0|0;
    56019  $1 = $1|0;
    56020  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56021  sp = STACKTOP;
    56022  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56023  $2 = $0;
    56024  $3 = $1;
    56025  $4 = $2;
    56026  $5 = $3;
    56027  $6 = (_cons_gen($4,(91),$5)|0);
    56028  STACKTOP = sp;return ($6|0);
    56029 }
    56030 function _new_masgn($0,$1,$2) {
    56031  $0 = $0|0;
    56032  $1 = $1|0;
    56033  $2 = $2|0;
    56034  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56035  sp = STACKTOP;
    56036  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56037  $3 = $0;
    56038  $4 = $1;
    56039  $5 = $2;
    56040  $6 = $3;
    56041  $7 = $3;
    56042  $8 = $4;
    56043  $9 = $5;
    56044  $10 = (_cons_gen($7,$8,$9)|0);
    56045  $11 = (_cons_gen($6,(23),$10)|0);
    56046  STACKTOP = sp;return ($11|0);
    56047 }
    56048 function _new_op_asgn($0,$1,$2,$3) {
    56049  $0 = $0|0;
    56050  $1 = $1|0;
    56051  $2 = $2|0;
    56052  $3 = $3|0;
    56053  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56054  sp = STACKTOP;
    56055  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56056  $4 = $0;
    56057  $5 = $1;
    56058  $6 = $2;
    56059  $7 = $3;
    56060  $8 = $4;
    56061  $9 = $5;
    56062  $10 = $6;
    56063  $11 = $10;
    56064  $12 = $7;
    56065  $13 = (_list4_gen($8,(28),$9,$11,$12)|0);
    56066  STACKTOP = sp;return ($13|0);
    56067 }
    56068 function _intern_gen($0,$1,$2) {
    56069  $0 = $0|0;
    56070  $1 = $1|0;
    56071  $2 = $2|0;
    56072  var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56073  sp = STACKTOP;
    56074  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56075  $3 = $0;
    56076  $4 = $1;
    56077  $5 = $2;
    56078  $6 = $3;
    56079  $7 = HEAP32[$6>>2]|0;
    56080  $8 = $4;
    56081  $9 = $5;
    56082  $10 = (_mrb_intern($7,$8,$9)|0);
    56083  STACKTOP = sp;return ($10|0);
    56084 }
    56085 function _new_call($0,$1,$2,$3) {
    56086  $0 = $0|0;
    56087  $1 = $1|0;
    56088  $2 = $2|0;
    56089  $3 = $3|0;
    56090  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0;
    56091  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56092  sp = STACKTOP;
    56093  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    56094  $4 = $0;
    56095  $5 = $1;
    56096  $6 = $2;
    56097  $7 = $3;
    56098  $9 = $4;
    56099  $10 = $5;
    56100  $11 = $6;
    56101  $12 = $11;
    56102  $13 = $7;
    56103  $14 = (_list4_gen($9,(29),$10,$12,$13)|0);
    56104  $8 = $14;
    56105  $15 = $5;
    56106  $16 = ($15|0)!=(0|0);
    56107  if (!($16)) {
    56108   $27 = $8;
    56109   STACKTOP = sp;return ($27|0);
    56110  }
    56111  $17 = $5;
    56112  $18 = ((($17)) + 10|0);
    56113  $19 = HEAP16[$18>>1]|0;
    56114  $20 = $8;
    56115  $21 = ((($20)) + 10|0);
    56116  HEAP16[$21>>1] = $19;
    56117  $22 = $5;
    56118  $23 = ((($22)) + 8|0);
    56119  $24 = HEAP16[$23>>1]|0;
    56120  $25 = $8;
    56121  $26 = ((($25)) + 8|0);
    56122  HEAP16[$26>>1] = $24;
    56123  $27 = $8;
    56124  STACKTOP = sp;return ($27|0);
    56125 }
    56126 function _backref_error($0,$1) {
    56127  $0 = $0|0;
    56128  $1 = $1|0;
    56129  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    56130  var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    56131  sp = STACKTOP;
    56132  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    56133  $vararg_buffer = sp;
    56134  $5 = sp + 8|0;
    56135  $2 = $0;
    56136  $3 = $1;
    56137  $6 = $3;
    56138  $7 = HEAP32[$6>>2]|0;
    56139  $8 = $7;
    56140  $4 = $8;
    56141  $9 = $4;
    56142  $10 = ($9|0)==(45);
    56143  if ($10) {
    56144   $11 = $2;
    56145   $12 = $3;
    56146   $13 = ((($12)) + 4|0);
    56147   $14 = HEAP32[$13>>2]|0;
    56148   $15 = $14;
    56149   _yyerror_i($11,62881,$15);
    56150   STACKTOP = sp;return;
    56151  }
    56152  $16 = $4;
    56153  $17 = ($16|0)==(46);
    56154  $18 = $2;
    56155  if (!($17)) {
    56156   $23 = HEAP32[$18>>2]|0;
    56157   $24 = $4;
    56158   _mrb_fixnum_value_530($5,$24);
    56159   ;HEAP8[$vararg_buffer>>0]=HEAP8[$5>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$5+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$5+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$5+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$5+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$5+7>>0]|0;
    56160   _mrb_bug($23,62927,$vararg_buffer);
    56161   // unreachable;
    56162  }
    56163  $19 = $3;
    56164  $20 = ((($19)) + 4|0);
    56165  $21 = HEAP32[$20>>2]|0;
    56166  $22 = $21;
    56167  _yyerror_i($18,62904,$22);
    56168  STACKTOP = sp;return;
    56169 }
    56170 function _new_array($0,$1) {
    56171  $0 = $0|0;
    56172  $1 = $1|0;
    56173  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56174  sp = STACKTOP;
    56175  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56176  $2 = $0;
    56177  $3 = $1;
    56178  $4 = $2;
    56179  $5 = $3;
    56180  $6 = (_cons_gen($4,(34),$5)|0);
    56181  STACKTOP = sp;return ($6|0);
    56182 }
    56183 function _new_asgn($0,$1,$2) {
    56184  $0 = $0|0;
    56185  $1 = $1|0;
    56186  $2 = $2|0;
    56187  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56188  sp = STACKTOP;
    56189  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56190  $3 = $0;
    56191  $4 = $1;
    56192  $5 = $2;
    56193  $6 = $3;
    56194  $7 = $3;
    56195  $8 = $4;
    56196  $9 = $5;
    56197  $10 = (_cons_gen($7,$8,$9)|0);
    56198  $11 = (_cons_gen($6,(24),$10)|0);
    56199  STACKTOP = sp;return ($11|0);
    56200 }
    56201 function _new_and($0,$1,$2) {
    56202  $0 = $0|0;
    56203  $1 = $1|0;
    56204  $2 = $2|0;
    56205  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56206  sp = STACKTOP;
    56207  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56208  $3 = $0;
    56209  $4 = $1;
    56210  $5 = $2;
    56211  $6 = $3;
    56212  $7 = $3;
    56213  $8 = $4;
    56214  $9 = $5;
    56215  $10 = (_cons_gen($7,$8,$9)|0);
    56216  $11 = (_cons_gen($6,(20),$10)|0);
    56217  STACKTOP = sp;return ($11|0);
    56218 }
    56219 function _new_or($0,$1,$2) {
    56220  $0 = $0|0;
    56221  $1 = $1|0;
    56222  $2 = $2|0;
    56223  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56224  sp = STACKTOP;
    56225  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56226  $3 = $0;
    56227  $4 = $1;
    56228  $5 = $2;
    56229  $6 = $3;
    56230  $7 = $3;
    56231  $8 = $4;
    56232  $9 = $5;
    56233  $10 = (_cons_gen($7,$8,$9)|0);
    56234  $11 = (_cons_gen($6,(21),$10)|0);
    56235  STACKTOP = sp;return ($11|0);
    56236 }
    56237 function _call_uni_op($0,$1,$2) {
    56238  $0 = $0|0;
    56239  $1 = $1|0;
    56240  $2 = $2|0;
    56241  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56242  sp = STACKTOP;
    56243  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56244  $3 = $0;
    56245  $4 = $1;
    56246  $5 = $2;
    56247  $6 = $3;
    56248  $7 = $4;
    56249  $8 = $3;
    56250  $9 = $5;
    56251  $10 = (_intern_cstr_gen($8,$9)|0);
    56252  $11 = (_new_call($6,$7,$10,0)|0);
    56253  STACKTOP = sp;return ($11|0);
    56254 }
    56255 function _local_nest($0) {
    56256  $0 = $0|0;
    56257  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    56258  sp = STACKTOP;
    56259  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56260  $1 = $0;
    56261  $2 = $1;
    56262  $3 = $1;
    56263  $4 = ((($3)) + 76|0);
    56264  $5 = HEAP32[$4>>2]|0;
    56265  $6 = (_cons_gen($2,0,$5)|0);
    56266  $7 = $1;
    56267  $8 = ((($7)) + 76|0);
    56268  HEAP32[$8>>2] = $6;
    56269  STACKTOP = sp;return;
    56270 }
    56271 function _new_block($0,$1,$2) {
    56272  $0 = $0|0;
    56273  $1 = $1|0;
    56274  $2 = $2|0;
    56275  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56276  sp = STACKTOP;
    56277  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56278  $3 = $0;
    56279  $4 = $1;
    56280  $5 = $2;
    56281  $6 = $3;
    56282  $7 = $3;
    56283  $8 = (_locals_node($7)|0);
    56284  $9 = $4;
    56285  $10 = $5;
    56286  $11 = (_list4_gen($6,(4),$8,$9,$10)|0);
    56287  STACKTOP = sp;return ($11|0);
    56288 }
    56289 function _local_unnest($0) {
    56290  $0 = $0|0;
    56291  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56292  sp = STACKTOP;
    56293  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56294  $1 = $0;
    56295  $2 = $1;
    56296  $3 = ((($2)) + 76|0);
    56297  $4 = HEAP32[$3>>2]|0;
    56298  $5 = ($4|0)!=(0|0);
    56299  if (!($5)) {
    56300   STACKTOP = sp;return;
    56301  }
    56302  $6 = $1;
    56303  $7 = ((($6)) + 76|0);
    56304  $8 = HEAP32[$7>>2]|0;
    56305  $9 = ((($8)) + 4|0);
    56306  $10 = HEAP32[$9>>2]|0;
    56307  $11 = $1;
    56308  $12 = ((($11)) + 76|0);
    56309  HEAP32[$12>>2] = $10;
    56310  STACKTOP = sp;return;
    56311 }
    56312 function _new_fcall($0,$1,$2) {
    56313  $0 = $0|0;
    56314  $1 = $1|0;
    56315  $2 = $2|0;
    56316  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    56317  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56318  sp = STACKTOP;
    56319  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56320  $3 = $0;
    56321  $4 = $1;
    56322  $5 = $2;
    56323  $7 = $3;
    56324  $8 = (_new_self($7)|0);
    56325  $6 = $8;
    56326  $9 = $5;
    56327  $10 = ($9|0)!=(0|0);
    56328  if ($10) {
    56329   $11 = $5;
    56330   $12 = ((($11)) + 10|0);
    56331   $13 = HEAP16[$12>>1]|0;
    56332   $14 = $6;
    56333   $15 = ((($14)) + 10|0);
    56334   HEAP16[$15>>1] = $13;
    56335   $16 = $5;
    56336   $17 = ((($16)) + 8|0);
    56337   $18 = HEAP16[$17>>1]|0;
    56338   $19 = $6;
    56339   $20 = ((($19)) + 8|0);
    56340   HEAP16[$20>>1] = $18;
    56341  }
    56342  $21 = $3;
    56343  $22 = $6;
    56344  $23 = $4;
    56345  $24 = $23;
    56346  $25 = $5;
    56347  $26 = (_list4_gen($21,(30),$22,$24,$25)|0);
    56348  $6 = $26;
    56349  $27 = $5;
    56350  $28 = ($27|0)!=(0|0);
    56351  if (!($28)) {
    56352   $39 = $6;
    56353   STACKTOP = sp;return ($39|0);
    56354  }
    56355  $29 = $5;
    56356  $30 = ((($29)) + 10|0);
    56357  $31 = HEAP16[$30>>1]|0;
    56358  $32 = $6;
    56359  $33 = ((($32)) + 10|0);
    56360  HEAP16[$33>>1] = $31;
    56361  $34 = $5;
    56362  $35 = ((($34)) + 8|0);
    56363  $36 = HEAP16[$35>>1]|0;
    56364  $37 = $6;
    56365  $38 = ((($37)) + 8|0);
    56366  HEAP16[$38>>1] = $36;
    56367  $39 = $6;
    56368  STACKTOP = sp;return ($39|0);
    56369 }
    56370 function _args_with_block($0,$1,$2) {
    56371  $0 = $0|0;
    56372  $1 = $1|0;
    56373  $2 = $2|0;
    56374  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56375  sp = STACKTOP;
    56376  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56377  $3 = $0;
    56378  $4 = $1;
    56379  $5 = $2;
    56380  $6 = $5;
    56381  $7 = ($6|0)!=(0|0);
    56382  if (!($7)) {
    56383   STACKTOP = sp;return;
    56384  }
    56385  $8 = $4;
    56386  $9 = ((($8)) + 4|0);
    56387  $10 = HEAP32[$9>>2]|0;
    56388  $11 = ($10|0)!=(0|0);
    56389  if ($11) {
    56390   $12 = $3;
    56391   _yyerror($12,62843);
    56392  }
    56393  $13 = $5;
    56394  $14 = $4;
    56395  $15 = ((($14)) + 4|0);
    56396  HEAP32[$15>>2] = $13;
    56397  STACKTOP = sp;return;
    56398 }
    56399 function _new_super($0,$1) {
    56400  $0 = $0|0;
    56401  $1 = $1|0;
    56402  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56403  sp = STACKTOP;
    56404  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56405  $2 = $0;
    56406  $3 = $1;
    56407  $4 = $2;
    56408  $5 = $3;
    56409  $6 = (_cons_gen($4,(32),$5)|0);
    56410  STACKTOP = sp;return ($6|0);
    56411 }
    56412 function _new_yield($0,$1) {
    56413  $0 = $0|0;
    56414  $1 = $1|0;
    56415  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56416  sp = STACKTOP;
    56417  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56418  $3 = $0;
    56419  $4 = $1;
    56420  $5 = $4;
    56421  $6 = ($5|0)!=(0|0);
    56422  if (!($6)) {
    56423   $16 = $3;
    56424   $17 = (_cons_gen($16,(38),0)|0);
    56425   $2 = $17;
    56426   $18 = $2;
    56427   STACKTOP = sp;return ($18|0);
    56428  }
    56429  $7 = $4;
    56430  $8 = ((($7)) + 4|0);
    56431  $9 = HEAP32[$8>>2]|0;
    56432  $10 = ($9|0)!=(0|0);
    56433  if ($10) {
    56434   $11 = $3;
    56435   _yyerror($11,62843);
    56436  }
    56437  $12 = $3;
    56438  $13 = $4;
    56439  $14 = HEAP32[$13>>2]|0;
    56440  $15 = (_cons_gen($12,(38),$14)|0);
    56441  $2 = $15;
    56442  $18 = $2;
    56443  STACKTOP = sp;return ($18|0);
    56444 }
    56445 function _ret_args($0,$1) {
    56446  $0 = $0|0;
    56447  $1 = $1|0;
    56448  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    56449  var $9 = 0, label = 0, sp = 0;
    56450  sp = STACKTOP;
    56451  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56452  $3 = $0;
    56453  $4 = $1;
    56454  $5 = $4;
    56455  $6 = ((($5)) + 4|0);
    56456  $7 = HEAP32[$6>>2]|0;
    56457  $8 = ($7|0)!=(0|0);
    56458  if ($8) {
    56459   $9 = $3;
    56460   _yyerror($9,62808);
    56461   $2 = 0;
    56462   $22 = $2;
    56463   STACKTOP = sp;return ($22|0);
    56464  }
    56465  $10 = $4;
    56466  $11 = HEAP32[$10>>2]|0;
    56467  $12 = ((($11)) + 4|0);
    56468  $13 = HEAP32[$12>>2]|0;
    56469  $14 = ($13|0)!=(0|0);
    56470  if ($14) {
    56471   $18 = $3;
    56472   $19 = $4;
    56473   $20 = HEAP32[$19>>2]|0;
    56474   $21 = (_new_array($18,$20)|0);
    56475   $2 = $21;
    56476   $22 = $2;
    56477   STACKTOP = sp;return ($22|0);
    56478  } else {
    56479   $15 = $4;
    56480   $16 = HEAP32[$15>>2]|0;
    56481   $17 = HEAP32[$16>>2]|0;
    56482   $2 = $17;
    56483   $22 = $2;
    56484   STACKTOP = sp;return ($22|0);
    56485  }
    56486  return (0)|0;
    56487 }
    56488 function _new_return($0,$1) {
    56489  $0 = $0|0;
    56490  $1 = $1|0;
    56491  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56492  sp = STACKTOP;
    56493  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56494  $2 = $0;
    56495  $3 = $1;
    56496  $4 = $2;
    56497  $5 = $3;
    56498  $6 = (_cons_gen($4,(37),$5)|0);
    56499  STACKTOP = sp;return ($6|0);
    56500 }
    56501 function _new_break($0,$1) {
    56502  $0 = $0|0;
    56503  $1 = $1|0;
    56504  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56505  sp = STACKTOP;
    56506  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56507  $2 = $0;
    56508  $3 = $1;
    56509  $4 = $2;
    56510  $5 = $3;
    56511  $6 = (_cons_gen($4,(13),$5)|0);
    56512  STACKTOP = sp;return ($6|0);
    56513 }
    56514 function _new_next($0,$1) {
    56515  $0 = $0|0;
    56516  $1 = $1|0;
    56517  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56518  sp = STACKTOP;
    56519  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56520  $2 = $0;
    56521  $3 = $1;
    56522  $4 = $2;
    56523  $5 = $3;
    56524  $6 = (_cons_gen($4,(14),$5)|0);
    56525  STACKTOP = sp;return ($6|0);
    56526 }
    56527 function _list2_gen($0,$1,$2) {
    56528  $0 = $0|0;
    56529  $1 = $1|0;
    56530  $2 = $2|0;
    56531  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56532  sp = STACKTOP;
    56533  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56534  $3 = $0;
    56535  $4 = $1;
    56536  $5 = $2;
    56537  $6 = $3;
    56538  $7 = $4;
    56539  $8 = $3;
    56540  $9 = $5;
    56541  $10 = (_cons_gen($8,$9,0)|0);
    56542  $11 = (_cons_gen($6,$7,$10)|0);
    56543  STACKTOP = sp;return ($11|0);
    56544 }
    56545 function _assignable($0,$1) {
    56546  $0 = $0|0;
    56547  $1 = $1|0;
    56548  var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56549  sp = STACKTOP;
    56550  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56551  $2 = $0;
    56552  $3 = $1;
    56553  $4 = $3;
    56554  $5 = HEAP32[$4>>2]|0;
    56555  $6 = $5;
    56556  $7 = ($6|0)==(39);
    56557  if (!($7)) {
    56558   STACKTOP = sp;return;
    56559  }
    56560  $8 = $2;
    56561  $9 = $3;
    56562  $10 = ((($9)) + 4|0);
    56563  $11 = HEAP32[$10>>2]|0;
    56564  $12 = $11;
    56565  _local_add($8,$12);
    56566  STACKTOP = sp;return;
    56567 }
    56568 function _new_colon2($0,$1,$2) {
    56569  $0 = $0|0;
    56570  $1 = $1|0;
    56571  $2 = $2|0;
    56572  var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56573  sp = STACKTOP;
    56574  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56575  $3 = $0;
    56576  $4 = $1;
    56577  $5 = $2;
    56578  $6 = $3;
    56579  $7 = $3;
    56580  $8 = $4;
    56581  $9 = $5;
    56582  $10 = $9;
    56583  $11 = (_cons_gen($7,$8,$10)|0);
    56584  $12 = (_cons_gen($6,(77),$11)|0);
    56585  STACKTOP = sp;return ($12|0);
    56586 }
    56587 function _new_colon3($0,$1) {
    56588  $0 = $0|0;
    56589  $1 = $1|0;
    56590  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    56591  sp = STACKTOP;
    56592  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56593  $2 = $0;
    56594  $3 = $1;
    56595  $4 = $2;
    56596  $5 = $3;
    56597  $6 = $5;
    56598  $7 = (_cons_gen($4,(78),$6)|0);
    56599  STACKTOP = sp;return ($7|0);
    56600 }
    56601 function _new_undef($0,$1) {
    56602  $0 = $0|0;
    56603  $1 = $1|0;
    56604  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    56605  sp = STACKTOP;
    56606  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56607  $2 = $0;
    56608  $3 = $1;
    56609  $4 = $2;
    56610  $5 = $3;
    56611  $6 = $5;
    56612  $7 = (_list2_gen($4,(73),$6)|0);
    56613  STACKTOP = sp;return ($7|0);
    56614 }
    56615 function _intern_gen_c($0,$1) {
    56616  $0 = $0|0;
    56617  $1 = $1|0;
    56618  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56619  sp = STACKTOP;
    56620  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56621  $3 = sp + 4|0;
    56622  $2 = $0;
    56623  HEAP8[$3>>0] = $1;
    56624  $4 = $2;
    56625  $5 = HEAP32[$4>>2]|0;
    56626  $6 = (_mrb_intern($5,$3,1)|0);
    56627  STACKTOP = sp;return ($6|0);
    56628 }
    56629 function _new_dot2($0,$1,$2) {
    56630  $0 = $0|0;
    56631  $1 = $1|0;
    56632  $2 = $2|0;
    56633  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56634  sp = STACKTOP;
    56635  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56636  $3 = $0;
    56637  $4 = $1;
    56638  $5 = $2;
    56639  $6 = $3;
    56640  $7 = $3;
    56641  $8 = $4;
    56642  $9 = $5;
    56643  $10 = (_cons_gen($7,$8,$9)|0);
    56644  $11 = (_cons_gen($6,(80),$10)|0);
    56645  STACKTOP = sp;return ($11|0);
    56646 }
    56647 function _new_dot3($0,$1,$2) {
    56648  $0 = $0|0;
    56649  $1 = $1|0;
    56650  $2 = $2|0;
    56651  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56652  sp = STACKTOP;
    56653  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56654  $3 = $0;
    56655  $4 = $1;
    56656  $5 = $2;
    56657  $6 = $3;
    56658  $7 = $3;
    56659  $8 = $4;
    56660  $9 = $5;
    56661  $10 = (_cons_gen($7,$8,$9)|0);
    56662  $11 = (_cons_gen($6,(81),$10)|0);
    56663  STACKTOP = sp;return ($11|0);
    56664 }
    56665 function _call_bin_op($0,$1,$2,$3) {
    56666  $0 = $0|0;
    56667  $1 = $1|0;
    56668  $2 = $2|0;
    56669  $3 = $3|0;
    56670  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56671  sp = STACKTOP;
    56672  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56673  $4 = $0;
    56674  $5 = $1;
    56675  $6 = $2;
    56676  $7 = $3;
    56677  $8 = $4;
    56678  $9 = $5;
    56679  $10 = $4;
    56680  $11 = $6;
    56681  $12 = (_intern_cstr_gen($10,$11)|0);
    56682  $13 = $4;
    56683  $14 = $4;
    56684  $15 = $7;
    56685  $16 = (_list1_gen($14,$15)|0);
    56686  $17 = (_list1_gen($13,$16)|0);
    56687  $18 = (_new_call($8,$9,$12,$17)|0);
    56688  STACKTOP = sp;return ($18|0);
    56689 }
    56690 function _new_hash($0,$1) {
    56691  $0 = $0|0;
    56692  $1 = $1|0;
    56693  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56694  sp = STACKTOP;
    56695  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56696  $2 = $0;
    56697  $3 = $1;
    56698  $4 = $2;
    56699  $5 = $3;
    56700  $6 = (_cons_gen($4,(36),$5)|0);
    56701  STACKTOP = sp;return ($6|0);
    56702 }
    56703 function _new_block_arg($0,$1) {
    56704  $0 = $0|0;
    56705  $1 = $1|0;
    56706  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56707  sp = STACKTOP;
    56708  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56709  $2 = $0;
    56710  $3 = $1;
    56711  $4 = $2;
    56712  $5 = $3;
    56713  $6 = (_cons_gen($4,(69),$5)|0);
    56714  STACKTOP = sp;return ($6|0);
    56715 }
    56716 function _new_splat($0,$1) {
    56717  $0 = $0|0;
    56718  $1 = $1|0;
    56719  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    56720  sp = STACKTOP;
    56721  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56722  $2 = $0;
    56723  $3 = $1;
    56724  $4 = $2;
    56725  $5 = $3;
    56726  $6 = (_cons_gen($4,(66),$5)|0);
    56727  STACKTOP = sp;return ($6|0);
    56728 }
    56729 function _call_with_block($0,$1,$2) {
    56730  $0 = $0|0;
    56731  $1 = $1|0;
    56732  $2 = $2|0;
    56733  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    56734  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    56735  var label = 0, sp = 0;
    56736  sp = STACKTOP;
    56737  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56738  $3 = $0;
    56739  $4 = $1;
    56740  $5 = $2;
    56741  $7 = $4;
    56742  $8 = HEAP32[$7>>2]|0;
    56743  $9 = ($8|0)==((32)|0);
    56744  if (!($9)) {
    56745   $10 = $4;
    56746   $11 = HEAP32[$10>>2]|0;
    56747   $12 = ($11|0)==((33)|0);
    56748   if (!($12)) {
    56749    $26 = $4;
    56750    $27 = ((($26)) + 4|0);
    56751    $28 = HEAP32[$27>>2]|0;
    56752    $29 = ((($28)) + 4|0);
    56753    $30 = HEAP32[$29>>2]|0;
    56754    $31 = ((($30)) + 4|0);
    56755    $32 = HEAP32[$31>>2]|0;
    56756    $6 = $32;
    56757    $33 = $6;
    56758    $34 = HEAP32[$33>>2]|0;
    56759    $35 = ($34|0)!=(0|0);
    56760    $36 = $3;
    56761    if ($35) {
    56762     $40 = $6;
    56763     $41 = HEAP32[$40>>2]|0;
    56764     $42 = $5;
    56765     _args_with_block($36,$41,$42);
    56766     STACKTOP = sp;return;
    56767    } else {
    56768     $37 = $5;
    56769     $38 = (_cons_gen($36,0,$37)|0);
    56770     $39 = $6;
    56771     HEAP32[$39>>2] = $38;
    56772     STACKTOP = sp;return;
    56773    }
    56774   }
    56775  }
    56776  $13 = $4;
    56777  $14 = ((($13)) + 4|0);
    56778  $15 = HEAP32[$14>>2]|0;
    56779  $16 = ($15|0)!=(0|0);
    56780  $17 = $3;
    56781  if ($16) {
    56782   $22 = $4;
    56783   $23 = ((($22)) + 4|0);
    56784   $24 = HEAP32[$23>>2]|0;
    56785   $25 = $5;
    56786   _args_with_block($17,$24,$25);
    56787   STACKTOP = sp;return;
    56788  } else {
    56789   $18 = $5;
    56790   $19 = (_cons_gen($17,0,$18)|0);
    56791   $20 = $4;
    56792   $21 = ((($20)) + 4|0);
    56793   HEAP32[$21>>2] = $19;
    56794   STACKTOP = sp;return;
    56795  }
    56796 }
    56797 function _new_lambda($0,$1,$2) {
    56798  $0 = $0|0;
    56799  $1 = $1|0;
    56800  $2 = $2|0;
    56801  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56802  sp = STACKTOP;
    56803  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56804  $3 = $0;
    56805  $4 = $1;
    56806  $5 = $2;
    56807  $6 = $3;
    56808  $7 = $3;
    56809  $8 = (_locals_node($7)|0);
    56810  $9 = $4;
    56811  $10 = $5;
    56812  $11 = (_list4_gen($6,(53),$8,$9,$10)|0);
    56813  STACKTOP = sp;return ($11|0);
    56814 }
    56815 function _new_case($0,$1,$2) {
    56816  $0 = $0|0;
    56817  $1 = $1|0;
    56818  $2 = $2|0;
    56819  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    56820  var label = 0, sp = 0;
    56821  sp = STACKTOP;
    56822  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    56823  $3 = $0;
    56824  $4 = $1;
    56825  $5 = $2;
    56826  $8 = $3;
    56827  $9 = $4;
    56828  $10 = (_list2_gen($8,(6),$9)|0);
    56829  $6 = $10;
    56830  $11 = $6;
    56831  $7 = $11;
    56832  while(1) {
    56833   $12 = $7;
    56834   $13 = ((($12)) + 4|0);
    56835   $14 = HEAP32[$13>>2]|0;
    56836   $15 = ($14|0)!=(0|0);
    56837   if (!($15)) {
    56838    break;
    56839   }
    56840   $16 = $7;
    56841   $17 = ((($16)) + 4|0);
    56842   $18 = HEAP32[$17>>2]|0;
    56843   $7 = $18;
    56844  }
    56845  $19 = $5;
    56846  $20 = $7;
    56847  $21 = ((($20)) + 4|0);
    56848  HEAP32[$21>>2] = $19;
    56849  $22 = $6;
    56850  STACKTOP = sp;return ($22|0);
    56851 }
    56852 function _new_for($0,$1,$2,$3) {
    56853  $0 = $0|0;
    56854  $1 = $1|0;
    56855  $2 = $2|0;
    56856  $3 = $3|0;
    56857  var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56858  sp = STACKTOP;
    56859  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56860  $4 = $0;
    56861  $5 = $1;
    56862  $6 = $2;
    56863  $7 = $3;
    56864  $8 = $4;
    56865  $9 = $5;
    56866  $10 = $6;
    56867  $11 = $7;
    56868  $12 = (_list4_gen($8,(12),$9,$10,$11)|0);
    56869  STACKTOP = sp;return ($12|0);
    56870 }
    56871 function _new_class($0,$1,$2,$3) {
    56872  $0 = $0|0;
    56873  $1 = $1|0;
    56874  $2 = $2|0;
    56875  $3 = $3|0;
    56876  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56877  sp = STACKTOP;
    56878  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56879  $4 = $0;
    56880  $5 = $1;
    56881  $6 = $2;
    56882  $7 = $3;
    56883  $8 = $4;
    56884  $9 = $5;
    56885  $10 = $6;
    56886  $11 = $4;
    56887  $12 = $4;
    56888  $13 = (_locals_node($12)|0);
    56889  $14 = $7;
    56890  $15 = (_cons_gen($11,$13,$14)|0);
    56891  $16 = (_list4_gen($8,(74),$9,$10,$15)|0);
    56892  STACKTOP = sp;return ($16|0);
    56893 }
    56894 function _new_sclass($0,$1,$2) {
    56895  $0 = $0|0;
    56896  $1 = $1|0;
    56897  $2 = $2|0;
    56898  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56899  sp = STACKTOP;
    56900  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56901  $3 = $0;
    56902  $4 = $1;
    56903  $5 = $2;
    56904  $6 = $3;
    56905  $7 = $4;
    56906  $8 = $3;
    56907  $9 = $3;
    56908  $10 = (_locals_node($9)|0);
    56909  $11 = $5;
    56910  $12 = (_cons_gen($8,$10,$11)|0);
    56911  $13 = (_list3_gen($6,(76),$7,$12)|0);
    56912  STACKTOP = sp;return ($13|0);
    56913 }
    56914 function _new_module($0,$1,$2) {
    56915  $0 = $0|0;
    56916  $1 = $1|0;
    56917  $2 = $2|0;
    56918  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56919  sp = STACKTOP;
    56920  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56921  $3 = $0;
    56922  $4 = $1;
    56923  $5 = $2;
    56924  $6 = $3;
    56925  $7 = $4;
    56926  $8 = $3;
    56927  $9 = $3;
    56928  $10 = (_locals_node($9)|0);
    56929  $11 = $5;
    56930  $12 = (_cons_gen($8,$10,$11)|0);
    56931  $13 = (_list3_gen($6,(75),$7,$12)|0);
    56932  STACKTOP = sp;return ($13|0);
    56933 }
    56934 function _new_def($0,$1,$2,$3) {
    56935  $0 = $0|0;
    56936  $1 = $1|0;
    56937  $2 = $2|0;
    56938  $3 = $3|0;
    56939  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56940  sp = STACKTOP;
    56941  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56942  $4 = $0;
    56943  $5 = $1;
    56944  $6 = $2;
    56945  $7 = $3;
    56946  $8 = $4;
    56947  $9 = $5;
    56948  $10 = $9;
    56949  $11 = $4;
    56950  $12 = (_locals_node($11)|0);
    56951  $13 = $6;
    56952  $14 = $7;
    56953  $15 = (_list5_gen($8,(70),$10,$12,$13,$14)|0);
    56954  STACKTOP = sp;return ($15|0);
    56955 }
    56956 function _new_sdef($0,$1,$2,$3,$4) {
    56957  $0 = $0|0;
    56958  $1 = $1|0;
    56959  $2 = $2|0;
    56960  $3 = $3|0;
    56961  $4 = $4|0;
    56962  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    56963  sp = STACKTOP;
    56964  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    56965  $5 = $0;
    56966  $6 = $1;
    56967  $7 = $2;
    56968  $8 = $3;
    56969  $9 = $4;
    56970  $10 = $5;
    56971  $11 = $6;
    56972  $12 = $7;
    56973  $13 = $12;
    56974  $14 = $5;
    56975  $15 = (_locals_node($14)|0);
    56976  $16 = $8;
    56977  $17 = $9;
    56978  $18 = (_list6_gen($10,(71),$11,$13,$15,$16,$17)|0);
    56979  STACKTOP = sp;return ($18|0);
    56980 }
    56981 function _new_redo($0) {
    56982  $0 = $0|0;
    56983  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    56984  sp = STACKTOP;
    56985  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56986  $1 = $0;
    56987  $2 = $1;
    56988  $3 = (_list1_gen($2,(15))|0);
    56989  STACKTOP = sp;return ($3|0);
    56990 }
    56991 function _new_retry($0) {
    56992  $0 = $0|0;
    56993  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    56994  sp = STACKTOP;
    56995  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    56996  $1 = $0;
    56997  $2 = $1;
    56998  $3 = (_list1_gen($2,(16))|0);
    56999  STACKTOP = sp;return ($3|0);
    57000 }
    57001 function _new_arg($0,$1) {
    57002  $0 = $0|0;
    57003  $1 = $1|0;
    57004  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    57005  sp = STACKTOP;
    57006  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57007  $2 = $0;
    57008  $3 = $1;
    57009  $4 = $2;
    57010  $5 = $3;
    57011  $6 = $5;
    57012  $7 = (_cons_gen($4,(63),$6)|0);
    57013  STACKTOP = sp;return ($7|0);
    57014 }
    57015 function _new_args($0,$1,$2,$3,$4,$5) {
    57016  $0 = $0|0;
    57017  $1 = $1|0;
    57018  $2 = $2|0;
    57019  $3 = $3|0;
    57020  $4 = $4|0;
    57021  $5 = $5|0;
    57022  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    57023  var $30 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    57024  sp = STACKTOP;
    57025  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    57026  $6 = $0;
    57027  $7 = $1;
    57028  $8 = $2;
    57029  $9 = $3;
    57030  $10 = $4;
    57031  $11 = $5;
    57032  $13 = $6;
    57033  $14 = $10;
    57034  $15 = $11;
    57035  $16 = $15;
    57036  $17 = (_cons_gen($13,$14,$16)|0);
    57037  $12 = $17;
    57038  $18 = $6;
    57039  $19 = $9;
    57040  $20 = $19;
    57041  $21 = $12;
    57042  $22 = (_cons_gen($18,$20,$21)|0);
    57043  $12 = $22;
    57044  $23 = $6;
    57045  $24 = $8;
    57046  $25 = $12;
    57047  $26 = (_cons_gen($23,$24,$25)|0);
    57048  $12 = $26;
    57049  $27 = $6;
    57050  $28 = $7;
    57051  $29 = $12;
    57052  $30 = (_cons_gen($27,$28,$29)|0);
    57053  STACKTOP = sp;return ($30|0);
    57054 }
    57055 function _local_add_f($0,$1) {
    57056  $0 = $0|0;
    57057  $1 = $1|0;
    57058  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    57059  var sp = 0;
    57060  sp = STACKTOP;
    57061  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57062  $2 = $0;
    57063  $3 = $1;
    57064  $4 = $2;
    57065  $5 = ((($4)) + 76|0);
    57066  $6 = HEAP32[$5>>2]|0;
    57067  $7 = ($6|0)!=(0|0);
    57068  if (!($7)) {
    57069   STACKTOP = sp;return;
    57070  }
    57071  $8 = $2;
    57072  $9 = $2;
    57073  $10 = ((($9)) + 76|0);
    57074  $11 = HEAP32[$10>>2]|0;
    57075  $12 = HEAP32[$11>>2]|0;
    57076  $13 = $2;
    57077  $14 = $3;
    57078  $15 = $14;
    57079  $16 = (_list1_gen($13,$15)|0);
    57080  $17 = (_append_gen($8,$12,$16)|0);
    57081  $18 = $2;
    57082  $19 = ((($18)) + 76|0);
    57083  $20 = HEAP32[$19>>2]|0;
    57084  HEAP32[$20>>2] = $17;
    57085  STACKTOP = sp;return;
    57086 }
    57087 function _new_bv($0,$1) {
    57088  $0 = $0|0;
    57089  $1 = $1|0;
    57090  var $2 = 0, $3 = 0, label = 0, sp = 0;
    57091  sp = STACKTOP;
    57092  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57093  $2 = $0;
    57094  $3 = $1;
    57095  STACKTOP = sp;return;
    57096 }
    57097 function _new_zsuper($0) {
    57098  $0 = $0|0;
    57099  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    57100  sp = STACKTOP;
    57101  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57102  $1 = $0;
    57103  $2 = $1;
    57104  $3 = (_list1_gen($2,(33))|0);
    57105  STACKTOP = sp;return ($3|0);
    57106 }
    57107 function _new_dstr($0,$1) {
    57108  $0 = $0|0;
    57109  $1 = $1|0;
    57110  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    57111  sp = STACKTOP;
    57112  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57113  $2 = $0;
    57114  $3 = $1;
    57115  $4 = $2;
    57116  $5 = $3;
    57117  $6 = (_cons_gen($4,(56),$5)|0);
    57118  STACKTOP = sp;return ($6|0);
    57119 }
    57120 function _new_literal_delim($0) {
    57121  $0 = $0|0;
    57122  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    57123  sp = STACKTOP;
    57124  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57125  $1 = $0;
    57126  $2 = $1;
    57127  $3 = (_cons_gen($2,(100),0)|0);
    57128  STACKTOP = sp;return ($3|0);
    57129 }
    57130 function _new_dxstr($0,$1) {
    57131  $0 = $0|0;
    57132  $1 = $1|0;
    57133  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    57134  sp = STACKTOP;
    57135  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57136  $2 = $0;
    57137  $3 = $1;
    57138  $4 = $2;
    57139  $5 = $3;
    57140  $6 = (_cons_gen($4,(58),$5)|0);
    57141  STACKTOP = sp;return ($6|0);
    57142 }
    57143 function _new_dregx($0,$1,$2) {
    57144  $0 = $0|0;
    57145  $1 = $1|0;
    57146  $2 = $2|0;
    57147  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    57148  sp = STACKTOP;
    57149  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57150  $3 = $0;
    57151  $4 = $1;
    57152  $5 = $2;
    57153  $6 = $3;
    57154  $7 = $3;
    57155  $8 = $4;
    57156  $9 = $5;
    57157  $10 = (_cons_gen($7,$8,$9)|0);
    57158  $11 = (_cons_gen($6,(60),$10)|0);
    57159  STACKTOP = sp;return ($11|0);
    57160 }
    57161 function _parsing_heredoc_inf($0) {
    57162  $0 = $0|0;
    57163  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    57164  sp = STACKTOP;
    57165  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57166  $2 = $0;
    57167  $4 = $2;
    57168  $5 = ((($4)) + 1120|0);
    57169  $6 = HEAP32[$5>>2]|0;
    57170  $3 = $6;
    57171  $7 = $3;
    57172  $8 = ($7|0)==(0|0);
    57173  if ($8) {
    57174   $1 = 0;
    57175   $13 = $1;
    57176   STACKTOP = sp;return ($13|0);
    57177  } else {
    57178   $9 = $3;
    57179   $10 = HEAP32[$9>>2]|0;
    57180   $11 = ((($10)) + 4|0);
    57181   $12 = HEAP32[$11>>2]|0;
    57182   $1 = $12;
    57183   $13 = $1;
    57184   STACKTOP = sp;return ($13|0);
    57185  }
    57186  return (0)|0;
    57187 }
    57188 function _new_str($0,$1,$2) {
    57189  $0 = $0|0;
    57190  $1 = $1|0;
    57191  $2 = $2|0;
    57192  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    57193  sp = STACKTOP;
    57194  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57195  $3 = $0;
    57196  $4 = $1;
    57197  $5 = $2;
    57198  $6 = $3;
    57199  $7 = $3;
    57200  $8 = $3;
    57201  $9 = $4;
    57202  $10 = $5;
    57203  $11 = (_parser_strndup($8,$9,$10)|0);
    57204  $12 = $5;
    57205  $13 = $12;
    57206  $14 = (_cons_gen($7,$11,$13)|0);
    57207  $15 = (_cons_gen($6,(55),$14)|0);
    57208  STACKTOP = sp;return ($15|0);
    57209 }
    57210 function _heredoc_end($0) {
    57211  $0 = $0|0;
    57212  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    57213  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    57214  var sp = 0;
    57215  sp = STACKTOP;
    57216  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57217  $1 = $0;
    57218  $2 = $1;
    57219  $3 = ((($2)) + 1120|0);
    57220  $4 = HEAP32[$3>>2]|0;
    57221  $5 = ((($4)) + 4|0);
    57222  $6 = HEAP32[$5>>2]|0;
    57223  $7 = $1;
    57224  $8 = ((($7)) + 1120|0);
    57225  HEAP32[$8>>2] = $6;
    57226  $9 = $1;
    57227  $10 = ((($9)) + 1120|0);
    57228  $11 = HEAP32[$10>>2]|0;
    57229  $12 = ($11|0)==(0|0);
    57230  $13 = $1;
    57231  if ($12) {
    57232   $14 = ((($13)) + 40|0);
    57233   HEAP32[$14>>2] = 0;
    57234   $15 = $1;
    57235   $16 = ((($15)) + 72|0);
    57236   $17 = HEAP8[$16>>0]|0;
    57237   $18 = $17 & -2;
    57238   $19 = $18 | 1;
    57239   HEAP8[$16>>0] = $19;
    57240   $20 = $1;
    57241   _end_strterm($20);
    57242   $21 = $1;
    57243   $22 = ((($21)) + 1124|0);
    57244   $23 = HEAP32[$22>>2]|0;
    57245   $24 = $1;
    57246   $25 = ((($24)) + 44|0);
    57247   HEAP32[$25>>2] = $23;
    57248   $26 = $1;
    57249   $27 = ((($26)) + 1124|0);
    57250   HEAP32[$27>>2] = 0;
    57251   $28 = $1;
    57252   $29 = ((($28)) + 1128|0);
    57253   $30 = HEAP8[$29>>0]|0;
    57254   $31 = $30 & -2;
    57255   $32 = $31 | 1;
    57256   HEAP8[$29>>0] = $32;
    57257   STACKTOP = sp;return;
    57258  } else {
    57259   $33 = (_parsing_heredoc_inf($13)|0);
    57260   $34 = ((($33)) + 4|0);
    57261   $35 = HEAP32[$34>>2]|0;
    57262   $36 = $35;
    57263   $37 = $1;
    57264   $38 = ((($37)) + 44|0);
    57265   $39 = HEAP32[$38>>2]|0;
    57266   HEAP32[$39>>2] = $36;
    57267   STACKTOP = sp;return;
    57268  }
    57269 }
    57270 function _heredoc_treat_nextline($0) {
    57271  $0 = $0|0;
    57272  var $$sink = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
    57273  var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
    57274  var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
    57275  var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
    57276  var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
    57277  var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    57278  sp = STACKTOP;
    57279  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57280  $1 = $0;
    57281  $5 = $1;
    57282  $6 = ((($5)) + 1116|0);
    57283  $7 = HEAP32[$6>>2]|0;
    57284  $8 = ($7|0)==(0|0);
    57285  if ($8) {
    57286   STACKTOP = sp;return;
    57287  }
    57288  $9 = $1;
    57289  $10 = ((($9)) + 1120|0);
    57290  $11 = HEAP32[$10>>2]|0;
    57291  $12 = ($11|0)==(0|0);
    57292  $13 = $1;
    57293  $14 = ((($13)) + 1116|0);
    57294  $15 = HEAP32[$14>>2]|0;
    57295  do {
    57296   if ($12) {
    57297    $16 = $1;
    57298    $17 = ((($16)) + 1120|0);
    57299    HEAP32[$17>>2] = $15;
    57300    $18 = $1;
    57301    $19 = ((($18)) + 44|0);
    57302    $20 = HEAP32[$19>>2]|0;
    57303    $21 = $1;
    57304    $22 = ((($21)) + 1124|0);
    57305    HEAP32[$22>>2] = $20;
    57306    $23 = $1;
    57307    $24 = $1;
    57308    $25 = (_parsing_heredoc_inf($24)|0);
    57309    $26 = ((($25)) + 4|0);
    57310    $27 = HEAP32[$26>>2]|0;
    57311    $28 = (_new_strterm($23,$27,0,0)|0);
    57312    $29 = $1;
    57313    $30 = ((($29)) + 44|0);
    57314    HEAP32[$30>>2] = $28;
    57315    $31 = $1;
    57316    $32 = ((($31)) + 1112|0);
    57317    $33 = HEAP32[$32>>2]|0;
    57318    $2 = $33;
    57319    $34 = $2;
    57320    $35 = ($34|0)!=(0|0);
    57321    if (!($35)) {
    57322     $48 = $1;
    57323     $49 = ((($48)) + 1120|0);
    57324     $50 = HEAP32[$49>>2]|0;
    57325     $51 = $1;
    57326     $52 = ((($51)) + 1112|0);
    57327     HEAP32[$52>>2] = $50;
    57328     break;
    57329    }
    57330    while(1) {
    57331     $36 = $2;
    57332     $37 = ((($36)) + 4|0);
    57333     $38 = HEAP32[$37>>2]|0;
    57334     $39 = ($38|0)!=(0|0);
    57335     if (!($39)) {
    57336      break;
    57337     }
    57338     $40 = $2;
    57339     $41 = ((($40)) + 4|0);
    57340     $42 = HEAP32[$41>>2]|0;
    57341     $2 = $42;
    57342    }
    57343    $43 = $1;
    57344    $44 = ((($43)) + 1120|0);
    57345    $45 = HEAP32[$44>>2]|0;
    57346    $46 = $2;
    57347    $47 = ((($46)) + 4|0);
    57348    HEAP32[$47>>2] = $45;
    57349   } else {
    57350    $4 = $15;
    57351    while(1) {
    57352     $53 = $4;
    57353     $54 = ((($53)) + 4|0);
    57354     $55 = HEAP32[$54>>2]|0;
    57355     $56 = ($55|0)!=(0|0);
    57356     if (!($56)) {
    57357      break;
    57358     }
    57359     $57 = $4;
    57360     $58 = ((($57)) + 4|0);
    57361     $59 = HEAP32[$58>>2]|0;
    57362     $4 = $59;
    57363    }
    57364    $60 = $1;
    57365    $61 = ((($60)) + 1112|0);
    57366    $62 = HEAP32[$61>>2]|0;
    57367    $3 = $62;
    57368    $63 = $3;
    57369    $64 = $1;
    57370    $65 = ((($64)) + 1120|0);
    57371    $66 = HEAP32[$65>>2]|0;
    57372    $67 = ($63|0)==($66|0);
    57373    if ($67) {
    57374     $68 = $3;
    57375     $69 = $4;
    57376     $70 = ((($69)) + 4|0);
    57377     HEAP32[$70>>2] = $68;
    57378     $71 = $1;
    57379     $72 = ((($71)) + 1116|0);
    57380     $73 = HEAP32[$72>>2]|0;
    57381     $74 = $1;
    57382     $75 = ((($74)) + 1112|0);
    57383     HEAP32[$75>>2] = $73;
    57384     $76 = $1;
    57385     $77 = ((($76)) + 1116|0);
    57386     $78 = HEAP32[$77>>2]|0;
    57387     $79 = $1;
    57388     $$sink = $78;$$sink2 = $79;
    57389    } else {
    57390     while(1) {
    57391      $80 = $3;
    57392      $81 = ((($80)) + 4|0);
    57393      $82 = HEAP32[$81>>2]|0;
    57394      $83 = $1;
    57395      $84 = ((($83)) + 1120|0);
    57396      $85 = HEAP32[$84>>2]|0;
    57397      $86 = ($82|0)!=($85|0);
    57398      $87 = $3;
    57399      $88 = ((($87)) + 4|0);
    57400      $89 = HEAP32[$88>>2]|0;
    57401      if (!($86)) {
    57402       break;
    57403      }
    57404      $3 = $89;
    57405     }
    57406     $90 = $4;
    57407     $91 = ((($90)) + 4|0);
    57408     HEAP32[$91>>2] = $89;
    57409     $92 = $1;
    57410     $93 = ((($92)) + 1116|0);
    57411     $94 = HEAP32[$93>>2]|0;
    57412     $95 = $3;
    57413     $96 = ((($95)) + 4|0);
    57414     HEAP32[$96>>2] = $94;
    57415     $97 = $1;
    57416     $98 = ((($97)) + 1116|0);
    57417     $99 = HEAP32[$98>>2]|0;
    57418     $100 = $1;
    57419     $$sink = $99;$$sink2 = $100;
    57420    }
    57421    $101 = ((($$sink2)) + 1120|0);
    57422    HEAP32[$101>>2] = $$sink;
    57423   }
    57424  } while(0);
    57425  $102 = $1;
    57426  $103 = ((($102)) + 1116|0);
    57427  HEAP32[$103>>2] = 0;
    57428  STACKTOP = sp;return;
    57429 }
    57430 function _new_words($0,$1) {
    57431  $0 = $0|0;
    57432  $1 = $1|0;
    57433  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    57434  sp = STACKTOP;
    57435  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57436  $2 = $0;
    57437  $3 = $1;
    57438  $4 = $2;
    57439  $5 = $3;
    57440  $6 = (_cons_gen($4,(101),$5)|0);
    57441  STACKTOP = sp;return ($6|0);
    57442 }
    57443 function _new_sym($0,$1) {
    57444  $0 = $0|0;
    57445  $1 = $1|0;
    57446  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    57447  sp = STACKTOP;
    57448  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57449  $2 = $0;
    57450  $3 = $1;
    57451  $4 = $2;
    57452  $5 = $3;
    57453  $6 = $5;
    57454  $7 = (_cons_gen($4,(54),$6)|0);
    57455  STACKTOP = sp;return ($7|0);
    57456 }
    57457 function _new_dsym($0,$1) {
    57458  $0 = $0|0;
    57459  $1 = $1|0;
    57460  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    57461  sp = STACKTOP;
    57462  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57463  $2 = $0;
    57464  $3 = $1;
    57465  $4 = $2;
    57466  $5 = $2;
    57467  $6 = $3;
    57468  $7 = (_new_dstr($5,$6)|0);
    57469  $8 = (_cons_gen($4,(97),$7)|0);
    57470  STACKTOP = sp;return ($8|0);
    57471 }
    57472 function _new_strsym($0,$1) {
    57473  $0 = $0|0;
    57474  $1 = $1|0;
    57475  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    57476  var sp = 0;
    57477  sp = STACKTOP;
    57478  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57479  $2 = $0;
    57480  $3 = $1;
    57481  $6 = $3;
    57482  $7 = ((($6)) + 4|0);
    57483  $8 = HEAP32[$7>>2]|0;
    57484  $9 = HEAP32[$8>>2]|0;
    57485  $4 = $9;
    57486  $10 = $3;
    57487  $11 = ((($10)) + 4|0);
    57488  $12 = HEAP32[$11>>2]|0;
    57489  $13 = ((($12)) + 4|0);
    57490  $14 = HEAP32[$13>>2]|0;
    57491  $15 = $14;
    57492  $5 = $15;
    57493  $16 = $2;
    57494  $17 = HEAP32[$16>>2]|0;
    57495  $18 = $4;
    57496  $19 = $5;
    57497  $20 = (_mrb_intern($17,$18,$19)|0);
    57498  STACKTOP = sp;return ($20|0);
    57499 }
    57500 function _new_symbols($0,$1) {
    57501  $0 = $0|0;
    57502  $1 = $1|0;
    57503  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    57504  sp = STACKTOP;
    57505  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57506  $2 = $0;
    57507  $3 = $1;
    57508  $4 = $2;
    57509  $5 = $3;
    57510  $6 = (_cons_gen($4,(102),$5)|0);
    57511  STACKTOP = sp;return ($6|0);
    57512 }
    57513 function _negate_lit($0,$1) {
    57514  $0 = $0|0;
    57515  $1 = $1|0;
    57516  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    57517  sp = STACKTOP;
    57518  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57519  $2 = $0;
    57520  $3 = $1;
    57521  $4 = $2;
    57522  $5 = $3;
    57523  $6 = (_cons_gen($4,(52),$5)|0);
    57524  STACKTOP = sp;return ($6|0);
    57525 }
    57526 function _new_lvar($0,$1) {
    57527  $0 = $0|0;
    57528  $1 = $1|0;
    57529  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    57530  sp = STACKTOP;
    57531  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57532  $2 = $0;
    57533  $3 = $1;
    57534  $4 = $2;
    57535  $5 = $3;
    57536  $6 = $5;
    57537  $7 = (_cons_gen($4,(39),$6)|0);
    57538  STACKTOP = sp;return ($7|0);
    57539 }
    57540 function _new_ivar($0,$1) {
    57541  $0 = $0|0;
    57542  $1 = $1|0;
    57543  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    57544  sp = STACKTOP;
    57545  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57546  $2 = $0;
    57547  $3 = $1;
    57548  $4 = $2;
    57549  $5 = $3;
    57550  $6 = $5;
    57551  $7 = (_cons_gen($4,(42),$6)|0);
    57552  STACKTOP = sp;return ($7|0);
    57553 }
    57554 function _new_gvar($0,$1) {
    57555  $0 = $0|0;
    57556  $1 = $1|0;
    57557  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    57558  sp = STACKTOP;
    57559  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57560  $2 = $0;
    57561  $3 = $1;
    57562  $4 = $2;
    57563  $5 = $3;
    57564  $6 = $5;
    57565  $7 = (_cons_gen($4,(41),$6)|0);
    57566  STACKTOP = sp;return ($7|0);
    57567 }
    57568 function _new_cvar($0,$1) {
    57569  $0 = $0|0;
    57570  $1 = $1|0;
    57571  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    57572  sp = STACKTOP;
    57573  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57574  $2 = $0;
    57575  $3 = $1;
    57576  $4 = $2;
    57577  $5 = $3;
    57578  $6 = $5;
    57579  $7 = (_cons_gen($4,(44),$6)|0);
    57580  STACKTOP = sp;return ($7|0);
    57581 }
    57582 function _new_const($0,$1) {
    57583  $0 = $0|0;
    57584  $1 = $1|0;
    57585  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    57586  sp = STACKTOP;
    57587  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57588  $2 = $0;
    57589  $3 = $1;
    57590  $4 = $2;
    57591  $5 = $3;
    57592  $6 = $5;
    57593  $7 = (_cons_gen($4,(43),$6)|0);
    57594  STACKTOP = sp;return ($7|0);
    57595 }
    57596 function _var_reference($0,$1) {
    57597  $0 = $0|0;
    57598  $1 = $1|0;
    57599  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
    57600  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    57601  sp = STACKTOP;
    57602  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57603  $3 = $0;
    57604  $4 = $1;
    57605  $6 = $4;
    57606  $7 = HEAP32[$6>>2]|0;
    57607  $8 = $7;
    57608  $9 = ($8|0)==(39);
    57609  if ($9) {
    57610   $10 = $3;
    57611   $11 = $4;
    57612   $12 = ((($11)) + 4|0);
    57613   $13 = HEAP32[$12>>2]|0;
    57614   $14 = $13;
    57615   $15 = (_local_var_p($10,$14)|0);
    57616   $16 = ($15<<24>>24)!=(0);
    57617   if (!($16)) {
    57618    $17 = $3;
    57619    $18 = $4;
    57620    $19 = ((($18)) + 4|0);
    57621    $20 = HEAP32[$19>>2]|0;
    57622    $21 = $20;
    57623    $22 = (_new_fcall($17,$21,0)|0);
    57624    $5 = $22;
    57625    $23 = $3;
    57626    $24 = $4;
    57627    _cons_free_gen($23,$24);
    57628    $25 = $5;
    57629    $2 = $25;
    57630    $27 = $2;
    57631    STACKTOP = sp;return ($27|0);
    57632   }
    57633  }
    57634  $26 = $4;
    57635  $2 = $26;
    57636  $27 = $2;
    57637  STACKTOP = sp;return ($27|0);
    57638 }
    57639 function _new_self($0) {
    57640  $0 = $0|0;
    57641  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    57642  sp = STACKTOP;
    57643  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57644  $1 = $0;
    57645  $2 = $1;
    57646  $3 = (_list1_gen($2,(85))|0);
    57647  STACKTOP = sp;return ($3|0);
    57648 }
    57649 function _new_true($0) {
    57650  $0 = $0|0;
    57651  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    57652  sp = STACKTOP;
    57653  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57654  $1 = $0;
    57655  $2 = $1;
    57656  $3 = (_list1_gen($2,(87))|0);
    57657  STACKTOP = sp;return ($3|0);
    57658 }
    57659 function _new_false($0) {
    57660  $0 = $0|0;
    57661  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    57662  sp = STACKTOP;
    57663  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57664  $1 = $0;
    57665  $2 = $1;
    57666  $3 = (_list1_gen($2,(88))|0);
    57667  STACKTOP = sp;return ($3|0);
    57668 }
    57669 function _new_int($0,$1,$2) {
    57670  $0 = $0|0;
    57671  $1 = $1|0;
    57672  $2 = $2|0;
    57673  var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    57674  sp = STACKTOP;
    57675  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57676  $3 = $0;
    57677  $4 = $1;
    57678  $5 = $2;
    57679  $6 = $3;
    57680  $7 = $3;
    57681  $8 = $4;
    57682  $9 = (_parser_strdup($7,$8)|0);
    57683  $10 = $5;
    57684  $11 = $10;
    57685  $12 = (_list3_gen($6,(50),$9,$11)|0);
    57686  STACKTOP = sp;return ($12|0);
    57687 }
    57688 function _yysyntax_error($0,$1,$2) {
    57689  $0 = $0|0;
    57690  $1 = $1|0;
    57691  $2 = $2|0;
    57692  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    57693  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    57694  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $16 = 0, $17 = 0;
    57695  var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
    57696  var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
    57697  var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
    57698  var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
    57699  var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
    57700  sp = STACKTOP;
    57701  STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
    57702  $13 = sp + 40|0;
    57703  $17 = sp + 100|0;
    57704  $4 = $0;
    57705  $5 = $1;
    57706  $6 = $2;
    57707  $25 = $5;
    57708  $26 = (3344 + ($25<<1)|0);
    57709  $27 = HEAP16[$26>>1]|0;
    57710  $28 = $27 << 16 >> 16;
    57711  $7 = $28;
    57712  $29 = $7;
    57713  $30 = (-771)<($29|0);
    57714  $31 = $7;
    57715  $32 = ($31|0)<=(10639);
    57716  $or$cond = $30 & $32;
    57717  if (!($or$cond)) {
    57718   $3 = 0;
    57719   $151 = $3;
    57720   STACKTOP = sp;return ($151|0);
    57721  }
    57722  $33 = $6;
    57723  $34 = ($33>>>0)<=(372);
    57724  if ($34) {
    57725   $35 = $6;
    57726   $36 = (58442 + ($35)|0);
    57727   $37 = HEAP8[$36>>0]|0;
    57728   $38 = $37&255;
    57729   $39 = $38;
    57730  } else {
    57731   $39 = 2;
    57732  }
    57733  $8 = $39;
    57734  $40 = $8;
    57735  $41 = (504 + ($40<<2)|0);
    57736  $42 = HEAP32[$41>>2]|0;
    57737  $43 = (_yytnamerr(0,$42)|0);
    57738  $9 = $43;
    57739  $44 = $9;
    57740  $10 = $44;
    57741  $12 = 0;
    57742  $18 = 60021;
    57743  $45 = $7;
    57744  $46 = ($45|0)<(0);
    57745  $47 = $7;
    57746  $48 = (0 - ($47))|0;
    57747  $49 = $46 ? $48 : 0;
    57748  $19 = $49;
    57749  $50 = $7;
    57750  $51 = (10639 - ($50))|0;
    57751  $52 = (($51) + 1)|0;
    57752  $20 = $52;
    57753  $53 = $20;
    57754  $54 = ($53|0)<(144);
    57755  $55 = $20;
    57756  $56 = $54 ? $55 : 144;
    57757  $21 = $56;
    57758  $22 = 1;
    57759  $57 = $8;
    57760  $58 = (504 + ($57<<2)|0);
    57761  $59 = HEAP32[$58>>2]|0;
    57762  HEAP32[$13>>2] = $59;
    57763  $60 = (_yystpcpy($17,60036)|0);
    57764  $15 = $60;
    57765  $61 = $19;
    57766  $14 = $61;
    57767  while(1) {
    57768   $62 = $14;
    57769   $63 = $21;
    57770   $64 = ($62|0)<($63|0);
    57771   if (!($64)) {
    57772    break;
    57773   }
    57774   $65 = $14;
    57775   $66 = $7;
    57776   $67 = (($65) + ($66))|0;
    57777   $68 = (5280 + ($67<<1)|0);
    57778   $69 = HEAP16[$68>>1]|0;
    57779   $70 = $69 << 16 >> 16;
    57780   $71 = $14;
    57781   $72 = ($70|0)==($71|0);
    57782   $73 = $14;
    57783   $74 = ($73|0)!=(1);
    57784   $or$cond3 = $72 & $74;
    57785   if ($or$cond3) {
    57786    $75 = $22;
    57787    $76 = ($75|0)==(5);
    57788    if ($76) {
    57789     label = 9;
    57790     break;
    57791    }
    57792    $79 = $14;
    57793    $80 = (504 + ($79<<2)|0);
    57794    $81 = HEAP32[$80>>2]|0;
    57795    $82 = $22;
    57796    $83 = (($82) + 1)|0;
    57797    $22 = $83;
    57798    $84 = (($13) + ($82<<2)|0);
    57799    HEAP32[$84>>2] = $81;
    57800    $85 = $10;
    57801    $86 = $14;
    57802    $87 = (504 + ($86<<2)|0);
    57803    $88 = HEAP32[$87>>2]|0;
    57804    $89 = (_yytnamerr(0,$88)|0);
    57805    $90 = (($85) + ($89))|0;
    57806    $11 = $90;
    57807    $91 = $11;
    57808    $92 = $10;
    57809    $93 = ($91>>>0)<($92>>>0);
    57810    $94 = $93&1;
    57811    $95 = $12;
    57812    $96 = $95 | $94;
    57813    $12 = $96;
    57814    $97 = $11;
    57815    $10 = $97;
    57816    $98 = $15;
    57817    $99 = $18;
    57818    $100 = (_yystpcpy($98,$99)|0);
    57819    $15 = $100;
    57820    $18 = 60064;
    57821   }
    57822   $101 = $14;
    57823   $102 = (($101) + 1)|0;
    57824   $14 = $102;
    57825  }
    57826  if ((label|0) == 9) {
    57827   $22 = 1;
    57828   $77 = $9;
    57829   $10 = $77;
    57830   $78 = ((($17)) + 27|0);
    57831   HEAP8[$78>>0] = 0;
    57832  }
    57833  $16 = $17;
    57834  $103 = $10;
    57835  $104 = $16;
    57836  $105 = (_yystrlen($104)|0);
    57837  $106 = (($103) + ($105))|0;
    57838  $11 = $106;
    57839  $107 = $11;
    57840  $108 = $10;
    57841  $109 = ($107>>>0)<($108>>>0);
    57842  $110 = $109&1;
    57843  $111 = $12;
    57844  $112 = $111 | $110;
    57845  $12 = $112;
    57846  $113 = $11;
    57847  $10 = $113;
    57848  $114 = $12;
    57849  $115 = ($114|0)!=(0);
    57850  if ($115) {
    57851   $3 = -1;
    57852   $151 = $3;
    57853   STACKTOP = sp;return ($151|0);
    57854  }
    57855  $116 = $4;
    57856  $117 = ($116|0)!=(0|0);
    57857  L22: do {
    57858   if ($117) {
    57859    $118 = $4;
    57860    $23 = $118;
    57861    $24 = 0;
    57862    while(1) {
    57863     $119 = $16;
    57864     $120 = HEAP8[$119>>0]|0;
    57865     $121 = $23;
    57866     HEAP8[$121>>0] = $120;
    57867     $122 = $120 << 24 >> 24;
    57868     $123 = ($122|0)!=(0);
    57869     if (!($123)) {
    57870      break L22;
    57871     }
    57872     $124 = $23;
    57873     $125 = HEAP8[$124>>0]|0;
    57874     $126 = $125 << 24 >> 24;
    57875     $127 = ($126|0)==(37);
    57876     if ($127) {
    57877      $128 = $16;
    57878      $129 = ((($128)) + 1|0);
    57879      $130 = HEAP8[$129>>0]|0;
    57880      $131 = $130 << 24 >> 24;
    57881      $132 = ($131|0)==(115);
    57882      if ($132) {
    57883       $133 = $24;
    57884       $134 = $22;
    57885       $135 = ($133|0)<($134|0);
    57886       if ($135) {
    57887        $136 = $23;
    57888        $137 = $24;
    57889        $138 = (($137) + 1)|0;
    57890        $24 = $138;
    57891        $139 = (($13) + ($137<<2)|0);
    57892        $140 = HEAP32[$139>>2]|0;
    57893        $141 = (_yytnamerr($136,$140)|0);
    57894        $142 = $23;
    57895        $143 = (($142) + ($141)|0);
    57896        $23 = $143;
    57897        $144 = $16;
    57898        $145 = ((($144)) + 2|0);
    57899        $16 = $145;
    57900        continue;
    57901       }
    57902      }
    57903     }
    57904     $146 = $23;
    57905     $147 = ((($146)) + 1|0);
    57906     $23 = $147;
    57907     $148 = $16;
    57908     $149 = ((($148)) + 1|0);
    57909     $16 = $149;
    57910    }
    57911   }
    57912  } while(0);
    57913  $150 = $10;
    57914  $3 = $150;
    57915  $151 = $3;
    57916  STACKTOP = sp;return ($151|0);
    57917 }
    57918 function _yydestruct($0,$1,$2,$3) {
    57919  $0 = $0|0;
    57920  $1 = $1|0;
    57921  $2 = $2|0;
    57922  $3 = $3|0;
    57923  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    57924  sp = STACKTOP;
    57925  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    57926  $4 = $0;
    57927  $5 = $1;
    57928  $6 = $2;
    57929  $7 = $3;
    57930  $8 = $4;
    57931  $9 = ($8|0)!=(0|0);
    57932  if (!($9)) {
    57933   $4 = 60012;
    57934  }
    57935  STACKTOP = sp;return;
    57936 }
    57937 function _yytnamerr($0,$1) {
    57938  $0 = $0|0;
    57939  $1 = $1|0;
    57940  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    57941  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    57942  var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    57943  sp = STACKTOP;
    57944  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    57945  $3 = $0;
    57946  $4 = $1;
    57947  $7 = $4;
    57948  $8 = HEAP8[$7>>0]|0;
    57949  $9 = $8 << 24 >> 24;
    57950  $10 = ($9|0)==(34);
    57951  L1: do {
    57952   if ($10) {
    57953    $5 = 0;
    57954    $11 = $4;
    57955    $6 = $11;
    57956    L3: while(1) {
    57957     $12 = $6;
    57958     $13 = ((($12)) + 1|0);
    57959     $6 = $13;
    57960     $14 = HEAP8[$13>>0]|0;
    57961     $15 = $14 << 24 >> 24;
    57962     switch ($15|0) {
    57963     case 44: case 39:  {
    57964      break L1;
    57965      break;
    57966     }
    57967     case 34:  {
    57968      break L3;
    57969      break;
    57970     }
    57971     case 92:  {
    57972      $16 = $6;
    57973      $17 = ((($16)) + 1|0);
    57974      $6 = $17;
    57975      $18 = HEAP8[$17>>0]|0;
    57976      $19 = $18 << 24 >> 24;
    57977      $20 = ($19|0)!=(92);
    57978      if ($20) {
    57979       break L1;
    57980      }
    57981      break;
    57982     }
    57983     default: {
    57984     }
    57985     }
    57986     $21 = $3;
    57987     $22 = ($21|0)!=(0|0);
    57988     if ($22) {
    57989      $23 = $6;
    57990      $24 = HEAP8[$23>>0]|0;
    57991      $25 = $3;
    57992      $26 = $5;
    57993      $27 = (($25) + ($26)|0);
    57994      HEAP8[$27>>0] = $24;
    57995     }
    57996     $28 = $5;
    57997     $29 = (($28) + 1)|0;
    57998     $5 = $29;
    57999    }
    58000    $30 = $3;
    58001    $31 = ($30|0)!=(0|0);
    58002    if ($31) {
    58003     $32 = $3;
    58004     $33 = $5;
    58005     $34 = (($32) + ($33)|0);
    58006     HEAP8[$34>>0] = 0;
    58007    }
    58008    $35 = $5;
    58009    $2 = $35;
    58010    $47 = $2;
    58011    STACKTOP = sp;return ($47|0);
    58012   }
    58013  } while(0);
    58014  $36 = $3;
    58015  $37 = ($36|0)!=(0|0);
    58016  if ($37) {
    58017   $40 = $3;
    58018   $41 = $4;
    58019   $42 = (_yystpcpy($40,$41)|0);
    58020   $43 = $3;
    58021   $44 = $42;
    58022   $45 = $43;
    58023   $46 = (($44) - ($45))|0;
    58024   $2 = $46;
    58025   $47 = $2;
    58026   STACKTOP = sp;return ($47|0);
    58027  } else {
    58028   $38 = $4;
    58029   $39 = (_yystrlen($38)|0);
    58030   $2 = $39;
    58031   $47 = $2;
    58032   STACKTOP = sp;return ($47|0);
    58033  }
    58034  return (0)|0;
    58035 }
    58036 function _yystpcpy($0,$1) {
    58037  $0 = $0|0;
    58038  $1 = $1|0;
    58039  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58040  sp = STACKTOP;
    58041  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58042  $2 = $0;
    58043  $3 = $1;
    58044  $6 = $2;
    58045  $4 = $6;
    58046  $7 = $3;
    58047  $5 = $7;
    58048  while(1) {
    58049   $8 = $5;
    58050   $9 = ((($8)) + 1|0);
    58051   $5 = $9;
    58052   $10 = HEAP8[$8>>0]|0;
    58053   $11 = $4;
    58054   $12 = ((($11)) + 1|0);
    58055   $4 = $12;
    58056   HEAP8[$11>>0] = $10;
    58057   $13 = $10 << 24 >> 24;
    58058   $14 = ($13|0)!=(0);
    58059   if (!($14)) {
    58060    break;
    58061   }
    58062  }
    58063  $15 = $4;
    58064  $16 = ((($15)) + -1|0);
    58065  STACKTOP = sp;return ($16|0);
    58066 }
    58067 function _yystrlen($0) {
    58068  $0 = $0|0;
    58069  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58070  sp = STACKTOP;
    58071  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58072  $1 = $0;
    58073  $2 = 0;
    58074  while(1) {
    58075   $3 = $1;
    58076   $4 = $2;
    58077   $5 = (($3) + ($4)|0);
    58078   $6 = HEAP8[$5>>0]|0;
    58079   $7 = ($6<<24>>24)!=(0);
    58080   $8 = $2;
    58081   if (!($7)) {
    58082    break;
    58083   }
    58084   $9 = (($8) + 1)|0;
    58085   $2 = $9;
    58086  }
    58087  STACKTOP = sp;return ($8|0);
    58088 }
    58089 function _parser_strdup($0,$1) {
    58090  $0 = $0|0;
    58091  $1 = $1|0;
    58092  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    58093  sp = STACKTOP;
    58094  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58095  $2 = $0;
    58096  $3 = $1;
    58097  $4 = $2;
    58098  $5 = $3;
    58099  $6 = $3;
    58100  $7 = (_strlen($6)|0);
    58101  $8 = (_parser_strndup($4,$5,$7)|0);
    58102  STACKTOP = sp;return ($8|0);
    58103 }
    58104 function _parser_strndup($0,$1,$2) {
    58105  $0 = $0|0;
    58106  $1 = $1|0;
    58107  $2 = $2|0;
    58108  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58109  sp = STACKTOP;
    58110  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58111  $3 = $0;
    58112  $4 = $1;
    58113  $5 = $2;
    58114  $7 = $3;
    58115  $8 = $5;
    58116  $9 = (($8) + 1)|0;
    58117  $10 = (_parser_palloc($7,$9)|0);
    58118  $6 = $10;
    58119  $11 = $6;
    58120  $12 = $4;
    58121  $13 = $5;
    58122  _memcpy(($11|0),($12|0),($13|0))|0;
    58123  $14 = $6;
    58124  $15 = $5;
    58125  $16 = (($14) + ($15)|0);
    58126  HEAP8[$16>>0] = 0;
    58127  $17 = $6;
    58128  STACKTOP = sp;return ($17|0);
    58129 }
    58130 function _local_var_p($0,$1) {
    58131  $0 = $0|0;
    58132  $1 = $1|0;
    58133  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
    58134  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58135  sp = STACKTOP;
    58136  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    58137  $3 = $0;
    58138  $4 = $1;
    58139  $7 = $3;
    58140  $8 = ((($7)) + 76|0);
    58141  $9 = HEAP32[$8>>2]|0;
    58142  $5 = $9;
    58143  L1: while(1) {
    58144   $10 = $5;
    58145   $11 = ($10|0)!=(0|0);
    58146   if (!($11)) {
    58147    label = 9;
    58148    break;
    58149   }
    58150   $12 = $5;
    58151   $13 = HEAP32[$12>>2]|0;
    58152   $6 = $13;
    58153   while(1) {
    58154    $14 = $6;
    58155    $15 = ($14|0)!=(0|0);
    58156    if (!($15)) {
    58157     break;
    58158    }
    58159    $16 = $6;
    58160    $17 = HEAP32[$16>>2]|0;
    58161    $18 = $17;
    58162    $19 = $4;
    58163    $20 = ($18|0)==($19|0);
    58164    if ($20) {
    58165     label = 6;
    58166     break L1;
    58167    }
    58168    $21 = $6;
    58169    $22 = ((($21)) + 4|0);
    58170    $23 = HEAP32[$22>>2]|0;
    58171    $6 = $23;
    58172   }
    58173   $24 = $5;
    58174   $25 = ((($24)) + 4|0);
    58175   $26 = HEAP32[$25>>2]|0;
    58176   $5 = $26;
    58177  }
    58178  if ((label|0) == 6) {
    58179   $2 = 1;
    58180   $27 = $2;
    58181   STACKTOP = sp;return ($27|0);
    58182  }
    58183  else if ((label|0) == 9) {
    58184   $2 = 0;
    58185   $27 = $2;
    58186   STACKTOP = sp;return ($27|0);
    58187  }
    58188  return (0)|0;
    58189 }
    58190 function _cons_free_gen($0,$1) {
    58191  $0 = $0|0;
    58192  $1 = $1|0;
    58193  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58194  sp = STACKTOP;
    58195  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58196  $2 = $0;
    58197  $3 = $1;
    58198  $4 = $2;
    58199  $5 = ((($4)) + 8|0);
    58200  $6 = HEAP32[$5>>2]|0;
    58201  $7 = $3;
    58202  $8 = ((($7)) + 4|0);
    58203  HEAP32[$8>>2] = $6;
    58204  $9 = $3;
    58205  $10 = $2;
    58206  $11 = ((($10)) + 8|0);
    58207  HEAP32[$11>>2] = $9;
    58208  STACKTOP = sp;return;
    58209 }
    58210 function _new_strterm($0,$1,$2,$3) {
    58211  $0 = $0|0;
    58212  $1 = $1|0;
    58213  $2 = $2|0;
    58214  $3 = $3|0;
    58215  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58216  sp = STACKTOP;
    58217  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58218  $4 = $0;
    58219  $5 = $1;
    58220  $6 = $2;
    58221  $7 = $3;
    58222  $8 = $4;
    58223  $9 = $5;
    58224  $10 = $9;
    58225  $11 = $4;
    58226  $12 = $4;
    58227  $13 = $7;
    58228  $14 = $13;
    58229  $15 = $6;
    58230  $16 = $15;
    58231  $17 = (_cons_gen($12,$14,$16)|0);
    58232  $18 = (_cons_gen($11,0,$17)|0);
    58233  $19 = (_cons_gen($8,$10,$18)|0);
    58234  STACKTOP = sp;return ($19|0);
    58235 }
    58236 function _end_strterm($0) {
    58237  $0 = $0|0;
    58238  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    58239  var $9 = 0, label = 0, sp = 0;
    58240  sp = STACKTOP;
    58241  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58242  $1 = $0;
    58243  $2 = $1;
    58244  $3 = $1;
    58245  $4 = ((($3)) + 44|0);
    58246  $5 = HEAP32[$4>>2]|0;
    58247  $6 = ((($5)) + 4|0);
    58248  $7 = HEAP32[$6>>2]|0;
    58249  $8 = ((($7)) + 4|0);
    58250  $9 = HEAP32[$8>>2]|0;
    58251  _cons_free_gen($2,$9);
    58252  $10 = $1;
    58253  $11 = $1;
    58254  $12 = ((($11)) + 44|0);
    58255  $13 = HEAP32[$12>>2]|0;
    58256  $14 = ((($13)) + 4|0);
    58257  $15 = HEAP32[$14>>2]|0;
    58258  _cons_free_gen($10,$15);
    58259  $16 = $1;
    58260  $17 = $1;
    58261  $18 = ((($17)) + 44|0);
    58262  $19 = HEAP32[$18>>2]|0;
    58263  _cons_free_gen($16,$19);
    58264  $20 = $1;
    58265  $21 = ((($20)) + 44|0);
    58266  HEAP32[$21>>2] = 0;
    58267  STACKTOP = sp;return;
    58268 }
    58269 function _locals_node($0) {
    58270  $0 = $0|0;
    58271  var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58272  sp = STACKTOP;
    58273  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58274  $1 = $0;
    58275  $2 = $1;
    58276  $3 = ((($2)) + 76|0);
    58277  $4 = HEAP32[$3>>2]|0;
    58278  $5 = ($4|0)!=(0|0);
    58279  if (!($5)) {
    58280   $10 = 0;
    58281   STACKTOP = sp;return ($10|0);
    58282  }
    58283  $6 = $1;
    58284  $7 = ((($6)) + 76|0);
    58285  $8 = HEAP32[$7>>2]|0;
    58286  $9 = HEAP32[$8>>2]|0;
    58287  $10 = $9;
    58288  STACKTOP = sp;return ($10|0);
    58289 }
    58290 function _list6_gen($0,$1,$2,$3,$4,$5,$6) {
    58291  $0 = $0|0;
    58292  $1 = $1|0;
    58293  $2 = $2|0;
    58294  $3 = $3|0;
    58295  $4 = $4|0;
    58296  $5 = $5|0;
    58297  $6 = $6|0;
    58298  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    58299  var $30 = 0, $31 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58300  sp = STACKTOP;
    58301  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    58302  $7 = $0;
    58303  $8 = $1;
    58304  $9 = $2;
    58305  $10 = $3;
    58306  $11 = $4;
    58307  $12 = $5;
    58308  $13 = $6;
    58309  $14 = $7;
    58310  $15 = $8;
    58311  $16 = $7;
    58312  $17 = $9;
    58313  $18 = $7;
    58314  $19 = $10;
    58315  $20 = $7;
    58316  $21 = $11;
    58317  $22 = $7;
    58318  $23 = $12;
    58319  $24 = $7;
    58320  $25 = $13;
    58321  $26 = (_cons_gen($24,$25,0)|0);
    58322  $27 = (_cons_gen($22,$23,$26)|0);
    58323  $28 = (_cons_gen($20,$21,$27)|0);
    58324  $29 = (_cons_gen($18,$19,$28)|0);
    58325  $30 = (_cons_gen($16,$17,$29)|0);
    58326  $31 = (_cons_gen($14,$15,$30)|0);
    58327  STACKTOP = sp;return ($31|0);
    58328 }
    58329 function _list5_gen($0,$1,$2,$3,$4,$5) {
    58330  $0 = $0|0;
    58331  $1 = $1|0;
    58332  $2 = $2|0;
    58333  $3 = $3|0;
    58334  $4 = $4|0;
    58335  $5 = $5|0;
    58336  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $6 = 0, $7 = 0, $8 = 0;
    58337  var $9 = 0, label = 0, sp = 0;
    58338  sp = STACKTOP;
    58339  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    58340  $6 = $0;
    58341  $7 = $1;
    58342  $8 = $2;
    58343  $9 = $3;
    58344  $10 = $4;
    58345  $11 = $5;
    58346  $12 = $6;
    58347  $13 = $7;
    58348  $14 = $6;
    58349  $15 = $8;
    58350  $16 = $6;
    58351  $17 = $9;
    58352  $18 = $6;
    58353  $19 = $10;
    58354  $20 = $6;
    58355  $21 = $11;
    58356  $22 = (_cons_gen($20,$21,0)|0);
    58357  $23 = (_cons_gen($18,$19,$22)|0);
    58358  $24 = (_cons_gen($16,$17,$23)|0);
    58359  $25 = (_cons_gen($14,$15,$24)|0);
    58360  $26 = (_cons_gen($12,$13,$25)|0);
    58361  STACKTOP = sp;return ($26|0);
    58362 }
    58363 function _list4_gen($0,$1,$2,$3,$4) {
    58364  $0 = $0|0;
    58365  $1 = $1|0;
    58366  $2 = $2|0;
    58367  $3 = $3|0;
    58368  $4 = $4|0;
    58369  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58370  sp = STACKTOP;
    58371  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    58372  $5 = $0;
    58373  $6 = $1;
    58374  $7 = $2;
    58375  $8 = $3;
    58376  $9 = $4;
    58377  $10 = $5;
    58378  $11 = $6;
    58379  $12 = $5;
    58380  $13 = $7;
    58381  $14 = $5;
    58382  $15 = $8;
    58383  $16 = $5;
    58384  $17 = $9;
    58385  $18 = (_cons_gen($16,$17,0)|0);
    58386  $19 = (_cons_gen($14,$15,$18)|0);
    58387  $20 = (_cons_gen($12,$13,$19)|0);
    58388  $21 = (_cons_gen($10,$11,$20)|0);
    58389  STACKTOP = sp;return ($21|0);
    58390 }
    58391 function _intern_cstr_gen($0,$1) {
    58392  $0 = $0|0;
    58393  $1 = $1|0;
    58394  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    58395  sp = STACKTOP;
    58396  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58397  $2 = $0;
    58398  $3 = $1;
    58399  $4 = $2;
    58400  $5 = HEAP32[$4>>2]|0;
    58401  $6 = $3;
    58402  $7 = (_mrb_intern_cstr($5,$6)|0);
    58403  STACKTOP = sp;return ($7|0);
    58404 }
    58405 function _local_add($0,$1) {
    58406  $0 = $0|0;
    58407  $1 = $1|0;
    58408  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    58409  sp = STACKTOP;
    58410  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58411  $2 = $0;
    58412  $3 = $1;
    58413  $4 = $2;
    58414  $5 = $3;
    58415  $6 = (_local_var_p($4,$5)|0);
    58416  $7 = ($6<<24>>24)!=(0);
    58417  if ($7) {
    58418   STACKTOP = sp;return;
    58419  }
    58420  $8 = $2;
    58421  $9 = $3;
    58422  _local_add_f($8,$9);
    58423  STACKTOP = sp;return;
    58424 }
    58425 function _yyerror_i($0,$1,$2) {
    58426  $0 = $0|0;
    58427  $1 = $1|0;
    58428  $2 = $2|0;
    58429  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    58430  sp = STACKTOP;
    58431  STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0);
    58432  $vararg_buffer = sp;
    58433  $6 = sp + 16|0;
    58434  $3 = $0;
    58435  $4 = $1;
    58436  $5 = $2;
    58437  $7 = $4;
    58438  $8 = $5;
    58439  HEAP32[$vararg_buffer>>2] = $8;
    58440  (_snprintf($6,256,$7,$vararg_buffer)|0);
    58441  $9 = $3;
    58442  _yyerror($9,$6);
    58443  STACKTOP = sp;return;
    58444 }
    58445 function _mrb_fixnum_value_530($0,$1) {
    58446  $0 = $0|0;
    58447  $1 = $1|0;
    58448  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    58449  sp = STACKTOP;
    58450  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    58451  $3 = sp;
    58452  $2 = $1;
    58453  $4 = ((($3)) + 4|0);
    58454  HEAP32[$4>>2] = 3;
    58455  $5 = $2;
    58456  HEAP32[$3>>2] = $5;
    58457  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    58458  STACKTOP = sp;return;
    58459 }
    58460 function _parser_yylex($0) {
    58461  $0 = $0|0;
    58462  var $$old = 0, $$old1 = 0, $$old104 = 0, $$old105 = 0, $$old110 = 0, $$old111 = 0, $$old113 = 0, $$old114 = 0, $$old127 = 0, $$old128 = 0, $$old130 = 0, $$old131 = 0, $$old136 = 0, $$old137 = 0, $$old139 = 0, $$old140 = 0, $$old15 = 0, $$old16 = 0, $$old2 = 0, $$old28 = 0;
    58463  var $$old29 = 0, $$old3 = 0, $$old31 = 0, $$old32 = 0, $$old42 = 0, $$old43 = 0, $$old45 = 0, $$old46 = 0, $$old50 = 0, $$old51 = 0, $$old53 = 0, $$old54 = 0, $$sink = 0, $$sink103 = 0, $$sink118 = 0, $$sink12 = 0, $$sink120 = 0, $$sink121 = 0, $$sink123 = 0, $$sink124 = 0;
    58464  var $$sink126 = 0, $$sink14 = 0, $$sink144 = 0, $$sink146 = 0, $$sink18 = 0, $$sink194 = 0, $$sink195 = 0, $$sink20 = 0, $$sink21 = 0, $$sink36 = 0, $$sink38 = 0, $$sink39 = 0, $$sink41 = 0, $$sink8 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0;
    58465  var $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0;
    58466  var $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0.0, $1032 = 0.0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0;
    58467  var $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0;
    58468  var $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0;
    58469  var $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0;
    58470  var $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0;
    58471  var $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0;
    58472  var $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0;
    58473  var $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0;
    58474  var $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0;
    58475  var $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0;
    58476  var $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0;
    58477  var $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0;
    58478  var $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0;
    58479  var $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0;
    58480  var $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0;
    58481  var $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0;
    58482  var $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0;
    58483  var $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0;
    58484  var $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0;
    58485  var $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0;
    58486  var $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0;
    58487  var $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0;
    58488  var $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0;
    58489  var $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0;
    58490  var $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0;
    58491  var $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0;
    58492  var $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0;
    58493  var $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0;
    58494  var $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0;
    58495  var $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0;
    58496  var $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0;
    58497  var $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0;
    58498  var $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0;
    58499  var $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0;
    58500  var $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0;
    58501  var $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0;
    58502  var $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0;
    58503  var $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0;
    58504  var $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0;
    58505  var $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0;
    58506  var $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0;
    58507  var $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0;
    58508  var $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0;
    58509  var $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0.0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0;
    58510  var $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0;
    58511  var $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0;
    58512  var $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0;
    58513  var $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0;
    58514  var $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0;
    58515  var $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0;
    58516  var $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0;
    58517  var $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0;
    58518  var $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0;
    58519  var $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0;
    58520  var $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0;
    58521  var $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0;
    58522  var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
    58523  var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
    58524  var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
    58525  var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
    58526  var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0;
    58527  var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0;
    58528  var $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0;
    58529  var $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0;
    58530  var $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0;
    58531  var $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0;
    58532  var $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0;
    58533  var $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0;
    58534  var $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0;
    58535  var $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0;
    58536  var $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0;
    58537  var $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0;
    58538  var $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0;
    58539  var $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0;
    58540  var $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0;
    58541  var $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0;
    58542  var $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0;
    58543  var $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0;
    58544  var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0;
    58545  var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0;
    58546  var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0;
    58547  var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0;
    58548  var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0;
    58549  var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0;
    58550  var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0;
    58551  var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0;
    58552  var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0;
    58553  var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0;
    58554  var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0;
    58555  var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0;
    58556  var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0;
    58557  var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0;
    58558  var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0;
    58559  var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0;
    58560  var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0;
    58561  var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0;
    58562  var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0;
    58563  var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0;
    58564  var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0;
    58565  var $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0;
    58566  var $997 = 0, $998 = 0, $999 = 0, $or$cond = 0, $or$cond$not = 0, $or$cond102 = 0, $or$cond106 = 0, $or$cond109 = 0, $or$cond11 = 0, $or$cond112 = 0, $or$cond112$not = 0, $or$cond115 = 0, $or$cond117 = 0, $or$cond129 = 0, $or$cond132 = 0, $or$cond135 = 0, $or$cond138 = 0, $or$cond138$not = 0, $or$cond141 = 0, $or$cond143 = 0;
    58567  var $or$cond149 = 0, $or$cond149$not = 0, $or$cond152 = 0, $or$cond155 = 0, $or$cond155$not = 0, $or$cond158 = 0, $or$cond161 = 0, $or$cond161$not = 0, $or$cond164 = 0, $or$cond167 = 0, $or$cond167$not = 0, $or$cond17 = 0, $or$cond170 = 0, $or$cond173 = 0, $or$cond178 = 0, $or$cond181 = 0, $or$cond184 = 0, $or$cond187 = 0, $or$cond190 = 0, $or$cond193 = 0;
    58568  var $or$cond198 = 0, $or$cond24 = 0, $or$cond27 = 0, $or$cond30 = 0, $or$cond30$not = 0, $or$cond33 = 0, $or$cond35 = 0, $or$cond4 = 0, $or$cond44 = 0, $or$cond44$not = 0, $or$cond47 = 0, $or$cond49 = 0, $or$cond52 = 0, $or$cond52$not = 0, $or$cond55 = 0, $or$cond57 = 0, $or$cond6 = 0, $or$cond60 = 0, $or$cond63 = 0, $or$cond66 = 0;
    58569  var $or$cond69 = 0, $or$cond72 = 0, $or$cond75 = 0, $or$cond78 = 0, $or$cond81 = 0, $or$cond84 = 0, $or$cond87 = 0, $or$cond90 = 0, $or$cond93 = 0, $or$cond96 = 0, $or$cond99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    58570  sp = STACKTOP;
    58571  STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0);
    58572  $vararg_buffer = sp + 8|0;
    58573  $10 = sp + 112|0;
    58574  $19 = sp + 40|0;
    58575  $2 = $0;
    58576  $4 = 0;
    58577  $27 = $2;
    58578  $28 = ((($27)) + 44|0);
    58579  $29 = HEAP32[$28>>2]|0;
    58580  $30 = ($29|0)!=(0|0);
    58581  if ($30) {
    58582   $31 = $2;
    58583   $32 = ((($31)) + 44|0);
    58584   $33 = HEAP32[$32>>2]|0;
    58585   $34 = HEAP32[$33>>2]|0;
    58586   $35 = $34;
    58587   $36 = $35 & 64;
    58588   $37 = ($36|0)!=(0);
    58589   $38 = $2;
    58590   if (!($37)) {
    58591    $44 = (_parse_string($38)|0);
    58592    $1 = $44;
    58593    $2029 = $1;
    58594    STACKTOP = sp;return ($2029|0);
    58595   }
    58596   $39 = ((($38)) + 1120|0);
    58597   $40 = HEAP32[$39>>2]|0;
    58598   $41 = ($40|0)!=(0|0);
    58599   if ($41) {
    58600    $42 = $2;
    58601    $43 = (_parse_string($42)|0);
    58602    $1 = $43;
    58603    $2029 = $1;
    58604    STACKTOP = sp;return ($2029|0);
    58605   }
    58606  }
    58607  $45 = $2;
    58608  $46 = ((($45)) + 72|0);
    58609  $47 = HEAP8[$46>>0]|0;
    58610  $48 = $47 & 1;
    58611  $49 = $48&255;
    58612  $5 = $49;
    58613  $50 = $2;
    58614  $51 = ((($50)) + 72|0);
    58615  $52 = HEAP8[$51>>0]|0;
    58616  $53 = $52 & -2;
    58617  HEAP8[$51>>0] = $53;
    58618  L10: while(1) {
    58619   $54 = $2;
    58620   $55 = ((($54)) + 40|0);
    58621   $56 = HEAP32[$55>>2]|0;
    58622   $6 = $56;
    58623   $57 = $2;
    58624   $58 = (_nextc($57)|0);
    58625   $3 = $58;
    58626   switch ($58|0) {
    58627   case 42:  {
    58628    label = 25;
    58629    break L10;
    58630    break;
    58631   }
    58632   case 33:  {
    58633    label = 47;
    58634    break L10;
    58635    break;
    58636   }
    58637   case 60:  {
    58638    label = 82;
    58639    break L10;
    58640    break;
    58641   }
    58642   case 62:  {
    58643    label = 107;
    58644    break L10;
    58645    break;
    58646   }
    58647   case 34:  {
    58648    label = 118;
    58649    break L10;
    58650    break;
    58651   }
    58652   case 39:  {
    58653    label = 119;
    58654    break L10;
    58655    break;
    58656   }
    58657   case 96:  {
    58658    label = 120;
    58659    break L10;
    58660    break;
    58661   }
    58662   case 63:  {
    58663    label = 125;
    58664    break L10;
    58665    break;
    58666   }
    58667   case 38:  {
    58668    label = 152;
    58669    break L10;
    58670    break;
    58671   }
    58672   case 124:  {
    58673    label = 174;
    58674    break L10;
    58675    break;
    58676   }
    58677   case 43:  {
    58678    label = 185;
    58679    break L10;
    58680    break;
    58681   }
    58682   case 45:  {
    58683    label = 206;
    58684    break L10;
    58685    break;
    58686   }
    58687   case 46:  {
    58688    label = 229;
    58689    break L10;
    58690    break;
    58691   }
    58692   case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48:  {
    58693    label = 237;
    58694    break L10;
    58695    break;
    58696   }
    58697   case 93: case 41:  {
    58698    label = 329;
    58699    break L10;
    58700    break;
    58701   }
    58702   case 125:  {
    58703    label = 330;
    58704    break L10;
    58705    break;
    58706   }
    58707   case 58:  {
    58708    label = 331;
    58709    break L10;
    58710    break;
    58711   }
    58712   case 47:  {
    58713    label = 348;
    58714    break L10;
    58715    break;
    58716   }
    58717   case 94:  {
    58718    label = 365;
    58719    break L10;
    58720    break;
    58721   }
    58722   case 59:  {
    58723    label = 372;
    58724    break L10;
    58725    break;
    58726   }
    58727   case 44:  {
    58728    label = 373;
    58729    break L10;
    58730    break;
    58731   }
    58732   case 126:  {
    58733    label = 374;
    58734    break L10;
    58735    break;
    58736   }
    58737   case 40:  {
    58738    label = 381;
    58739    break L10;
    58740    break;
    58741   }
    58742   case 91:  {
    58743    label = 391;
    58744    break L10;
    58745    break;
    58746   }
    58747   case 123:  {
    58748    label = 408;
    58749    break L10;
    58750    break;
    58751   }
    58752   case 37:  {
    58753    label = 423;
    58754    break L10;
    58755    break;
    58756   }
    58757   case 36:  {
    58758    label = 467;
    58759    break L10;
    58760    break;
    58761   }
    58762   case 64:  {
    58763    label = 491;
    58764    break L10;
    58765    break;
    58766   }
    58767   case 95:  {
    58768    label = 506;
    58769    break L10;
    58770    break;
    58771   }
    58772   case -1: case 0: case 26: case 4:  {
    58773    $59 = $2;
    58774    $60 = ((($59)) + 1116|0);
    58775    $61 = HEAP32[$60>>2]|0;
    58776    $62 = ($61|0)!=(0|0);
    58777    if (!($62)) {
    58778     label = 9;
    58779     break L10;
    58780    }
    58781    break;
    58782   }
    58783   case 11: case 13: case 12: case 9: case 32:  {
    58784    $4 = 1;
    58785    continue L10;
    58786    break;
    58787   }
    58788   case 35:  {
    58789    $63 = $2;
    58790    _skip($63,10);
    58791    break;
    58792   }
    58793   case 10: case -2:  {
    58794    break;
    58795   }
    58796   case 61:  {
    58797    $197 = $2;
    58798    $198 = ((($197)) + 36|0);
    58799    $199 = HEAP32[$198>>2]|0;
    58800    $200 = ($199|0)==(1);
    58801    if (!($200)) {
    58802     label = 69;
    58803     break L10;
    58804    }
    58805    $201 = $2;
    58806    $202 = (_peeks($201,69214)|0);
    58807    $203 = ($202<<24>>24)!=(0);
    58808    if (!($203)) {
    58809     label = 69;
    58810     break L10;
    58811    }
    58812    $204 = $2;
    58813    $205 = (_peekc_n($204,5)|0);
    58814    $3 = $205;
    58815    $206 = $3;
    58816    $207 = ($206|0)<(0);
    58817    $208 = $3;
    58818    $209 = ($208|0)==(32);
    58819    $or$cond11 = $207 | $209;
    58820    if (!($or$cond11)) {
    58821     $210 = $3;
    58822     $211 = (($210) - 9)|0;
    58823     $212 = ($211>>>0)<(5);
    58824     if (!($212)) {
    58825      label = 69;
    58826      break L10;
    58827     }
    58828    }
    58829    while(1) {
    58830     $213 = $2;
    58831     $214 = (_skips($213,63011)|0);
    58832     $215 = ($214<<24>>24)!=(0);
    58833     $216 = $2;
    58834     if (!($215)) {
    58835      label = 62;
    58836      break L10;
    58837     }
    58838     $217 = (_nextc($216)|0);
    58839     $3 = $217;
    58840     $218 = $3;
    58841     $219 = ($218|0)<(0);
    58842     $220 = $3;
    58843     $221 = ($220|0)==(32);
    58844     $or$cond198 = $219 | $221;
    58845     if ($or$cond198) {
    58846      $226 = 1;
    58847     } else {
    58848      $222 = $3;
    58849      $223 = (($222) - 9)|0;
    58850      $224 = ($223>>>0)<(5);
    58851      $226 = $224;
    58852     }
    58853     $225 = $226 ^ 1;
    58854     if (!($225)) {
    58855      break;
    58856     }
    58857    }
    58858    $227 = $3;
    58859    $228 = ($227|0)!=(10);
    58860    if ($228) {
    58861     $229 = $2;
    58862     _skip($229,10);
    58863    }
    58864    $230 = $2;
    58865    $231 = ((($230)) + 32|0);
    58866    $232 = HEAP32[$231>>2]|0;
    58867    $233 = (($232) + 1)|0;
    58868    HEAP32[$231>>2] = $233;
    58869    $234 = $2;
    58870    $235 = ((($234)) + 36|0);
    58871    HEAP32[$235>>2] = 0;
    58872    continue L10;
    58873    break;
    58874   }
    58875   case 92:  {
    58876    $1431 = $2;
    58877    $1432 = (_nextc($1431)|0);
    58878    $3 = $1432;
    58879    $1433 = $3;
    58880    $1434 = ($1433|0)==(10);
    58881    $1435 = $2;
    58882    if (!($1434)) {
    58883     label = 422;
    58884     break L10;
    58885    }
    58886    $1436 = ((($1435)) + 32|0);
    58887    $1437 = HEAP32[$1436>>2]|0;
    58888    $1438 = (($1437) + 1)|0;
    58889    HEAP32[$1436>>2] = $1438;
    58890    $1439 = $2;
    58891    $1440 = ((($1439)) + 36|0);
    58892    HEAP32[$1440>>2] = 0;
    58893    $4 = 1;
    58894    continue L10;
    58895    break;
    58896   }
    58897   default: {
    58898    $1731 = $3;
    58899    $1732 = $1731 | 32;
    58900    $1733 = (($1732) - 97)|0;
    58901    $1734 = ($1733>>>0)<(26);
    58902    if ($1734) {
    58903     label = 510;
    58904     break L10;
    58905    }
    58906    $1735 = $3;
    58907    $1736 = (($1735) - 48)|0;
    58908    $1737 = ($1736>>>0)<(10);
    58909    $1738 = $3;
    58910    $1739 = ($1738|0)==(95);
    58911    $or$cond167 = $1737 | $1739;
    58912    $or$cond167$not = $or$cond167 ^ 1;
    58913    $1740 = $3;
    58914    $1741 = ($1740>>>0)<=(127);
    58915    $or$cond170 = $or$cond167$not & $1741;
    58916    if (!($or$cond170)) {
    58917     label = 510;
    58918     break L10;
    58919    }
    58920    $1742 = $2;
    58921    $1743 = $3;
    58922    _yyerror_i($1742,63639,$1743);
    58923    continue L10;
    58924   }
    58925   }
    58926   $64 = $2;
    58927   _heredoc_treat_nextline($64);
    58928   $65 = $2;
    58929   $66 = ((($65)) + 40|0);
    58930   $67 = HEAP32[$66>>2]|0;
    58931   switch ($67|0) {
    58932   case 10: case 9: case 8: case 7: case 0:  {
    58933    $68 = $2;
    58934    $69 = ((($68)) + 32|0);
    58935    $70 = HEAP32[$69>>2]|0;
    58936    $71 = (($70) + 1)|0;
    58937    HEAP32[$69>>2] = $71;
    58938    $72 = $2;
    58939    $73 = ((($72)) + 36|0);
    58940    HEAP32[$73>>2] = 0;
    58941    $74 = $2;
    58942    $75 = ((($74)) + 1120|0);
    58943    $76 = HEAP32[$75>>2]|0;
    58944    $77 = ($76|0)!=(0|0);
    58945    if (!($77)) {
    58946     continue L10;
    58947    }
    58948    $78 = $2;
    58949    $79 = ((($78)) + 44|0);
    58950    $80 = HEAP32[$79>>2]|0;
    58951    $81 = ($80|0)!=(0|0);
    58952    if ($81) {
    58953     label = 15;
    58954     break L10;
    58955    } else {
    58956     continue L10;
    58957    }
    58958    break;
    58959   }
    58960   default: {
    58961   }
    58962   }
    58963   $84 = $2;
    58964   $85 = ((($84)) + 1120|0);
    58965   $86 = HEAP32[$85>>2]|0;
    58966   $87 = ($86|0)!=(0|0);
    58967   if ($87) {
    58968    label = 17;
    58969    break;
    58970   }
    58971   L41: while(1) {
    58972    $88 = $2;
    58973    $89 = (_nextc($88)|0);
    58974    $3 = $89;
    58975    $90 = ($89|0)!=(0);
    58976    if (!($90)) {
    58977     label = 24;
    58978     break L10;
    58979    }
    58980    $91 = $3;
    58981    switch ($91|0) {
    58982    case -2: case -1:  {
    58983     label = 24;
    58984     break L10;
    58985     break;
    58986    }
    58987    case 46:  {
    58988     break L41;
    58989     break;
    58990    }
    58991    case 11: case 13: case 12: case 9: case 32:  {
    58992     break;
    58993    }
    58994    default: {
    58995     label = 23;
    58996     break L10;
    58997    }
    58998    }
    58999    $4 = 1;
    59000   }
    59001   $92 = $2;
    59002   $93 = (_nextc($92)|0);
    59003   $3 = $93;
    59004   $94 = ($93|0)!=(46);
    59005   if (!($94)) {
    59006    label = 24;
    59007    break;
    59008   }
    59009   $95 = $2;
    59010   $96 = $3;
    59011   _pushback($95,$96);
    59012   $97 = $2;
    59013   _pushback($97,46);
    59014  }
    59015  L47:  switch (label|0) {
    59016   case 9: {
    59017    $1 = 0;
    59018    $2029 = $1;
    59019    STACKTOP = sp;return ($2029|0);
    59020    break;
    59021   }
    59022   case 15: {
    59023    $82 = $2;
    59024    $83 = (_parse_string($82)|0);
    59025    $1 = $83;
    59026    $2029 = $1;
    59027    STACKTOP = sp;return ($2029|0);
    59028    break;
    59029   }
    59030   case 17: {
    59031    $1 = 10;
    59032    $2029 = $1;
    59033    STACKTOP = sp;return ($2029|0);
    59034    break;
    59035   }
    59036   case 23: {
    59037    $98 = $2;
    59038    $99 = $3;
    59039    _pushback($98,$99);
    59040    label = 24;
    59041    break;
    59042   }
    59043   case 25: {
    59044    $107 = $2;
    59045    $108 = (_nextc($107)|0);
    59046    $3 = $108;
    59047    $109 = ($108|0)==(42);
    59048    do {
    59049     if ($109) {
    59050      $110 = $2;
    59051      $111 = (_nextc($110)|0);
    59052      $3 = $111;
    59053      $112 = ($111|0)==(61);
    59054      $113 = $2;
    59055      if (!($112)) {
    59056       $120 = $3;
    59057       _pushback($113,$120);
    59058       $3 = 326;
    59059       break;
    59060      }
    59061      $114 = (_intern_gen($113,59540,2)|0);
    59062      $115 = $2;
    59063      $116 = ((($115)) + 1132|0);
    59064      $117 = HEAP32[$116>>2]|0;
    59065      HEAP32[$117>>2] = $114;
    59066      $118 = $2;
    59067      $119 = ((($118)) + 40|0);
    59068      HEAP32[$119>>2] = 0;
    59069      $1 = 345;
    59070      $2029 = $1;
    59071      STACKTOP = sp;return ($2029|0);
    59072     } else {
    59073      $121 = $3;
    59074      $122 = ($121|0)==(61);
    59075      $123 = $2;
    59076      if ($122) {
    59077       $124 = (_intern_gen_c($123,42)|0);
    59078       $125 = $2;
    59079       $126 = ((($125)) + 1132|0);
    59080       $127 = HEAP32[$126>>2]|0;
    59081       HEAP32[$127>>2] = $124;
    59082       $128 = $2;
    59083       $129 = ((($128)) + 40|0);
    59084       HEAP32[$129>>2] = 0;
    59085       $1 = 345;
    59086       $2029 = $1;
    59087       STACKTOP = sp;return ($2029|0);
    59088      }
    59089      $130 = $3;
    59090      _pushback($123,$130);
    59091      $131 = $2;
    59092      $132 = ((($131)) + 40|0);
    59093      $133 = HEAP32[$132>>2]|0;
    59094      $134 = ($133|0)==(4);
    59095      if ($134) {
    59096       $$old = $4;
    59097       $$old1 = ($$old|0)==(0);
    59098       $$old2 = $3;
    59099       $$old3 = ($$old2|0)==(32);
    59100       $or$cond6 = $$old1 | $$old3;
    59101       if (!($or$cond6)) {
    59102        label = 34;
    59103       }
    59104      } else {
    59105       $135 = $2;
    59106       $136 = ((($135)) + 40|0);
    59107       $137 = HEAP32[$136>>2]|0;
    59108       $138 = ($137|0)==(5);
    59109       $139 = $4;
    59110       $140 = ($139|0)!=(0);
    59111       $or$cond = $138 & $140;
    59112       $or$cond$not = $or$cond ^ 1;
    59113       $141 = $3;
    59114       $142 = ($141|0)==(32);
    59115       $or$cond4 = $or$cond$not | $142;
    59116       if (!($or$cond4)) {
    59117        label = 34;
    59118       }
    59119      }
    59120      if ((label|0) == 34) {
    59121       $143 = $3;
    59122       $144 = (($143) - 9)|0;
    59123       $145 = ($144>>>0)<(5);
    59124       if (!($145)) {
    59125        $146 = $2;
    59126        _yywarning($146,62976);
    59127        $3 = 353;
    59128        break;
    59129       }
    59130      }
    59131      $147 = $2;
    59132      $148 = ((($147)) + 40|0);
    59133      $149 = HEAP32[$148>>2]|0;
    59134      $150 = ($149|0)==(0);
    59135      if (!($150)) {
    59136       $151 = $2;
    59137       $152 = ((($151)) + 40|0);
    59138       $153 = HEAP32[$152>>2]|0;
    59139       $154 = ($153|0)==(6);
    59140       if (!($154)) {
    59141        $155 = $2;
    59142        $156 = ((($155)) + 40|0);
    59143        $157 = HEAP32[$156>>2]|0;
    59144        $158 = ($157|0)==(10);
    59145        if (!($158)) {
    59146         $159 = $2;
    59147         $160 = ((($159)) + 40|0);
    59148         $161 = HEAP32[$160>>2]|0;
    59149         $162 = ($161|0)==(9);
    59150         if (!($162)) {
    59151          $3 = 42;
    59152          break;
    59153         }
    59154        }
    59155       }
    59156      }
    59157      $3 = 353;
    59158     }
    59159    } while(0);
    59160    $163 = $2;
    59161    $164 = ((($163)) + 40|0);
    59162    $165 = HEAP32[$164>>2]|0;
    59163    $166 = ($165|0)==(7);
    59164    if ($166) {
    59165     label = 44;
    59166    } else {
    59167     $167 = $2;
    59168     $168 = ((($167)) + 40|0);
    59169     $169 = HEAP32[$168>>2]|0;
    59170     $170 = ($169|0)==(8);
    59171     if ($170) {
    59172      label = 44;
    59173     } else {
    59174      $172 = $2;
    59175      $$sink = 0;$$sink8 = $172;
    59176     }
    59177    }
    59178    if ((label|0) == 44) {
    59179     $171 = $2;
    59180     $$sink = 4;$$sink8 = $171;
    59181    }
    59182    $173 = ((($$sink8)) + 40|0);
    59183    HEAP32[$173>>2] = $$sink;
    59184    $174 = $3;
    59185    $1 = $174;
    59186    $2029 = $1;
    59187    STACKTOP = sp;return ($2029|0);
    59188    break;
    59189   }
    59190   case 47: {
    59191    $175 = $2;
    59192    $176 = (_nextc($175)|0);
    59193    $3 = $176;
    59194    $177 = $2;
    59195    $178 = ((($177)) + 40|0);
    59196    $179 = HEAP32[$178>>2]|0;
    59197    $180 = ($179|0)==(7);
    59198    if ($180) {
    59199     label = 49;
    59200    } else {
    59201     $181 = $2;
    59202     $182 = ((($181)) + 40|0);
    59203     $183 = HEAP32[$182>>2]|0;
    59204     $184 = ($183|0)==(8);
    59205     if ($184) {
    59206      label = 49;
    59207     } else {
    59208      $189 = $2;
    59209      $190 = ((($189)) + 40|0);
    59210      HEAP32[$190>>2] = 0;
    59211     }
    59212    }
    59213    if ((label|0) == 49) {
    59214     $185 = $2;
    59215     $186 = ((($185)) + 40|0);
    59216     HEAP32[$186>>2] = 4;
    59217     $187 = $3;
    59218     $188 = ($187|0)==(64);
    59219     if ($188) {
    59220      $1 = 33;
    59221      $2029 = $1;
    59222      STACKTOP = sp;return ($2029|0);
    59223     }
    59224    }
    59225    $191 = $3;
    59226    $192 = ($191|0)==(61);
    59227    if ($192) {
    59228     $1 = 330;
    59229     $2029 = $1;
    59230     STACKTOP = sp;return ($2029|0);
    59231    }
    59232    $193 = $3;
    59233    $194 = ($193|0)==(126);
    59234    if ($194) {
    59235     $1 = 336;
    59236     $2029 = $1;
    59237     STACKTOP = sp;return ($2029|0);
    59238    } else {
    59239     $195 = $2;
    59240     $196 = $3;
    59241     _pushback($195,$196);
    59242     $1 = 33;
    59243     $2029 = $1;
    59244     STACKTOP = sp;return ($2029|0);
    59245    }
    59246    break;
    59247   }
    59248   case 62: {
    59249    _yyerror($216,63017);
    59250    $1 = 0;
    59251    $2029 = $1;
    59252    STACKTOP = sp;return ($2029|0);
    59253    break;
    59254   }
    59255   case 69: {
    59256    $236 = $2;
    59257    $237 = ((($236)) + 40|0);
    59258    $238 = HEAP32[$237>>2]|0;
    59259    $239 = ($238|0)==(7);
    59260    if ($239) {
    59261     label = 71;
    59262    } else {
    59263     $240 = $2;
    59264     $241 = ((($240)) + 40|0);
    59265     $242 = HEAP32[$241>>2]|0;
    59266     $243 = ($242|0)==(8);
    59267     if ($243) {
    59268      label = 71;
    59269     } else {
    59270      $245 = $2;
    59271      $$sink12 = 0;$$sink14 = $245;
    59272     }
    59273    }
    59274    if ((label|0) == 71) {
    59275     $244 = $2;
    59276     $$sink12 = 4;$$sink14 = $244;
    59277    }
    59278    $246 = ((($$sink14)) + 40|0);
    59279    HEAP32[$246>>2] = $$sink12;
    59280    $247 = $2;
    59281    $248 = (_nextc($247)|0);
    59282    $3 = $248;
    59283    $249 = ($248|0)==(61);
    59284    if ($249) {
    59285     $250 = $2;
    59286     $251 = (_nextc($250)|0);
    59287     $3 = $251;
    59288     $252 = ($251|0)==(61);
    59289     if ($252) {
    59290      $1 = 329;
    59291      $2029 = $1;
    59292      STACKTOP = sp;return ($2029|0);
    59293     } else {
    59294      $253 = $2;
    59295      $254 = $3;
    59296      _pushback($253,$254);
    59297      $1 = 328;
    59298      $2029 = $1;
    59299      STACKTOP = sp;return ($2029|0);
    59300     }
    59301    }
    59302    $255 = $3;
    59303    $256 = ($255|0)==(126);
    59304    if ($256) {
    59305     $1 = 335;
    59306     $2029 = $1;
    59307     STACKTOP = sp;return ($2029|0);
    59308    }
    59309    $257 = $3;
    59310    $258 = ($257|0)==(62);
    59311    if ($258) {
    59312     $1 = 346;
    59313     $2029 = $1;
    59314     STACKTOP = sp;return ($2029|0);
    59315    } else {
    59316     $259 = $2;
    59317     $260 = $3;
    59318     _pushback($259,$260);
    59319     $1 = 61;
    59320     $2029 = $1;
    59321     STACKTOP = sp;return ($2029|0);
    59322    }
    59323    break;
    59324   }
    59325   case 82: {
    59326    $261 = $2;
    59327    $262 = (_nextc($261)|0);
    59328    $3 = $262;
    59329    $263 = $3;
    59330    $264 = ($263|0)==(60);
    59331    do {
    59332     if ($264) {
    59333      $265 = $2;
    59334      $266 = ((($265)) + 40|0);
    59335      $267 = HEAP32[$266>>2]|0;
    59336      $268 = ($267|0)!=(8);
    59337      if ($268) {
    59338       $269 = $2;
    59339       $270 = ((($269)) + 40|0);
    59340       $271 = HEAP32[$270>>2]|0;
    59341       $272 = ($271|0)!=(9);
    59342       if ($272) {
    59343        $273 = $2;
    59344        $274 = ((($273)) + 40|0);
    59345        $275 = HEAP32[$274>>2]|0;
    59346        $276 = ($275|0)==(1);
    59347        if (!($276)) {
    59348         $277 = $2;
    59349         $278 = ((($277)) + 40|0);
    59350         $279 = HEAP32[$278>>2]|0;
    59351         $280 = ($279|0)==(2);
    59352         if (!($280)) {
    59353          $281 = $2;
    59354          $282 = ((($281)) + 40|0);
    59355          $283 = HEAP32[$282>>2]|0;
    59356          $284 = ($283|0)==(3);
    59357          if (!($284)) {
    59358           $285 = $2;
    59359           $286 = ((($285)) + 40|0);
    59360           $287 = HEAP32[$286>>2]|0;
    59361           $288 = ($287|0)==(4);
    59362           if ($288) {
    59363            $$old15 = $4;
    59364            $$old16 = ($$old15|0)!=(0);
    59365            if (!($$old16)) {
    59366             break;
    59367            }
    59368           } else {
    59369            $289 = $2;
    59370            $290 = ((($289)) + 40|0);
    59371            $291 = HEAP32[$290>>2]|0;
    59372            $292 = ($291|0)!=(5);
    59373            $293 = $4;
    59374            $294 = ($293|0)!=(0);
    59375            $or$cond17 = $292 | $294;
    59376            if (!($or$cond17)) {
    59377             break;
    59378            }
    59379           }
    59380           $295 = $2;
    59381           $296 = (_heredoc_identifier($295)|0);
    59382           $8 = $296;
    59383           $297 = $8;
    59384           $298 = ($297|0)!=(0);
    59385           if ($298) {
    59386            $299 = $8;
    59387            $1 = $299;
    59388            $2029 = $1;
    59389            STACKTOP = sp;return ($2029|0);
    59390           }
    59391          }
    59392         }
    59393        }
    59394       }
    59395      }
    59396     }
    59397    } while(0);
    59398    $300 = $2;
    59399    $301 = ((($300)) + 40|0);
    59400    $302 = HEAP32[$301>>2]|0;
    59401    $303 = ($302|0)==(7);
    59402    if ($303) {
    59403     label = 95;
    59404    } else {
    59405     $304 = $2;
    59406     $305 = ((($304)) + 40|0);
    59407     $306 = HEAP32[$305>>2]|0;
    59408     $307 = ($306|0)==(8);
    59409     if ($307) {
    59410      label = 95;
    59411     } else {
    59412      $310 = $2;
    59413      $311 = ((($310)) + 40|0);
    59414      HEAP32[$311>>2] = 0;
    59415      $312 = $2;
    59416      $313 = ((($312)) + 40|0);
    59417      $314 = HEAP32[$313>>2]|0;
    59418      $315 = ($314|0)==(9);
    59419      if ($315) {
    59420       $316 = $2;
    59421       $317 = ((($316)) + 72|0);
    59422       $318 = HEAP8[$317>>0]|0;
    59423       $319 = $318 & -2;
    59424       $320 = $319 | 1;
    59425       HEAP8[$317>>0] = $320;
    59426      }
    59427     }
    59428    }
    59429    if ((label|0) == 95) {
    59430     $308 = $2;
    59431     $309 = ((($308)) + 40|0);
    59432     HEAP32[$309>>2] = 4;
    59433    }
    59434    $321 = $3;
    59435    $322 = ($321|0)==(61);
    59436    if ($322) {
    59437     $323 = $2;
    59438     $324 = (_nextc($323)|0);
    59439     $3 = $324;
    59440     $325 = ($324|0)==(62);
    59441     if ($325) {
    59442      $1 = 327;
    59443      $2029 = $1;
    59444      STACKTOP = sp;return ($2029|0);
    59445     } else {
    59446      $326 = $2;
    59447      $327 = $3;
    59448      _pushback($326,$327);
    59449      $1 = 332;
    59450      $2029 = $1;
    59451      STACKTOP = sp;return ($2029|0);
    59452     }
    59453    }
    59454    $328 = $3;
    59455    $329 = ($328|0)==(60);
    59456    $330 = $2;
    59457    if (!($329)) {
    59458     $341 = $3;
    59459     _pushback($330,$341);
    59460     $1 = 60;
    59461     $2029 = $1;
    59462     STACKTOP = sp;return ($2029|0);
    59463    }
    59464    $331 = (_nextc($330)|0);
    59465    $3 = $331;
    59466    $332 = ($331|0)==(61);
    59467    $333 = $2;
    59468    if ($332) {
    59469     $334 = (_intern_gen($333,64616,2)|0);
    59470     $335 = $2;
    59471     $336 = ((($335)) + 1132|0);
    59472     $337 = HEAP32[$336>>2]|0;
    59473     HEAP32[$337>>2] = $334;
    59474     $338 = $2;
    59475     $339 = ((($338)) + 40|0);
    59476     HEAP32[$339>>2] = 0;
    59477     $1 = 345;
    59478     $2029 = $1;
    59479     STACKTOP = sp;return ($2029|0);
    59480    } else {
    59481     $340 = $3;
    59482     _pushback($333,$340);
    59483     $1 = 341;
    59484     $2029 = $1;
    59485     STACKTOP = sp;return ($2029|0);
    59486    }
    59487    break;
    59488   }
    59489   case 107: {
    59490    $342 = $2;
    59491    $343 = ((($342)) + 40|0);
    59492    $344 = HEAP32[$343>>2]|0;
    59493    $345 = ($344|0)==(7);
    59494    if ($345) {
    59495     label = 109;
    59496    } else {
    59497     $346 = $2;
    59498     $347 = ((($346)) + 40|0);
    59499     $348 = HEAP32[$347>>2]|0;
    59500     $349 = ($348|0)==(8);
    59501     if ($349) {
    59502      label = 109;
    59503     } else {
    59504      $351 = $2;
    59505      $$sink18 = 0;$$sink20 = $351;
    59506     }
    59507    }
    59508    if ((label|0) == 109) {
    59509     $350 = $2;
    59510     $$sink18 = 4;$$sink20 = $350;
    59511    }
    59512    $352 = ((($$sink20)) + 40|0);
    59513    HEAP32[$352>>2] = $$sink18;
    59514    $353 = $2;
    59515    $354 = (_nextc($353)|0);
    59516    $3 = $354;
    59517    $355 = ($354|0)==(61);
    59518    if ($355) {
    59519     $1 = 331;
    59520     $2029 = $1;
    59521     STACKTOP = sp;return ($2029|0);
    59522    }
    59523    $356 = $3;
    59524    $357 = ($356|0)==(62);
    59525    $358 = $2;
    59526    if (!($357)) {
    59527     $369 = $3;
    59528     _pushback($358,$369);
    59529     $1 = 62;
    59530     $2029 = $1;
    59531     STACKTOP = sp;return ($2029|0);
    59532    }
    59533    $359 = (_nextc($358)|0);
    59534    $3 = $359;
    59535    $360 = ($359|0)==(61);
    59536    $361 = $2;
    59537    if ($360) {
    59538     $362 = (_intern_gen($361,59537,2)|0);
    59539     $363 = $2;
    59540     $364 = ((($363)) + 1132|0);
    59541     $365 = HEAP32[$364>>2]|0;
    59542     HEAP32[$365>>2] = $362;
    59543     $366 = $2;
    59544     $367 = ((($366)) + 40|0);
    59545     HEAP32[$367>>2] = 0;
    59546     $1 = 345;
    59547     $2029 = $1;
    59548     STACKTOP = sp;return ($2029|0);
    59549    } else {
    59550     $368 = $3;
    59551     _pushback($361,$368);
    59552     $1 = 342;
    59553     $2029 = $1;
    59554     STACKTOP = sp;return ($2029|0);
    59555    }
    59556    break;
    59557   }
    59558   case 118: {
    59559    $370 = $2;
    59560    $371 = (_new_strterm($370,3,34,0)|0);
    59561    $372 = $2;
    59562    $373 = ((($372)) + 44|0);
    59563    HEAP32[$373>>2] = $371;
    59564    $1 = 360;
    59565    $2029 = $1;
    59566    STACKTOP = sp;return ($2029|0);
    59567    break;
    59568   }
    59569   case 119: {
    59570    $374 = $2;
    59571    $375 = (_new_strterm($374,1,39,0)|0);
    59572    $376 = $2;
    59573    $377 = ((($376)) + 44|0);
    59574    HEAP32[$377>>2] = $375;
    59575    $378 = $2;
    59576    $379 = (_parse_string($378)|0);
    59577    $1 = $379;
    59578    $2029 = $1;
    59579    STACKTOP = sp;return ($2029|0);
    59580    break;
    59581   }
    59582   case 120: {
    59583    $380 = $2;
    59584    $381 = ((($380)) + 40|0);
    59585    $382 = HEAP32[$381>>2]|0;
    59586    $383 = ($382|0)==(7);
    59587    $384 = $2;
    59588    $385 = ((($384)) + 40|0);
    59589    if ($383) {
    59590     HEAP32[$385>>2] = 3;
    59591     $1 = 96;
    59592     $2029 = $1;
    59593     STACKTOP = sp;return ($2029|0);
    59594    }
    59595    $386 = HEAP32[$385>>2]|0;
    59596    $387 = ($386|0)==(8);
    59597    if ($387) {
    59598     $388 = $5;
    59599     $389 = ($388|0)!=(0);
    59600     $390 = $2;
    59601     $391 = ((($390)) + 40|0);
    59602     $$sink21 = $389 ? 5 : 4;
    59603     HEAP32[$391>>2] = $$sink21;
    59604     $1 = 96;
    59605     $2029 = $1;
    59606     STACKTOP = sp;return ($2029|0);
    59607    } else {
    59608     $392 = $2;
    59609     $393 = (_new_strterm($392,131,96,0)|0);
    59610     $394 = $2;
    59611     $395 = ((($394)) + 44|0);
    59612     HEAP32[$395>>2] = $393;
    59613     $1 = 361;
    59614     $2029 = $1;
    59615     STACKTOP = sp;return ($2029|0);
    59616    }
    59617    break;
    59618   }
    59619   case 125: {
    59620    $396 = $2;
    59621    $397 = ((($396)) + 40|0);
    59622    $398 = HEAP32[$397>>2]|0;
    59623    $399 = ($398|0)==(1);
    59624    if (!($399)) {
    59625     $400 = $2;
    59626     $401 = ((($400)) + 40|0);
    59627     $402 = HEAP32[$401>>2]|0;
    59628     $403 = ($402|0)==(2);
    59629     if (!($403)) {
    59630      $404 = $2;
    59631      $405 = ((($404)) + 40|0);
    59632      $406 = HEAP32[$405>>2]|0;
    59633      $407 = ($406|0)==(3);
    59634      if (!($407)) {
    59635       $410 = $2;
    59636       $411 = (_nextc($410)|0);
    59637       $3 = $411;
    59638       $412 = $3;
    59639       $413 = ($412|0)<(0);
    59640       if ($413) {
    59641        $414 = $2;
    59642        _yyerror($414,63053);
    59643        $1 = 0;
    59644        $2029 = $1;
    59645        STACKTOP = sp;return ($2029|0);
    59646       }
    59647       $415 = $3;
    59648       $416 = ($415|0)==(32);
    59649       do {
    59650        if ($416) {
    59651         label = 133;
    59652        } else {
    59653         $417 = $3;
    59654         $418 = (($417) - 9)|0;
    59655         $419 = ($418>>>0)<(5);
    59656         if ($419) {
    59657          label = 133;
    59658         } else {
    59659          $437 = $2;
    59660          (_newtok($437)|0);
    59661          $438 = $3;
    59662          $439 = (_isalnum($438)|0);
    59663          $440 = ($439|0)!=(0);
    59664          $441 = $3;
    59665          $442 = ($441|0)==(95);
    59666          $or$cond24 = $440 | $442;
    59667          if ($or$cond24) {
    59668           $443 = $2;
    59669           $444 = (_nextc($443)|0);
    59670           $11 = $444;
    59671           $445 = $2;
    59672           $446 = $11;
    59673           _pushback($445,$446);
    59674           $447 = $11;
    59675           $448 = (_isalnum($447)|0);
    59676           $449 = ($448|0)!=(0);
    59677           $450 = $11;
    59678           $451 = ($450|0)==(95);
    59679           $or$cond27 = $449 | $451;
    59680           if ($or$cond27) {
    59681            break;
    59682           }
    59683          }
    59684          $452 = $3;
    59685          $453 = ($452|0)==(92);
    59686          $454 = $2;
    59687          if ($453) {
    59688           $455 = (_read_escape($454)|0);
    59689           $3 = $455;
    59690           $456 = $2;
    59691           $457 = $3;
    59692           _tokadd($456,$457);
    59693          } else {
    59694           $458 = $3;
    59695           _tokadd($454,$458);
    59696          }
    59697          $459 = $2;
    59698          _tokfix($459);
    59699          $460 = $2;
    59700          $461 = $2;
    59701          $462 = (_tok($461)|0);
    59702          $463 = $2;
    59703          $464 = (_toklen($463)|0);
    59704          $465 = (_new_str($460,$462,$464)|0);
    59705          $466 = $2;
    59706          $467 = ((($466)) + 1132|0);
    59707          $468 = HEAP32[$467>>2]|0;
    59708          HEAP32[$468>>2] = $465;
    59709          $469 = $2;
    59710          $470 = ((($469)) + 40|0);
    59711          HEAP32[$470>>2] = 1;
    59712          $1 = 315;
    59713          $2029 = $1;
    59714          STACKTOP = sp;return ($2029|0);
    59715         }
    59716        }
    59717       } while(0);
    59718       if ((label|0) == 133) {
    59719        $420 = $2;
    59720        $421 = ((($420)) + 40|0);
    59721        $422 = HEAP32[$421>>2]|0;
    59722        $423 = ($422|0)==(4);
    59723        if (!($423)) {
    59724         $424 = $2;
    59725         $425 = ((($424)) + 40|0);
    59726         $426 = HEAP32[$425>>2]|0;
    59727         $427 = ($426|0)==(5);
    59728         if (!($427)) {
    59729          $428 = $3;
    59730          switch ($428|0) {
    59731          case 32:  {
    59732           $9 = 115;
    59733           break;
    59734          }
    59735          case 10:  {
    59736           $9 = 110;
    59737           break;
    59738          }
    59739          case 9:  {
    59740           $9 = 116;
    59741           break;
    59742          }
    59743          case 11:  {
    59744           $9 = 118;
    59745           break;
    59746          }
    59747          case 13:  {
    59748           $9 = 114;
    59749           break;
    59750          }
    59751          case 12:  {
    59752           $9 = 102;
    59753           break;
    59754          }
    59755          default: {
    59756           $9 = 0;
    59757          }
    59758          }
    59759          $429 = $9;
    59760          $430 = ($429|0)!=(0);
    59761          if ($430) {
    59762           $431 = $9;
    59763           HEAP32[$vararg_buffer>>2] = $431;
    59764           (_snprintf($10,256,63081,$vararg_buffer)|0);
    59765           $432 = $2;
    59766           _yyerror($432,$10);
    59767          }
    59768         }
    59769        }
    59770       }
    59771       $433 = $2;
    59772       $434 = $3;
    59773       _pushback($433,$434);
    59774       $435 = $2;
    59775       $436 = ((($435)) + 40|0);
    59776       HEAP32[$436>>2] = 10;
    59777       $1 = 63;
    59778       $2029 = $1;
    59779       STACKTOP = sp;return ($2029|0);
    59780      }
    59781     }
    59782    }
    59783    $408 = $2;
    59784    $409 = ((($408)) + 40|0);
    59785    HEAP32[$409>>2] = 10;
    59786    $1 = 63;
    59787    $2029 = $1;
    59788    STACKTOP = sp;return ($2029|0);
    59789    break;
    59790   }
    59791   case 152: {
    59792    $471 = $2;
    59793    $472 = (_nextc($471)|0);
    59794    $3 = $472;
    59795    $473 = ($472|0)==(38);
    59796    if ($473) {
    59797     $474 = $2;
    59798     $475 = ((($474)) + 40|0);
    59799     HEAP32[$475>>2] = 0;
    59800     $476 = $2;
    59801     $477 = (_nextc($476)|0);
    59802     $3 = $477;
    59803     $478 = ($477|0)==(61);
    59804     $479 = $2;
    59805     if ($478) {
    59806      $480 = (_intern_gen($479,63116,2)|0);
    59807      $481 = $2;
    59808      $482 = ((($481)) + 1132|0);
    59809      $483 = HEAP32[$482>>2]|0;
    59810      HEAP32[$483>>2] = $480;
    59811      $484 = $2;
    59812      $485 = ((($484)) + 40|0);
    59813      HEAP32[$485>>2] = 0;
    59814      $1 = 345;
    59815      $2029 = $1;
    59816      STACKTOP = sp;return ($2029|0);
    59817     } else {
    59818      $486 = $3;
    59819      _pushback($479,$486);
    59820      $1 = 333;
    59821      $2029 = $1;
    59822      STACKTOP = sp;return ($2029|0);
    59823     }
    59824    }
    59825    $487 = $3;
    59826    $488 = ($487|0)==(61);
    59827    $489 = $2;
    59828    if ($488) {
    59829     $490 = (_intern_gen_c($489,38)|0);
    59830     $491 = $2;
    59831     $492 = ((($491)) + 1132|0);
    59832     $493 = HEAP32[$492>>2]|0;
    59833     HEAP32[$493>>2] = $490;
    59834     $494 = $2;
    59835     $495 = ((($494)) + 40|0);
    59836     HEAP32[$495>>2] = 0;
    59837     $1 = 345;
    59838     $2029 = $1;
    59839     STACKTOP = sp;return ($2029|0);
    59840    }
    59841    $496 = $3;
    59842    _pushback($489,$496);
    59843    $497 = $2;
    59844    $498 = ((($497)) + 40|0);
    59845    $499 = HEAP32[$498>>2]|0;
    59846    $500 = ($499|0)==(4);
    59847    if ($500) {
    59848     $$old28 = $4;
    59849     $$old29 = ($$old28|0)==(0);
    59850     $$old31 = $3;
    59851     $$old32 = ($$old31|0)==(32);
    59852     $or$cond35 = $$old29 | $$old32;
    59853     if ($or$cond35) {
    59854      label = 163;
    59855     } else {
    59856      label = 161;
    59857     }
    59858    } else {
    59859     $501 = $2;
    59860     $502 = ((($501)) + 40|0);
    59861     $503 = HEAP32[$502>>2]|0;
    59862     $504 = ($503|0)==(5);
    59863     $505 = $4;
    59864     $506 = ($505|0)!=(0);
    59865     $or$cond30 = $504 & $506;
    59866     $or$cond30$not = $or$cond30 ^ 1;
    59867     $507 = $3;
    59868     $508 = ($507|0)==(32);
    59869     $or$cond33 = $or$cond30$not | $508;
    59870     if ($or$cond33) {
    59871      label = 163;
    59872     } else {
    59873      label = 161;
    59874     }
    59875    }
    59876    if ((label|0) == 161) {
    59877     $509 = $3;
    59878     $510 = (($509) - 9)|0;
    59879     $511 = ($510>>>0)<(5);
    59880     if ($511) {
    59881      label = 163;
    59882     } else {
    59883      $512 = $2;
    59884      _yywarning($512,63119);
    59885      $3 = 354;
    59886     }
    59887    }
    59888    do {
    59889     if ((label|0) == 163) {
    59890      $513 = $2;
    59891      $514 = ((($513)) + 40|0);
    59892      $515 = HEAP32[$514>>2]|0;
    59893      $516 = ($515|0)==(0);
    59894      if (!($516)) {
    59895       $517 = $2;
    59896       $518 = ((($517)) + 40|0);
    59897       $519 = HEAP32[$518>>2]|0;
    59898       $520 = ($519|0)==(6);
    59899       if (!($520)) {
    59900        $521 = $2;
    59901        $522 = ((($521)) + 40|0);
    59902        $523 = HEAP32[$522>>2]|0;
    59903        $524 = ($523|0)==(10);
    59904        if (!($524)) {
    59905         $525 = $2;
    59906         $526 = ((($525)) + 40|0);
    59907         $527 = HEAP32[$526>>2]|0;
    59908         $528 = ($527|0)==(9);
    59909         if (!($528)) {
    59910          $3 = 38;
    59911          break;
    59912         }
    59913        }
    59914       }
    59915      }
    59916      $3 = 354;
    59917     }
    59918    } while(0);
    59919    $529 = $2;
    59920    $530 = ((($529)) + 40|0);
    59921    $531 = HEAP32[$530>>2]|0;
    59922    $532 = ($531|0)==(7);
    59923    if ($532) {
    59924     label = 171;
    59925    } else {
    59926     $533 = $2;
    59927     $534 = ((($533)) + 40|0);
    59928     $535 = HEAP32[$534>>2]|0;
    59929     $536 = ($535|0)==(8);
    59930     if ($536) {
    59931      label = 171;
    59932     } else {
    59933      $538 = $2;
    59934      $$sink36 = 0;$$sink38 = $538;
    59935     }
    59936    }
    59937    if ((label|0) == 171) {
    59938     $537 = $2;
    59939     $$sink36 = 4;$$sink38 = $537;
    59940    }
    59941    $539 = ((($$sink38)) + 40|0);
    59942    HEAP32[$539>>2] = $$sink36;
    59943    $540 = $3;
    59944    $1 = $540;
    59945    $2029 = $1;
    59946    STACKTOP = sp;return ($2029|0);
    59947    break;
    59948   }
    59949   case 174: {
    59950    $541 = $2;
    59951    $542 = (_nextc($541)|0);
    59952    $3 = $542;
    59953    $543 = ($542|0)==(124);
    59954    if ($543) {
    59955     $544 = $2;
    59956     $545 = ((($544)) + 40|0);
    59957     HEAP32[$545>>2] = 0;
    59958     $546 = $2;
    59959     $547 = (_nextc($546)|0);
    59960     $3 = $547;
    59961     $548 = ($547|0)==(61);
    59962     $549 = $2;
    59963     if ($548) {
    59964      $550 = (_intern_gen($549,63154,2)|0);
    59965      $551 = $2;
    59966      $552 = ((($551)) + 1132|0);
    59967      $553 = HEAP32[$552>>2]|0;
    59968      HEAP32[$553>>2] = $550;
    59969      $554 = $2;
    59970      $555 = ((($554)) + 40|0);
    59971      HEAP32[$555>>2] = 0;
    59972      $1 = 345;
    59973      $2029 = $1;
    59974      STACKTOP = sp;return ($2029|0);
    59975     } else {
    59976      $556 = $3;
    59977      _pushback($549,$556);
    59978      $1 = 334;
    59979      $2029 = $1;
    59980      STACKTOP = sp;return ($2029|0);
    59981     }
    59982    }
    59983    $557 = $3;
    59984    $558 = ($557|0)==(61);
    59985    $559 = $2;
    59986    if ($558) {
    59987     $560 = (_intern_gen_c($559,124)|0);
    59988     $561 = $2;
    59989     $562 = ((($561)) + 1132|0);
    59990     $563 = HEAP32[$562>>2]|0;
    59991     HEAP32[$563>>2] = $560;
    59992     $564 = $2;
    59993     $565 = ((($564)) + 40|0);
    59994     HEAP32[$565>>2] = 0;
    59995     $1 = 345;
    59996     $2029 = $1;
    59997     STACKTOP = sp;return ($2029|0);
    59998    }
    59999    $566 = ((($559)) + 40|0);
    60000    $567 = HEAP32[$566>>2]|0;
    60001    $568 = ($567|0)==(7);
    60002    if ($568) {
    60003     label = 182;
    60004    } else {
    60005     $569 = $2;
    60006     $570 = ((($569)) + 40|0);
    60007     $571 = HEAP32[$570>>2]|0;
    60008     $572 = ($571|0)==(8);
    60009     if ($572) {
    60010      label = 182;
    60011     } else {
    60012      $574 = $2;
    60013      $$sink39 = 0;$$sink41 = $574;
    60014     }
    60015    }
    60016    if ((label|0) == 182) {
    60017     $573 = $2;
    60018     $$sink39 = 4;$$sink41 = $573;
    60019    }
    60020    $575 = ((($$sink41)) + 40|0);
    60021    HEAP32[$575>>2] = $$sink39;
    60022    $576 = $2;
    60023    $577 = $3;
    60024    _pushback($576,$577);
    60025    $1 = 124;
    60026    $2029 = $1;
    60027    STACKTOP = sp;return ($2029|0);
    60028    break;
    60029   }
    60030   case 185: {
    60031    $578 = $2;
    60032    $579 = (_nextc($578)|0);
    60033    $3 = $579;
    60034    $580 = $2;
    60035    $581 = ((($580)) + 40|0);
    60036    $582 = HEAP32[$581>>2]|0;
    60037    $583 = ($582|0)==(7);
    60038    if (!($583)) {
    60039     $584 = $2;
    60040     $585 = ((($584)) + 40|0);
    60041     $586 = HEAP32[$585>>2]|0;
    60042     $587 = ($586|0)==(8);
    60043     if (!($587)) {
    60044      $594 = $3;
    60045      $595 = ($594|0)==(61);
    60046      $596 = $2;
    60047      if ($595) {
    60048       $597 = (_intern_gen_c($596,43)|0);
    60049       $598 = $2;
    60050       $599 = ((($598)) + 1132|0);
    60051       $600 = HEAP32[$599>>2]|0;
    60052       HEAP32[$600>>2] = $597;
    60053       $601 = $2;
    60054       $602 = ((($601)) + 40|0);
    60055       HEAP32[$602>>2] = 0;
    60056       $1 = 345;
    60057       $2029 = $1;
    60058       STACKTOP = sp;return ($2029|0);
    60059      }
    60060      $603 = ((($596)) + 40|0);
    60061      $604 = HEAP32[$603>>2]|0;
    60062      $605 = ($604|0)==(0);
    60063      do {
    60064       if (!($605)) {
    60065        $606 = $2;
    60066        $607 = ((($606)) + 40|0);
    60067        $608 = HEAP32[$607>>2]|0;
    60068        $609 = ($608|0)==(6);
    60069        if (!($609)) {
    60070         $610 = $2;
    60071         $611 = ((($610)) + 40|0);
    60072         $612 = HEAP32[$611>>2]|0;
    60073         $613 = ($612|0)==(10);
    60074         if (!($613)) {
    60075          $614 = $2;
    60076          $615 = ((($614)) + 40|0);
    60077          $616 = HEAP32[$615>>2]|0;
    60078          $617 = ($616|0)==(9);
    60079          if (!($617)) {
    60080           $618 = $2;
    60081           $619 = ((($618)) + 40|0);
    60082           $620 = HEAP32[$619>>2]|0;
    60083           $621 = ($620|0)==(4);
    60084           if ($621) {
    60085            $$old42 = $4;
    60086            $$old43 = ($$old42|0)==(0);
    60087            $$old45 = $3;
    60088            $$old46 = ($$old45|0)==(32);
    60089            $or$cond49 = $$old43 | $$old46;
    60090            if (!($or$cond49)) {
    60091             label = 199;
    60092            }
    60093           } else {
    60094            $622 = $2;
    60095            $623 = ((($622)) + 40|0);
    60096            $624 = HEAP32[$623>>2]|0;
    60097            $625 = ($624|0)==(5);
    60098            $626 = $4;
    60099            $627 = ($626|0)!=(0);
    60100            $or$cond44 = $625 & $627;
    60101            $or$cond44$not = $or$cond44 ^ 1;
    60102            $628 = $3;
    60103            $629 = ($628|0)==(32);
    60104            $or$cond47 = $or$cond44$not | $629;
    60105            if (!($or$cond47)) {
    60106             label = 199;
    60107            }
    60108           }
    60109           if ((label|0) == 199) {
    60110            $630 = $3;
    60111            $631 = (($630) - 9)|0;
    60112            $632 = ($631>>>0)<(5);
    60113            if (!($632)) {
    60114             $633 = $2;
    60115             $634 = (_arg_ambiguous($633)|0);
    60116             $635 = ($634|0)!=(0);
    60117             if ($635) {
    60118              break;
    60119             }
    60120            }
    60121           }
    60122           $645 = $2;
    60123           $646 = ((($645)) + 40|0);
    60124           HEAP32[$646>>2] = 0;
    60125           $647 = $2;
    60126           $648 = $3;
    60127           _pushback($647,$648);
    60128           $1 = 43;
    60129           $2029 = $1;
    60130           STACKTOP = sp;return ($2029|0);
    60131          }
    60132         }
    60133        }
    60134       }
    60135      } while(0);
    60136      $636 = $2;
    60137      $637 = ((($636)) + 40|0);
    60138      HEAP32[$637>>2] = 0;
    60139      $638 = $2;
    60140      $639 = $3;
    60141      _pushback($638,$639);
    60142      $640 = $3;
    60143      $641 = ($640|0)>=(0);
    60144      if ($641) {
    60145       $642 = $3;
    60146       $643 = (($642) - 48)|0;
    60147       $644 = ($643>>>0)<(10);
    60148       if ($644) {
    60149        $3 = 43;
    60150        label = 237;
    60151        break;
    60152       }
    60153      }
    60154      $1 = 324;
    60155      $2029 = $1;
    60156      STACKTOP = sp;return ($2029|0);
    60157     }
    60158    }
    60159    $588 = $2;
    60160    $589 = ((($588)) + 40|0);
    60161    HEAP32[$589>>2] = 4;
    60162    $590 = $3;
    60163    $591 = ($590|0)==(64);
    60164    if ($591) {
    60165     $1 = 324;
    60166     $2029 = $1;
    60167     STACKTOP = sp;return ($2029|0);
    60168    } else {
    60169     $592 = $2;
    60170     $593 = $3;
    60171     _pushback($592,$593);
    60172     $1 = 43;
    60173     $2029 = $1;
    60174     STACKTOP = sp;return ($2029|0);
    60175    }
    60176    break;
    60177   }
    60178   case 206: {
    60179    $649 = $2;
    60180    $650 = (_nextc($649)|0);
    60181    $3 = $650;
    60182    $651 = $2;
    60183    $652 = ((($651)) + 40|0);
    60184    $653 = HEAP32[$652>>2]|0;
    60185    $654 = ($653|0)==(7);
    60186    if (!($654)) {
    60187     $655 = $2;
    60188     $656 = ((($655)) + 40|0);
    60189     $657 = HEAP32[$656>>2]|0;
    60190     $658 = ($657|0)==(8);
    60191     if (!($658)) {
    60192      $665 = $3;
    60193      $666 = ($665|0)==(61);
    60194      if ($666) {
    60195       $667 = $2;
    60196       $668 = (_intern_gen_c($667,45)|0);
    60197       $669 = $2;
    60198       $670 = ((($669)) + 1132|0);
    60199       $671 = HEAP32[$670>>2]|0;
    60200       HEAP32[$671>>2] = $668;
    60201       $672 = $2;
    60202       $673 = ((($672)) + 40|0);
    60203       HEAP32[$673>>2] = 0;
    60204       $1 = 345;
    60205       $2029 = $1;
    60206       STACKTOP = sp;return ($2029|0);
    60207      }
    60208      $674 = $3;
    60209      $675 = ($674|0)==(62);
    60210      $676 = $2;
    60211      $677 = ((($676)) + 40|0);
    60212      if ($675) {
    60213       HEAP32[$677>>2] = 3;
    60214       $1 = 355;
    60215       $2029 = $1;
    60216       STACKTOP = sp;return ($2029|0);
    60217      }
    60218      $678 = HEAP32[$677>>2]|0;
    60219      $679 = ($678|0)==(0);
    60220      do {
    60221       if (!($679)) {
    60222        $680 = $2;
    60223        $681 = ((($680)) + 40|0);
    60224        $682 = HEAP32[$681>>2]|0;
    60225        $683 = ($682|0)==(6);
    60226        if (!($683)) {
    60227         $684 = $2;
    60228         $685 = ((($684)) + 40|0);
    60229         $686 = HEAP32[$685>>2]|0;
    60230         $687 = ($686|0)==(10);
    60231         if (!($687)) {
    60232          $688 = $2;
    60233          $689 = ((($688)) + 40|0);
    60234          $690 = HEAP32[$689>>2]|0;
    60235          $691 = ($690|0)==(9);
    60236          if (!($691)) {
    60237           $692 = $2;
    60238           $693 = ((($692)) + 40|0);
    60239           $694 = HEAP32[$693>>2]|0;
    60240           $695 = ($694|0)==(4);
    60241           if ($695) {
    60242            $$old50 = $4;
    60243            $$old51 = ($$old50|0)==(0);
    60244            $$old53 = $3;
    60245            $$old54 = ($$old53|0)==(32);
    60246            $or$cond57 = $$old51 | $$old54;
    60247            if (!($or$cond57)) {
    60248             label = 222;
    60249            }
    60250           } else {
    60251            $696 = $2;
    60252            $697 = ((($696)) + 40|0);
    60253            $698 = HEAP32[$697>>2]|0;
    60254            $699 = ($698|0)==(5);
    60255            $700 = $4;
    60256            $701 = ($700|0)!=(0);
    60257            $or$cond52 = $699 & $701;
    60258            $or$cond52$not = $or$cond52 ^ 1;
    60259            $702 = $3;
    60260            $703 = ($702|0)==(32);
    60261            $or$cond55 = $or$cond52$not | $703;
    60262            if (!($or$cond55)) {
    60263             label = 222;
    60264            }
    60265           }
    60266           if ((label|0) == 222) {
    60267            $704 = $3;
    60268            $705 = (($704) - 9)|0;
    60269            $706 = ($705>>>0)<(5);
    60270            if (!($706)) {
    60271             $707 = $2;
    60272             $708 = (_arg_ambiguous($707)|0);
    60273             $709 = ($708|0)!=(0);
    60274             if ($709) {
    60275              break;
    60276             }
    60277            }
    60278           }
    60279           $719 = $2;
    60280           $720 = ((($719)) + 40|0);
    60281           HEAP32[$720>>2] = 0;
    60282           $721 = $2;
    60283           $722 = $3;
    60284           _pushback($721,$722);
    60285           $1 = 45;
    60286           $2029 = $1;
    60287           STACKTOP = sp;return ($2029|0);
    60288          }
    60289         }
    60290        }
    60291       }
    60292      } while(0);
    60293      $710 = $2;
    60294      $711 = ((($710)) + 40|0);
    60295      HEAP32[$711>>2] = 0;
    60296      $712 = $2;
    60297      $713 = $3;
    60298      _pushback($712,$713);
    60299      $714 = $3;
    60300      $715 = ($714|0)>=(0);
    60301      if ($715) {
    60302       $716 = $3;
    60303       $717 = (($716) - 48)|0;
    60304       $718 = ($717>>>0)<(10);
    60305       if ($718) {
    60306        $1 = 371;
    60307        $2029 = $1;
    60308        STACKTOP = sp;return ($2029|0);
    60309       }
    60310      }
    60311      $1 = 325;
    60312      $2029 = $1;
    60313      STACKTOP = sp;return ($2029|0);
    60314     }
    60315    }
    60316    $659 = $2;
    60317    $660 = ((($659)) + 40|0);
    60318    HEAP32[$660>>2] = 4;
    60319    $661 = $3;
    60320    $662 = ($661|0)==(64);
    60321    if ($662) {
    60322     $1 = 325;
    60323     $2029 = $1;
    60324     STACKTOP = sp;return ($2029|0);
    60325    } else {
    60326     $663 = $2;
    60327     $664 = $3;
    60328     _pushback($663,$664);
    60329     $1 = 45;
    60330     $2029 = $1;
    60331     STACKTOP = sp;return ($2029|0);
    60332    }
    60333    break;
    60334   }
    60335   case 229: {
    60336    $723 = $2;
    60337    $724 = ((($723)) + 40|0);
    60338    HEAP32[$724>>2] = 0;
    60339    $725 = $2;
    60340    $726 = (_nextc($725)|0);
    60341    $3 = $726;
    60342    $727 = ($726|0)==(46);
    60343    $728 = $2;
    60344    if ($727) {
    60345     $729 = (_nextc($728)|0);
    60346     $3 = $729;
    60347     $730 = ($729|0)==(46);
    60348     if ($730) {
    60349      $1 = 338;
    60350      $2029 = $1;
    60351      STACKTOP = sp;return ($2029|0);
    60352     } else {
    60353      $731 = $2;
    60354      $732 = $3;
    60355      _pushback($731,$732);
    60356      $1 = 337;
    60357      $2029 = $1;
    60358      STACKTOP = sp;return ($2029|0);
    60359     }
    60360    } else {
    60361     $733 = $3;
    60362     _pushback($728,$733);
    60363     $734 = $3;
    60364     $735 = ($734|0)>=(0);
    60365     if ($735) {
    60366      $736 = $3;
    60367      $737 = (($736) - 48)|0;
    60368      $738 = ($737>>>0)<(10);
    60369      if ($738) {
    60370       $739 = $2;
    60371       _yyerror($739,63157);
    60372      }
    60373     }
    60374     $740 = $2;
    60375     $741 = ((($740)) + 40|0);
    60376     HEAP32[$741>>2] = 8;
    60377     $1 = 46;
    60378     $2029 = $1;
    60379     STACKTOP = sp;return ($2029|0);
    60380    }
    60381    break;
    60382   }
    60383   case 329: {
    60384    $1062 = $2;
    60385    $1063 = ((($1062)) + 56|0);
    60386    $1064 = HEAP32[$1063>>2]|0;
    60387    $1065 = (($1064) + -1)|0;
    60388    HEAP32[$1063>>2] = $1065;
    60389    label = 330;
    60390    break;
    60391   }
    60392   case 331: {
    60393    $1093 = $2;
    60394    $1094 = (_nextc($1093)|0);
    60395    $3 = $1094;
    60396    $1095 = $3;
    60397    $1096 = ($1095|0)==(58);
    60398    $1097 = $2;
    60399    $1098 = ((($1097)) + 40|0);
    60400    $1099 = HEAP32[$1098>>2]|0;
    60401    if (!($1096)) {
    60402     $1131 = ($1099|0)==(1);
    60403     if (!($1131)) {
    60404      $1132 = $2;
    60405      $1133 = ((($1132)) + 40|0);
    60406      $1134 = HEAP32[$1133>>2]|0;
    60407      $1135 = ($1134|0)==(2);
    60408      if (!($1135)) {
    60409       $1136 = $2;
    60410       $1137 = ((($1136)) + 40|0);
    60411       $1138 = HEAP32[$1137>>2]|0;
    60412       $1139 = ($1138|0)==(3);
    60413       $1140 = $3;
    60414       $1141 = ($1140|0)==(32);
    60415       $or$cond109 = $1139 | $1141;
    60416       if (!($or$cond109)) {
    60417        $1142 = $3;
    60418        $1143 = (($1142) - 9)|0;
    60419        $1144 = ($1143>>>0)<(5);
    60420        if (!($1144)) {
    60421         $1149 = $2;
    60422         $1150 = $3;
    60423         _pushback($1149,$1150);
    60424         $1151 = $2;
    60425         $1152 = ((($1151)) + 40|0);
    60426         HEAP32[$1152>>2] = 7;
    60427         $1 = 356;
    60428         $2029 = $1;
    60429         STACKTOP = sp;return ($2029|0);
    60430        }
    60431       }
    60432      }
    60433     }
    60434     $1145 = $2;
    60435     $1146 = $3;
    60436     _pushback($1145,$1146);
    60437     $1147 = $2;
    60438     $1148 = ((($1147)) + 40|0);
    60439     HEAP32[$1148>>2] = 0;
    60440     $1 = 58;
    60441     $2029 = $1;
    60442     STACKTOP = sp;return ($2029|0);
    60443    }
    60444    $1100 = ($1099|0)==(0);
    60445    do {
    60446     if (!($1100)) {
    60447      $1101 = $2;
    60448      $1102 = ((($1101)) + 40|0);
    60449      $1103 = HEAP32[$1102>>2]|0;
    60450      $1104 = ($1103|0)==(6);
    60451      if (!($1104)) {
    60452       $1105 = $2;
    60453       $1106 = ((($1105)) + 40|0);
    60454       $1107 = HEAP32[$1106>>2]|0;
    60455       $1108 = ($1107|0)==(10);
    60456       if (!($1108)) {
    60457        $1109 = $2;
    60458        $1110 = ((($1109)) + 40|0);
    60459        $1111 = HEAP32[$1110>>2]|0;
    60460        $1112 = ($1111|0)==(9);
    60461        if (!($1112)) {
    60462         $1113 = $2;
    60463         $1114 = ((($1113)) + 40|0);
    60464         $1115 = HEAP32[$1114>>2]|0;
    60465         $1116 = ($1115|0)==(9);
    60466         if (!($1116)) {
    60467          $1117 = $2;
    60468          $1118 = ((($1117)) + 40|0);
    60469          $1119 = HEAP32[$1118>>2]|0;
    60470          $1120 = ($1119|0)==(4);
    60471          if ($1120) {
    60472           $$old104 = $4;
    60473           $$old105 = ($$old104|0)!=(0);
    60474           if ($$old105) {
    60475            break;
    60476           }
    60477          } else {
    60478           $1121 = $2;
    60479           $1122 = ((($1121)) + 40|0);
    60480           $1123 = HEAP32[$1122>>2]|0;
    60481           $1124 = ($1123|0)==(5);
    60482           $1125 = $4;
    60483           $1126 = ($1125|0)!=(0);
    60484           $or$cond106 = $1124 & $1126;
    60485           if ($or$cond106) {
    60486            break;
    60487           }
    60488          }
    60489          $1129 = $2;
    60490          $1130 = ((($1129)) + 40|0);
    60491          HEAP32[$1130>>2] = 8;
    60492          $1 = 343;
    60493          $2029 = $1;
    60494          STACKTOP = sp;return ($2029|0);
    60495         }
    60496        }
    60497       }
    60498      }
    60499     }
    60500    } while(0);
    60501    $1127 = $2;
    60502    $1128 = ((($1127)) + 40|0);
    60503    HEAP32[$1128>>2] = 0;
    60504    $1 = 344;
    60505    $2029 = $1;
    60506    STACKTOP = sp;return ($2029|0);
    60507    break;
    60508   }
    60509   case 348: {
    60510    $1153 = $2;
    60511    $1154 = ((($1153)) + 40|0);
    60512    $1155 = HEAP32[$1154>>2]|0;
    60513    $1156 = ($1155|0)==(0);
    60514    if (!($1156)) {
    60515     $1157 = $2;
    60516     $1158 = ((($1157)) + 40|0);
    60517     $1159 = HEAP32[$1158>>2]|0;
    60518     $1160 = ($1159|0)==(6);
    60519     if (!($1160)) {
    60520      $1161 = $2;
    60521      $1162 = ((($1161)) + 40|0);
    60522      $1163 = HEAP32[$1162>>2]|0;
    60523      $1164 = ($1163|0)==(10);
    60524      if (!($1164)) {
    60525       $1165 = $2;
    60526       $1166 = ((($1165)) + 40|0);
    60527       $1167 = HEAP32[$1166>>2]|0;
    60528       $1168 = ($1167|0)==(9);
    60529       if (!($1168)) {
    60530        $1173 = $2;
    60531        $1174 = (_nextc($1173)|0);
    60532        $3 = $1174;
    60533        $1175 = ($1174|0)==(61);
    60534        $1176 = $2;
    60535        if ($1175) {
    60536         $1177 = (_intern_gen_c($1176,47)|0);
    60537         $1178 = $2;
    60538         $1179 = ((($1178)) + 1132|0);
    60539         $1180 = HEAP32[$1179>>2]|0;
    60540         HEAP32[$1180>>2] = $1177;
    60541         $1181 = $2;
    60542         $1182 = ((($1181)) + 40|0);
    60543         HEAP32[$1182>>2] = 0;
    60544         $1 = 345;
    60545         $2029 = $1;
    60546         STACKTOP = sp;return ($2029|0);
    60547        }
    60548        $1183 = $3;
    60549        _pushback($1176,$1183);
    60550        $1184 = $2;
    60551        $1185 = ((($1184)) + 40|0);
    60552        $1186 = HEAP32[$1185>>2]|0;
    60553        $1187 = ($1186|0)==(4);
    60554        if ($1187) {
    60555         $$old110 = $4;
    60556         $$old111 = ($$old110|0)==(0);
    60557         $$old113 = $3;
    60558         $$old114 = ($$old113|0)==(32);
    60559         $or$cond117 = $$old111 | $$old114;
    60560         if (!($or$cond117)) {
    60561          label = 358;
    60562         }
    60563        } else {
    60564         $1188 = $2;
    60565         $1189 = ((($1188)) + 40|0);
    60566         $1190 = HEAP32[$1189>>2]|0;
    60567         $1191 = ($1190|0)==(5);
    60568         $1192 = $4;
    60569         $1193 = ($1192|0)!=(0);
    60570         $or$cond112 = $1191 & $1193;
    60571         $or$cond112$not = $or$cond112 ^ 1;
    60572         $1194 = $3;
    60573         $1195 = ($1194|0)==(32);
    60574         $or$cond115 = $or$cond112$not | $1195;
    60575         if (!($or$cond115)) {
    60576          label = 358;
    60577         }
    60578        }
    60579        if ((label|0) == 358) {
    60580         $1196 = $3;
    60581         $1197 = (($1196) - 9)|0;
    60582         $1198 = ($1197>>>0)<(5);
    60583         if (!($1198)) {
    60584          $1199 = $2;
    60585          $1200 = (_new_strterm($1199,7,47,0)|0);
    60586          $1201 = $2;
    60587          $1202 = ((($1201)) + 44|0);
    60588          HEAP32[$1202>>2] = $1200;
    60589          $1 = 357;
    60590          $2029 = $1;
    60591          STACKTOP = sp;return ($2029|0);
    60592         }
    60593        }
    60594        $1203 = $2;
    60595        $1204 = ((($1203)) + 40|0);
    60596        $1205 = HEAP32[$1204>>2]|0;
    60597        $1206 = ($1205|0)==(7);
    60598        if ($1206) {
    60599         label = 362;
    60600        } else {
    60601         $1207 = $2;
    60602         $1208 = ((($1207)) + 40|0);
    60603         $1209 = HEAP32[$1208>>2]|0;
    60604         $1210 = ($1209|0)==(8);
    60605         if ($1210) {
    60606          label = 362;
    60607         } else {
    60608          $1212 = $2;
    60609          $$sink118 = 0;$$sink120 = $1212;
    60610         }
    60611        }
    60612        if ((label|0) == 362) {
    60613         $1211 = $2;
    60614         $$sink118 = 4;$$sink120 = $1211;
    60615        }
    60616        $1213 = ((($$sink120)) + 40|0);
    60617        HEAP32[$1213>>2] = $$sink118;
    60618        $1 = 47;
    60619        $2029 = $1;
    60620        STACKTOP = sp;return ($2029|0);
    60621       }
    60622      }
    60623     }
    60624    }
    60625    $1169 = $2;
    60626    $1170 = (_new_strterm($1169,7,47,0)|0);
    60627    $1171 = $2;
    60628    $1172 = ((($1171)) + 44|0);
    60629    HEAP32[$1172>>2] = $1170;
    60630    $1 = 357;
    60631    $2029 = $1;
    60632    STACKTOP = sp;return ($2029|0);
    60633    break;
    60634   }
    60635   case 365: {
    60636    $1214 = $2;
    60637    $1215 = (_nextc($1214)|0);
    60638    $3 = $1215;
    60639    $1216 = ($1215|0)==(61);
    60640    $1217 = $2;
    60641    if ($1216) {
    60642     $1218 = (_intern_gen_c($1217,94)|0);
    60643     $1219 = $2;
    60644     $1220 = ((($1219)) + 1132|0);
    60645     $1221 = HEAP32[$1220>>2]|0;
    60646     HEAP32[$1221>>2] = $1218;
    60647     $1222 = $2;
    60648     $1223 = ((($1222)) + 40|0);
    60649     HEAP32[$1223>>2] = 0;
    60650     $1 = 345;
    60651     $2029 = $1;
    60652     STACKTOP = sp;return ($2029|0);
    60653    }
    60654    $1224 = ((($1217)) + 40|0);
    60655    $1225 = HEAP32[$1224>>2]|0;
    60656    $1226 = ($1225|0)==(7);
    60657    if ($1226) {
    60658     label = 369;
    60659    } else {
    60660     $1227 = $2;
    60661     $1228 = ((($1227)) + 40|0);
    60662     $1229 = HEAP32[$1228>>2]|0;
    60663     $1230 = ($1229|0)==(8);
    60664     if ($1230) {
    60665      label = 369;
    60666     } else {
    60667      $1232 = $2;
    60668      $$sink121 = 0;$$sink123 = $1232;
    60669     }
    60670    }
    60671    if ((label|0) == 369) {
    60672     $1231 = $2;
    60673     $$sink121 = 4;$$sink123 = $1231;
    60674    }
    60675    $1233 = ((($$sink123)) + 40|0);
    60676    HEAP32[$1233>>2] = $$sink121;
    60677    $1234 = $2;
    60678    $1235 = $3;
    60679    _pushback($1234,$1235);
    60680    $1 = 94;
    60681    $2029 = $1;
    60682    STACKTOP = sp;return ($2029|0);
    60683    break;
    60684   }
    60685   case 372: {
    60686    $1236 = $2;
    60687    $1237 = ((($1236)) + 40|0);
    60688    HEAP32[$1237>>2] = 0;
    60689    $1 = 59;
    60690    $2029 = $1;
    60691    STACKTOP = sp;return ($2029|0);
    60692    break;
    60693   }
    60694   case 373: {
    60695    $1238 = $2;
    60696    $1239 = ((($1238)) + 40|0);
    60697    HEAP32[$1239>>2] = 0;
    60698    $1 = 44;
    60699    $2029 = $1;
    60700    STACKTOP = sp;return ($2029|0);
    60701    break;
    60702   }
    60703   case 374: {
    60704    $1240 = $2;
    60705    $1241 = ((($1240)) + 40|0);
    60706    $1242 = HEAP32[$1241>>2]|0;
    60707    $1243 = ($1242|0)==(7);
    60708    if ($1243) {
    60709     label = 376;
    60710    } else {
    60711     $1244 = $2;
    60712     $1245 = ((($1244)) + 40|0);
    60713     $1246 = HEAP32[$1245>>2]|0;
    60714     $1247 = ($1246|0)==(8);
    60715     if ($1247) {
    60716      label = 376;
    60717     } else {
    60718      $1254 = $2;
    60719      $$sink124 = 0;$$sink126 = $1254;
    60720     }
    60721    }
    60722    if ((label|0) == 376) {
    60723     $1248 = $2;
    60724     $1249 = (_nextc($1248)|0);
    60725     $3 = $1249;
    60726     $1250 = ($1249|0)!=(64);
    60727     if ($1250) {
    60728      $1251 = $2;
    60729      $1252 = $3;
    60730      _pushback($1251,$1252);
    60731     }
    60732     $1253 = $2;
    60733     $$sink124 = 4;$$sink126 = $1253;
    60734    }
    60735    $1255 = ((($$sink126)) + 40|0);
    60736    HEAP32[$1255>>2] = $$sink124;
    60737    $1 = 126;
    60738    $2029 = $1;
    60739    STACKTOP = sp;return ($2029|0);
    60740    break;
    60741   }
    60742   case 381: {
    60743    $1256 = $2;
    60744    $1257 = ((($1256)) + 40|0);
    60745    $1258 = HEAP32[$1257>>2]|0;
    60746    $1259 = ($1258|0)==(0);
    60747    do {
    60748     if ($1259) {
    60749      label = 385;
    60750     } else {
    60751      $1260 = $2;
    60752      $1261 = ((($1260)) + 40|0);
    60753      $1262 = HEAP32[$1261>>2]|0;
    60754      $1263 = ($1262|0)==(6);
    60755      if ($1263) {
    60756       label = 385;
    60757      } else {
    60758       $1264 = $2;
    60759       $1265 = ((($1264)) + 40|0);
    60760       $1266 = HEAP32[$1265>>2]|0;
    60761       $1267 = ($1266|0)==(10);
    60762       if ($1267) {
    60763        label = 385;
    60764       } else {
    60765        $1268 = $2;
    60766        $1269 = ((($1268)) + 40|0);
    60767        $1270 = HEAP32[$1269>>2]|0;
    60768        $1271 = ($1270|0)==(9);
    60769        if ($1271) {
    60770         label = 385;
    60771        } else {
    60772         $1272 = $2;
    60773         $1273 = ((($1272)) + 40|0);
    60774         $1274 = HEAP32[$1273>>2]|0;
    60775         $1275 = ($1274|0)==(4);
    60776         if ($1275) {
    60777          $$old127 = $4;
    60778          $$old128 = ($$old127|0)!=(0);
    60779          if (!($$old128)) {
    60780           break;
    60781          }
    60782         } else {
    60783          $1276 = $2;
    60784          $1277 = ((($1276)) + 40|0);
    60785          $1278 = HEAP32[$1277>>2]|0;
    60786          $1279 = ($1278|0)==(5);
    60787          $1280 = $4;
    60788          $1281 = ($1280|0)!=(0);
    60789          $or$cond129 = $1279 & $1281;
    60790          if (!($or$cond129)) {
    60791           break;
    60792          }
    60793         }
    60794         $3 = 348;
    60795        }
    60796       }
    60797      }
    60798     }
    60799    } while(0);
    60800    if ((label|0) == 385) {
    60801     $3 = 347;
    60802    }
    60803    $1282 = $2;
    60804    $1283 = ((($1282)) + 56|0);
    60805    $1284 = HEAP32[$1283>>2]|0;
    60806    $1285 = (($1284) + 1)|0;
    60807    HEAP32[$1283>>2] = $1285;
    60808    $1286 = $2;
    60809    $1287 = ((($1286)) + 48|0);
    60810    $1288 = HEAP32[$1287>>2]|0;
    60811    $1289 = $1288 << 1;
    60812    $1290 = $2;
    60813    $1291 = ((($1290)) + 48|0);
    60814    HEAP32[$1291>>2] = $1289;
    60815    $1292 = $2;
    60816    $1293 = ((($1292)) + 52|0);
    60817    $1294 = HEAP32[$1293>>2]|0;
    60818    $1295 = $1294 << 1;
    60819    $1296 = $2;
    60820    $1297 = ((($1296)) + 52|0);
    60821    HEAP32[$1297>>2] = $1295;
    60822    $1298 = $2;
    60823    $1299 = ((($1298)) + 40|0);
    60824    HEAP32[$1299>>2] = 0;
    60825    $1300 = $3;
    60826    $1 = $1300;
    60827    $2029 = $1;
    60828    STACKTOP = sp;return ($2029|0);
    60829    break;
    60830   }
    60831   case 391: {
    60832    $1301 = $2;
    60833    $1302 = ((($1301)) + 56|0);
    60834    $1303 = HEAP32[$1302>>2]|0;
    60835    $1304 = (($1303) + 1)|0;
    60836    HEAP32[$1302>>2] = $1304;
    60837    $1305 = $2;
    60838    $1306 = ((($1305)) + 40|0);
    60839    $1307 = HEAP32[$1306>>2]|0;
    60840    $1308 = ($1307|0)==(7);
    60841    if (!($1308)) {
    60842     $1309 = $2;
    60843     $1310 = ((($1309)) + 40|0);
    60844     $1311 = HEAP32[$1310>>2]|0;
    60845     $1312 = ($1311|0)==(8);
    60846     if (!($1312)) {
    60847      $1324 = $2;
    60848      $1325 = ((($1324)) + 40|0);
    60849      $1326 = HEAP32[$1325>>2]|0;
    60850      $1327 = ($1326|0)==(0);
    60851      do {
    60852       if ($1327) {
    60853        label = 402;
    60854       } else {
    60855        $1328 = $2;
    60856        $1329 = ((($1328)) + 40|0);
    60857        $1330 = HEAP32[$1329>>2]|0;
    60858        $1331 = ($1330|0)==(6);
    60859        if ($1331) {
    60860         label = 402;
    60861        } else {
    60862         $1332 = $2;
    60863         $1333 = ((($1332)) + 40|0);
    60864         $1334 = HEAP32[$1333>>2]|0;
    60865         $1335 = ($1334|0)==(10);
    60866         if ($1335) {
    60867          label = 402;
    60868         } else {
    60869          $1336 = $2;
    60870          $1337 = ((($1336)) + 40|0);
    60871          $1338 = HEAP32[$1337>>2]|0;
    60872          $1339 = ($1338|0)==(9);
    60873          if ($1339) {
    60874           label = 402;
    60875          } else {
    60876           $1340 = $2;
    60877           $1341 = ((($1340)) + 40|0);
    60878           $1342 = HEAP32[$1341>>2]|0;
    60879           $1343 = ($1342|0)==(4);
    60880           if ($1343) {
    60881            $$old130 = $4;
    60882            $$old131 = ($$old130|0)!=(0);
    60883            if (!($$old131)) {
    60884             break;
    60885            }
    60886           } else {
    60887            $1344 = $2;
    60888            $1345 = ((($1344)) + 40|0);
    60889            $1346 = HEAP32[$1345>>2]|0;
    60890            $1347 = ($1346|0)==(5);
    60891            $1348 = $4;
    60892            $1349 = ($1348|0)!=(0);
    60893            $or$cond132 = $1347 & $1349;
    60894            if (!($or$cond132)) {
    60895             break;
    60896            }
    60897           }
    60898           $3 = 350;
    60899          }
    60900         }
    60901        }
    60902       }
    60903      } while(0);
    60904      if ((label|0) == 402) {
    60905       $3 = 350;
    60906      }
    60907      $1350 = $2;
    60908      $1351 = ((($1350)) + 40|0);
    60909      HEAP32[$1351>>2] = 0;
    60910      $1352 = $2;
    60911      $1353 = ((($1352)) + 48|0);
    60912      $1354 = HEAP32[$1353>>2]|0;
    60913      $1355 = $1354 << 1;
    60914      $1356 = $2;
    60915      $1357 = ((($1356)) + 48|0);
    60916      HEAP32[$1357>>2] = $1355;
    60917      $1358 = $2;
    60918      $1359 = ((($1358)) + 52|0);
    60919      $1360 = HEAP32[$1359>>2]|0;
    60920      $1361 = $1360 << 1;
    60921      $1362 = $2;
    60922      $1363 = ((($1362)) + 52|0);
    60923      HEAP32[$1363>>2] = $1361;
    60924      $1364 = $3;
    60925      $1 = $1364;
    60926      $2029 = $1;
    60927      STACKTOP = sp;return ($2029|0);
    60928     }
    60929    }
    60930    $1313 = $2;
    60931    $1314 = ((($1313)) + 40|0);
    60932    HEAP32[$1314>>2] = 4;
    60933    $1315 = $2;
    60934    $1316 = (_nextc($1315)|0);
    60935    $3 = $1316;
    60936    $1317 = ($1316|0)==(93);
    60937    $1318 = $2;
    60938    if (!($1317)) {
    60939     $1323 = $3;
    60940     _pushback($1318,$1323);
    60941     $1 = 91;
    60942     $2029 = $1;
    60943     STACKTOP = sp;return ($2029|0);
    60944    }
    60945    $1319 = (_nextc($1318)|0);
    60946    $3 = $1319;
    60947    $1320 = ($1319|0)==(61);
    60948    if ($1320) {
    60949     $1 = 340;
    60950     $2029 = $1;
    60951     STACKTOP = sp;return ($2029|0);
    60952    } else {
    60953     $1321 = $2;
    60954     $1322 = $3;
    60955     _pushback($1321,$1322);
    60956     $1 = 339;
    60957     $2029 = $1;
    60958     STACKTOP = sp;return ($2029|0);
    60959    }
    60960    break;
    60961   }
    60962   case 408: {
    60963    $1365 = $2;
    60964    $1366 = ((($1365)) + 60|0);
    60965    $1367 = HEAP32[$1366>>2]|0;
    60966    $1368 = ($1367|0)!=(0);
    60967    if ($1368) {
    60968     $1369 = $2;
    60969     $1370 = ((($1369)) + 60|0);
    60970     $1371 = HEAP32[$1370>>2]|0;
    60971     $1372 = $2;
    60972     $1373 = ((($1372)) + 56|0);
    60973     $1374 = HEAP32[$1373>>2]|0;
    60974     $1375 = ($1371|0)==($1374|0);
    60975     if ($1375) {
    60976      $1376 = $2;
    60977      $1377 = ((($1376)) + 40|0);
    60978      HEAP32[$1377>>2] = 0;
    60979      $1378 = $2;
    60980      $1379 = ((($1378)) + 60|0);
    60981      HEAP32[$1379>>2] = 0;
    60982      $1380 = $2;
    60983      $1381 = ((($1380)) + 56|0);
    60984      $1382 = HEAP32[$1381>>2]|0;
    60985      $1383 = (($1382) + -1)|0;
    60986      HEAP32[$1381>>2] = $1383;
    60987      $1384 = $2;
    60988      $1385 = ((($1384)) + 48|0);
    60989      $1386 = HEAP32[$1385>>2]|0;
    60990      $1387 = $1386 << 1;
    60991      $1388 = $2;
    60992      $1389 = ((($1388)) + 48|0);
    60993      HEAP32[$1389>>2] = $1387;
    60994      $1390 = $2;
    60995      $1391 = ((($1390)) + 52|0);
    60996      $1392 = HEAP32[$1391>>2]|0;
    60997      $1393 = $1392 << 1;
    60998      $1394 = $2;
    60999      $1395 = ((($1394)) + 52|0);
    61000      HEAP32[$1395>>2] = $1393;
    61001      $1 = 363;
    61002      $2029 = $1;
    61003      STACKTOP = sp;return ($2029|0);
    61004     }
    61005    }
    61006    $1396 = $2;
    61007    $1397 = ((($1396)) + 40|0);
    61008    $1398 = HEAP32[$1397>>2]|0;
    61009    $1399 = ($1398|0)==(4);
    61010    do {
    61011     if ($1399) {
    61012      label = 415;
    61013     } else {
    61014      $1400 = $2;
    61015      $1401 = ((($1400)) + 40|0);
    61016      $1402 = HEAP32[$1401>>2]|0;
    61017      $1403 = ($1402|0)==(5);
    61018      if ($1403) {
    61019       label = 415;
    61020      } else {
    61021       $1404 = $2;
    61022       $1405 = ((($1404)) + 40|0);
    61023       $1406 = HEAP32[$1405>>2]|0;
    61024       $1407 = ($1406|0)==(1);
    61025       if ($1407) {
    61026        label = 415;
    61027       } else {
    61028        $1408 = $2;
    61029        $1409 = ((($1408)) + 40|0);
    61030        $1410 = HEAP32[$1409>>2]|0;
    61031        $1411 = ($1410|0)==(3);
    61032        if ($1411) {
    61033         label = 415;
    61034        } else {
    61035         $1412 = $2;
    61036         $1413 = ((($1412)) + 40|0);
    61037         $1414 = HEAP32[$1413>>2]|0;
    61038         $1415 = ($1414|0)==(2);
    61039         if ($1415) {
    61040          $3 = 352;
    61041          break;
    61042         } else {
    61043          $3 = 351;
    61044          break;
    61045         }
    61046        }
    61047       }
    61048      }
    61049     }
    61050    } while(0);
    61051    if ((label|0) == 415) {
    61052     $3 = 123;
    61053    }
    61054    $1416 = $2;
    61055    $1417 = ((($1416)) + 48|0);
    61056    $1418 = HEAP32[$1417>>2]|0;
    61057    $1419 = $1418 << 1;
    61058    $1420 = $2;
    61059    $1421 = ((($1420)) + 48|0);
    61060    HEAP32[$1421>>2] = $1419;
    61061    $1422 = $2;
    61062    $1423 = ((($1422)) + 52|0);
    61063    $1424 = HEAP32[$1423>>2]|0;
    61064    $1425 = $1424 << 1;
    61065    $1426 = $2;
    61066    $1427 = ((($1426)) + 52|0);
    61067    HEAP32[$1427>>2] = $1425;
    61068    $1428 = $2;
    61069    $1429 = ((($1428)) + 40|0);
    61070    HEAP32[$1429>>2] = 0;
    61071    $1430 = $3;
    61072    $1 = $1430;
    61073    $2029 = $1;
    61074    STACKTOP = sp;return ($2029|0);
    61075    break;
    61076   }
    61077   case 422: {
    61078    $1441 = $3;
    61079    _pushback($1435,$1441);
    61080    $1 = 92;
    61081    $2029 = $1;
    61082    STACKTOP = sp;return ($2029|0);
    61083    break;
    61084   }
    61085   case 423: {
    61086    $1442 = $2;
    61087    $1443 = ((($1442)) + 40|0);
    61088    $1444 = HEAP32[$1443>>2]|0;
    61089    $1445 = ($1444|0)==(0);
    61090    do {
    61091     if ($1445) {
    61092      label = 427;
    61093     } else {
    61094      $1446 = $2;
    61095      $1447 = ((($1446)) + 40|0);
    61096      $1448 = HEAP32[$1447>>2]|0;
    61097      $1449 = ($1448|0)==(6);
    61098      if ($1449) {
    61099       label = 427;
    61100      } else {
    61101       $1450 = $2;
    61102       $1451 = ((($1450)) + 40|0);
    61103       $1452 = HEAP32[$1451>>2]|0;
    61104       $1453 = ($1452|0)==(10);
    61105       if ($1453) {
    61106        label = 427;
    61107       } else {
    61108        $1454 = $2;
    61109        $1455 = ((($1454)) + 40|0);
    61110        $1456 = HEAP32[$1455>>2]|0;
    61111        $1457 = ($1456|0)==(9);
    61112        if ($1457) {
    61113         label = 427;
    61114        } else {
    61115         $1548 = $2;
    61116         $1549 = (_nextc($1548)|0);
    61117         $3 = $1549;
    61118         $1550 = ($1549|0)==(61);
    61119         $1551 = $2;
    61120         if ($1550) {
    61121          $1552 = (_intern_gen_c($1551,37)|0);
    61122          $1553 = $2;
    61123          $1554 = ((($1553)) + 1132|0);
    61124          $1555 = HEAP32[$1554>>2]|0;
    61125          HEAP32[$1555>>2] = $1552;
    61126          $1556 = $2;
    61127          $1557 = ((($1556)) + 40|0);
    61128          HEAP32[$1557>>2] = 0;
    61129          $1 = 345;
    61130          $2029 = $1;
    61131          STACKTOP = sp;return ($2029|0);
    61132         }
    61133         $1558 = ((($1551)) + 40|0);
    61134         $1559 = HEAP32[$1558>>2]|0;
    61135         $1560 = ($1559|0)==(4);
    61136         if ($1560) {
    61137          $$old136 = $4;
    61138          $$old137 = ($$old136|0)==(0);
    61139          $$old139 = $3;
    61140          $$old140 = ($$old139|0)==(32);
    61141          $or$cond143 = $$old137 | $$old140;
    61142          if (!($or$cond143)) {
    61143           label = 461;
    61144          }
    61145         } else {
    61146          $1561 = $2;
    61147          $1562 = ((($1561)) + 40|0);
    61148          $1563 = HEAP32[$1562>>2]|0;
    61149          $1564 = ($1563|0)==(5);
    61150          $1565 = $4;
    61151          $1566 = ($1565|0)!=(0);
    61152          $or$cond138 = $1564 & $1566;
    61153          $or$cond138$not = $or$cond138 ^ 1;
    61154          $1567 = $3;
    61155          $1568 = ($1567|0)==(32);
    61156          $or$cond141 = $or$cond138$not | $1568;
    61157          if (!($or$cond141)) {
    61158           label = 461;
    61159          }
    61160         }
    61161         if ((label|0) == 461) {
    61162          $1569 = $3;
    61163          $1570 = (($1569) - 9)|0;
    61164          $1571 = ($1570>>>0)<(5);
    61165          if (!($1571)) {
    61166           break;
    61167          }
    61168         }
    61169         $1572 = $2;
    61170         $1573 = ((($1572)) + 40|0);
    61171         $1574 = HEAP32[$1573>>2]|0;
    61172         $1575 = ($1574|0)==(7);
    61173         if ($1575) {
    61174          label = 464;
    61175         } else {
    61176          $1576 = $2;
    61177          $1577 = ((($1576)) + 40|0);
    61178          $1578 = HEAP32[$1577>>2]|0;
    61179          $1579 = ($1578|0)==(8);
    61180          if ($1579) {
    61181           label = 464;
    61182          } else {
    61183           $1581 = $2;
    61184           $$sink144 = 0;$$sink146 = $1581;
    61185          }
    61186         }
    61187         if ((label|0) == 464) {
    61188          $1580 = $2;
    61189          $$sink144 = 4;$$sink146 = $1580;
    61190         }
    61191         $1582 = ((($$sink146)) + 40|0);
    61192         HEAP32[$1582>>2] = $$sink144;
    61193         $1583 = $2;
    61194         $1584 = $3;
    61195         _pushback($1583,$1584);
    61196         $1 = 37;
    61197         $2029 = $1;
    61198         STACKTOP = sp;return ($2029|0);
    61199        }
    61200       }
    61201      }
    61202     }
    61203    } while(0);
    61204    if ((label|0) == 427) {
    61205     $1458 = $2;
    61206     $1459 = (_nextc($1458)|0);
    61207     $3 = $1459;
    61208    }
    61209    $1460 = $3;
    61210    $1461 = ($1460|0)<(0);
    61211    do {
    61212     if ($1461) {
    61213      label = 431;
    61214     } else {
    61215      $1462 = $3;
    61216      $1463 = $1462 | 32;
    61217      $1464 = (($1463) - 97)|0;
    61218      $1465 = ($1464>>>0)<(26);
    61219      if (!($1465)) {
    61220       $1466 = $3;
    61221       $1467 = (($1466) - 48)|0;
    61222       $1468 = ($1467>>>0)<(10);
    61223       if (!($1468)) {
    61224        label = 431;
    61225        break;
    61226       }
    61227      }
    61228      $1470 = $2;
    61229      $1471 = (_nextc($1470)|0);
    61230      $20 = $1471;
    61231      $1472 = $20;
    61232      $1473 = (_isalnum($1472)|0);
    61233      $1474 = ($1473|0)!=(0);
    61234      if ($1474) {
    61235       $1475 = $2;
    61236       _yyerror($1475,63336);
    61237       $1 = 0;
    61238       $2029 = $1;
    61239       STACKTOP = sp;return ($2029|0);
    61240      }
    61241     }
    61242    } while(0);
    61243    if ((label|0) == 431) {
    61244     $1469 = $3;
    61245     $20 = $1469;
    61246     $3 = 81;
    61247    }
    61248    $1476 = $3;
    61249    $1477 = ($1476|0)<(0);
    61250    $1478 = $20;
    61251    $1479 = ($1478|0)<(0);
    61252    $or$cond135 = $1477 | $1479;
    61253    if ($or$cond135) {
    61254     $1480 = $2;
    61255     _yyerror($1480,63360);
    61256     $1 = 0;
    61257     $2029 = $1;
    61258     STACKTOP = sp;return ($2029|0);
    61259    }
    61260    $1481 = $20;
    61261    $21 = $1481;
    61262    $1482 = $20;
    61263    $1483 = ($1482|0)==(40);
    61264    do {
    61265     if ($1483) {
    61266      $20 = 41;
    61267     } else {
    61268      $1484 = $20;
    61269      $1485 = ($1484|0)==(91);
    61270      if ($1485) {
    61271       $20 = 93;
    61272       break;
    61273      }
    61274      $1486 = $20;
    61275      $1487 = ($1486|0)==(123);
    61276      if ($1487) {
    61277       $20 = 125;
    61278       break;
    61279      }
    61280      $1488 = $20;
    61281      $1489 = ($1488|0)==(60);
    61282      if ($1489) {
    61283       $20 = 62;
    61284       break;
    61285      } else {
    61286       $21 = 0;
    61287       break;
    61288      }
    61289     }
    61290    } while(0);
    61291    $1490 = $3;
    61292    do {
    61293     switch ($1490|0) {
    61294     case 81:  {
    61295      $1491 = $2;
    61296      $1492 = $20;
    61297      $1493 = $21;
    61298      $1494 = (_new_strterm($1491,3,$1492,$1493)|0);
    61299      $1495 = $2;
    61300      $1496 = ((($1495)) + 44|0);
    61301      HEAP32[$1496>>2] = $1494;
    61302      $1 = 360;
    61303      $2029 = $1;
    61304      STACKTOP = sp;return ($2029|0);
    61305      break;
    61306     }
    61307     case 113:  {
    61308      $1497 = $2;
    61309      $1498 = $20;
    61310      $1499 = $21;
    61311      $1500 = (_new_strterm($1497,1,$1498,$1499)|0);
    61312      $1501 = $2;
    61313      $1502 = ((($1501)) + 44|0);
    61314      HEAP32[$1502>>2] = $1500;
    61315      $1503 = $2;
    61316      $1504 = (_parse_string($1503)|0);
    61317      $1 = $1504;
    61318      $2029 = $1;
    61319      STACKTOP = sp;return ($2029|0);
    61320      break;
    61321     }
    61322     case 87:  {
    61323      $1505 = $2;
    61324      $1506 = $20;
    61325      $1507 = $21;
    61326      $1508 = (_new_strterm($1505,43,$1506,$1507)|0);
    61327      $1509 = $2;
    61328      $1510 = ((($1509)) + 44|0);
    61329      HEAP32[$1510>>2] = $1508;
    61330      $1 = 358;
    61331      $2029 = $1;
    61332      STACKTOP = sp;return ($2029|0);
    61333      break;
    61334     }
    61335     case 119:  {
    61336      $1511 = $2;
    61337      $1512 = $20;
    61338      $1513 = $21;
    61339      $1514 = (_new_strterm($1511,41,$1512,$1513)|0);
    61340      $1515 = $2;
    61341      $1516 = ((($1515)) + 44|0);
    61342      HEAP32[$1516>>2] = $1514;
    61343      $1 = 358;
    61344      $2029 = $1;
    61345      STACKTOP = sp;return ($2029|0);
    61346      break;
    61347     }
    61348     case 120:  {
    61349      $1517 = $2;
    61350      $1518 = $20;
    61351      $1519 = $21;
    61352      $1520 = (_new_strterm($1517,131,$1518,$1519)|0);
    61353      $1521 = $2;
    61354      $1522 = ((($1521)) + 44|0);
    61355      HEAP32[$1522>>2] = $1520;
    61356      $1 = 361;
    61357      $2029 = $1;
    61358      STACKTOP = sp;return ($2029|0);
    61359      break;
    61360     }
    61361     case 114:  {
    61362      $1523 = $2;
    61363      $1524 = $20;
    61364      $1525 = $21;
    61365      $1526 = (_new_strterm($1523,7,$1524,$1525)|0);
    61366      $1527 = $2;
    61367      $1528 = ((($1527)) + 44|0);
    61368      HEAP32[$1528>>2] = $1526;
    61369      $1 = 357;
    61370      $2029 = $1;
    61371      STACKTOP = sp;return ($2029|0);
    61372      break;
    61373     }
    61374     case 115:  {
    61375      $1529 = $2;
    61376      $1530 = $20;
    61377      $1531 = $21;
    61378      $1532 = (_new_strterm($1529,17,$1530,$1531)|0);
    61379      $1533 = $2;
    61380      $1534 = ((($1533)) + 44|0);
    61381      HEAP32[$1534>>2] = $1532;
    61382      $1 = 356;
    61383      $2029 = $1;
    61384      STACKTOP = sp;return ($2029|0);
    61385      break;
    61386     }
    61387     case 73:  {
    61388      $1535 = $2;
    61389      $1536 = $20;
    61390      $1537 = $21;
    61391      $1538 = (_new_strterm($1535,51,$1536,$1537)|0);
    61392      $1539 = $2;
    61393      $1540 = ((($1539)) + 44|0);
    61394      HEAP32[$1540>>2] = $1538;
    61395      $1 = 359;
    61396      $2029 = $1;
    61397      STACKTOP = sp;return ($2029|0);
    61398      break;
    61399     }
    61400     case 105:  {
    61401      $1541 = $2;
    61402      $1542 = $20;
    61403      $1543 = $21;
    61404      $1544 = (_new_strterm($1541,49,$1542,$1543)|0);
    61405      $1545 = $2;
    61406      $1546 = ((($1545)) + 44|0);
    61407      HEAP32[$1546>>2] = $1544;
    61408      $1 = 359;
    61409      $2029 = $1;
    61410      STACKTOP = sp;return ($2029|0);
    61411      break;
    61412     }
    61413     default: {
    61414      $1547 = $2;
    61415      _yyerror($1547,63336);
    61416      $1 = 0;
    61417      $2029 = $1;
    61418      STACKTOP = sp;return ($2029|0);
    61419     }
    61420     }
    61421    } while(0);
    61422    break;
    61423   }
    61424   case 467: {
    61425    $1585 = $2;
    61426    $1586 = ((($1585)) + 40|0);
    61427    HEAP32[$1586>>2] = 1;
    61428    $1587 = $2;
    61429    $1588 = (_newtok($1587)|0);
    61430    $7 = $1588;
    61431    $1589 = $2;
    61432    $1590 = (_nextc($1589)|0);
    61433    $3 = $1590;
    61434    $1591 = $3;
    61435    $1592 = ($1591|0)<(0);
    61436    if ($1592) {
    61437     $1593 = $2;
    61438     _yyerror($1593,63405);
    61439     $1 = 0;
    61440     $2029 = $1;
    61441     STACKTOP = sp;return ($2029|0);
    61442    }
    61443    $1594 = $3;
    61444    L568: do {
    61445     switch ($1594|0) {
    61446     case 95:  {
    61447      $1595 = $2;
    61448      $1596 = (_nextc($1595)|0);
    61449      $3 = $1596;
    61450      $1597 = $3;
    61451      $1598 = ($1597|0)>=(0);
    61452      do {
    61453       if ($1598) {
    61454        $1599 = $3;
    61455        $1600 = $1599 | 32;
    61456        $1601 = (($1600) - 97)|0;
    61457        $1602 = ($1601>>>0)<(26);
    61458        if (!($1602)) {
    61459         $1603 = $3;
    61460         $1604 = (($1603) - 48)|0;
    61461         $1605 = ($1604>>>0)<(10);
    61462         $1606 = $3;
    61463         $1607 = ($1606|0)==(95);
    61464         $or$cond149 = $1605 | $1607;
    61465         $or$cond149$not = $or$cond149 ^ 1;
    61466         $1608 = $3;
    61467         $1609 = ($1608>>>0)<=(127);
    61468         $or$cond152 = $or$cond149$not & $1609;
    61469         if ($or$cond152) {
    61470          break;
    61471         }
    61472        }
    61473        $1610 = $2;
    61474        _tokadd($1610,36);
    61475        $1611 = $2;
    61476        $1612 = $3;
    61477        _tokadd($1611,$1612);
    61478        label = 511;
    61479        break L47;
    61480       }
    61481      } while(0);
    61482      $1613 = $2;
    61483      $1614 = $3;
    61484      _pushback($1613,$1614);
    61485      $3 = 95;
    61486      label = 475;
    61487      break;
    61488     }
    61489     case 34: case 62: case 60: case 58: case 61: case 46: case 44: case 59: case 92: case 47: case 64: case 33: case 63: case 36: case 42: case 126:  {
    61490      label = 475;
    61491      break;
    61492     }
    61493     case 45:  {
    61494      $1626 = $2;
    61495      _tokadd($1626,36);
    61496      $1627 = $2;
    61497      $1628 = $3;
    61498      _tokadd($1627,$1628);
    61499      $1629 = $2;
    61500      $1630 = (_nextc($1629)|0);
    61501      $3 = $1630;
    61502      $1631 = $2;
    61503      $1632 = $3;
    61504      _pushback($1631,$1632);
    61505      label = 477;
    61506      break;
    61507     }
    61508     case 43: case 39: case 96: case 38:  {
    61509      $1641 = $6;
    61510      $1642 = ($1641|0)==(7);
    61511      $1643 = $2;
    61512      if ($1642) {
    61513       _tokadd($1643,36);
    61514       $1644 = $2;
    61515       $1645 = $3;
    61516       _tokadd($1644,$1645);
    61517       label = 477;
    61518       break L568;
    61519      }
    61520      $1646 = $3;
    61521      $1647 = (_new_back_ref($1643,$1646)|0);
    61522      $1648 = $2;
    61523      $1649 = ((($1648)) + 1132|0);
    61524      $1650 = HEAP32[$1649>>2]|0;
    61525      HEAP32[$1650>>2] = $1647;
    61526      $1 = 322;
    61527      $2029 = $1;
    61528      STACKTOP = sp;return ($2029|0);
    61529      break;
    61530     }
    61531     case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49:  {
    61532      while(1) {
    61533       $1651 = $2;
    61534       $1652 = $3;
    61535       _tokadd($1651,$1652);
    61536       $1653 = $2;
    61537       $1654 = (_nextc($1653)|0);
    61538       $3 = $1654;
    61539       $1655 = $3;
    61540       $1656 = ($1655|0)>=(0);
    61541       if (!($1656)) {
    61542        break;
    61543       }
    61544       $1657 = $3;
    61545       $1658 = (_isdigit($1657)|0);
    61546       $1659 = ($1658|0)!=(0);
    61547       if (!($1659)) {
    61548        break;
    61549       }
    61550      }
    61551      $1660 = $2;
    61552      $1661 = $3;
    61553      _pushback($1660,$1661);
    61554      $1662 = $6;
    61555      $1663 = ($1662|0)==(7);
    61556      if ($1663) {
    61557       label = 477;
    61558      } else {
    61559       $1664 = $2;
    61560       _tokfix($1664);
    61561       $1665 = $2;
    61562       $1666 = (_tok($1665)|0);
    61563       $1667 = (_strtoul($1666,0,10)|0);
    61564       $22 = $1667;
    61565       $1668 = $22;
    61566       $1669 = ($1668>>>0)>(2147483647);
    61567       $1670 = $2;
    61568       if ($1669) {
    61569        _yyerror_i($1670,63439,2147483647);
    61570        $1 = 0;
    61571        $2029 = $1;
    61572        STACKTOP = sp;return ($2029|0);
    61573       } else {
    61574        $1671 = $22;
    61575        $1672 = (_new_nth_ref($1670,$1671)|0);
    61576        $1673 = $2;
    61577        $1674 = ((($1673)) + 1132|0);
    61578        $1675 = HEAP32[$1674>>2]|0;
    61579        HEAP32[$1675>>2] = $1672;
    61580        $1 = 321;
    61581        $2029 = $1;
    61582        STACKTOP = sp;return ($2029|0);
    61583       }
    61584      }
    61585      break;
    61586     }
    61587     case 48:  {
    61588      label = 490;
    61589      break;
    61590     }
    61591     default: {
    61592      $1676 = $3;
    61593      $1677 = $1676 | 32;
    61594      $1678 = (($1677) - 97)|0;
    61595      $1679 = ($1678>>>0)<(26);
    61596      if ($1679) {
    61597       label = 490;
    61598      } else {
    61599       $1680 = $3;
    61600       $1681 = (($1680) - 48)|0;
    61601       $1682 = ($1681>>>0)<(10);
    61602       $1683 = $3;
    61603       $1684 = ($1683|0)==(95);
    61604       $or$cond155 = $1682 | $1684;
    61605       $or$cond155$not = $or$cond155 ^ 1;
    61606       $1685 = $3;
    61607       $1686 = ($1685>>>0)<=(127);
    61608       $or$cond158 = $or$cond155$not & $1686;
    61609       if ($or$cond158) {
    61610        $1687 = $2;
    61611        $1688 = $3;
    61612        _pushback($1687,$1688);
    61613        $1 = 36;
    61614        $2029 = $1;
    61615        STACKTOP = sp;return ($2029|0);
    61616       } else {
    61617        label = 490;
    61618       }
    61619      }
    61620     }
    61621     }
    61622    } while(0);
    61623    if ((label|0) == 475) {
    61624     $1615 = $2;
    61625     _tokadd($1615,36);
    61626     $1616 = $2;
    61627     $1617 = $3;
    61628     _tokadd($1616,$1617);
    61629     $1618 = $2;
    61630     _tokfix($1618);
    61631     $1619 = $2;
    61632     $1620 = $2;
    61633     $1621 = (_tok($1620)|0);
    61634     $1622 = (_intern_cstr_gen($1619,$1621)|0);
    61635     $1623 = $2;
    61636     $1624 = ((($1623)) + 1132|0);
    61637     $1625 = HEAP32[$1624>>2]|0;
    61638     HEAP32[$1625>>2] = $1622;
    61639     $1 = 308;
    61640     $2029 = $1;
    61641     STACKTOP = sp;return ($2029|0);
    61642    }
    61643    else if ((label|0) == 477) {
    61644     $1633 = $2;
    61645     _tokfix($1633);
    61646     $1634 = $2;
    61647     $1635 = $2;
    61648     $1636 = (_tok($1635)|0);
    61649     $1637 = (_intern_cstr_gen($1634,$1636)|0);
    61650     $1638 = $2;
    61651     $1639 = ((($1638)) + 1132|0);
    61652     $1640 = HEAP32[$1639>>2]|0;
    61653     HEAP32[$1640>>2] = $1637;
    61654     $1 = 308;
    61655     $2029 = $1;
    61656     STACKTOP = sp;return ($2029|0);
    61657    }
    61658    else if ((label|0) == 490) {
    61659     $1689 = $2;
    61660     _tokadd($1689,36);
    61661     label = 511;
    61662     break;
    61663    }
    61664    break;
    61665   }
    61666   case 491: {
    61667    $1690 = $2;
    61668    $1691 = (_nextc($1690)|0);
    61669    $3 = $1691;
    61670    $1692 = $2;
    61671    $1693 = (_newtok($1692)|0);
    61672    $7 = $1693;
    61673    $1694 = $2;
    61674    _tokadd($1694,64);
    61675    $1695 = $3;
    61676    $1696 = ($1695|0)==(64);
    61677    if ($1696) {
    61678     $1697 = $2;
    61679     _tokadd($1697,64);
    61680     $1698 = $2;
    61681     $1699 = (_nextc($1698)|0);
    61682     $3 = $1699;
    61683    }
    61684    $1700 = $3;
    61685    $1701 = ($1700|0)<(0);
    61686    if ($1701) {
    61687     $1702 = $2;
    61688     $1703 = ((($1702)) + 1108|0);
    61689     $1704 = HEAP32[$1703>>2]|0;
    61690     $1705 = ($1704|0)==(1);
    61691     $1706 = $2;
    61692     if ($1705) {
    61693      _yyerror($1706,63473);
    61694     } else {
    61695      _yyerror($1706,63509);
    61696     }
    61697     $1 = 0;
    61698     $2029 = $1;
    61699     STACKTOP = sp;return ($2029|0);
    61700    }
    61701    $1707 = $3;
    61702    $1708 = (_isdigit($1707)|0);
    61703    $1709 = ($1708|0)!=(0);
    61704    if (!($1709)) {
    61705     $1716 = $3;
    61706     $1717 = $1716 | 32;
    61707     $1718 = (($1717) - 97)|0;
    61708     $1719 = ($1718>>>0)<(26);
    61709     if ($1719) {
    61710      label = 511;
    61711      break;
    61712     }
    61713     $1720 = $3;
    61714     $1721 = (($1720) - 48)|0;
    61715     $1722 = ($1721>>>0)<(10);
    61716     $1723 = $3;
    61717     $1724 = ($1723|0)==(95);
    61718     $or$cond161 = $1722 | $1724;
    61719     $or$cond161$not = $or$cond161 ^ 1;
    61720     $1725 = $3;
    61721     $1726 = ($1725>>>0)<=(127);
    61722     $or$cond164 = $or$cond161$not & $1726;
    61723     if (!($or$cond164)) {
    61724      label = 511;
    61725      break;
    61726     }
    61727     $1727 = $2;
    61728     $1728 = $3;
    61729     _pushback($1727,$1728);
    61730     $1 = 64;
    61731     $2029 = $1;
    61732     STACKTOP = sp;return ($2029|0);
    61733    }
    61734    $1710 = $2;
    61735    $1711 = ((($1710)) + 1108|0);
    61736    $1712 = HEAP32[$1711>>2]|0;
    61737    $1713 = ($1712|0)==(1);
    61738    $1714 = $2;
    61739    $1715 = $3;
    61740    if ($1713) {
    61741     _yyerror_i($1714,63542,$1715);
    61742    } else {
    61743     _yyerror_i($1714,63592,$1715);
    61744    }
    61745    $1 = 0;
    61746    $2029 = $1;
    61747    STACKTOP = sp;return ($2029|0);
    61748    break;
    61749   }
    61750   case 506: {
    61751    $1729 = $2;
    61752    $1730 = (_newtok($1729)|0);
    61753    $7 = $1730;
    61754    label = 511;
    61755    break;
    61756   }
    61757   case 510: {
    61758    $1744 = $2;
    61759    $1745 = (_newtok($1744)|0);
    61760    $7 = $1745;
    61761    label = 511;
    61762    break;
    61763   }
    61764  }
    61765  if ((label|0) == 24) {
    61766   $100 = $2;
    61767   $101 = ((($100)) + 72|0);
    61768   $102 = HEAP8[$101>>0]|0;
    61769   $103 = $102 & -2;
    61770   $104 = $103 | 1;
    61771   HEAP8[$101>>0] = $104;
    61772   $105 = $2;
    61773   $106 = ((($105)) + 40|0);
    61774   HEAP32[$106>>2] = 0;
    61775   $1 = 10;
    61776   $2029 = $1;
    61777   STACKTOP = sp;return ($2029|0);
    61778  }
    61779  else if ((label|0) == 237) {
    61780   $15 = 0;
    61781   $14 = 0;
    61782   $13 = 0;
    61783   $12 = 0;
    61784   $742 = $2;
    61785   $743 = ((($742)) + 40|0);
    61786   HEAP32[$743>>2] = 1;
    61787   $744 = $2;
    61788   (_newtok($744)|0);
    61789   $745 = $3;
    61790   $746 = ($745|0)==(45);
    61791   $747 = $3;
    61792   $748 = ($747|0)==(43);
    61793   $or$cond60 = $746 | $748;
    61794   if ($or$cond60) {
    61795    $749 = $2;
    61796    $750 = $3;
    61797    _tokadd($749,$750);
    61798    $751 = $2;
    61799    $752 = (_nextc($751)|0);
    61800    $3 = $752;
    61801   }
    61802   $753 = $3;
    61803   $754 = ($753|0)==(48);
    61804   L667: do {
    61805    if ($754) {
    61806     $755 = $2;
    61807     $756 = (_toklen($755)|0);
    61808     $16 = $756;
    61809     $757 = $2;
    61810     $758 = (_nextc($757)|0);
    61811     $3 = $758;
    61812     $759 = $3;
    61813     $760 = ($759|0)==(120);
    61814     $761 = $3;
    61815     $762 = ($761|0)==(88);
    61816     $or$cond63 = $760 | $762;
    61817     if ($or$cond63) {
    61818      $763 = $2;
    61819      $764 = (_nextc($763)|0);
    61820      $3 = $764;
    61821      $765 = $3;
    61822      $766 = ($765|0)>=(0);
    61823      L671: do {
    61824       if ($766) {
    61825        $767 = $3;
    61826        $768 = (($767) - 48)|0;
    61827        $769 = ($768>>>0)<(10);
    61828        if (!($769)) {
    61829         $770 = $3;
    61830         $771 = $770 | 32;
    61831         $772 = (($771) - 97)|0;
    61832         $773 = ($772>>>0)<(6);
    61833         if (!($773)) {
    61834          break;
    61835         }
    61836        }
    61837        while(1) {
    61838         $774 = $3;
    61839         $775 = ($774|0)==(95);
    61840         if ($775) {
    61841          $776 = $15;
    61842          $777 = ($776|0)!=(0);
    61843          if ($777) {
    61844           break L671;
    61845          }
    61846          $778 = $3;
    61847          $15 = $778;
    61848         } else {
    61849          $779 = $3;
    61850          $780 = (($779) - 48)|0;
    61851          $781 = ($780>>>0)<(10);
    61852          if (!($781)) {
    61853           $782 = $3;
    61854           $783 = $782 | 32;
    61855           $784 = (($783) - 97)|0;
    61856           $785 = ($784>>>0)<(6);
    61857           if (!($785)) {
    61858            break L671;
    61859           }
    61860          }
    61861          $15 = 0;
    61862          $786 = $2;
    61863          $787 = $3;
    61864          $788 = (_tolower($787)|0);
    61865          _tokadd($786,$788);
    61866         }
    61867         $789 = $2;
    61868         $790 = (_nextc($789)|0);
    61869         $3 = $790;
    61870         $791 = ($790|0)>=(0);
    61871         if (!($791)) {
    61872          break;
    61873         }
    61874        }
    61875       }
    61876      } while(0);
    61877      $792 = $2;
    61878      $793 = $3;
    61879      _pushback($792,$793);
    61880      $794 = $2;
    61881      _tokfix($794);
    61882      $795 = $2;
    61883      $796 = (_toklen($795)|0);
    61884      $797 = $16;
    61885      $798 = ($796|0)==($797|0);
    61886      if ($798) {
    61887       $799 = $2;
    61888       _yyerror($799,63212);
    61889       $1 = 0;
    61890       $2029 = $1;
    61891       STACKTOP = sp;return ($2029|0);
    61892      }
    61893      $800 = $15;
    61894      $801 = ($800|0)!=(0);
    61895      if ($801) {
    61896       label = 320;
    61897       break;
    61898      }
    61899      $802 = $2;
    61900      $803 = $2;
    61901      $804 = (_tok($803)|0);
    61902      $805 = (_new_int($802,$804,16)|0);
    61903      $806 = $2;
    61904      $807 = ((($806)) + 1132|0);
    61905      $808 = HEAP32[$807>>2]|0;
    61906      HEAP32[$808>>2] = $805;
    61907      $1 = 313;
    61908      $2029 = $1;
    61909      STACKTOP = sp;return ($2029|0);
    61910     }
    61911     $809 = $3;
    61912     $810 = ($809|0)==(98);
    61913     $811 = $3;
    61914     $812 = ($811|0)==(66);
    61915     $or$cond66 = $810 | $812;
    61916     if ($or$cond66) {
    61917      $813 = $2;
    61918      $814 = (_nextc($813)|0);
    61919      $3 = $814;
    61920      $815 = $3;
    61921      $816 = ($815|0)==(48);
    61922      $817 = $3;
    61923      $818 = ($817|0)==(49);
    61924      $or$cond69 = $816 | $818;
    61925      L695: do {
    61926       if ($or$cond69) {
    61927        while(1) {
    61928         $819 = $3;
    61929         $820 = ($819|0)==(95);
    61930         if ($820) {
    61931          $821 = $15;
    61932          $822 = ($821|0)!=(0);
    61933          if ($822) {
    61934           break L695;
    61935          }
    61936          $823 = $3;
    61937          $15 = $823;
    61938         } else {
    61939          $824 = $3;
    61940          $825 = ($824|0)!=(48);
    61941          $826 = $3;
    61942          $827 = ($826|0)!=(49);
    61943          $or$cond72 = $825 & $827;
    61944          if ($or$cond72) {
    61945           break L695;
    61946          }
    61947          $15 = 0;
    61948          $828 = $2;
    61949          $829 = $3;
    61950          _tokadd($828,$829);
    61951         }
    61952         $830 = $2;
    61953         $831 = (_nextc($830)|0);
    61954         $3 = $831;
    61955         $832 = ($831|0)>=(0);
    61956         if (!($832)) {
    61957          break;
    61958         }
    61959        }
    61960       }
    61961      } while(0);
    61962      $833 = $2;
    61963      $834 = $3;
    61964      _pushback($833,$834);
    61965      $835 = $2;
    61966      _tokfix($835);
    61967      $836 = $2;
    61968      $837 = (_toklen($836)|0);
    61969      $838 = $16;
    61970      $839 = ($837|0)==($838|0);
    61971      if ($839) {
    61972       $840 = $2;
    61973       _yyerror($840,63212);
    61974       $1 = 0;
    61975       $2029 = $1;
    61976       STACKTOP = sp;return ($2029|0);
    61977      }
    61978      $841 = $15;
    61979      $842 = ($841|0)!=(0);
    61980      if ($842) {
    61981       label = 320;
    61982       break;
    61983      }
    61984      $843 = $2;
    61985      $844 = $2;
    61986      $845 = (_tok($844)|0);
    61987      $846 = (_new_int($843,$845,2)|0);
    61988      $847 = $2;
    61989      $848 = ((($847)) + 1132|0);
    61990      $849 = HEAP32[$848>>2]|0;
    61991      HEAP32[$849>>2] = $846;
    61992      $1 = 313;
    61993      $2029 = $1;
    61994      STACKTOP = sp;return ($2029|0);
    61995     }
    61996     $850 = $3;
    61997     $851 = ($850|0)==(100);
    61998     $852 = $3;
    61999     $853 = ($852|0)==(68);
    62000     $or$cond75 = $851 | $853;
    62001     if ($or$cond75) {
    62002      $854 = $2;
    62003      $855 = (_nextc($854)|0);
    62004      $3 = $855;
    62005      $856 = $3;
    62006      $857 = ($856|0)>=(0);
    62007      L714: do {
    62008       if ($857) {
    62009        $858 = $3;
    62010        $859 = (($858) - 48)|0;
    62011        $860 = ($859>>>0)<(10);
    62012        if ($860) {
    62013         while(1) {
    62014          $861 = $3;
    62015          $862 = ($861|0)==(95);
    62016          if ($862) {
    62017           $863 = $15;
    62018           $864 = ($863|0)!=(0);
    62019           if ($864) {
    62020            break L714;
    62021           }
    62022           $865 = $3;
    62023           $15 = $865;
    62024          } else {
    62025           $866 = $3;
    62026           $867 = (($866) - 48)|0;
    62027           $868 = ($867>>>0)<(10);
    62028           if (!($868)) {
    62029            break L714;
    62030           }
    62031           $15 = 0;
    62032           $869 = $2;
    62033           $870 = $3;
    62034           _tokadd($869,$870);
    62035          }
    62036          $871 = $2;
    62037          $872 = (_nextc($871)|0);
    62038          $3 = $872;
    62039          $873 = ($872|0)>=(0);
    62040          if (!($873)) {
    62041           break;
    62042          }
    62043         }
    62044        }
    62045       }
    62046      } while(0);
    62047      $874 = $2;
    62048      $875 = $3;
    62049      _pushback($874,$875);
    62050      $876 = $2;
    62051      _tokfix($876);
    62052      $877 = $2;
    62053      $878 = (_toklen($877)|0);
    62054      $879 = $16;
    62055      $880 = ($878|0)==($879|0);
    62056      if ($880) {
    62057       $881 = $2;
    62058       _yyerror($881,63212);
    62059       $1 = 0;
    62060       $2029 = $1;
    62061       STACKTOP = sp;return ($2029|0);
    62062      }
    62063      $882 = $15;
    62064      $883 = ($882|0)!=(0);
    62065      if ($883) {
    62066       label = 320;
    62067       break;
    62068      }
    62069      $884 = $2;
    62070      $885 = $2;
    62071      $886 = (_tok($885)|0);
    62072      $887 = (_new_int($884,$886,10)|0);
    62073      $888 = $2;
    62074      $889 = ((($888)) + 1132|0);
    62075      $890 = HEAP32[$889>>2]|0;
    62076      HEAP32[$890>>2] = $887;
    62077      $1 = 313;
    62078      $2029 = $1;
    62079      STACKTOP = sp;return ($2029|0);
    62080     }
    62081     $891 = $3;
    62082     $892 = ($891|0)==(95);
    62083     if ($892) {
    62084      label = 286;
    62085     } else {
    62086      $893 = $3;
    62087      $894 = ($893|0)==(111);
    62088      $895 = $3;
    62089      $896 = ($895|0)==(79);
    62090      $or$cond78 = $894 | $896;
    62091      do {
    62092       if ($or$cond78) {
    62093        $897 = $2;
    62094        $898 = (_nextc($897)|0);
    62095        $3 = $898;
    62096        $899 = $3;
    62097        $900 = ($899|0)<(0);
    62098        $901 = $3;
    62099        $902 = ($901|0)==(95);
    62100        $or$cond81 = $900 | $902;
    62101        if (!($or$cond81)) {
    62102         $903 = $3;
    62103         $904 = (($903) - 48)|0;
    62104         $905 = ($904>>>0)<(10);
    62105         if ($905) {
    62106          break;
    62107         }
    62108        }
    62109        $906 = $2;
    62110        _yyerror($906,63212);
    62111        $1 = 0;
    62112        $2029 = $1;
    62113        STACKTOP = sp;return ($2029|0);
    62114       }
    62115      } while(0);
    62116      $907 = $3;
    62117      $908 = ($907|0)>=(48);
    62118      $909 = $3;
    62119      $910 = ($909|0)<=(55);
    62120      $or$cond84 = $908 & $910;
    62121      if ($or$cond84) {
    62122       label = 286;
    62123      } else {
    62124       label = 298;
    62125      }
    62126     }
    62127     L741: do {
    62128      if ((label|0) == 286) {
    62129       while(1) {
    62130        label = 0;
    62131        $911 = $3;
    62132        $912 = ($911|0)==(95);
    62133        if ($912) {
    62134         $913 = $15;
    62135         $914 = ($913|0)!=(0);
    62136         if ($914) {
    62137          break;
    62138         }
    62139         $915 = $3;
    62140         $15 = $915;
    62141        } else {
    62142         $916 = $3;
    62143         $917 = ($916|0)<(48);
    62144         $918 = $3;
    62145         $919 = ($918|0)>(57);
    62146         $or$cond87 = $917 | $919;
    62147         if ($or$cond87) {
    62148          break;
    62149         }
    62150         $920 = $3;
    62151         $921 = ($920|0)>(55);
    62152         if ($921) {
    62153          break L741;
    62154         }
    62155         $15 = 0;
    62156         $922 = $2;
    62157         $923 = $3;
    62158         _tokadd($922,$923);
    62159        }
    62160        $924 = $2;
    62161        $925 = (_nextc($924)|0);
    62162        $3 = $925;
    62163        $926 = ($925|0)>=(0);
    62164        if ($926) {
    62165         label = 286;
    62166        } else {
    62167         break;
    62168        }
    62169       }
    62170       $927 = $2;
    62171       $928 = (_toklen($927)|0);
    62172       $929 = $16;
    62173       $930 = ($928|0)>($929|0);
    62174       if (!($930)) {
    62175        $943 = $15;
    62176        $944 = ($943|0)!=(0);
    62177        if (!($944)) {
    62178         label = 298;
    62179         break;
    62180        }
    62181        $945 = $2;
    62182        $946 = $3;
    62183        _pushback($945,$946);
    62184        label = 320;
    62185        break L667;
    62186       }
    62187       $931 = $2;
    62188       $932 = $3;
    62189       _pushback($931,$932);
    62190       $933 = $2;
    62191       _tokfix($933);
    62192       $934 = $15;
    62193       $935 = ($934|0)!=(0);
    62194       if ($935) {
    62195        label = 320;
    62196        break L667;
    62197       }
    62198       $936 = $2;
    62199       $937 = $2;
    62200       $938 = (_tok($937)|0);
    62201       $939 = (_new_int($936,$938,8)|0);
    62202       $940 = $2;
    62203       $941 = ((($940)) + 1132|0);
    62204       $942 = HEAP32[$941>>2]|0;
    62205       HEAP32[$942>>2] = $939;
    62206       $1 = 313;
    62207       $2029 = $1;
    62208       STACKTOP = sp;return ($2029|0);
    62209      }
    62210     } while(0);
    62211     if ((label|0) == 298) {
    62212      $947 = $3;
    62213      $948 = ($947|0)>(55);
    62214      $949 = $3;
    62215      $950 = ($949|0)<=(57);
    62216      $or$cond90 = $948 & $950;
    62217      if (!($or$cond90)) {
    62218       $952 = $3;
    62219       $953 = ($952|0)==(46);
    62220       $954 = $3;
    62221       $955 = ($954|0)==(101);
    62222       $or$cond93 = $953 | $955;
    62223       $956 = $3;
    62224       $957 = ($956|0)==(69);
    62225       $or$cond96 = $or$cond93 | $957;
    62226       $958 = $2;
    62227       if ($or$cond96) {
    62228        _tokadd($958,48);
    62229        label = 303;
    62230        break;
    62231       }
    62232       $959 = $3;
    62233       _pushback($958,$959);
    62234       $960 = $2;
    62235       $961 = (_new_int($960,63263,10)|0);
    62236       $962 = $2;
    62237       $963 = ((($962)) + 1132|0);
    62238       $964 = HEAP32[$963>>2]|0;
    62239       HEAP32[$964>>2] = $961;
    62240       $1 = 313;
    62241       $2029 = $1;
    62242       STACKTOP = sp;return ($2029|0);
    62243      }
    62244     }
    62245     $951 = $2;
    62246     _yyerror($951,63243);
    62247     label = 303;
    62248    } else {
    62249     label = 303;
    62250    }
    62251   } while(0);
    62252   L766: do {
    62253    if ((label|0) == 303) {
    62254     L767: while(1) {
    62255      label = 0;
    62256      $965 = $3;
    62257      switch ($965|0) {
    62258      case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48:  {
    62259       $15 = 0;
    62260       $966 = $2;
    62261       $967 = $3;
    62262       _tokadd($966,$967);
    62263       break;
    62264      }
    62265      case 46:  {
    62266       $968 = $15;
    62267       $969 = ($968|0)!=(0);
    62268       if ($969) {
    62269        label = 320;
    62270        break L766;
    62271       }
    62272       $970 = $13;
    62273       $971 = ($970|0)!=(0);
    62274       $972 = $14;
    62275       $973 = ($972|0)!=(0);
    62276       $or$cond99 = $971 | $973;
    62277       if ($or$cond99) {
    62278        break L767;
    62279       }
    62280       $974 = $2;
    62281       $975 = (_nextc($974)|0);
    62282       $17 = $975;
    62283       $976 = $17;
    62284       $977 = ($976|0)<(0);
    62285       if ($977) {
    62286        label = 309;
    62287        break L767;
    62288       }
    62289       $978 = $17;
    62290       $979 = (($978) - 48)|0;
    62291       $980 = ($979>>>0)<(10);
    62292       if (!($980)) {
    62293        label = 309;
    62294        break L767;
    62295       }
    62296       $983 = $17;
    62297       $3 = $983;
    62298       $984 = $2;
    62299       _tokadd($984,46);
    62300       $985 = $2;
    62301       $986 = $3;
    62302       _tokadd($985,$986);
    62303       $987 = $12;
    62304       $988 = (($987) + 1)|0;
    62305       $12 = $988;
    62306       $989 = $13;
    62307       $990 = (($989) + 1)|0;
    62308       $13 = $990;
    62309       $15 = 0;
    62310       break;
    62311      }
    62312      case 69: case 101:  {
    62313       $991 = $15;
    62314       $992 = ($991|0)!=(0);
    62315       if ($992) {
    62316        label = 312;
    62317        break L767;
    62318       }
    62319       $996 = $14;
    62320       $997 = ($996|0)!=(0);
    62321       if ($997) {
    62322        break L767;
    62323       }
    62324       $998 = $2;
    62325       $999 = $3;
    62326       _tokadd($998,$999);
    62327       $1000 = $14;
    62328       $1001 = (($1000) + 1)|0;
    62329       $14 = $1001;
    62330       $1002 = $12;
    62331       $1003 = (($1002) + 1)|0;
    62332       $12 = $1003;
    62333       $1004 = $3;
    62334       $15 = $1004;
    62335       $1005 = $2;
    62336       $1006 = (_nextc($1005)|0);
    62337       $3 = $1006;
    62338       $1007 = $3;
    62339       $1008 = ($1007|0)!=(45);
    62340       $1009 = $3;
    62341       $1010 = ($1009|0)!=(43);
    62342       $or$cond102 = $1008 & $1010;
    62343       if ($or$cond102) {
    62344        label = 303;
    62345        continue L767;
    62346       }
    62347       $1011 = $2;
    62348       $1012 = $3;
    62349       _tokadd($1011,$1012);
    62350       $1013 = $3;
    62351       $15 = $1013;
    62352       break;
    62353      }
    62354      case 95:  {
    62355       $1014 = $15;
    62356       $1015 = ($1014|0)!=(0);
    62357       if ($1015) {
    62358        break L767;
    62359       }
    62360       $1016 = $3;
    62361       $15 = $1016;
    62362       break;
    62363      }
    62364      default: {
    62365       break L767;
    62366      }
    62367      }
    62368      $1017 = $2;
    62369      $1018 = (_nextc($1017)|0);
    62370      $3 = $1018;
    62371      label = 303;
    62372     }
    62373     if ((label|0) == 309) {
    62374      $981 = $2;
    62375      $982 = $17;
    62376      _pushback($981,$982);
    62377     }
    62378     else if ((label|0) == 312) {
    62379      $993 = $2;
    62380      $994 = $3;
    62381      _pushback($993,$994);
    62382      $995 = $15;
    62383      $3 = $995;
    62384     }
    62385     $1019 = $2;
    62386     $1020 = $3;
    62387     _pushback($1019,$1020);
    62388     $1021 = $15;
    62389     $1022 = ($1021|0)!=(0);
    62390     if ($1022) {
    62391      label = 320;
    62392     }
    62393    }
    62394   } while(0);
    62395   if ((label|0) == 320) {
    62396    $1023 = $2;
    62397    $1024 = $15;
    62398    _yyerror_i($1023,63265,$1024);
    62399   }
    62400   $1025 = $2;
    62401   _tokfix($1025);
    62402   $1026 = $12;
    62403   $1027 = ($1026|0)!=(0);
    62404   if (!($1027)) {
    62405    $1055 = $2;
    62406    $1056 = $2;
    62407    $1057 = (_tok($1056)|0);
    62408    $1058 = (_new_int($1055,$1057,10)|0);
    62409    $1059 = $2;
    62410    $1060 = ((($1059)) + 1132|0);
    62411    $1061 = HEAP32[$1060>>2]|0;
    62412    HEAP32[$1061>>2] = $1058;
    62413    $1 = 313;
    62414    $2029 = $1;
    62415    STACKTOP = sp;return ($2029|0);
    62416   }
    62417   $1028 = (___errno_location()|0);
    62418   HEAP32[$1028>>2] = 0;
    62419   $1029 = $2;
    62420   $1030 = (_tok($1029)|0);
    62421   $1031 = (+_strtod($1030,$19));
    62422   $18 = $1031;
    62423   $1032 = $18;
    62424   $1033 = $1032 == 0.0;
    62425   if ($1033) {
    62426    $1034 = HEAP32[$19>>2]|0;
    62427    $1035 = $2;
    62428    $1036 = (_tok($1035)|0);
    62429    $1037 = ($1034|0)==($1036|0);
    62430    if ($1037) {
    62431     $1038 = $2;
    62432     $1039 = $2;
    62433     $1040 = (_tok($1039)|0);
    62434     _yywarning_s($1038,63289,$1040);
    62435    } else {
    62436     label = 325;
    62437    }
    62438   } else {
    62439    label = 325;
    62440   }
    62441   if ((label|0) == 325) {
    62442    $1041 = (___errno_location()|0);
    62443    $1042 = HEAP32[$1041>>2]|0;
    62444    $1043 = ($1042|0)==(34);
    62445    if ($1043) {
    62446     $1044 = $2;
    62447     $1045 = $2;
    62448     $1046 = (_tok($1045)|0);
    62449     _yywarning_s($1044,63314,$1046);
    62450     $1047 = (___errno_location()|0);
    62451     HEAP32[$1047>>2] = 0;
    62452    }
    62453   }
    62454   $1048 = $2;
    62455   $1049 = $2;
    62456   $1050 = (_tok($1049)|0);
    62457   $1051 = (_new_float($1048,$1050)|0);
    62458   $1052 = $2;
    62459   $1053 = ((($1052)) + 1132|0);
    62460   $1054 = HEAP32[$1053>>2]|0;
    62461   HEAP32[$1054>>2] = $1051;
    62462   $1 = 314;
    62463   $2029 = $1;
    62464   STACKTOP = sp;return ($2029|0);
    62465  }
    62466  else if ((label|0) == 330) {
    62467   $1066 = $2;
    62468   $1067 = ((($1066)) + 48|0);
    62469   $1068 = HEAP32[$1067>>2]|0;
    62470   $1069 = $1068 >>> 1;
    62471   $1070 = $2;
    62472   $1071 = ((($1070)) + 48|0);
    62473   $1072 = HEAP32[$1071>>2]|0;
    62474   $1073 = $1072 & 1;
    62475   $1074 = $1069 | $1073;
    62476   $1075 = $2;
    62477   $1076 = ((($1075)) + 48|0);
    62478   HEAP32[$1076>>2] = $1074;
    62479   $1077 = $2;
    62480   $1078 = ((($1077)) + 52|0);
    62481   $1079 = HEAP32[$1078>>2]|0;
    62482   $1080 = $1079 >>> 1;
    62483   $1081 = $2;
    62484   $1082 = ((($1081)) + 52|0);
    62485   $1083 = HEAP32[$1082>>2]|0;
    62486   $1084 = $1083 & 1;
    62487   $1085 = $1080 | $1084;
    62488   $1086 = $2;
    62489   $1087 = ((($1086)) + 52|0);
    62490   HEAP32[$1087>>2] = $1085;
    62491   $1088 = $3;
    62492   $1089 = ($1088|0)==(41);
    62493   $1090 = $2;
    62494   $1091 = ((($1090)) + 40|0);
    62495   $$sink103 = $1089 ? 3 : 2;
    62496   HEAP32[$1091>>2] = $$sink103;
    62497   $1092 = $3;
    62498   $1 = $1092;
    62499   $2029 = $1;
    62500   STACKTOP = sp;return ($2029|0);
    62501  }
    62502  else if ((label|0) == 511) {
    62503   while(1) {
    62504    label = 0;
    62505    $1746 = $2;
    62506    $1747 = $3;
    62507    _tokadd($1746,$1747);
    62508    $1748 = $2;
    62509    $1749 = (_nextc($1748)|0);
    62510    $3 = $1749;
    62511    $1750 = $3;
    62512    $1751 = ($1750|0)<(0);
    62513    if ($1751) {
    62514     break;
    62515    }
    62516    $1752 = $3;
    62517    $1753 = $1752 | 32;
    62518    $1754 = (($1753) - 97)|0;
    62519    $1755 = ($1754>>>0)<(26);
    62520    if ($1755) {
    62521     label = 511;
    62522     continue;
    62523    }
    62524    $1756 = $3;
    62525    $1757 = (($1756) - 48)|0;
    62526    $1758 = ($1757>>>0)<(10);
    62527    $1759 = $3;
    62528    $1760 = ($1759|0)==(95);
    62529    $or$cond173 = $1758 | $1760;
    62530    if ($or$cond173) {
    62531     label = 511;
    62532     continue;
    62533    }
    62534    $1761 = $3;
    62535    $1762 = ($1761>>>0)<=(127);
    62536    $1763 = $1762 ^ 1;
    62537    if ($1763) {
    62538     label = 511;
    62539    } else {
    62540     break;
    62541    }
    62542   }
    62543   $1764 = $7;
    62544   $1765 = ($1764|0)==(0);
    62545   if ($1765) {
    62546    $1766 = $2;
    62547    $1767 = (_toklen($1766)|0);
    62548    $1768 = ($1767|0)==(7);
    62549    if ($1768) {
    62550     $1769 = $3;
    62551     $1770 = ($1769|0)<(0);
    62552     $1771 = $3;
    62553     $1772 = ($1771|0)==(10);
    62554     $or$cond178 = $1770 | $1772;
    62555     if ($or$cond178) {
    62556      $1773 = $2;
    62557      $1774 = (_tok($1773)|0);
    62558      $1775 = $2;
    62559      $1776 = (_toklen($1775)|0);
    62560      $1777 = (_strncmp($1774,63675,$1776)|0);
    62561      $1778 = ($1777|0)==(0);
    62562      if ($1778) {
    62563       $1 = -1;
    62564       $2029 = $1;
    62565       STACKTOP = sp;return ($2029|0);
    62566      }
    62567     }
    62568    }
    62569   }
    62570   $1779 = $2;
    62571   $1780 = (_tok($1779)|0);
    62572   $1781 = HEAP8[$1780>>0]|0;
    62573   $1782 = $1781 << 24 >> 24;
    62574   L817: do {
    62575    switch ($1782|0) {
    62576    case 36: case 64:  {
    62577     $1783 = $2;
    62578     $1784 = $3;
    62579     _pushback($1783,$1784);
    62580     break;
    62581    }
    62582    default: {
    62583     $1785 = $3;
    62584     $1786 = ($1785|0)==(33);
    62585     $1787 = $3;
    62586     $1788 = ($1787|0)==(63);
    62587     $or$cond181 = $1786 | $1788;
    62588     if ($or$cond181) {
    62589      $1789 = $2;
    62590      $1790 = (_peek_n($1789,61,0)|0);
    62591      $1791 = ($1790<<24>>24)!=(0);
    62592      if (!($1791)) {
    62593       $1792 = $2;
    62594       $1793 = $3;
    62595       _tokadd($1792,$1793);
    62596       break L817;
    62597      }
    62598     }
    62599     $1794 = $2;
    62600     $1795 = $3;
    62601     _pushback($1794,$1795);
    62602    }
    62603    }
    62604   } while(0);
    62605   $1796 = $2;
    62606   _tokfix($1796);
    62607   $23 = 0;
    62608   $1797 = $2;
    62609   $1798 = (_tok($1797)|0);
    62610   $1799 = HEAP8[$1798>>0]|0;
    62611   $1800 = $1799 << 24 >> 24;
    62612   L825: do {
    62613    switch ($1800|0) {
    62614    case 36:  {
    62615     $1801 = $2;
    62616     $1802 = ((($1801)) + 40|0);
    62617     HEAP32[$1802>>2] = 1;
    62618     $23 = 308;
    62619     break;
    62620    }
    62621    case 64:  {
    62622     $1803 = $2;
    62623     $1804 = ((($1803)) + 40|0);
    62624     HEAP32[$1804>>2] = 1;
    62625     $1805 = $2;
    62626     $1806 = (_tok($1805)|0);
    62627     $1807 = ((($1806)) + 1|0);
    62628     $1808 = HEAP8[$1807>>0]|0;
    62629     $1809 = $1808 << 24 >> 24;
    62630     $1810 = ($1809|0)==(64);
    62631     if ($1810) {
    62632      $23 = 311;
    62633      break L825;
    62634     } else {
    62635      $23 = 309;
    62636      break L825;
    62637     }
    62638     break;
    62639    }
    62640    default: {
    62641     $1811 = $2;
    62642     $1812 = (_toklast($1811)|0);
    62643     $1813 = ($1812|0)==(33);
    62644     do {
    62645      if ($1813) {
    62646       label = 533;
    62647      } else {
    62648       $1814 = $2;
    62649       $1815 = (_toklast($1814)|0);
    62650       $1816 = ($1815|0)==(63);
    62651       if ($1816) {
    62652        label = 533;
    62653       } else {
    62654        $1817 = $2;
    62655        $1818 = ((($1817)) + 40|0);
    62656        $1819 = HEAP32[$1818>>2]|0;
    62657        $1820 = ($1819|0)==(7);
    62658        L830: do {
    62659         if ($1820) {
    62660          $1821 = $2;
    62661          $1822 = (_nextc($1821)|0);
    62662          $3 = $1822;
    62663          $1823 = ($1822|0)==(61);
    62664          do {
    62665           if ($1823) {
    62666            $1824 = $2;
    62667            $1825 = (_peek_n($1824,126,0)|0);
    62668            $1826 = ($1825<<24>>24)!=(0);
    62669            if (!($1826)) {
    62670             $1827 = $2;
    62671             $1828 = (_peek_n($1827,62,0)|0);
    62672             $1829 = ($1828<<24>>24)!=(0);
    62673             if (!($1829)) {
    62674              $1830 = $2;
    62675              $1831 = (_peek_n($1830,61,0)|0);
    62676              $1832 = ($1831<<24>>24)!=(0);
    62677              if ($1832) {
    62678               $1833 = $2;
    62679               $1834 = (_peek_n($1833,62,1)|0);
    62680               $1835 = $1834&255;
    62681               $1836 = ($1835|0)!=(0);
    62682               if (!($1836)) {
    62683                break;
    62684               }
    62685              }
    62686              $23 = 306;
    62687              $1837 = $2;
    62688              $1838 = $3;
    62689              _tokadd($1837,$1838);
    62690              $1839 = $2;
    62691              _tokfix($1839);
    62692              break L830;
    62693             }
    62694            }
    62695           }
    62696          } while(0);
    62697          $1840 = $2;
    62698          $1841 = $3;
    62699          _pushback($1840,$1841);
    62700         }
    62701        } while(0);
    62702        $1842 = $23;
    62703        $1843 = ($1842|0)==(0);
    62704        if ($1843) {
    62705         $1844 = $2;
    62706         $1845 = (_tok($1844)|0);
    62707         $1846 = HEAP8[$1845>>0]|0;
    62708         $1847 = $1846 << 24 >> 24;
    62709         $1848 = (($1847) - 65)|0;
    62710         $1849 = ($1848>>>0)<(26);
    62711         if ($1849) {
    62712          $23 = 310;
    62713          break;
    62714         }
    62715        }
    62716        $23 = 306;
    62717       }
    62718      }
    62719     } while(0);
    62720     if ((label|0) == 533) {
    62721      $23 = 307;
    62722     }
    62723     $1850 = $2;
    62724     $1851 = ((($1850)) + 40|0);
    62725     $1852 = HEAP32[$1851>>2]|0;
    62726     $1853 = ($1852|0)!=(0);
    62727     $1854 = $5;
    62728     $1855 = ($1854|0)!=(0);
    62729     $or$cond184 = $1853 | $1855;
    62730     if ($or$cond184) {
    62731      $1856 = $2;
    62732      $1857 = ((($1856)) + 40|0);
    62733      $1858 = HEAP32[$1857>>2]|0;
    62734      $1859 = ($1858|0)==(4);
    62735      if ($1859) {
    62736       label = 549;
    62737      } else {
    62738       $1860 = $2;
    62739       $1861 = ((($1860)) + 40|0);
    62740       $1862 = HEAP32[$1861>>2]|0;
    62741       $1863 = ($1862|0)==(5);
    62742       if ($1863) {
    62743        label = 549;
    62744       }
    62745      }
    62746     } else {
    62747      label = 549;
    62748     }
    62749     if ((label|0) == 549) {
    62750      $1864 = $2;
    62751      $1865 = (_peek_n($1864,58,0)|0);
    62752      $1866 = $1865&255;
    62753      $1867 = ($1866|0)!=(0);
    62754      if ($1867) {
    62755       $1868 = $2;
    62756       $1869 = (_peek_n($1868,58,1)|0);
    62757       $1870 = ($1869<<24>>24)!=(0);
    62758       if (!($1870)) {
    62759        $1871 = $2;
    62760        $1872 = ((($1871)) + 40|0);
    62761        HEAP32[$1872>>2] = 0;
    62762        $1873 = $2;
    62763        (_nextc($1873)|0);
    62764        $1874 = $2;
    62765        _tokfix($1874);
    62766        $1875 = $2;
    62767        $1876 = $2;
    62768        $1877 = (_tok($1876)|0);
    62769        $1878 = (_intern_cstr_gen($1875,$1877)|0);
    62770        $1879 = $2;
    62771        $1880 = ((($1879)) + 1132|0);
    62772        $1881 = HEAP32[$1880>>2]|0;
    62773        HEAP32[$1881>>2] = $1878;
    62774        $1 = 312;
    62775        $2029 = $1;
    62776        STACKTOP = sp;return ($2029|0);
    62777       }
    62778      }
    62779     }
    62780     $1882 = $2;
    62781     $1883 = ((($1882)) + 40|0);
    62782     $1884 = HEAP32[$1883>>2]|0;
    62783     $1885 = ($1884|0)!=(8);
    62784     if ($1885) {
    62785      $1886 = $2;
    62786      $1887 = (_tok($1886)|0);
    62787      $1888 = $2;
    62788      $1889 = (_toklen($1888)|0);
    62789      $1890 = (_reserved_word($1887,$1889)|0);
    62790      $24 = $1890;
    62791      $1891 = $24;
    62792      $1892 = ($1891|0)!=(0|0);
    62793      if ($1892) {
    62794       $1893 = $2;
    62795       $1894 = ((($1893)) + 40|0);
    62796       $1895 = HEAP32[$1894>>2]|0;
    62797       $25 = $1895;
    62798       $1896 = $2;
    62799       $1897 = ((($1896)) + 32|0);
    62800       $1898 = HEAP32[$1897>>2]|0;
    62801       $1899 = $2;
    62802       $1900 = ((($1899)) + 1132|0);
    62803       $1901 = HEAP32[$1900>>2]|0;
    62804       HEAP32[$1901>>2] = $1898;
    62805       $1902 = $24;
    62806       $1903 = ((($1902)) + 12|0);
    62807       $1904 = HEAP32[$1903>>2]|0;
    62808       $1905 = $2;
    62809       $1906 = ((($1905)) + 40|0);
    62810       HEAP32[$1906>>2] = $1904;
    62811       $1907 = $25;
    62812       $1908 = ($1907|0)==(7);
    62813       $1909 = $2;
    62814       if ($1908) {
    62815        $1910 = $24;
    62816        $1911 = HEAP32[$1910>>2]|0;
    62817        $1912 = (_intern_cstr_gen($1909,$1911)|0);
    62818        $1913 = $2;
    62819        $1914 = ((($1913)) + 1132|0);
    62820        $1915 = HEAP32[$1914>>2]|0;
    62821        HEAP32[$1915>>2] = $1912;
    62822        $1916 = $24;
    62823        $1917 = ((($1916)) + 4|0);
    62824        $1918 = HEAP32[$1917>>2]|0;
    62825        $1 = $1918;
    62826        $2029 = $1;
    62827        STACKTOP = sp;return ($2029|0);
    62828       }
    62829       $1919 = ((($1909)) + 40|0);
    62830       $1920 = HEAP32[$1919>>2]|0;
    62831       $1921 = ($1920|0)==(0);
    62832       if ($1921) {
    62833        $1922 = $2;
    62834        $1923 = ((($1922)) + 72|0);
    62835        $1924 = HEAP8[$1923>>0]|0;
    62836        $1925 = $1924 & -2;
    62837        $1926 = $1925 | 1;
    62838        HEAP8[$1923>>0] = $1926;
    62839       }
    62840       $1927 = $24;
    62841       $1928 = ((($1927)) + 4|0);
    62842       $1929 = HEAP32[$1928>>2]|0;
    62843       $1930 = ($1929|0)==(281);
    62844       if (!($1930)) {
    62845        $1964 = $25;
    62846        $1965 = ($1964|0)==(0);
    62847        $1966 = $25;
    62848        $1967 = ($1966|0)==(10);
    62849        $or$cond193 = $1965 | $1967;
    62850        $1968 = $24;
    62851        $1969 = ((($1968)) + 4|0);
    62852        $1970 = HEAP32[$1969>>2]|0;
    62853        if ($or$cond193) {
    62854         $1 = $1970;
    62855         $2029 = $1;
    62856         STACKTOP = sp;return ($2029|0);
    62857        }
    62858        $1971 = $24;
    62859        $1972 = ((($1971)) + 4|0);
    62860        $1973 = ((($1972)) + 4|0);
    62861        $1974 = HEAP32[$1973>>2]|0;
    62862        $1975 = ($1970|0)!=($1974|0);
    62863        if ($1975) {
    62864         $1976 = $2;
    62865         $1977 = ((($1976)) + 40|0);
    62866         HEAP32[$1977>>2] = 0;
    62867        }
    62868        $1978 = $24;
    62869        $1979 = ((($1978)) + 4|0);
    62870        $1980 = ((($1979)) + 4|0);
    62871        $1981 = HEAP32[$1980>>2]|0;
    62872        $1 = $1981;
    62873        $2029 = $1;
    62874        STACKTOP = sp;return ($2029|0);
    62875       }
    62876       $1931 = $2;
    62877       $1932 = ((($1931)) + 60|0);
    62878       $1933 = HEAP32[$1932>>2]|0;
    62879       $1934 = ($1933|0)!=(0);
    62880       if ($1934) {
    62881        $1935 = $2;
    62882        $1936 = ((($1935)) + 60|0);
    62883        $1937 = HEAP32[$1936>>2]|0;
    62884        $1938 = $2;
    62885        $1939 = ((($1938)) + 56|0);
    62886        $1940 = HEAP32[$1939>>2]|0;
    62887        $1941 = ($1937|0)==($1940|0);
    62888        if ($1941) {
    62889         $1942 = $2;
    62890         $1943 = ((($1942)) + 60|0);
    62891         HEAP32[$1943>>2] = 0;
    62892         $1944 = $2;
    62893         $1945 = ((($1944)) + 56|0);
    62894         $1946 = HEAP32[$1945>>2]|0;
    62895         $1947 = (($1946) + -1)|0;
    62896         HEAP32[$1945>>2] = $1947;
    62897         $1 = 284;
    62898         $2029 = $1;
    62899         STACKTOP = sp;return ($2029|0);
    62900        }
    62901       }
    62902       $1948 = $2;
    62903       $1949 = ((($1948)) + 48|0);
    62904       $1950 = HEAP32[$1949>>2]|0;
    62905       $1951 = $1950 & 1;
    62906       $1952 = ($1951|0)!=(0);
    62907       if ($1952) {
    62908        $1 = 282;
    62909        $2029 = $1;
    62910        STACKTOP = sp;return ($2029|0);
    62911       }
    62912       $1953 = $2;
    62913       $1954 = ((($1953)) + 52|0);
    62914       $1955 = HEAP32[$1954>>2]|0;
    62915       $1956 = $1955 & 1;
    62916       $1957 = ($1956|0)!=(0);
    62917       $1958 = $25;
    62918       $1959 = ($1958|0)!=(5);
    62919       $or$cond187 = $1957 & $1959;
    62920       if ($or$cond187) {
    62921        $1 = 283;
    62922        $2029 = $1;
    62923        STACKTOP = sp;return ($2029|0);
    62924       }
    62925       $1960 = $25;
    62926       $1961 = ($1960|0)==(2);
    62927       $1962 = $25;
    62928       $1963 = ($1962|0)==(0);
    62929       $or$cond190 = $1961 | $1963;
    62930       if ($or$cond190) {
    62931        $1 = 283;
    62932        $2029 = $1;
    62933        STACKTOP = sp;return ($2029|0);
    62934       } else {
    62935        $1 = 281;
    62936        $2029 = $1;
    62937        STACKTOP = sp;return ($2029|0);
    62938       }
    62939      }
    62940     }
    62941     $1982 = $2;
    62942     $1983 = ((($1982)) + 40|0);
    62943     $1984 = HEAP32[$1983>>2]|0;
    62944     $1985 = ($1984|0)==(0);
    62945     if (!($1985)) {
    62946      $1986 = $2;
    62947      $1987 = ((($1986)) + 40|0);
    62948      $1988 = HEAP32[$1987>>2]|0;
    62949      $1989 = ($1988|0)==(6);
    62950      if (!($1989)) {
    62951       $1990 = $2;
    62952       $1991 = ((($1990)) + 40|0);
    62953       $1992 = HEAP32[$1991>>2]|0;
    62954       $1993 = ($1992|0)==(10);
    62955       if (!($1993)) {
    62956        $1994 = $2;
    62957        $1995 = ((($1994)) + 40|0);
    62958        $1996 = HEAP32[$1995>>2]|0;
    62959        $1997 = ($1996|0)==(9);
    62960        if (!($1997)) {
    62961         $1998 = $2;
    62962         $1999 = ((($1998)) + 40|0);
    62963         $2000 = HEAP32[$1999>>2]|0;
    62964         $2001 = ($2000|0)==(8);
    62965         if (!($2001)) {
    62966          $2002 = $2;
    62967          $2003 = ((($2002)) + 40|0);
    62968          $2004 = HEAP32[$2003>>2]|0;
    62969          $2005 = ($2004|0)==(4);
    62970          if (!($2005)) {
    62971           $2006 = $2;
    62972           $2007 = ((($2006)) + 40|0);
    62973           $2008 = HEAP32[$2007>>2]|0;
    62974           $2009 = ($2008|0)==(5);
    62975           if (!($2009)) {
    62976            $2014 = $2;
    62977            $2015 = ((($2014)) + 40|0);
    62978            $2016 = HEAP32[$2015>>2]|0;
    62979            $2017 = ($2016|0)==(7);
    62980            $2018 = $2;
    62981            $2019 = ((($2018)) + 40|0);
    62982            $$sink195 = $2017 ? 3 : 1;
    62983            HEAP32[$2019>>2] = $$sink195;
    62984            break L825;
    62985           }
    62986          }
    62987         }
    62988        }
    62989       }
    62990      }
    62991     }
    62992     $2010 = $5;
    62993     $2011 = ($2010|0)!=(0);
    62994     $2012 = $2;
    62995     $2013 = ((($2012)) + 40|0);
    62996     $$sink194 = $2011 ? 5 : 4;
    62997     HEAP32[$2013>>2] = $$sink194;
    62998    }
    62999    }
    63000   } while(0);
    63001   $2020 = $2;
    63002   $2021 = $2;
    63003   $2022 = (_tok($2021)|0);
    63004   $2023 = (_intern_cstr_gen($2020,$2022)|0);
    63005   $26 = $2023;
    63006   $2024 = $26;
    63007   $2025 = $2;
    63008   $2026 = ((($2025)) + 1132|0);
    63009   $2027 = HEAP32[$2026>>2]|0;
    63010   HEAP32[$2027>>2] = $2024;
    63011   $2028 = $23;
    63012   $1 = $2028;
    63013   $2029 = $1;
    63014   STACKTOP = sp;return ($2029|0);
    63015  }
    63016  return (0)|0;
    63017 }
    63018 function _parse_string($0) {
    63019  $0 = $0|0;
    63020  var $$old = 0, $$old4 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
    63021  var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
    63022  var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
    63023  var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
    63024  var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
    63025  var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
    63026  var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
    63027  var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
    63028  var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0;
    63029  var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0;
    63030  var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0;
    63031  var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0;
    63032  var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0;
    63033  var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0;
    63034  var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0;
    63035  var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0;
    63036  var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0;
    63037  var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0;
    63038  var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
    63039  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    63040  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    63041  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
    63042  sp = STACKTOP;
    63043  STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0);
    63044  $vararg_buffer6 = sp + 8|0;
    63045  $vararg_buffer = sp;
    63046  $12 = sp + 216|0;
    63047  $16 = sp + 209|0;
    63048  $18 = sp + 208|0;
    63049  $21 = sp + 80|0;
    63050  $2 = $0;
    63051  $22 = $2;
    63052  $23 = ((($22)) + 44|0);
    63053  $24 = HEAP32[$23>>2]|0;
    63054  $25 = HEAP32[$24>>2]|0;
    63055  $26 = $25;
    63056  $4 = $26;
    63057  $27 = $2;
    63058  $28 = ((($27)) + 44|0);
    63059  $29 = HEAP32[$28>>2]|0;
    63060  $30 = ((($29)) + 4|0);
    63061  $31 = HEAP32[$30>>2]|0;
    63062  $32 = HEAP32[$31>>2]|0;
    63063  $33 = $32;
    63064  $5 = $33;
    63065  $34 = $2;
    63066  $35 = ((($34)) + 44|0);
    63067  $36 = HEAP32[$35>>2]|0;
    63068  $37 = ((($36)) + 4|0);
    63069  $38 = HEAP32[$37>>2]|0;
    63070  $39 = ((($38)) + 4|0);
    63071  $40 = HEAP32[$39>>2]|0;
    63072  $41 = HEAP32[$40>>2]|0;
    63073  $42 = $41;
    63074  $6 = $42;
    63075  $43 = $2;
    63076  $44 = ((($43)) + 44|0);
    63077  $45 = HEAP32[$44>>2]|0;
    63078  $46 = ((($45)) + 4|0);
    63079  $47 = HEAP32[$46>>2]|0;
    63080  $48 = ((($47)) + 4|0);
    63081  $49 = HEAP32[$48>>2]|0;
    63082  $50 = ((($49)) + 4|0);
    63083  $51 = HEAP32[$50>>2]|0;
    63084  $52 = $51;
    63085  $7 = $52;
    63086  $53 = $4;
    63087  $54 = $53 & 64;
    63088  $55 = ($54|0)!=(0);
    63089  if ($55) {
    63090   $56 = $2;
    63091   $57 = (_parsing_heredoc_inf($56)|0);
    63092   $58 = $57;
    63093  } else {
    63094   $58 = 0;
    63095  }
    63096  $8 = $58;
    63097  $59 = $2;
    63098  (_newtok($59)|0);
    63099  L4: while(1) {
    63100   $60 = $2;
    63101   $61 = (_nextc($60)|0);
    63102   $3 = $61;
    63103   $62 = $7;
    63104   $63 = ($61|0)!=($62|0);
    63105   $64 = $5;
    63106   $65 = ($64|0)!=(0);
    63107   $66 = $63 ? 1 : $65;
    63108   if (!($66)) {
    63109    label = 66;
    63110    break;
    63111   }
    63112   $67 = $8;
    63113   $68 = ($67|0)!=(0|0);
    63114   if ($68) {
    63115    $69 = $3;
    63116    $70 = ($69|0)==(10);
    63117    $71 = $3;
    63118    $72 = ($71|0)<(0);
    63119    $or$cond = $70 | $72;
    63120    if ($or$cond) {
    63121     label = 7;
    63122     break;
    63123    }
    63124   }
    63125   $143 = $3;
    63126   $144 = ($143|0)<(0);
    63127   if ($144) {
    63128    label = 20;
    63129    break;
    63130   }
    63131   $146 = $3;
    63132   $147 = $6;
    63133   $148 = ($146|0)==($147|0);
    63134   do {
    63135    if ($148) {
    63136     $149 = $5;
    63137     $150 = (($149) + 1)|0;
    63138     $5 = $150;
    63139     $151 = $5;
    63140     $152 = $151;
    63141     $153 = $2;
    63142     $154 = ((($153)) + 44|0);
    63143     $155 = HEAP32[$154>>2]|0;
    63144     $156 = ((($155)) + 4|0);
    63145     $157 = HEAP32[$156>>2]|0;
    63146     HEAP32[$157>>2] = $152;
    63147    } else {
    63148     $158 = $3;
    63149     $159 = $7;
    63150     $160 = ($158|0)==($159|0);
    63151     if ($160) {
    63152      $161 = $5;
    63153      $162 = (($161) + -1)|0;
    63154      $5 = $162;
    63155      $163 = $5;
    63156      $164 = $163;
    63157      $165 = $2;
    63158      $166 = ((($165)) + 44|0);
    63159      $167 = HEAP32[$166>>2]|0;
    63160      $168 = ((($167)) + 4|0);
    63161      $169 = HEAP32[$168>>2]|0;
    63162      HEAP32[$169>>2] = $164;
    63163      break;
    63164     }
    63165     $170 = $3;
    63166     $171 = ($170|0)==(92);
    63167     if (!($171)) {
    63168      $238 = $3;
    63169      $239 = ($238|0)==(35);
    63170      if (!($239)) {
    63171       break;
    63172      }
    63173      $240 = $4;
    63174      $241 = $240 & 2;
    63175      $242 = ($241|0)!=(0);
    63176      if (!($242)) {
    63177       break;
    63178      }
    63179      $243 = $2;
    63180      $244 = (_nextc($243)|0);
    63181      $3 = $244;
    63182      $245 = $3;
    63183      $246 = ($245|0)==(123);
    63184      $247 = $2;
    63185      if ($246) {
    63186       label = 50;
    63187       break L4;
    63188      }
    63189      _tokadd($247,35);
    63190      $269 = $2;
    63191      $270 = $3;
    63192      _pushback($269,$270);
    63193      continue L4;
    63194     }
    63195     $172 = $2;
    63196     $173 = (_nextc($172)|0);
    63197     $3 = $173;
    63198     $174 = $4;
    63199     $175 = $174 & 2;
    63200     $176 = ($175|0)!=(0);
    63201     $177 = $3;
    63202     if ($176) {
    63203      $178 = $7;
    63204      $179 = ($177|0)==($178|0);
    63205      if (!($179)) {
    63206       $180 = $3;
    63207       $181 = $6;
    63208       $182 = ($180|0)==($181|0);
    63209       if (!($182)) {
    63210        $185 = $3;
    63211        $186 = ($185|0)==(10);
    63212        if ($186) {
    63213         $187 = $2;
    63214         $188 = ((($187)) + 32|0);
    63215         $189 = HEAP32[$188>>2]|0;
    63216         $190 = (($189) + 1)|0;
    63217         HEAP32[$188>>2] = $190;
    63218         $191 = $2;
    63219         $192 = ((($191)) + 36|0);
    63220         HEAP32[$192>>2] = 0;
    63221         $193 = $4;
    63222         $194 = $193 & 32;
    63223         $195 = ($194|0)!=(0);
    63224         if (!($195)) {
    63225          continue L4;
    63226         }
    63227         $196 = $2;
    63228         _tokadd($196,10);
    63229         continue L4;
    63230        }
    63231        $197 = $4;
    63232        $198 = $197 & 4;
    63233        $199 = ($198|0)!=(0);
    63234        $200 = $2;
    63235        if ($199) {
    63236         _tokadd($200,92);
    63237         $201 = $2;
    63238         $202 = $3;
    63239         _tokadd($201,$202);
    63240         continue L4;
    63241        }
    63242        $203 = $3;
    63243        _pushback($200,$203);
    63244        $204 = $2;
    63245        $205 = $2;
    63246        $206 = (_read_escape($205)|0);
    63247        _tokadd($204,$206);
    63248        $207 = $8;
    63249        $208 = ($207|0)!=(0|0);
    63250        if (!($208)) {
    63251         continue L4;
    63252        }
    63253        $209 = $8;
    63254        $210 = HEAP8[$209>>0]|0;
    63255        $211 = $210 & -3;
    63256        HEAP8[$209>>0] = $211;
    63257        continue L4;
    63258       }
    63259      }
    63260      $183 = $2;
    63261      $184 = $3;
    63262      _tokadd($183,$184);
    63263      continue L4;
    63264     } else {
    63265      $212 = $6;
    63266      $213 = ($177|0)!=($212|0);
    63267      do {
    63268       if ($213) {
    63269        $214 = $3;
    63270        $215 = $7;
    63271        $216 = ($214|0)!=($215|0);
    63272        if ($216) {
    63273         $217 = $3;
    63274         $218 = ($217|0)==(10);
    63275         if ($218) {
    63276          $219 = $2;
    63277          $220 = ((($219)) + 32|0);
    63278          $221 = HEAP32[$220>>2]|0;
    63279          $222 = (($221) + 1)|0;
    63280          HEAP32[$220>>2] = $222;
    63281          $223 = $2;
    63282          $224 = ((($223)) + 36|0);
    63283          HEAP32[$224>>2] = 0;
    63284         }
    63285         $225 = $3;
    63286         $226 = ($225|0)==(92);
    63287         if (!($226)) {
    63288          $227 = $4;
    63289          $228 = $227 & 32;
    63290          $229 = ($228|0)!=(0);
    63291          if ($229) {
    63292           $230 = $3;
    63293           $231 = ($230|0)==(32);
    63294           if ($231) {
    63295            break;
    63296           }
    63297           $232 = $3;
    63298           $233 = (($232) - 9)|0;
    63299           $234 = ($233>>>0)<(5);
    63300           if ($234) {
    63301            break;
    63302           }
    63303          }
    63304          $235 = $2;
    63305          _tokadd($235,92);
    63306         }
    63307        }
    63308       }
    63309      } while(0);
    63310      $236 = $2;
    63311      $237 = $3;
    63312      _tokadd($236,$237);
    63313      continue L4;
    63314     }
    63315    }
    63316   } while(0);
    63317   $271 = $4;
    63318   $272 = $271 & 32;
    63319   $273 = ($272|0)!=(0);
    63320   if ($273) {
    63321    $274 = $3;
    63322    $275 = ($274|0)==(32);
    63323    if ($275) {
    63324     label = 57;
    63325     break;
    63326    }
    63327    $276 = $3;
    63328    $277 = (($276) - 9)|0;
    63329    $278 = ($277>>>0)<(5);
    63330    if ($278) {
    63331     label = 57;
    63332     break;
    63333    }
    63334   }
    63335   $316 = $2;
    63336   $317 = $3;
    63337   _tokadd($316,$317);
    63338  }
    63339  if ((label|0) == 7) {
    63340   $73 = $2;
    63341   _tokadd($73,10);
    63342   $74 = $2;
    63343   _tokfix($74);
    63344   $75 = $2;
    63345   $76 = ((($75)) + 32|0);
    63346   $77 = HEAP32[$76>>2]|0;
    63347   $78 = (($77) + 1)|0;
    63348   HEAP32[$76>>2] = $78;
    63349   $79 = $2;
    63350   $80 = ((($79)) + 36|0);
    63351   HEAP32[$80>>2] = 0;
    63352   $81 = $8;
    63353   $82 = HEAP8[$81>>0]|0;
    63354   $83 = ($82&255) >>> 1;
    63355   $84 = $83 & 1;
    63356   $9 = $84;
    63357   $85 = $8;
    63358   $86 = HEAP8[$85>>0]|0;
    63359   $87 = $86 & -3;
    63360   $88 = $87 | 2;
    63361   HEAP8[$85>>0] = $88;
    63362   $89 = $9;
    63363   $90 = ($89<<24>>24)!=(0);
    63364   if ($90) {
    63365    $91 = $2;
    63366    $92 = (_tok($91)|0);
    63367    $10 = $92;
    63368    $93 = $2;
    63369    $94 = (_toklen($93)|0);
    63370    $11 = $94;
    63371    $95 = $8;
    63372    $96 = HEAP8[$95>>0]|0;
    63373    $97 = $96 & 1;
    63374    $98 = ($97<<24>>24)!=(0);
    63375    L131: do {
    63376     if ($98) {
    63377      while(1) {
    63378       $99 = $10;
    63379       $100 = HEAP8[$99>>0]|0;
    63380       $101 = $100 << 24 >> 24;
    63381       $102 = ($101|0)==(32);
    63382       if ($102) {
    63383        $$old = $11;
    63384        $$old4 = ($$old|0)>(0);
    63385        if (!($$old4)) {
    63386         break L131;
    63387        }
    63388       } else {
    63389        $103 = $10;
    63390        $104 = HEAP8[$103>>0]|0;
    63391        $105 = $104 << 24 >> 24;
    63392        $106 = (($105) - 9)|0;
    63393        $107 = ($106>>>0)<(5);
    63394        $108 = $11;
    63395        $109 = ($108|0)>(0);
    63396        $or$cond5 = $107 & $109;
    63397        if (!($or$cond5)) {
    63398         break L131;
    63399        }
    63400       }
    63401       $110 = $10;
    63402       $111 = ((($110)) + 1|0);
    63403       $10 = $111;
    63404       $112 = $11;
    63405       $113 = (($112) + -1)|0;
    63406       $11 = $113;
    63407      }
    63408     }
    63409    } while(0);
    63410    $114 = $11;
    63411    $115 = (($114) - 1)|0;
    63412    $116 = $8;
    63413    $117 = ((($116)) + 12|0);
    63414    $118 = HEAP32[$117>>2]|0;
    63415    $119 = ($115|0)==($118|0);
    63416    if ($119) {
    63417     $120 = $10;
    63418     $121 = $8;
    63419     $122 = ((($121)) + 8|0);
    63420     $123 = HEAP32[$122>>2]|0;
    63421     $124 = $11;
    63422     $125 = (($124) - 1)|0;
    63423     $126 = (_strncmp($120,$123,$125)|0);
    63424     $127 = ($126|0)==(0);
    63425     if ($127) {
    63426      $1 = 365;
    63427      $430 = $1;
    63428      STACKTOP = sp;return ($430|0);
    63429     }
    63430    }
    63431   }
    63432   $128 = $3;
    63433   $129 = ($128|0)<(0);
    63434   if ($129) {
    63435    $130 = $8;
    63436    $131 = ((($130)) + 8|0);
    63437    $132 = HEAP32[$131>>2]|0;
    63438    HEAP32[$vararg_buffer>>2] = $132;
    63439    (_snprintf($12,256,64354,$vararg_buffer)|0);
    63440    $133 = $2;
    63441    _yyerror($133,$12);
    63442    $1 = 0;
    63443    $430 = $1;
    63444    STACKTOP = sp;return ($430|0);
    63445   } else {
    63446    $134 = $2;
    63447    $135 = $2;
    63448    $136 = (_tok($135)|0);
    63449    $137 = $2;
    63450    $138 = (_toklen($137)|0);
    63451    $139 = (_new_str($134,$136,$138)|0);
    63452    $140 = $2;
    63453    $141 = ((($140)) + 1132|0);
    63454    $142 = HEAP32[$141>>2]|0;
    63455    HEAP32[$142>>2] = $139;
    63456    $1 = 369;
    63457    $430 = $1;
    63458    STACKTOP = sp;return ($430|0);
    63459   }
    63460  }
    63461  else if ((label|0) == 20) {
    63462   $145 = $2;
    63463   _yyerror($145,64408);
    63464   $1 = 0;
    63465   $430 = $1;
    63466   STACKTOP = sp;return ($430|0);
    63467  }
    63468  else if ((label|0) == 50) {
    63469   _tokfix($247);
    63470   $248 = $2;
    63471   $249 = ((($248)) + 40|0);
    63472   HEAP32[$249>>2] = 0;
    63473   $250 = $2;
    63474   $251 = ((($250)) + 72|0);
    63475   $252 = HEAP8[$251>>0]|0;
    63476   $253 = $252 & -2;
    63477   $254 = $253 | 1;
    63478   HEAP8[$251>>0] = $254;
    63479   $255 = $2;
    63480   $256 = $2;
    63481   $257 = (_tok($256)|0);
    63482   $258 = $2;
    63483   $259 = (_toklen($258)|0);
    63484   $260 = (_new_str($255,$257,$259)|0);
    63485   $261 = $2;
    63486   $262 = ((($261)) + 1132|0);
    63487   $263 = HEAP32[$262>>2]|0;
    63488   HEAP32[$263>>2] = $260;
    63489   $264 = $8;
    63490   $265 = ($264|0)!=(0|0);
    63491   if ($265) {
    63492    $266 = $8;
    63493    $267 = HEAP8[$266>>0]|0;
    63494    $268 = $267 & -3;
    63495    HEAP8[$266>>0] = $268;
    63496    $1 = 368;
    63497    $430 = $1;
    63498    STACKTOP = sp;return ($430|0);
    63499   } else {
    63500    $1 = 319;
    63501    $430 = $1;
    63502    STACKTOP = sp;return ($430|0);
    63503   }
    63504  }
    63505  else if ((label|0) == 57) {
    63506   $279 = $2;
    63507   $280 = (_toklen($279)|0);
    63508   $281 = ($280|0)==(0);
    63509   if (!($281)) {
    63510    $304 = $2;
    63511    $305 = $3;
    63512    _pushback($304,$305);
    63513    $306 = $2;
    63514    _tokfix($306);
    63515    $307 = $2;
    63516    $308 = $2;
    63517    $309 = (_tok($308)|0);
    63518    $310 = $2;
    63519    $311 = (_toklen($310)|0);
    63520    $312 = (_new_str($307,$309,$311)|0);
    63521    $313 = $2;
    63522    $314 = ((($313)) + 1132|0);
    63523    $315 = HEAP32[$314>>2]|0;
    63524    HEAP32[$315>>2] = $312;
    63525    $1 = 320;
    63526    $430 = $1;
    63527    STACKTOP = sp;return ($430|0);
    63528   }
    63529   while(1) {
    63530    $282 = $3;
    63531    $283 = ($282|0)==(10);
    63532    if ($283) {
    63533     $284 = $2;
    63534     $285 = ((($284)) + 32|0);
    63535     $286 = HEAP32[$285>>2]|0;
    63536     $287 = (($286) + 1)|0;
    63537     HEAP32[$285>>2] = $287;
    63538     $288 = $2;
    63539     $289 = ((($288)) + 36|0);
    63540     HEAP32[$289>>2] = 0;
    63541     $290 = $2;
    63542     _heredoc_treat_nextline($290);
    63543     $291 = $2;
    63544     $292 = ((($291)) + 1120|0);
    63545     $293 = HEAP32[$292>>2]|0;
    63546     $294 = ($293|0)!=(0|0);
    63547     if ($294) {
    63548      label = 60;
    63549      break;
    63550     }
    63551    }
    63552    $295 = $2;
    63553    $296 = (_nextc($295)|0);
    63554    $3 = $296;
    63555    $297 = $3;
    63556    $298 = ($297|0)==(32);
    63557    if ($298) {
    63558     continue;
    63559    }
    63560    $299 = $3;
    63561    $300 = (($299) - 9)|0;
    63562    $301 = ($300>>>0)<(5);
    63563    if (!($301)) {
    63564     label = 63;
    63565     break;
    63566    }
    63567   }
    63568   if ((label|0) == 60) {
    63569    $1 = 367;
    63570    $430 = $1;
    63571    STACKTOP = sp;return ($430|0);
    63572   }
    63573   else if ((label|0) == 63) {
    63574    $302 = $2;
    63575    $303 = $3;
    63576    _pushback($302,$303);
    63577    $1 = 366;
    63578    $430 = $1;
    63579    STACKTOP = sp;return ($430|0);
    63580   }
    63581  }
    63582  else if ((label|0) == 66) {
    63583   $318 = $2;
    63584   _tokfix($318);
    63585   $319 = $2;
    63586   $320 = ((($319)) + 40|0);
    63587   HEAP32[$320>>2] = 1;
    63588   $321 = $2;
    63589   _end_strterm($321);
    63590   $322 = $4;
    63591   $323 = $322 & 128;
    63592   $324 = ($323|0)!=(0);
    63593   if ($324) {
    63594    $325 = $2;
    63595    $326 = $2;
    63596    $327 = (_tok($326)|0);
    63597    $328 = $2;
    63598    $329 = (_toklen($328)|0);
    63599    $330 = (_new_xstr($325,$327,$329)|0);
    63600    $331 = $2;
    63601    $332 = ((($331)) + 1132|0);
    63602    $333 = HEAP32[$332>>2]|0;
    63603    HEAP32[$333>>2] = $330;
    63604    $1 = 316;
    63605    $430 = $1;
    63606    STACKTOP = sp;return ($430|0);
    63607   }
    63608   $334 = $4;
    63609   $335 = $334 & 4;
    63610   $336 = ($335|0)!=(0);
    63611   if (!($336)) {
    63612    $421 = $2;
    63613    $422 = $2;
    63614    $423 = (_tok($422)|0);
    63615    $424 = $2;
    63616    $425 = (_toklen($424)|0);
    63617    $426 = (_new_str($421,$423,$425)|0);
    63618    $427 = $2;
    63619    $428 = ((($427)) + 1132|0);
    63620    $429 = HEAP32[$428>>2]|0;
    63621    HEAP32[$429>>2] = $426;
    63622    $1 = 318;
    63623    $430 = $1;
    63624    STACKTOP = sp;return ($430|0);
    63625   }
    63626   $13 = 0;
    63627   $337 = $2;
    63628   $338 = $2;
    63629   $339 = (_tok($338)|0);
    63630   $340 = $2;
    63631   $341 = (_toklen($340)|0);
    63632   $342 = (_parser_strndup($337,$339,$341)|0);
    63633   $15 = $342;
    63634   $17 = $16;
    63635   HEAP8[$18>>0] = 0;
    63636   $343 = $2;
    63637   (_newtok($343)|0);
    63638   L65: while(1) {
    63639    $344 = $2;
    63640    $345 = (_nextc($344)|0);
    63641    $14 = $345;
    63642    $346 = $14;
    63643    $347 = ($346|0)>=(0);
    63644    if (!($347)) {
    63645     break;
    63646    }
    63647    $348 = $14;
    63648    $349 = $348 | 32;
    63649    $350 = (($349) - 97)|0;
    63650    $351 = ($350>>>0)<(26);
    63651    if (!($351)) {
    63652     break;
    63653    }
    63654    $352 = $14;
    63655    switch ($352|0) {
    63656    case 105:  {
    63657     $353 = $13;
    63658     $354 = $353 | 1;
    63659     $13 = $354;
    63660     continue L65;
    63661     break;
    63662    }
    63663    case 120:  {
    63664     $355 = $13;
    63665     $356 = $355 | 2;
    63666     $13 = $356;
    63667     continue L65;
    63668     break;
    63669    }
    63670    case 109:  {
    63671     $357 = $13;
    63672     $358 = $357 | 4;
    63673     $13 = $358;
    63674     continue L65;
    63675     break;
    63676    }
    63677    case 117:  {
    63678     $359 = $13;
    63679     $360 = $359 | 16;
    63680     $13 = $360;
    63681     continue L65;
    63682     break;
    63683    }
    63684    case 110:  {
    63685     $361 = $13;
    63686     $362 = $361 | 32;
    63687     $13 = $362;
    63688     continue L65;
    63689     break;
    63690    }
    63691    default: {
    63692     $363 = $2;
    63693     $364 = $14;
    63694     _tokadd($363,$364);
    63695     continue L65;
    63696    }
    63697    }
    63698   }
    63699   $365 = $2;
    63700   $366 = $14;
    63701   _pushback($365,$366);
    63702   $367 = $2;
    63703   $368 = (_toklen($367)|0);
    63704   $369 = ($368|0)!=(0);
    63705   if ($369) {
    63706    $370 = $2;
    63707    _tokfix($370);
    63708    $371 = $2;
    63709    $372 = (_toklen($371)|0);
    63710    $373 = ($372|0)>(1);
    63711    $374 = $373 ? 64446 : 75764;
    63712    $375 = $2;
    63713    $376 = (_tok($375)|0);
    63714    HEAP32[$vararg_buffer6>>2] = $374;
    63715    $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
    63716    HEAP32[$vararg_ptr9>>2] = $376;
    63717    (_snprintf($21,128,64448,$vararg_buffer6)|0);
    63718    $377 = $2;
    63719    _yyerror($377,$21);
    63720   }
    63721   $378 = $13;
    63722   $379 = ($378|0)!=(0);
    63723   if ($379) {
    63724    $380 = $13;
    63725    $381 = $380 & 1;
    63726    $382 = ($381|0)!=(0);
    63727    if ($382) {
    63728     $383 = $17;
    63729     $384 = ((($383)) + 1|0);
    63730     $17 = $384;
    63731     HEAP8[$383>>0] = 105;
    63732    }
    63733    $385 = $13;
    63734    $386 = $385 & 2;
    63735    $387 = ($386|0)!=(0);
    63736    if ($387) {
    63737     $388 = $17;
    63738     $389 = ((($388)) + 1|0);
    63739     $17 = $389;
    63740     HEAP8[$388>>0] = 120;
    63741    }
    63742    $390 = $13;
    63743    $391 = $390 & 4;
    63744    $392 = ($391|0)!=(0);
    63745    if ($392) {
    63746     $393 = $17;
    63747     $394 = ((($393)) + 1|0);
    63748     $17 = $394;
    63749     HEAP8[$393>>0] = 109;
    63750    }
    63751    $395 = $13;
    63752    $396 = $395 & 16;
    63753    $397 = ($396|0)!=(0);
    63754    if ($397) {
    63755     HEAP8[$18>>0] = 117;
    63756    }
    63757    $398 = $13;
    63758    $399 = $398 & 32;
    63759    $400 = ($399|0)!=(0);
    63760    if ($400) {
    63761     HEAP8[$18>>0] = 110;
    63762    }
    63763   }
    63764   $401 = $17;
    63765   $402 = ($401>>>0)>($16>>>0);
    63766   if ($402) {
    63767    $403 = $2;
    63768    $404 = $17;
    63769    $405 = $404;
    63770    $406 = $16;
    63771    $407 = (($405) - ($406))|0;
    63772    $408 = (_parser_strndup($403,$16,$407)|0);
    63773    $20 = $408;
    63774   } else {
    63775    $20 = 0;
    63776   }
    63777   $409 = HEAP8[$18>>0]|0;
    63778   $410 = ($409<<24>>24)!=(0);
    63779   if ($410) {
    63780    $411 = $2;
    63781    $412 = (_parser_strndup($411,$18,1)|0);
    63782    $19 = $412;
    63783   } else {
    63784    $19 = 0;
    63785   }
    63786   $413 = $2;
    63787   $414 = $15;
    63788   $415 = $20;
    63789   $416 = $19;
    63790   $417 = (_new_regx($413,$414,$415,$416)|0);
    63791   $418 = $2;
    63792   $419 = ((($418)) + 1132|0);
    63793   $420 = HEAP32[$419>>2]|0;
    63794   HEAP32[$420>>2] = $417;
    63795   $1 = 317;
    63796   $430 = $1;
    63797   STACKTOP = sp;return ($430|0);
    63798  }
    63799  return (0)|0;
    63800 }
    63801 function _nextc($0) {
    63802  $0 = $0|0;
    63803  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    63804  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    63805  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    63806  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
    63807  var $82 = 0, $83 = 0, $84 = 0, $9 = 0, label = 0, sp = 0;
    63808  sp = STACKTOP;
    63809  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    63810  $2 = $0;
    63811  $5 = $2;
    63812  $6 = ((($5)) + 80|0);
    63813  $7 = HEAP32[$6>>2]|0;
    63814  $8 = ($7|0)!=(0|0);
    63815  $9 = $2;
    63816  do {
    63817   if ($8) {
    63818    $10 = ((($9)) + 80|0);
    63819    $11 = HEAP32[$10>>2]|0;
    63820    $12 = HEAP32[$11>>2]|0;
    63821    $13 = $12;
    63822    $3 = $13;
    63823    $14 = $2;
    63824    $15 = ((($14)) + 80|0);
    63825    $16 = HEAP32[$15>>2]|0;
    63826    $4 = $16;
    63827    $17 = $2;
    63828    $18 = ((($17)) + 80|0);
    63829    $19 = HEAP32[$18>>2]|0;
    63830    $20 = ((($19)) + 4|0);
    63831    $21 = HEAP32[$20>>2]|0;
    63832    $22 = $2;
    63833    $23 = ((($22)) + 80|0);
    63834    HEAP32[$23>>2] = $21;
    63835    $24 = $2;
    63836    $25 = $4;
    63837    _cons_free_gen($24,$25);
    63838   } else {
    63839    $26 = ((($9)) + 20|0);
    63840    $27 = HEAP32[$26>>2]|0;
    63841    $28 = ($27|0)!=(0|0);
    63842    $29 = $2;
    63843    if ($28) {
    63844     $30 = ((($29)) + 20|0);
    63845     $31 = HEAP32[$30>>2]|0;
    63846     $32 = (_feof($31)|0);
    63847     $33 = ($32|0)!=(0);
    63848     if (!($33)) {
    63849      $34 = $2;
    63850      $35 = ((($34)) + 20|0);
    63851      $36 = HEAP32[$35>>2]|0;
    63852      $37 = (_fgetc($36)|0);
    63853      $3 = $37;
    63854      $38 = $3;
    63855      $39 = ($38|0)==(-1);
    63856      if (!($39)) {
    63857       break;
    63858      }
    63859     }
    63860    } else {
    63861     $40 = ((($29)) + 12|0);
    63862     $41 = HEAP32[$40>>2]|0;
    63863     $42 = ($41|0)!=(0|0);
    63864     if ($42) {
    63865      $43 = $2;
    63866      $44 = ((($43)) + 12|0);
    63867      $45 = HEAP32[$44>>2]|0;
    63868      $46 = $2;
    63869      $47 = ((($46)) + 16|0);
    63870      $48 = HEAP32[$47>>2]|0;
    63871      $49 = ($45>>>0)>=($48>>>0);
    63872      if (!($49)) {
    63873       $50 = $2;
    63874       $51 = ((($50)) + 12|0);
    63875       $52 = HEAP32[$51>>2]|0;
    63876       $53 = ((($52)) + 1|0);
    63877       HEAP32[$51>>2] = $53;
    63878       $54 = HEAP8[$52>>0]|0;
    63879       $55 = $54&255;
    63880       $3 = $55;
    63881       break;
    63882      }
    63883     }
    63884    }
    63885    $72 = $2;
    63886    $73 = ((($72)) + 24|0);
    63887    $74 = HEAP32[$73>>2]|0;
    63888    $75 = ($74|0)!=(0|0);
    63889    if (!($75)) {
    63890     $1 = -1;
    63891     $84 = $1;
    63892     STACKTOP = sp;return ($84|0);
    63893    }
    63894    $76 = $2;
    63895    $77 = ((($76)) + 24|0);
    63896    $78 = HEAP32[$77>>2]|0;
    63897    $79 = ((($78)) + 16|0);
    63898    $80 = HEAP32[$79>>2]|0;
    63899    $81 = $2;
    63900    $82 = (FUNCTION_TABLE_ii[$80 & 255]($81)|0);
    63901    $83 = ($82|0)<(0);
    63902    if ($83) {
    63903     $1 = -1;
    63904     $84 = $1;
    63905     STACKTOP = sp;return ($84|0);
    63906    } else {
    63907     $1 = -2;
    63908     $84 = $1;
    63909     STACKTOP = sp;return ($84|0);
    63910    }
    63911   }
    63912  } while(0);
    63913  $56 = $3;
    63914  $57 = ($56|0)>=(0);
    63915  if ($57) {
    63916   $58 = $2;
    63917   $59 = ((($58)) + 36|0);
    63918   $60 = HEAP32[$59>>2]|0;
    63919   $61 = (($60) + 1)|0;
    63920   HEAP32[$59>>2] = $61;
    63921  }
    63922  $62 = $3;
    63923  $63 = ($62|0)==(13);
    63924  if (!($63)) {
    63925   $71 = $3;
    63926   $1 = $71;
    63927   $84 = $1;
    63928   STACKTOP = sp;return ($84|0);
    63929  }
    63930  $64 = $2;
    63931  $65 = (_nextc($64)|0);
    63932  $3 = $65;
    63933  $66 = $3;
    63934  $67 = ($66|0)!=(10);
    63935  if ($67) {
    63936   $68 = $2;
    63937   $69 = $3;
    63938   _pushback($68,$69);
    63939   $1 = 13;
    63940   $84 = $1;
    63941   STACKTOP = sp;return ($84|0);
    63942  } else {
    63943   $70 = $3;
    63944   $1 = $70;
    63945   $84 = $1;
    63946   STACKTOP = sp;return ($84|0);
    63947  }
    63948  return (0)|0;
    63949 }
    63950 function _skip($0,$1) {
    63951  $0 = $0|0;
    63952  $1 = $1|0;
    63953  var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    63954  sp = STACKTOP;
    63955  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    63956  $2 = $0;
    63957  $3 = $1;
    63958  while(1) {
    63959   $5 = $2;
    63960   $6 = (_nextc($5)|0);
    63961   $4 = $6;
    63962   $7 = $4;
    63963   $8 = ($7|0)<(0);
    63964   if ($8) {
    63965    label = 4;
    63966    break;
    63967   }
    63968   $9 = $4;
    63969   $10 = $3;
    63970   $11 = $10 << 24 >> 24;
    63971   $12 = ($9|0)==($11|0);
    63972   if ($12) {
    63973    label = 4;
    63974    break;
    63975   }
    63976  }
    63977  if ((label|0) == 4) {
    63978   STACKTOP = sp;return;
    63979  }
    63980 }
    63981 function _pushback($0,$1) {
    63982  $0 = $0|0;
    63983  $1 = $1|0;
    63984  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    63985  sp = STACKTOP;
    63986  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    63987  $2 = $0;
    63988  $3 = $1;
    63989  $4 = $3;
    63990  $5 = ($4|0)>=(0);
    63991  if ($5) {
    63992   $6 = $2;
    63993   $7 = ((($6)) + 36|0);
    63994   $8 = HEAP32[$7>>2]|0;
    63995   $9 = (($8) + -1)|0;
    63996   HEAP32[$7>>2] = $9;
    63997  }
    63998  $10 = $2;
    63999  $11 = $3;
    64000  $12 = $11;
    64001  $13 = $2;
    64002  $14 = ((($13)) + 80|0);
    64003  $15 = HEAP32[$14>>2]|0;
    64004  $16 = (_cons_gen($10,$12,$15)|0);
    64005  $17 = $2;
    64006  $18 = ((($17)) + 80|0);
    64007  HEAP32[$18>>2] = $16;
    64008  STACKTOP = sp;return;
    64009 }
    64010 function _yywarning($0,$1) {
    64011  $0 = $0|0;
    64012  $1 = $1|0;
    64013  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    64014  sp = STACKTOP;
    64015  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    64016  $2 = $0;
    64017  $3 = $1;
    64018  $4 = $2;
    64019  $5 = $3;
    64020  _yywarn($4,$5);
    64021  STACKTOP = sp;return;
    64022 }
    64023 function _peeks($0,$1) {
    64024  $0 = $0|0;
    64025  $1 = $1|0;
    64026  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    64027  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0;
    64028  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    64029  sp = STACKTOP;
    64030  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    64031  $3 = $0;
    64032  $4 = $1;
    64033  $7 = $4;
    64034  $8 = (_strlen($7)|0);
    64035  $5 = $8;
    64036  $9 = $3;
    64037  $10 = ((($9)) + 20|0);
    64038  $11 = HEAP32[$10>>2]|0;
    64039  $12 = ($11|0)!=(0|0);
    64040  if ($12) {
    64041   $6 = 0;
    64042   while(1) {
    64043    $13 = $4;
    64044    $14 = HEAP8[$13>>0]|0;
    64045    $15 = ($14<<24>>24)!=(0);
    64046    if (!($15)) {
    64047     label = 6;
    64048     break;
    64049    }
    64050    $16 = $3;
    64051    $17 = $4;
    64052    $18 = ((($17)) + 1|0);
    64053    $4 = $18;
    64054    $19 = HEAP8[$17>>0]|0;
    64055    $20 = $19 << 24 >> 24;
    64056    $21 = $6;
    64057    $22 = (($21) + 1)|0;
    64058    $6 = $22;
    64059    $23 = (_peek_n($16,$20,$21)|0);
    64060    $24 = ($23<<24>>24)!=(0);
    64061    if (!($24)) {
    64062     label = 5;
    64063     break;
    64064    }
    64065   }
    64066   if ((label|0) == 5) {
    64067    $2 = 0;
    64068    $45 = $2;
    64069    STACKTOP = sp;return ($45|0);
    64070   }
    64071   else if ((label|0) == 6) {
    64072    $2 = 1;
    64073    $45 = $2;
    64074    STACKTOP = sp;return ($45|0);
    64075   }
    64076  } else {
    64077   $25 = $3;
    64078   $26 = ((($25)) + 12|0);
    64079   $27 = HEAP32[$26>>2]|0;
    64080   $28 = ($27|0)!=(0|0);
    64081   if ($28) {
    64082    $29 = $3;
    64083    $30 = ((($29)) + 12|0);
    64084    $31 = HEAP32[$30>>2]|0;
    64085    $32 = $5;
    64086    $33 = (($31) + ($32)|0);
    64087    $34 = $3;
    64088    $35 = ((($34)) + 16|0);
    64089    $36 = HEAP32[$35>>2]|0;
    64090    $37 = ($33>>>0)<=($36>>>0);
    64091    if ($37) {
    64092     $38 = $3;
    64093     $39 = ((($38)) + 12|0);
    64094     $40 = HEAP32[$39>>2]|0;
    64095     $41 = $4;
    64096     $42 = $5;
    64097     $43 = (_memcmp($40,$41,$42)|0);
    64098     $44 = ($43|0)==(0);
    64099     if ($44) {
    64100      $2 = 1;
    64101      $45 = $2;
    64102      STACKTOP = sp;return ($45|0);
    64103     }
    64104    }
    64105   }
    64106   $2 = 0;
    64107   $45 = $2;
    64108   STACKTOP = sp;return ($45|0);
    64109  }
    64110  return (0)|0;
    64111 }
    64112 function _peekc_n($0,$1) {
    64113  $0 = $0|0;
    64114  $1 = $1|0;
    64115  var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    64116  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    64117  sp = STACKTOP;
    64118  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    64119  $3 = $0;
    64120  $4 = $1;
    64121  $5 = 0;
    64122  while(1) {
    64123   $7 = $3;
    64124   $8 = (_nextc($7)|0);
    64125   $6 = $8;
    64126   $9 = $6;
    64127   $10 = ($9|0)==(-1);
    64128   if ($10) {
    64129    label = 3;
    64130    break;
    64131   }
    64132   $12 = $3;
    64133   $13 = $5;
    64134   $14 = $3;
    64135   $15 = $6;
    64136   $16 = $15;
    64137   $17 = (_list1_gen($14,$16)|0);
    64138   $18 = (_append_gen($12,$13,$17)|0);
    64139   $5 = $18;
    64140   $19 = $4;
    64141   $20 = (($19) + -1)|0;
    64142   $4 = $20;
    64143   $21 = ($19|0)!=(0);
    64144   if (!($21)) {
    64145    break;
    64146   }
    64147  }
    64148  if ((label|0) == 3) {
    64149   $11 = $6;
    64150   $2 = $11;
    64151   $37 = $2;
    64152   STACKTOP = sp;return ($37|0);
    64153  }
    64154  $22 = $3;
    64155  $23 = ((($22)) + 80|0);
    64156  $24 = HEAP32[$23>>2]|0;
    64157  $25 = ($24|0)!=(0|0);
    64158  if ($25) {
    64159   $26 = $3;
    64160   $27 = $5;
    64161   $28 = $3;
    64162   $29 = ((($28)) + 80|0);
    64163   $30 = HEAP32[$29>>2]|0;
    64164   $31 = (_append_gen($26,$27,$30)|0);
    64165   $32 = $3;
    64166   $$sink = $31;$$sink2 = $32;
    64167  } else {
    64168   $33 = $5;
    64169   $34 = $3;
    64170   $$sink = $33;$$sink2 = $34;
    64171  }
    64172  $35 = ((($$sink2)) + 80|0);
    64173  HEAP32[$35>>2] = $$sink;
    64174  $36 = $6;
    64175  $2 = $36;
    64176  $37 = $2;
    64177  STACKTOP = sp;return ($37|0);
    64178 }
    64179 function _skips($0,$1) {
    64180  $0 = $0|0;
    64181  $1 = $1|0;
    64182  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    64183  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    64184  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    64185  sp = STACKTOP;
    64186  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    64187  $3 = $0;
    64188  $4 = $1;
    64189  L1: while(1) {
    64190   while(1) {
    64191    $7 = $3;
    64192    $8 = (_nextc($7)|0);
    64193    $5 = $8;
    64194    $9 = $5;
    64195    $10 = ($9|0)<(0);
    64196    $11 = $5;
    64197    if ($10) {
    64198     label = 4;
    64199     break L1;
    64200    }
    64201    $13 = ($11|0)==(10);
    64202    if ($13) {
    64203     $14 = $3;
    64204     $15 = ((($14)) + 32|0);
    64205     $16 = HEAP32[$15>>2]|0;
    64206     $17 = (($16) + 1)|0;
    64207     HEAP32[$15>>2] = $17;
    64208     $18 = $3;
    64209     $19 = ((($18)) + 36|0);
    64210     HEAP32[$19>>2] = 0;
    64211    }
    64212    $20 = $5;
    64213    $21 = $4;
    64214    $22 = HEAP8[$21>>0]|0;
    64215    $23 = $22 << 24 >> 24;
    64216    $24 = ($20|0)==($23|0);
    64217    if ($24) {
    64218     break;
    64219    }
    64220   }
    64221   $25 = $4;
    64222   $26 = ((($25)) + 1|0);
    64223   $4 = $26;
    64224   $27 = $3;
    64225   $28 = $4;
    64226   $29 = (_peeks($27,$28)|0);
    64227   $30 = ($29<<24>>24)!=(0);
    64228   $31 = $4;
    64229   if ($30) {
    64230    break;
    64231   }
    64232   $45 = ((($31)) + -1|0);
    64233   $4 = $45;
    64234  }
    64235  if ((label|0) == 4) {
    64236   $12 = $11&255;
    64237   $2 = $12;
    64238   $46 = $2;
    64239   STACKTOP = sp;return ($46|0);
    64240  }
    64241  $32 = (_strlen($31)|0);
    64242  $6 = $32;
    64243  while(1) {
    64244   $33 = $6;
    64245   $34 = (($33) + -1)|0;
    64246   $6 = $34;
    64247   $35 = ($33|0)!=(0);
    64248   if (!($35)) {
    64249    break;
    64250   }
    64251   $36 = $3;
    64252   $37 = (_nextc($36)|0);
    64253   $38 = ($37|0)==(10);
    64254   if (!($38)) {
    64255    continue;
    64256   }
    64257   $39 = $3;
    64258   $40 = ((($39)) + 32|0);
    64259   $41 = HEAP32[$40>>2]|0;
    64260   $42 = (($41) + 1)|0;
    64261   HEAP32[$40>>2] = $42;
    64262   $43 = $3;
    64263   $44 = ((($43)) + 36|0);
    64264   HEAP32[$44>>2] = 0;
    64265  }
    64266  $2 = 1;
    64267  $46 = $2;
    64268  STACKTOP = sp;return ($46|0);
    64269 }
    64270 function _heredoc_identifier($0) {
    64271  $0 = $0|0;
    64272  var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    64273  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
    64274  var $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
    64275  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    64276  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    64277  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
    64278  var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond5$not = 0;
    64279  var $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
    64280  sp = STACKTOP;
    64281  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    64282  $2 = $0;
    64283  $4 = 65;
    64284  $5 = 0;
    64285  $6 = 0;
    64286  $10 = $2;
    64287  $11 = (_nextc($10)|0);
    64288  $3 = $11;
    64289  $12 = $3;
    64290  $13 = ($12|0)==(32);
    64291  if (!($13)) {
    64292   $14 = $3;
    64293   $15 = (($14) - 9)|0;
    64294   $16 = ($15>>>0)<(5);
    64295   $17 = $3;
    64296   $18 = ($17|0)==(61);
    64297   $or$cond = $16 | $18;
    64298   if (!($or$cond)) {
    64299    $21 = $3;
    64300    $22 = ($21|0)==(45);
    64301    if ($22) {
    64302     $5 = 1;
    64303     $23 = $2;
    64304     $24 = (_nextc($23)|0);
    64305     $3 = $24;
    64306    }
    64307    $25 = $3;
    64308    $26 = ($25|0)==(39);
    64309    $27 = $3;
    64310    $28 = ($27|0)==(34);
    64311    $or$cond3 = $26 | $28;
    64312    $29 = $3;
    64313    if ($or$cond3) {
    64314     $9 = $29;
    64315     $30 = $3;
    64316     $31 = ($30|0)==(39);
    64317     if ($31) {
    64318      $6 = 1;
    64319     }
    64320     $32 = $2;
    64321     (_newtok($32)|0);
    64322     while(1) {
    64323      $33 = $2;
    64324      $34 = (_nextc($33)|0);
    64325      $3 = $34;
    64326      $35 = ($34|0)>=(0);
    64327      if (!($35)) {
    64328       break;
    64329      }
    64330      $36 = $3;
    64331      $37 = $9;
    64332      $38 = ($36|0)!=($37|0);
    64333      if (!($38)) {
    64334       break;
    64335      }
    64336      $39 = $3;
    64337      $40 = ($39|0)==(10);
    64338      if ($40) {
    64339       label = 13;
    64340       break;
    64341      }
    64342      $41 = $2;
    64343      $42 = $3;
    64344      _tokadd($41,$42);
    64345     }
    64346     if ((label|0) == 13) {
    64347      $3 = -1;
    64348     }
    64349     $43 = $3;
    64350     $44 = ($43|0)<(0);
    64351     if ($44) {
    64352      $45 = $2;
    64353      _yyerror($45,64316);
    64354      $1 = 0;
    64355      $136 = $1;
    64356      STACKTOP = sp;return ($136|0);
    64357     }
    64358    } else {
    64359     $46 = ($29|0)<(0);
    64360     if ($46) {
    64361      $1 = 0;
    64362      $136 = $1;
    64363      STACKTOP = sp;return ($136|0);
    64364     }
    64365     $47 = $3;
    64366     $48 = $47 | 32;
    64367     $49 = (($48) - 97)|0;
    64368     $50 = ($49>>>0)<(26);
    64369     if (!($50)) {
    64370      $51 = $3;
    64371      $52 = (($51) - 48)|0;
    64372      $53 = ($52>>>0)<(10);
    64373      $54 = $3;
    64374      $55 = ($54|0)==(95);
    64375      $or$cond5 = $53 | $55;
    64376      $or$cond5$not = $or$cond5 ^ 1;
    64377      $56 = $3;
    64378      $57 = ($56>>>0)<=(127);
    64379      $or$cond7 = $or$cond5$not & $57;
    64380      if ($or$cond7) {
    64381       $58 = $2;
    64382       $59 = $3;
    64383       _pushback($58,$59);
    64384       $60 = $5;
    64385       $61 = ($60<<24>>24)!=(0);
    64386       if ($61) {
    64387        $62 = $2;
    64388        _pushback($62,45);
    64389       }
    64390       $1 = 0;
    64391       $136 = $1;
    64392       STACKTOP = sp;return ($136|0);
    64393      }
    64394     }
    64395     $63 = $2;
    64396     (_newtok($63)|0);
    64397     while(1) {
    64398      $64 = $2;
    64399      $65 = $3;
    64400      _tokadd($64,$65);
    64401      $66 = $2;
    64402      $67 = (_nextc($66)|0);
    64403      $3 = $67;
    64404      $68 = ($67|0)>=(0);
    64405      if (!($68)) {
    64406       break;
    64407      }
    64408      $69 = $3;
    64409      $70 = $69 | 32;
    64410      $71 = (($70) - 97)|0;
    64411      $72 = ($71>>>0)<(26);
    64412      if ($72) {
    64413       continue;
    64414      }
    64415      $73 = $3;
    64416      $74 = (($73) - 48)|0;
    64417      $75 = ($74>>>0)<(10);
    64418      $76 = $3;
    64419      $77 = ($76|0)==(95);
    64420      $or$cond9 = $75 | $77;
    64421      if ($or$cond9) {
    64422       continue;
    64423      }
    64424      $78 = $3;
    64425      $79 = ($78>>>0)<=(127);
    64426      $80 = $79 ^ 1;
    64427      if (!($80)) {
    64428       break;
    64429      }
    64430     }
    64431     $81 = $2;
    64432     $82 = $3;
    64433     _pushback($81,$82);
    64434    }
    64435    $83 = $2;
    64436    _tokfix($83);
    64437    $84 = $2;
    64438    $85 = (_new_heredoc($84)|0);
    64439    $7 = $85;
    64440    $86 = $7;
    64441    $87 = ((($86)) + 4|0);
    64442    $88 = HEAP32[$87>>2]|0;
    64443    $8 = $88;
    64444    $89 = $2;
    64445    $90 = $2;
    64446    $91 = (_tok($90)|0);
    64447    $92 = $2;
    64448    $93 = (_toklen($92)|0);
    64449    $94 = (_parser_strndup($89,$91,$93)|0);
    64450    $95 = $8;
    64451    $96 = ((($95)) + 8|0);
    64452    HEAP32[$96>>2] = $94;
    64453    $97 = $2;
    64454    $98 = (_toklen($97)|0);
    64455    $99 = $8;
    64456    $100 = ((($99)) + 12|0);
    64457    HEAP32[$100>>2] = $98;
    64458    $101 = $6;
    64459    $102 = ($101<<24>>24)!=(0);
    64460    if (!($102)) {
    64461     $103 = $4;
    64462     $104 = $103 | 2;
    64463     $4 = $104;
    64464    }
    64465    $105 = $4;
    64466    $106 = $8;
    64467    $107 = ((($106)) + 4|0);
    64468    HEAP32[$107>>2] = $105;
    64469    $108 = $5;
    64470    $109 = $8;
    64471    $110 = HEAP8[$109>>0]|0;
    64472    $111 = $108 & 1;
    64473    $112 = $110 & -2;
    64474    $113 = $112 | $111;
    64475    HEAP8[$109>>0] = $113;
    64476    $114 = $8;
    64477    $115 = HEAP8[$114>>0]|0;
    64478    $116 = $115 & -3;
    64479    $117 = $116 | 2;
    64480    HEAP8[$114>>0] = $117;
    64481    $118 = $8;
    64482    $119 = ((($118)) + 16|0);
    64483    HEAP32[$119>>2] = 0;
    64484    $120 = $2;
    64485    $121 = $2;
    64486    $122 = ((($121)) + 1116|0);
    64487    $123 = HEAP32[$122>>2]|0;
    64488    $124 = $2;
    64489    $125 = $7;
    64490    $126 = (_list1_gen($124,$125)|0);
    64491    $127 = (_append_gen($120,$123,$126)|0);
    64492    $128 = $2;
    64493    $129 = ((($128)) + 1116|0);
    64494    HEAP32[$129>>2] = $127;
    64495    $130 = $2;
    64496    $131 = ((($130)) + 40|0);
    64497    HEAP32[$131>>2] = 1;
    64498    $132 = $7;
    64499    $133 = $2;
    64500    $134 = ((($133)) + 1132|0);
    64501    $135 = HEAP32[$134>>2]|0;
    64502    HEAP32[$135>>2] = $132;
    64503    $1 = 364;
    64504    $136 = $1;
    64505    STACKTOP = sp;return ($136|0);
    64506   }
    64507  }
    64508  $19 = $2;
    64509  $20 = $3;
    64510  _pushback($19,$20);
    64511  $1 = 0;
    64512  $136 = $1;
    64513  STACKTOP = sp;return ($136|0);
    64514 }
    64515 function _newtok($0) {
    64516  $0 = $0|0;
    64517  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    64518  sp = STACKTOP;
    64519  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    64520  $1 = $0;
    64521  $2 = $1;
    64522  $3 = ((($2)) + 1108|0);
    64523  HEAP32[$3>>2] = 0;
    64524  $4 = $1;
    64525  $5 = ((($4)) + 36|0);
    64526  $6 = HEAP32[$5>>2]|0;
    64527  $7 = (($6) - 1)|0;
    64528  STACKTOP = sp;return ($7|0);
    64529 }
    64530 function _read_escape($0) {
    64531  $0 = $0|0;
    64532  var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    64533  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
    64534  var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
    64535  var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
    64536  var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
    64537  var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    64538  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    64539  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    64540  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    64541  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0;
    64542  var sp = 0;
    64543  sp = STACKTOP;
    64544  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    64545  $4 = sp + 60|0;
    64546  $5 = sp + 56|0;
    64547  $6 = sp + 48|0;
    64548  $7 = sp + 40|0;
    64549  $8 = sp + 4|0;
    64550  $9 = sp;
    64551  $2 = $0;
    64552  $10 = $2;
    64553  $11 = (_nextc($10)|0);
    64554  $3 = $11;
    64555  L1: do {
    64556   switch ($11|0) {
    64557   case 92:  {
    64558    $12 = $3;
    64559    $1 = $12;
    64560    break;
    64561   }
    64562   case 110:  {
    64563    $1 = 10;
    64564    break;
    64565   }
    64566   case 116:  {
    64567    $1 = 9;
    64568    break;
    64569   }
    64570   case 114:  {
    64571    $1 = 13;
    64572    break;
    64573   }
    64574   case 102:  {
    64575    $1 = 12;
    64576    break;
    64577   }
    64578   case 118:  {
    64579    $1 = 11;
    64580    break;
    64581   }
    64582   case 97:  {
    64583    $1 = 7;
    64584    break;
    64585   }
    64586   case 101:  {
    64587    $1 = 27;
    64588    break;
    64589   }
    64590   case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48:  {
    64591    $13 = $3;
    64592    HEAP32[$4>>2] = $13;
    64593    HEAP32[$5>>2] = 1;
    64594    while(1) {
    64595     $14 = HEAP32[$5>>2]|0;
    64596     $15 = ($14|0)<(3);
    64597     if (!($15)) {
    64598      break;
    64599     }
    64600     $16 = $2;
    64601     $17 = (_nextc($16)|0);
    64602     $18 = HEAP32[$5>>2]|0;
    64603     $19 = (($4) + ($18<<2)|0);
    64604     HEAP32[$19>>2] = $17;
    64605     $20 = HEAP32[$5>>2]|0;
    64606     $21 = (($4) + ($20<<2)|0);
    64607     $22 = HEAP32[$21>>2]|0;
    64608     $23 = ($22|0)<(0);
    64609     if ($23) {
    64610      label = 70;
    64611      break L1;
    64612     }
    64613     $24 = HEAP32[$5>>2]|0;
    64614     $25 = (($4) + ($24<<2)|0);
    64615     $26 = HEAP32[$25>>2]|0;
    64616     $27 = ($26|0)<(48);
    64617     if ($27) {
    64618      label = 15;
    64619      break;
    64620     }
    64621     $28 = HEAP32[$5>>2]|0;
    64622     $29 = (($4) + ($28<<2)|0);
    64623     $30 = HEAP32[$29>>2]|0;
    64624     $31 = (55)<($30|0);
    64625     if ($31) {
    64626      label = 15;
    64627      break;
    64628     }
    64629     $36 = HEAP32[$5>>2]|0;
    64630     $37 = (($36) + 1)|0;
    64631     HEAP32[$5>>2] = $37;
    64632    }
    64633    if ((label|0) == 15) {
    64634     $32 = $2;
    64635     $33 = HEAP32[$5>>2]|0;
    64636     $34 = (($4) + ($33<<2)|0);
    64637     $35 = HEAP32[$34>>2]|0;
    64638     _pushback($32,$35);
    64639    }
    64640    $38 = HEAP32[$5>>2]|0;
    64641    $39 = (_scan_oct($4,$38,$5)|0);
    64642    $3 = $39;
    64643    $40 = $3;
    64644    $1 = $40;
    64645    break;
    64646   }
    64647   case 120:  {
    64648    HEAP32[$7>>2] = 0;
    64649    while(1) {
    64650     $41 = HEAP32[$7>>2]|0;
    64651     $42 = ($41|0)<(2);
    64652     if (!($42)) {
    64653      break;
    64654     }
    64655     $43 = $2;
    64656     $44 = (_nextc($43)|0);
    64657     $45 = HEAP32[$7>>2]|0;
    64658     $46 = (($6) + ($45<<2)|0);
    64659     HEAP32[$46>>2] = $44;
    64660     $47 = HEAP32[$7>>2]|0;
    64661     $48 = (($6) + ($47<<2)|0);
    64662     $49 = HEAP32[$48>>2]|0;
    64663     $50 = ($49|0)<(0);
    64664     if ($50) {
    64665      label = 70;
    64666      break L1;
    64667     }
    64668     $51 = HEAP32[$7>>2]|0;
    64669     $52 = (($6) + ($51<<2)|0);
    64670     $53 = HEAP32[$52>>2]|0;
    64671     $54 = (($53) - 48)|0;
    64672     $55 = ($54>>>0)<(10);
    64673     if (!($55)) {
    64674      $56 = HEAP32[$7>>2]|0;
    64675      $57 = (($6) + ($56<<2)|0);
    64676      $58 = HEAP32[$57>>2]|0;
    64677      $59 = $58 | 32;
    64678      $60 = (($59) - 97)|0;
    64679      $61 = ($60>>>0)<(6);
    64680      if (!($61)) {
    64681       label = 23;
    64682       break;
    64683      }
    64684     }
    64685     $66 = HEAP32[$7>>2]|0;
    64686     $67 = (($66) + 1)|0;
    64687     HEAP32[$7>>2] = $67;
    64688    }
    64689    if ((label|0) == 23) {
    64690     $62 = $2;
    64691     $63 = HEAP32[$7>>2]|0;
    64692     $64 = (($6) + ($63<<2)|0);
    64693     $65 = HEAP32[$64>>2]|0;
    64694     _pushback($62,$65);
    64695    }
    64696    $68 = HEAP32[$7>>2]|0;
    64697    $69 = (_scan_hex($6,$68,$7)|0);
    64698    $3 = $69;
    64699    $70 = HEAP32[$7>>2]|0;
    64700    $71 = ($70|0)==(0);
    64701    if ($71) {
    64702     $72 = $2;
    64703     _yyerror($72,64224);
    64704     $1 = 0;
    64705     break L1;
    64706    } else {
    64707     $73 = $3;
    64708     $1 = $73;
    64709     break L1;
    64710    }
    64711    break;
    64712   }
    64713   case 117:  {
    64714    HEAP32[$9>>2] = 0;
    64715    $74 = $2;
    64716    $75 = (_nextc($74)|0);
    64717    HEAP32[$8>>2] = $75;
    64718    $76 = HEAP32[$8>>2]|0;
    64719    $77 = ($76|0)<(0);
    64720    if ($77) {
    64721     label = 70;
    64722    } else {
    64723     $78 = HEAP32[$8>>2]|0;
    64724     $79 = ($78|0)==(123);
    64725     L37: do {
    64726      if ($79) {
    64727       HEAP32[$9>>2] = 0;
    64728       while(1) {
    64729        $80 = HEAP32[$9>>2]|0;
    64730        $81 = ($80|0)<(9);
    64731        if (!($81)) {
    64732         break L37;
    64733        }
    64734        $82 = $2;
    64735        $83 = (_nextc($82)|0);
    64736        $84 = HEAP32[$9>>2]|0;
    64737        $85 = (($8) + ($84<<2)|0);
    64738        HEAP32[$85>>2] = $83;
    64739        $86 = HEAP32[$9>>2]|0;
    64740        $87 = (($8) + ($86<<2)|0);
    64741        $88 = HEAP32[$87>>2]|0;
    64742        $89 = ($88|0)<(0);
    64743        if ($89) {
    64744         label = 70;
    64745         break L1;
    64746        }
    64747        $90 = HEAP32[$9>>2]|0;
    64748        $91 = (($8) + ($90<<2)|0);
    64749        $92 = HEAP32[$91>>2]|0;
    64750        $93 = ($92|0)==(125);
    64751        if ($93) {
    64752         break L37;
    64753        }
    64754        $94 = HEAP32[$9>>2]|0;
    64755        $95 = (($8) + ($94<<2)|0);
    64756        $96 = HEAP32[$95>>2]|0;
    64757        $97 = (($96) - 48)|0;
    64758        $98 = ($97>>>0)<(10);
    64759        if (!($98)) {
    64760         $99 = HEAP32[$9>>2]|0;
    64761         $100 = (($8) + ($99<<2)|0);
    64762         $101 = HEAP32[$100>>2]|0;
    64763         $102 = $101 | 32;
    64764         $103 = (($102) - 97)|0;
    64765         $104 = ($103>>>0)<(6);
    64766         if (!($104)) {
    64767          break;
    64768         }
    64769        }
    64770        $110 = HEAP32[$9>>2]|0;
    64771        $111 = (($110) + 1)|0;
    64772        HEAP32[$9>>2] = $111;
    64773       }
    64774       $105 = $2;
    64775       _yyerror($105,64224);
    64776       $106 = $2;
    64777       $107 = HEAP32[$9>>2]|0;
    64778       $108 = (($8) + ($107<<2)|0);
    64779       $109 = HEAP32[$108>>2]|0;
    64780       _pushback($106,$109);
    64781       $1 = 0;
    64782       break L1;
    64783      } else {
    64784       $112 = HEAP32[$8>>2]|0;
    64785       $113 = (($112) - 48)|0;
    64786       $114 = ($113>>>0)<(10);
    64787       if (!($114)) {
    64788        $115 = HEAP32[$8>>2]|0;
    64789        $116 = $115 | 32;
    64790        $117 = (($116) - 97)|0;
    64791        $118 = ($117>>>0)<(6);
    64792        if (!($118)) {
    64793         $146 = $2;
    64794         $147 = HEAP32[$8>>2]|0;
    64795         _pushback($146,$147);
    64796         break;
    64797        }
    64798       }
    64799       HEAP32[$9>>2] = 1;
    64800       while(1) {
    64801        $119 = HEAP32[$9>>2]|0;
    64802        $120 = ($119|0)<(4);
    64803        if (!($120)) {
    64804         break L37;
    64805        }
    64806        $121 = $2;
    64807        $122 = (_nextc($121)|0);
    64808        $123 = HEAP32[$9>>2]|0;
    64809        $124 = (($8) + ($123<<2)|0);
    64810        HEAP32[$124>>2] = $122;
    64811        $125 = HEAP32[$9>>2]|0;
    64812        $126 = (($8) + ($125<<2)|0);
    64813        $127 = HEAP32[$126>>2]|0;
    64814        $128 = ($127|0)<(0);
    64815        if ($128) {
    64816         label = 70;
    64817         break L1;
    64818        }
    64819        $129 = HEAP32[$9>>2]|0;
    64820        $130 = (($8) + ($129<<2)|0);
    64821        $131 = HEAP32[$130>>2]|0;
    64822        $132 = (($131) - 48)|0;
    64823        $133 = ($132>>>0)<(10);
    64824        if (!($133)) {
    64825         $134 = HEAP32[$9>>2]|0;
    64826         $135 = (($8) + ($134<<2)|0);
    64827         $136 = HEAP32[$135>>2]|0;
    64828         $137 = $136 | 32;
    64829         $138 = (($137) - 97)|0;
    64830         $139 = ($138>>>0)<(6);
    64831         if (!($139)) {
    64832          break;
    64833         }
    64834        }
    64835        $144 = HEAP32[$9>>2]|0;
    64836        $145 = (($144) + 1)|0;
    64837        HEAP32[$9>>2] = $145;
    64838       }
    64839       $140 = $2;
    64840       $141 = HEAP32[$9>>2]|0;
    64841       $142 = (($8) + ($141<<2)|0);
    64842       $143 = HEAP32[$142>>2]|0;
    64843       _pushback($140,$143);
    64844      }
    64845     } while(0);
    64846     $148 = HEAP32[$9>>2]|0;
    64847     $149 = (_scan_hex($8,$148,$9)|0);
    64848     $3 = $149;
    64849     $150 = HEAP32[$9>>2]|0;
    64850     $151 = ($150|0)==(0);
    64851     if ($151) {
    64852      $152 = $2;
    64853      _yyerror($152,64224);
    64854      $1 = 0;
    64855      break L1;
    64856     }
    64857     $153 = $3;
    64858     $154 = ($153|0)<(0);
    64859     $155 = $3;
    64860     $156 = ($155|0)>(1114111);
    64861     $or$cond = $154 | $156;
    64862     if (!($or$cond)) {
    64863      $157 = $3;
    64864      $158 = $157 & -2048;
    64865      $159 = ($158|0)==(55296);
    64866      if (!($159)) {
    64867       $161 = $3;
    64868       $162 = (0 - ($161))|0;
    64869       $1 = $162;
    64870       break L1;
    64871      }
    64872     }
    64873     $160 = $2;
    64874     _yyerror($160,64256);
    64875     $1 = 0;
    64876    }
    64877    break;
    64878   }
    64879   case 98:  {
    64880    $1 = 8;
    64881    break;
    64882   }
    64883   case 115:  {
    64884    $1 = 32;
    64885    break;
    64886   }
    64887   case 77:  {
    64888    $163 = $2;
    64889    $164 = (_nextc($163)|0);
    64890    $3 = $164;
    64891    $165 = ($164|0)!=(45);
    64892    $166 = $2;
    64893    if ($165) {
    64894     _yyerror($166,64224);
    64895     $167 = $2;
    64896     $168 = $3;
    64897     _pushback($167,$168);
    64898     $1 = 0;
    64899     break L1;
    64900    }
    64901    $169 = (_nextc($166)|0);
    64902    $3 = $169;
    64903    $170 = ($169|0)==(92);
    64904    if ($170) {
    64905     $171 = $2;
    64906     $172 = (_read_escape($171)|0);
    64907     $173 = $172 | 128;
    64908     $1 = $173;
    64909     break L1;
    64910    }
    64911    $174 = $3;
    64912    $175 = ($174|0)<(0);
    64913    if ($175) {
    64914     label = 70;
    64915    } else {
    64916     $176 = $3;
    64917     $177 = $176 & 255;
    64918     $178 = $177 | 128;
    64919     $1 = $178;
    64920    }
    64921    break;
    64922   }
    64923   case 67:  {
    64924    $179 = $2;
    64925    $180 = (_nextc($179)|0);
    64926    $3 = $180;
    64927    $181 = ($180|0)!=(45);
    64928    if ($181) {
    64929     $182 = $2;
    64930     _yyerror($182,64224);
    64931     $183 = $2;
    64932     $184 = $3;
    64933     _pushback($183,$184);
    64934     $1 = 0;
    64935    } else {
    64936     label = 64;
    64937    }
    64938    break;
    64939   }
    64940   case 99:  {
    64941    label = 64;
    64942    break;
    64943   }
    64944   case -2: case -1:  {
    64945    label = 70;
    64946    break;
    64947   }
    64948   default: {
    64949    $197 = $3;
    64950    $1 = $197;
    64951   }
    64952   }
    64953  } while(0);
    64954  L81: do {
    64955   if ((label|0) == 64) {
    64956    $185 = $2;
    64957    $186 = (_nextc($185)|0);
    64958    $3 = $186;
    64959    $187 = ($186|0)==(92);
    64960    do {
    64961     if ($187) {
    64962      $188 = $2;
    64963      $189 = (_read_escape($188)|0);
    64964      $3 = $189;
    64965     } else {
    64966      $190 = $3;
    64967      $191 = ($190|0)==(63);
    64968      if ($191) {
    64969       $1 = 127;
    64970       break L81;
    64971      } else {
    64972       $192 = $3;
    64973       $193 = ($192|0)<(0);
    64974       if ($193) {
    64975        label = 70;
    64976        break L81;
    64977       } else {
    64978        break;
    64979       }
    64980      }
    64981     }
    64982    } while(0);
    64983    $194 = $3;
    64984    $195 = $194 & 159;
    64985    $1 = $195;
    64986   }
    64987  } while(0);
    64988  if ((label|0) == 70) {
    64989   $196 = $2;
    64990   _yyerror($196,64224);
    64991   $1 = 0;
    64992  }
    64993  $198 = $1;
    64994  STACKTOP = sp;return ($198|0);
    64995 }
    64996 function _tokadd($0,$1) {
    64997  $0 = $0|0;
    64998  $1 = $1|0;
    64999  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    65000  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    65001  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    65002  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    65003  var $9 = 0, label = 0, sp = 0;
    65004  sp = STACKTOP;
    65005  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    65006  $4 = sp + 16|0;
    65007  $2 = $0;
    65008  $3 = $1;
    65009  $7 = $3;
    65010  $8 = ($7|0)>=(0);
    65011  $9 = $3;
    65012  do {
    65013   if ($8) {
    65014    $10 = $9&255;
    65015    HEAP8[$4>>0] = $10;
    65016    $5 = 1;
    65017   } else {
    65018    $11 = (0 - ($9))|0;
    65019    $3 = $11;
    65020    $12 = $3;
    65021    $13 = ($12|0)<(128);
    65022    $14 = $3;
    65023    if ($13) {
    65024     $15 = $14&255;
    65025     HEAP8[$4>>0] = $15;
    65026     $5 = 1;
    65027     break;
    65028    }
    65029    $16 = ($14|0)<(2048);
    65030    $17 = $3;
    65031    if ($16) {
    65032     $18 = $17 >> 6;
    65033     $19 = 192 | $18;
    65034     $20 = $19&255;
    65035     HEAP8[$4>>0] = $20;
    65036     $21 = $3;
    65037     $22 = $21 & 63;
    65038     $23 = 128 | $22;
    65039     $24 = $23&255;
    65040     $25 = ((($4)) + 1|0);
    65041     HEAP8[$25>>0] = $24;
    65042     $5 = 2;
    65043     break;
    65044    }
    65045    $26 = ($17|0)<(65536);
    65046    $27 = $3;
    65047    if ($26) {
    65048     $28 = $27 >> 12;
    65049     $29 = 224 | $28;
    65050     $30 = $29&255;
    65051     HEAP8[$4>>0] = $30;
    65052     $31 = $3;
    65053     $32 = $31 >> 6;
    65054     $33 = $32 & 63;
    65055     $34 = 128 | $33;
    65056     $35 = $34&255;
    65057     $36 = ((($4)) + 1|0);
    65058     HEAP8[$36>>0] = $35;
    65059     $37 = $3;
    65060     $38 = $37 & 63;
    65061     $39 = 128 | $38;
    65062     $40 = $39&255;
    65063     $41 = ((($4)) + 2|0);
    65064     HEAP8[$41>>0] = $40;
    65065     $5 = 3;
    65066     break;
    65067    } else {
    65068     $42 = $27 >> 18;
    65069     $43 = 240 | $42;
    65070     $44 = $43&255;
    65071     HEAP8[$4>>0] = $44;
    65072     $45 = $3;
    65073     $46 = $45 >> 12;
    65074     $47 = $46 & 63;
    65075     $48 = 128 | $47;
    65076     $49 = $48&255;
    65077     $50 = ((($4)) + 1|0);
    65078     HEAP8[$50>>0] = $49;
    65079     $51 = $3;
    65080     $52 = $51 >> 6;
    65081     $53 = $52 & 63;
    65082     $54 = 128 | $53;
    65083     $55 = $54&255;
    65084     $56 = ((($4)) + 2|0);
    65085     HEAP8[$56>>0] = $55;
    65086     $57 = $3;
    65087     $58 = $57 & 63;
    65088     $59 = 128 | $58;
    65089     $60 = $59&255;
    65090     $61 = ((($4)) + 3|0);
    65091     HEAP8[$61>>0] = $60;
    65092     $5 = 4;
    65093     break;
    65094    }
    65095   }
    65096  } while(0);
    65097  $62 = $2;
    65098  $63 = ((($62)) + 1108|0);
    65099  $64 = HEAP32[$63>>2]|0;
    65100  $65 = $5;
    65101  $66 = (($64) + ($65))|0;
    65102  $67 = ($66>>>0)<=(1024);
    65103  if (!($67)) {
    65104   STACKTOP = sp;return;
    65105  }
    65106  $6 = 0;
    65107  while(1) {
    65108   $68 = $6;
    65109   $69 = $5;
    65110   $70 = ($68>>>0)<($69>>>0);
    65111   if (!($70)) {
    65112    break;
    65113   }
    65114   $71 = $6;
    65115   $72 = (($4) + ($71)|0);
    65116   $73 = HEAP8[$72>>0]|0;
    65117   $74 = $2;
    65118   $75 = ((($74)) + 84|0);
    65119   $76 = $2;
    65120   $77 = ((($76)) + 1108|0);
    65121   $78 = HEAP32[$77>>2]|0;
    65122   $79 = (($78) + 1)|0;
    65123   HEAP32[$77>>2] = $79;
    65124   $80 = (($75) + ($78)|0);
    65125   HEAP8[$80>>0] = $73;
    65126   $81 = $6;
    65127   $82 = (($81) + 1)|0;
    65128   $6 = $82;
    65129  }
    65130  STACKTOP = sp;return;
    65131 }
    65132 function _tokfix($0) {
    65133  $0 = $0|0;
    65134  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65135  sp = STACKTOP;
    65136  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65137  $1 = $0;
    65138  $4 = $1;
    65139  $5 = ((($4)) + 1108|0);
    65140  $6 = HEAP32[$5>>2]|0;
    65141  $2 = $6;
    65142  $3 = 1023;
    65143  $7 = $2;
    65144  $8 = $3;
    65145  $9 = ($7|0)>($8|0);
    65146  if ($9) {
    65147   $10 = $3;
    65148   $2 = $10;
    65149   $11 = $1;
    65150   _yyerror($11,64196);
    65151  }
    65152  $12 = $1;
    65153  $13 = ((($12)) + 84|0);
    65154  $14 = $2;
    65155  $15 = (($13) + ($14)|0);
    65156  HEAP8[$15>>0] = 0;
    65157  STACKTOP = sp;return;
    65158 }
    65159 function _tok($0) {
    65160  $0 = $0|0;
    65161  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    65162  sp = STACKTOP;
    65163  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65164  $1 = $0;
    65165  $2 = $1;
    65166  $3 = ((($2)) + 84|0);
    65167  STACKTOP = sp;return ($3|0);
    65168 }
    65169 function _toklen($0) {
    65170  $0 = $0|0;
    65171  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    65172  sp = STACKTOP;
    65173  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65174  $1 = $0;
    65175  $2 = $1;
    65176  $3 = ((($2)) + 1108|0);
    65177  $4 = HEAP32[$3>>2]|0;
    65178  STACKTOP = sp;return ($4|0);
    65179 }
    65180 function _arg_ambiguous($0) {
    65181  $0 = $0|0;
    65182  var $1 = 0, $2 = 0, label = 0, sp = 0;
    65183  sp = STACKTOP;
    65184  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65185  $1 = $0;
    65186  $2 = $1;
    65187  _yywarning($2,64139);
    65188  STACKTOP = sp;return 1;
    65189 }
    65190 function _yywarning_s($0,$1,$2) {
    65191  $0 = $0|0;
    65192  $1 = $1|0;
    65193  $2 = $2|0;
    65194  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    65195  sp = STACKTOP;
    65196  STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0);
    65197  $vararg_buffer = sp;
    65198  $6 = sp + 16|0;
    65199  $3 = $0;
    65200  $4 = $1;
    65201  $5 = $2;
    65202  $7 = $4;
    65203  $8 = $5;
    65204  HEAP32[$vararg_buffer>>2] = $8;
    65205  (_snprintf($6,256,$7,$vararg_buffer)|0);
    65206  $9 = $3;
    65207  _yywarning($9,$6);
    65208  STACKTOP = sp;return;
    65209 }
    65210 function _new_float($0,$1) {
    65211  $0 = $0|0;
    65212  $1 = $1|0;
    65213  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    65214  sp = STACKTOP;
    65215  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65216  $2 = $0;
    65217  $3 = $1;
    65218  $4 = $2;
    65219  $5 = $2;
    65220  $6 = $3;
    65221  $7 = (_parser_strdup($5,$6)|0);
    65222  $8 = (_cons_gen($4,(51),$7)|0);
    65223  STACKTOP = sp;return ($8|0);
    65224 }
    65225 function _new_back_ref($0,$1) {
    65226  $0 = $0|0;
    65227  $1 = $1|0;
    65228  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    65229  sp = STACKTOP;
    65230  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65231  $2 = $0;
    65232  $3 = $1;
    65233  $4 = $2;
    65234  $5 = $3;
    65235  $6 = $5;
    65236  $7 = (_cons_gen($4,(46),$6)|0);
    65237  STACKTOP = sp;return ($7|0);
    65238 }
    65239 function _new_nth_ref($0,$1) {
    65240  $0 = $0|0;
    65241  $1 = $1|0;
    65242  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    65243  sp = STACKTOP;
    65244  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65245  $2 = $0;
    65246  $3 = $1;
    65247  $4 = $2;
    65248  $5 = $3;
    65249  $6 = $5;
    65250  $7 = (_cons_gen($4,(45),$6)|0);
    65251  STACKTOP = sp;return ($7|0);
    65252 }
    65253 function _peek_n($0,$1,$2) {
    65254  $0 = $0|0;
    65255  $1 = $1|0;
    65256  $2 = $2|0;
    65257  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65258  sp = STACKTOP;
    65259  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65260  $3 = $0;
    65261  $4 = $1;
    65262  $5 = $2;
    65263  $6 = $3;
    65264  $7 = $5;
    65265  $8 = (_peekc_n($6,$7)|0);
    65266  $9 = $4;
    65267  $10 = ($8|0)==($9|0);
    65268  $11 = $4;
    65269  $12 = ($11|0)>=(0);
    65270  $13 = $10 ? $12 : 0;
    65271  $14 = $13&1;
    65272  $15 = $14&255;
    65273  STACKTOP = sp;return ($15|0);
    65274 }
    65275 function _toklast($0) {
    65276  $0 = $0|0;
    65277  var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65278  sp = STACKTOP;
    65279  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65280  $1 = $0;
    65281  $2 = $1;
    65282  $3 = ((($2)) + 84|0);
    65283  $4 = $1;
    65284  $5 = ((($4)) + 1108|0);
    65285  $6 = HEAP32[$5>>2]|0;
    65286  $7 = (($6) - 1)|0;
    65287  $8 = (($3) + ($7)|0);
    65288  $9 = HEAP8[$8>>0]|0;
    65289  $10 = $9 << 24 >> 24;
    65290  STACKTOP = sp;return ($10|0);
    65291 }
    65292 function _reserved_word($0,$1) {
    65293  $0 = $0|0;
    65294  $1 = $1|0;
    65295  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    65296  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
    65297  sp = STACKTOP;
    65298  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    65299  $3 = $0;
    65300  $4 = $1;
    65301  $7 = $4;
    65302  $8 = ($7>>>0)<=(12);
    65303  $9 = $4;
    65304  $10 = ($9>>>0)>=(2);
    65305  $or$cond = $8 & $10;
    65306  if ($or$cond) {
    65307   $11 = $3;
    65308   $12 = $4;
    65309   $13 = (_hash($11,$12)|0);
    65310   $5 = $13;
    65311   $14 = $5;
    65312   $15 = ($14|0)<=(50);
    65313   $16 = $5;
    65314   $17 = ($16|0)>=(0);
    65315   $or$cond3 = $15 & $17;
    65316   if ($or$cond3) {
    65317    $18 = $5;
    65318    $19 = (1728 + ($18<<4)|0);
    65319    $20 = HEAP32[$19>>2]|0;
    65320    $6 = $20;
    65321    $21 = $3;
    65322    $22 = HEAP8[$21>>0]|0;
    65323    $23 = $22 << 24 >> 24;
    65324    $24 = $6;
    65325    $25 = HEAP8[$24>>0]|0;
    65326    $26 = $25 << 24 >> 24;
    65327    $27 = ($23|0)==($26|0);
    65328    if ($27) {
    65329     $28 = $3;
    65330     $29 = ((($28)) + 1|0);
    65331     $30 = $6;
    65332     $31 = ((($30)) + 1|0);
    65333     $32 = (_strcmp($29,$31)|0);
    65334     $33 = ($32|0)!=(0);
    65335     if (!($33)) {
    65336      $34 = $5;
    65337      $35 = (1728 + ($34<<4)|0);
    65338      $2 = $35;
    65339      $36 = $2;
    65340      STACKTOP = sp;return ($36|0);
    65341     }
    65342    }
    65343   }
    65344  }
    65345  $2 = 0;
    65346  $36 = $2;
    65347  STACKTOP = sp;return ($36|0);
    65348 }
    65349 function _hash($0,$1) {
    65350  $0 = $0|0;
    65351  $1 = $1|0;
    65352  var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    65353  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, label = 0, sp = 0;
    65354  sp = STACKTOP;
    65355  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65356  $2 = $0;
    65357  $3 = $1;
    65358  $5 = $3;
    65359  $4 = $5;
    65360  $6 = $4;
    65361  $$off = (($6) + -1)|0;
    65362  $switch = ($$off>>>0)<(2);
    65363  if (!($switch)) {
    65364   $7 = $2;
    65365   $8 = ((($7)) + 2|0);
    65366   $9 = HEAP8[$8>>0]|0;
    65367   $10 = $9&255;
    65368   $11 = (63883 + ($10)|0);
    65369   $12 = HEAP8[$11>>0]|0;
    65370   $13 = $12&255;
    65371   $14 = $4;
    65372   $15 = (($14) + ($13))|0;
    65373   $4 = $15;
    65374  }
    65375  $16 = $2;
    65376  $17 = HEAP8[$16>>0]|0;
    65377  $18 = $17&255;
    65378  $19 = (63883 + ($18)|0);
    65379  $20 = HEAP8[$19>>0]|0;
    65380  $21 = $20&255;
    65381  $22 = $4;
    65382  $23 = (($22) + ($21))|0;
    65383  $4 = $23;
    65384  $24 = $4;
    65385  $25 = $2;
    65386  $26 = $3;
    65387  $27 = (($26) - 1)|0;
    65388  $28 = (($25) + ($27)|0);
    65389  $29 = HEAP8[$28>>0]|0;
    65390  $30 = $29&255;
    65391  $31 = (63883 + ($30)|0);
    65392  $32 = HEAP8[$31>>0]|0;
    65393  $33 = $32&255;
    65394  $34 = (($24) + ($33))|0;
    65395  STACKTOP = sp;return ($34|0);
    65396 }
    65397 function _scan_oct($0,$1,$2) {
    65398  $0 = $0|0;
    65399  $1 = $1|0;
    65400  $2 = $2|0;
    65401  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    65402  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65403  sp = STACKTOP;
    65404  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    65405  $3 = $0;
    65406  $4 = $1;
    65407  $5 = $2;
    65408  $8 = $3;
    65409  $6 = $8;
    65410  $7 = 0;
    65411  while(1) {
    65412   $9 = $4;
    65413   $10 = (($9) + -1)|0;
    65414   $4 = $10;
    65415   $11 = ($9|0)!=(0);
    65416   if (!($11)) {
    65417    break;
    65418   }
    65419   $12 = $6;
    65420   $13 = HEAP32[$12>>2]|0;
    65421   $14 = ($13|0)>=(48);
    65422   if (!($14)) {
    65423    break;
    65424   }
    65425   $15 = $6;
    65426   $16 = HEAP32[$15>>2]|0;
    65427   $17 = ($16|0)<=(55);
    65428   if (!($17)) {
    65429    break;
    65430   }
    65431   $18 = $7;
    65432   $19 = $18 << 3;
    65433   $7 = $19;
    65434   $20 = $6;
    65435   $21 = ((($20)) + 4|0);
    65436   $6 = $21;
    65437   $22 = HEAP32[$20>>2]|0;
    65438   $23 = (($22) - 48)|0;
    65439   $24 = $7;
    65440   $25 = $24 | $23;
    65441   $7 = $25;
    65442  }
    65443  $26 = $6;
    65444  $27 = $3;
    65445  $28 = $26;
    65446  $29 = $27;
    65447  $30 = (($28) - ($29))|0;
    65448  $31 = (($30|0) / 4)&-1;
    65449  $32 = $5;
    65450  HEAP32[$32>>2] = $31;
    65451  $33 = $7;
    65452  STACKTOP = sp;return ($33|0);
    65453 }
    65454 function _scan_hex($0,$1,$2) {
    65455  $0 = $0|0;
    65456  $1 = $1|0;
    65457  $2 = $2|0;
    65458  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    65459  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65460  sp = STACKTOP;
    65461  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    65462  $3 = $0;
    65463  $4 = $1;
    65464  $5 = $2;
    65465  $9 = $3;
    65466  $6 = $9;
    65467  $7 = 0;
    65468  while(1) {
    65469   $10 = $4;
    65470   $11 = (($10) + -1)|0;
    65471   $4 = $11;
    65472   $12 = ($10|0)!=(0);
    65473   if (!($12)) {
    65474    break;
    65475   }
    65476   $13 = $6;
    65477   $14 = HEAP32[$13>>2]|0;
    65478   $15 = ($14|0)!=(0);
    65479   if (!($15)) {
    65480    break;
    65481   }
    65482   $16 = $6;
    65483   $17 = HEAP32[$16>>2]|0;
    65484   $18 = (_strchr(64283,$17)|0);
    65485   $8 = $18;
    65486   $19 = ($18|0)!=(0|0);
    65487   if (!($19)) {
    65488    break;
    65489   }
    65490   $20 = $7;
    65491   $21 = $20 << 4;
    65492   $7 = $21;
    65493   $22 = $8;
    65494   $23 = $22;
    65495   $24 = (($23) - (64283))|0;
    65496   $25 = $24 & 15;
    65497   $26 = $7;
    65498   $27 = $26 | $25;
    65499   $7 = $27;
    65500   $28 = $6;
    65501   $29 = ((($28)) + 4|0);
    65502   $6 = $29;
    65503  }
    65504  $30 = $6;
    65505  $31 = $3;
    65506  $32 = $30;
    65507  $33 = $31;
    65508  $34 = (($32) - ($33))|0;
    65509  $35 = (($34|0) / 4)&-1;
    65510  $36 = $5;
    65511  HEAP32[$36>>2] = $35;
    65512  $37 = $7;
    65513  STACKTOP = sp;return ($37|0);
    65514 }
    65515 function _new_heredoc($0) {
    65516  $0 = $0|0;
    65517  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    65518  sp = STACKTOP;
    65519  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65520  $1 = $0;
    65521  $3 = $1;
    65522  $4 = (_parser_palloc($3,20)|0);
    65523  $2 = $4;
    65524  $5 = $1;
    65525  $6 = $2;
    65526  $7 = (_cons_gen($5,(99),$6)|0);
    65527  STACKTOP = sp;return ($7|0);
    65528 }
    65529 function _new_xstr($0,$1,$2) {
    65530  $0 = $0|0;
    65531  $1 = $1|0;
    65532  $2 = $2|0;
    65533  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65534  sp = STACKTOP;
    65535  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65536  $3 = $0;
    65537  $4 = $1;
    65538  $5 = $2;
    65539  $6 = $3;
    65540  $7 = $3;
    65541  $8 = $3;
    65542  $9 = $4;
    65543  $10 = $5;
    65544  $11 = (_parser_strndup($8,$9,$10)|0);
    65545  $12 = $5;
    65546  $13 = $12;
    65547  $14 = (_cons_gen($7,$11,$13)|0);
    65548  $15 = (_cons_gen($6,(57),$14)|0);
    65549  STACKTOP = sp;return ($15|0);
    65550 }
    65551 function _new_regx($0,$1,$2,$3) {
    65552  $0 = $0|0;
    65553  $1 = $1|0;
    65554  $2 = $2|0;
    65555  $3 = $3|0;
    65556  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65557  sp = STACKTOP;
    65558  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65559  $4 = $0;
    65560  $5 = $1;
    65561  $6 = $2;
    65562  $7 = $3;
    65563  $8 = $4;
    65564  $9 = $4;
    65565  $10 = $5;
    65566  $11 = $4;
    65567  $12 = $6;
    65568  $13 = $7;
    65569  $14 = (_cons_gen($11,$12,$13)|0);
    65570  $15 = (_cons_gen($9,$10,$14)|0);
    65571  $16 = (_cons_gen($8,(59),$15)|0);
    65572  STACKTOP = sp;return ($16|0);
    65573 }
    65574 function _mrb_parser_set_filename($0,$1) {
    65575  $0 = $0|0;
    65576  $1 = $1|0;
    65577  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    65578  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    65579  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    65580  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65581  sp = STACKTOP;
    65582  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    65583  $2 = $0;
    65584  $3 = $1;
    65585  $7 = $2;
    65586  $8 = HEAP32[$7>>2]|0;
    65587  $9 = $3;
    65588  $10 = (_mrb_intern_cstr($8,$9)|0);
    65589  $4 = $10;
    65590  $11 = $2;
    65591  $12 = HEAP32[$11>>2]|0;
    65592  $13 = $4;
    65593  $14 = (_mrb_sym2name_len($12,$13,0)|0);
    65594  $15 = $2;
    65595  $16 = ((($15)) + 28|0);
    65596  HEAP32[$16>>2] = $14;
    65597  $17 = $2;
    65598  $18 = ((($17)) + 1396|0);
    65599  $19 = HEAP32[$18>>2]|0;
    65600  $20 = ($19>>>0)>(0);
    65601  $21 = $20 ? 0 : 1;
    65602  $22 = $2;
    65603  $23 = ((($22)) + 32|0);
    65604  HEAP32[$23>>2] = $21;
    65605  $5 = 0;
    65606  while(1) {
    65607   $24 = $5;
    65608   $25 = $2;
    65609   $26 = ((($25)) + 1396|0);
    65610   $27 = HEAP32[$26>>2]|0;
    65611   $28 = ($24>>>0)<($27>>>0);
    65612   $29 = $2;
    65613   if (!($28)) {
    65614    break;
    65615   }
    65616   $30 = ((($29)) + 1392|0);
    65617   $31 = HEAP32[$30>>2]|0;
    65618   $32 = $5;
    65619   $33 = (($31) + ($32<<2)|0);
    65620   $34 = HEAP32[$33>>2]|0;
    65621   $35 = $4;
    65622   $36 = ($34|0)==($35|0);
    65623   $37 = $5;
    65624   if ($36) {
    65625    label = 4;
    65626    break;
    65627   }
    65628   $40 = (($37) + 1)|0;
    65629   $5 = $40;
    65630  }
    65631  if ((label|0) == 4) {
    65632   $38 = $2;
    65633   $39 = ((($38)) + 1400|0);
    65634   HEAP32[$39>>2] = $37;
    65635   STACKTOP = sp;return;
    65636  }
    65637  $41 = ((($29)) + 1396|0);
    65638  $42 = HEAP32[$41>>2]|0;
    65639  $43 = (($42) + 1)|0;
    65640  HEAP32[$41>>2] = $43;
    65641  $44 = $2;
    65642  $45 = ((($44)) + 1400|0);
    65643  HEAP32[$45>>2] = $42;
    65644  $46 = $2;
    65645  $47 = $2;
    65646  $48 = ((($47)) + 1396|0);
    65647  $49 = HEAP32[$48>>2]|0;
    65648  $50 = $49<<2;
    65649  $51 = (_parser_palloc($46,$50)|0);
    65650  $6 = $51;
    65651  $52 = $2;
    65652  $53 = ((($52)) + 1392|0);
    65653  $54 = HEAP32[$53>>2]|0;
    65654  $55 = ($54|0)!=(0|0);
    65655  if ($55) {
    65656   $56 = $6;
    65657   $57 = $2;
    65658   $58 = ((($57)) + 1392|0);
    65659   $59 = HEAP32[$58>>2]|0;
    65660   $60 = $2;
    65661   $61 = ((($60)) + 1396|0);
    65662   $62 = HEAP32[$61>>2]|0;
    65663   $63 = $62<<2;
    65664   _memmove(($56|0),($59|0),($63|0))|0;
    65665  }
    65666  $64 = $6;
    65667  $65 = $2;
    65668  $66 = ((($65)) + 1392|0);
    65669  HEAP32[$66>>2] = $64;
    65670  $67 = $4;
    65671  $68 = $2;
    65672  $69 = ((($68)) + 1392|0);
    65673  $70 = HEAP32[$69>>2]|0;
    65674  $71 = $2;
    65675  $72 = ((($71)) + 1396|0);
    65676  $73 = HEAP32[$72>>2]|0;
    65677  $74 = (($73) - 1)|0;
    65678  $75 = (($70) + ($74<<2)|0);
    65679  HEAP32[$75>>2] = $67;
    65680  STACKTOP = sp;return;
    65681 }
    65682 function _mrb_parser_new($0) {
    65683  $0 = $0|0;
    65684  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    65685  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    65686  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65687  sp = STACKTOP;
    65688  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65689  $2 = $0;
    65690  $5 = $2;
    65691  $6 = (_mrb_pool_open($5)|0);
    65692  $3 = $6;
    65693  $7 = $3;
    65694  $8 = ($7|0)!=(0|0);
    65695  if (!($8)) {
    65696   $1 = 0;
    65697   $57 = $1;
    65698   STACKTOP = sp;return ($57|0);
    65699  }
    65700  $9 = $3;
    65701  $10 = (_mrb_pool_alloc($9,1408)|0);
    65702  $4 = $10;
    65703  $11 = $4;
    65704  $12 = ($11|0)!=(0|0);
    65705  if ($12) {
    65706   $13 = $4;
    65707   _memcpy(($13|0),(73460|0),1408)|0;
    65708   $14 = $2;
    65709   $15 = $4;
    65710   HEAP32[$15>>2] = $14;
    65711   $16 = $3;
    65712   $17 = $4;
    65713   $18 = ((($17)) + 4|0);
    65714   HEAP32[$18>>2] = $16;
    65715   $19 = $4;
    65716   $20 = ((($19)) + 16|0);
    65717   HEAP32[$20>>2] = 0;
    65718   $21 = $4;
    65719   $22 = ((($21)) + 12|0);
    65720   HEAP32[$22>>2] = 0;
    65721   $23 = $4;
    65722   $24 = ((($23)) + 20|0);
    65723   HEAP32[$24>>2] = 0;
    65724   $25 = $4;
    65725   $26 = ((($25)) + 72|0);
    65726   $27 = HEAP8[$26>>0]|0;
    65727   $28 = $27 & -2;
    65728   $29 = $28 | 1;
    65729   HEAP8[$26>>0] = $29;
    65730   $30 = $4;
    65731   $31 = ((($30)) + 68|0);
    65732   HEAP32[$31>>2] = 0;
    65733   $32 = $4;
    65734   $33 = ((($32)) + 64|0);
    65735   HEAP32[$33>>2] = 0;
    65736   $34 = $4;
    65737   $35 = ((($34)) + 1148|0);
    65738   $36 = HEAP8[$35>>0]|0;
    65739   $37 = $36 & -3;
    65740   HEAP8[$35>>0] = $37;
    65741   $38 = $4;
    65742   $39 = ((($38)) + 32|0);
    65743   HEAP32[$39>>2] = 1;
    65744   $40 = $4;
    65745   $41 = ((($40)) + 36|0);
    65746   HEAP32[$41>>2] = 0;
    65747   $42 = $4;
    65748   $43 = ((($42)) + 44|0);
    65749   HEAP32[$43>>2] = 0;
    65750   $44 = $4;
    65751   $45 = ((($44)) + 1120|0);
    65752   HEAP32[$45>>2] = 0;
    65753   $46 = $4;
    65754   $47 = ((($46)) + 1112|0);
    65755   HEAP32[$47>>2] = 0;
    65756   $48 = $4;
    65757   $49 = ((($48)) + 1124|0);
    65758   HEAP32[$49>>2] = 0;
    65759   $50 = $4;
    65760   $51 = ((($50)) + 1400|0);
    65761   HEAP32[$51>>2] = -1;
    65762   $52 = $4;
    65763   $53 = ((($52)) + 1392|0);
    65764   HEAP32[$53>>2] = 0;
    65765   $54 = $4;
    65766   $55 = ((($54)) + 1396|0);
    65767   HEAP32[$55>>2] = 0;
    65768   $56 = $4;
    65769   $1 = $56;
    65770   $57 = $1;
    65771   STACKTOP = sp;return ($57|0);
    65772  } else {
    65773   $1 = 0;
    65774   $57 = $1;
    65775   STACKTOP = sp;return ($57|0);
    65776  }
    65777  return (0)|0;
    65778 }
    65779 function _mrb_parser_free($0) {
    65780  $0 = $0|0;
    65781  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    65782  sp = STACKTOP;
    65783  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65784  $1 = $0;
    65785  $2 = $1;
    65786  $3 = ((($2)) + 4|0);
    65787  $4 = HEAP32[$3>>2]|0;
    65788  _mrb_pool_close($4);
    65789  STACKTOP = sp;return;
    65790 }
    65791 function _mrbc_context_new($0) {
    65792  $0 = $0|0;
    65793  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    65794  sp = STACKTOP;
    65795  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65796  $1 = $0;
    65797  $2 = $1;
    65798  $3 = (_mrb_calloc($2,1,32)|0);
    65799  STACKTOP = sp;return ($3|0);
    65800 }
    65801 function _mrbc_context_free($0,$1) {
    65802  $0 = $0|0;
    65803  $1 = $1|0;
    65804  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    65805  sp = STACKTOP;
    65806  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65807  $2 = $0;
    65808  $3 = $1;
    65809  $4 = $2;
    65810  $5 = $3;
    65811  $6 = HEAP32[$5>>2]|0;
    65812  _mrb_free($4,$6);
    65813  $7 = $2;
    65814  $8 = $3;
    65815  _mrb_free($7,$8);
    65816  STACKTOP = sp;return;
    65817 }
    65818 function _mrbc_filename($0,$1,$2) {
    65819  $0 = $0|0;
    65820  $1 = $1|0;
    65821  $2 = $2|0;
    65822  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    65823  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65824  sp = STACKTOP;
    65825  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    65826  $3 = $0;
    65827  $4 = $1;
    65828  $5 = $2;
    65829  $8 = $5;
    65830  $9 = ($8|0)!=(0|0);
    65831  if ($9) {
    65832   $10 = $5;
    65833   $11 = (_strlen($10)|0);
    65834   $6 = $11;
    65835   $12 = $3;
    65836   $13 = $6;
    65837   $14 = (($13) + 1)|0;
    65838   $15 = (_mrb_alloca($12,$14)|0);
    65839   $7 = $15;
    65840   $16 = $7;
    65841   $17 = $5;
    65842   $18 = $6;
    65843   $19 = (($18) + 1)|0;
    65844   _memcpy(($16|0),($17|0),($19|0))|0;
    65845   $20 = $7;
    65846   $21 = $4;
    65847   $22 = ((($21)) + 8|0);
    65848   HEAP32[$22>>2] = $20;
    65849  }
    65850  $23 = $4;
    65851  $24 = ((($23)) + 8|0);
    65852  $25 = HEAP32[$24>>2]|0;
    65853  STACKTOP = sp;return ($25|0);
    65854 }
    65855 function _mrbc_partial_hook($0,$1,$2,$3) {
    65856  $0 = $0|0;
    65857  $1 = $1|0;
    65858  $2 = $2|0;
    65859  $3 = $3|0;
    65860  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65861  sp = STACKTOP;
    65862  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65863  $4 = $0;
    65864  $5 = $1;
    65865  $6 = $2;
    65866  $7 = $3;
    65867  $8 = $6;
    65868  $9 = $5;
    65869  $10 = ((($9)) + 16|0);
    65870  HEAP32[$10>>2] = $8;
    65871  $11 = $7;
    65872  $12 = $5;
    65873  $13 = ((($12)) + 20|0);
    65874  HEAP32[$13>>2] = $11;
    65875  STACKTOP = sp;return;
    65876 }
    65877 function _mrb_parser_get_filename($0,$1) {
    65878  $0 = $0|0;
    65879  $1 = $1|0;
    65880  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    65881  var label = 0, sp = 0;
    65882  sp = STACKTOP;
    65883  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65884  $3 = $0;
    65885  $4 = $1;
    65886  $5 = $4;
    65887  $6 = $5&65535;
    65888  $7 = $3;
    65889  $8 = ((($7)) + 1396|0);
    65890  $9 = HEAP32[$8>>2]|0;
    65891  $10 = ($6>>>0)>=($9>>>0);
    65892  if ($10) {
    65893   $2 = 0;
    65894   $21 = $2;
    65895   STACKTOP = sp;return ($21|0);
    65896  } else {
    65897   $11 = $3;
    65898   $12 = HEAP32[$11>>2]|0;
    65899   $13 = $3;
    65900   $14 = ((($13)) + 1392|0);
    65901   $15 = HEAP32[$14>>2]|0;
    65902   $16 = $4;
    65903   $17 = $16&65535;
    65904   $18 = (($15) + ($17<<2)|0);
    65905   $19 = HEAP32[$18>>2]|0;
    65906   $20 = (_mrb_sym2name_len($12,$19,0)|0);
    65907   $2 = $20;
    65908   $21 = $2;
    65909   STACKTOP = sp;return ($21|0);
    65910  }
    65911  return (0)|0;
    65912 }
    65913 function _mrb_parse_file($0,$1,$2) {
    65914  $0 = $0|0;
    65915  $1 = $1|0;
    65916  $2 = $2|0;
    65917  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    65918  var label = 0, sp = 0;
    65919  sp = STACKTOP;
    65920  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    65921  $4 = $0;
    65922  $5 = $1;
    65923  $6 = $2;
    65924  $8 = $4;
    65925  $9 = (_mrb_parser_new($8)|0);
    65926  $7 = $9;
    65927  $10 = $7;
    65928  $11 = ($10|0)!=(0|0);
    65929  if ($11) {
    65930   $12 = $7;
    65931   $13 = ((($12)) + 16|0);
    65932   HEAP32[$13>>2] = 0;
    65933   $14 = $7;
    65934   $15 = ((($14)) + 12|0);
    65935   HEAP32[$15>>2] = 0;
    65936   $16 = $5;
    65937   $17 = $7;
    65938   $18 = ((($17)) + 20|0);
    65939   HEAP32[$18>>2] = $16;
    65940   $19 = $7;
    65941   $20 = $6;
    65942   _mrb_parser_parse($19,$20);
    65943   $21 = $7;
    65944   $3 = $21;
    65945   $22 = $3;
    65946   STACKTOP = sp;return ($22|0);
    65947  } else {
    65948   $3 = 0;
    65949   $22 = $3;
    65950   STACKTOP = sp;return ($22|0);
    65951  }
    65952  return (0)|0;
    65953 }
    65954 function _mrb_load_file_cxt($0,$1,$2,$3) {
    65955  $0 = $0|0;
    65956  $1 = $1|0;
    65957  $2 = $2|0;
    65958  $3 = $3|0;
    65959  var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    65960  sp = STACKTOP;
    65961  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    65962  $4 = $1;
    65963  $5 = $2;
    65964  $6 = $3;
    65965  $7 = $4;
    65966  $8 = $4;
    65967  $9 = $5;
    65968  $10 = $6;
    65969  $11 = (_mrb_parse_file($8,$9,$10)|0);
    65970  $12 = $6;
    65971  _load_exec($0,$7,$11,$12);
    65972  STACKTOP = sp;return;
    65973 }
    65974 function _load_exec($0,$1,$2,$3) {
    65975  $0 = $0|0;
    65976  $1 = $1|0;
    65977  $2 = $2|0;
    65978  $3 = $3|0;
    65979  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
    65980  var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
    65981  var $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
    65982  var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
    65983  var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
    65984  var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
    65985  var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    65986  sp = STACKTOP;
    65987  STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0);
    65988  $$byval_copy2 = sp + 104|0;
    65989  $$byval_copy = sp + 96|0;
    65990  $vararg_buffer = sp;
    65991  $9 = sp + 64|0;
    65992  $11 = sp + 112|0;
    65993  $13 = sp + 48|0;
    65994  $14 = sp + 40|0;
    65995  $15 = sp + 32|0;
    65996  $16 = sp + 24|0;
    65997  $17 = sp + 16|0;
    65998  $18 = sp + 8|0;
    65999  $4 = $1;
    66000  $5 = $2;
    66001  $6 = $3;
    66002  $19 = $4;
    66003  $20 = ((($19)) + 32|0);
    66004  $21 = HEAP32[$20>>2]|0;
    66005  $7 = $21;
    66006  $10 = 0;
    66007  $22 = $5;
    66008  $23 = ($22|0)!=(0|0);
    66009  if (!($23)) {
    66010   _mrb_undef_value_544($0);
    66011   STACKTOP = sp;return;
    66012  }
    66013  $24 = $5;
    66014  $25 = ((($24)) + 1144|0);
    66015  $26 = HEAP32[$25>>2]|0;
    66016  $27 = ($26|0)!=(0|0);
    66017  if ($27) {
    66018   $28 = $5;
    66019   $29 = ((($28)) + 1136|0);
    66020   $30 = HEAP32[$29>>2]|0;
    66021   $31 = ($30|0)!=(0);
    66022   if (!($31)) {
    66023    $62 = $4;
    66024    $63 = $5;
    66025    $64 = (_mrb_generate_code($62,$63)|0);
    66026    $8 = $64;
    66027    $65 = $5;
    66028    _mrb_parser_free($65);
    66029    $66 = $8;
    66030    $67 = ($66|0)==(0|0);
    66031    if ($67) {
    66032     $68 = $4;
    66033     $69 = $4;
    66034     $70 = (_mrb_class_get($69,68028)|0);
    66035     $71 = $4;
    66036     _mrb_str_new_static($16,$71,64490,13);
    66037     ;HEAP32[$$byval_copy2>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$16+4>>2]|0;
    66038     _mrb_exc_new_str($17,$68,$70,$$byval_copy2);
    66039     $72 = HEAP32[$17>>2]|0;
    66040     $73 = $4;
    66041     $74 = ((($73)) + 20|0);
    66042     HEAP32[$74>>2] = $72;
    66043     _mrb_undef_value_544($0);
    66044     STACKTOP = sp;return;
    66045    }
    66046    $75 = $6;
    66047    $76 = ($75|0)!=(0|0);
    66048    do {
    66049     if ($76) {
    66050      $77 = $6;
    66051      $78 = ((($77)) + 28|0);
    66052      $79 = HEAP8[$78>>0]|0;
    66053      $80 = ($79&255) >>> 1;
    66054      $81 = $80 & 1;
    66055      $82 = ($81<<24>>24)!=(0);
    66056      if ($82) {
    66057       $83 = $4;
    66058       $84 = $8;
    66059       _mrb_codedump_all($83,$84);
    66060      }
    66061      $85 = $6;
    66062      $86 = ((($85)) + 28|0);
    66063      $87 = HEAP8[$86>>0]|0;
    66064      $88 = ($87&255) >>> 2;
    66065      $89 = $88 & 1;
    66066      $90 = ($89<<24>>24)!=(0);
    66067      if ($90) {
    66068       $91 = $8;
    66069       _mrb_obj_value_545($0,$91);
    66070       STACKTOP = sp;return;
    66071      }
    66072      $92 = $6;
    66073      $93 = ((($92)) + 24|0);
    66074      $94 = HEAP32[$93>>2]|0;
    66075      $95 = ($94|0)!=(0|0);
    66076      if ($95) {
    66077       $96 = $6;
    66078       $97 = ((($96)) + 24|0);
    66079       $98 = HEAP32[$97>>2]|0;
    66080       $7 = $98;
    66081      }
    66082      $99 = $6;
    66083      $100 = ((($99)) + 28|0);
    66084      $101 = HEAP8[$100>>0]|0;
    66085      $102 = ($101&255) >>> 3;
    66086      $103 = $102 & 1;
    66087      $104 = ($103<<24>>24)!=(0);
    66088      $105 = $6;
    66089      if ($104) {
    66090       $106 = ((($105)) + 4|0);
    66091       $107 = HEAP32[$106>>2]|0;
    66092       $108 = (($107) + 1)|0;
    66093       $10 = $108;
    66094       break;
    66095      } else {
    66096       $109 = ((($105)) + 28|0);
    66097       $110 = HEAP8[$109>>0]|0;
    66098       $111 = $110 & -9;
    66099       $112 = $111 | 8;
    66100       HEAP8[$109>>0] = $112;
    66101       break;
    66102      }
    66103     }
    66104    } while(0);
    66105    $113 = $7;
    66106    $114 = $8;
    66107    $115 = ((($114)) + 16|0);
    66108    HEAP32[$115>>2] = $113;
    66109    $116 = $4;
    66110    $117 = ((($116)) + 12|0);
    66111    $118 = HEAP32[$117>>2]|0;
    66112    $119 = ((($118)) + 16|0);
    66113    $120 = HEAP32[$119>>2]|0;
    66114    $121 = ($120|0)!=(0|0);
    66115    if ($121) {
    66116     $122 = $7;
    66117     $123 = $4;
    66118     $124 = ((($123)) + 12|0);
    66119     $125 = HEAP32[$124>>2]|0;
    66120     $126 = ((($125)) + 16|0);
    66121     $127 = HEAP32[$126>>2]|0;
    66122     $128 = ((($127)) + 44|0);
    66123     HEAP32[$128>>2] = $122;
    66124    }
    66125    $129 = $4;
    66126    $130 = $8;
    66127    $131 = $10;
    66128    _mrb_toplevel_run_keep($18,$129,$130,$131);
    66129    ;HEAP32[$9>>2]=HEAP32[$18>>2]|0;HEAP32[$9+4>>2]=HEAP32[$18+4>>2]|0;
    66130    $132 = $4;
    66131    $133 = ((($132)) + 20|0);
    66132    $134 = HEAP32[$133>>2]|0;
    66133    $135 = ($134|0)!=(0|0);
    66134    if ($135) {
    66135     _mrb_nil_value_546($0);
    66136     STACKTOP = sp;return;
    66137    } else {
    66138     ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
    66139     STACKTOP = sp;return;
    66140    }
    66141   }
    66142  }
    66143  $32 = $5;
    66144  $33 = ((($32)) + 1148|0);
    66145  $34 = HEAP8[$33>>0]|0;
    66146  $35 = ($34&255) >>> 1;
    66147  $36 = $35 & 1;
    66148  $37 = ($36<<24>>24)!=(0);
    66149  if ($37) {
    66150   $38 = $5;
    66151   $39 = ((($38)) + 1152|0);
    66152   $40 = HEAP32[$39>>2]|0;
    66153   $41 = $5;
    66154   $42 = ((($41)) + 1152|0);
    66155   $43 = ((($42)) + 8|0);
    66156   $44 = HEAP32[$43>>2]|0;
    66157   HEAP32[$vararg_buffer>>2] = $40;
    66158   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    66159   HEAP32[$vararg_ptr1>>2] = $44;
    66160   $45 = (_snprintf($11,256,64477,$vararg_buffer)|0);
    66161   $12 = $45;
    66162   $46 = $4;
    66163   $47 = $4;
    66164   $48 = (_mrb_class_get($47,68040)|0);
    66165   $49 = $12;
    66166   _mrb_exc_new($13,$46,$48,$11,$49);
    66167   $50 = HEAP32[$13>>2]|0;
    66168   $51 = $4;
    66169   $52 = ((($51)) + 20|0);
    66170   HEAP32[$52>>2] = $50;
    66171   $53 = $5;
    66172   _mrb_parser_free($53);
    66173   _mrb_undef_value_544($0);
    66174   STACKTOP = sp;return;
    66175  } else {
    66176   $54 = $4;
    66177   $55 = $4;
    66178   $56 = (_mrb_class_get($55,68040)|0);
    66179   $57 = $4;
    66180   _mrb_str_new_static($14,$57,59902,12);
    66181   ;HEAP32[$$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$14+4>>2]|0;
    66182   _mrb_exc_new_str($15,$54,$56,$$byval_copy);
    66183   $58 = HEAP32[$15>>2]|0;
    66184   $59 = $4;
    66185   $60 = ((($59)) + 20|0);
    66186   HEAP32[$60>>2] = $58;
    66187   $61 = $5;
    66188   _mrb_parser_free($61);
    66189   _mrb_undef_value_544($0);
    66190   STACKTOP = sp;return;
    66191  }
    66192 }
    66193 function _mrb_undef_value_544($0) {
    66194  $0 = $0|0;
    66195  var $1 = 0, $2 = 0, label = 0, sp = 0;
    66196  sp = STACKTOP;
    66197  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66198  $1 = sp;
    66199  $2 = ((($1)) + 4|0);
    66200  HEAP32[$2>>2] = 5;
    66201  HEAP32[$1>>2] = 0;
    66202  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    66203  STACKTOP = sp;return;
    66204 }
    66205 function _mrb_obj_value_545($0,$1) {
    66206  $0 = $0|0;
    66207  $1 = $1|0;
    66208  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    66209  sp = STACKTOP;
    66210  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66211  $3 = sp;
    66212  $2 = $1;
    66213  $4 = $2;
    66214  $5 = HEAP32[$4>>2]|0;
    66215  $6 = $5 & 255;
    66216  $7 = ((($3)) + 4|0);
    66217  HEAP32[$7>>2] = $6;
    66218  $8 = $2;
    66219  HEAP32[$3>>2] = $8;
    66220  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    66221  STACKTOP = sp;return;
    66222 }
    66223 function _mrb_nil_value_546($0) {
    66224  $0 = $0|0;
    66225  var $1 = 0, $2 = 0, label = 0, sp = 0;
    66226  sp = STACKTOP;
    66227  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66228  $1 = sp;
    66229  $2 = ((($1)) + 4|0);
    66230  HEAP32[$2>>2] = 0;
    66231  HEAP32[$1>>2] = 0;
    66232  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    66233  STACKTOP = sp;return;
    66234 }
    66235 function _mrb_ary_new_capa($0,$1,$2) {
    66236  $0 = $0|0;
    66237  $1 = $1|0;
    66238  $2 = $2|0;
    66239  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66240  sp = STACKTOP;
    66241  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66242  $3 = $1;
    66243  $4 = $2;
    66244  $6 = $3;
    66245  $7 = $4;
    66246  $8 = (_ary_new_capa($6,$7)|0);
    66247  $5 = $8;
    66248  $9 = $5;
    66249  _mrb_obj_value_549($0,$9);
    66250  STACKTOP = sp;return;
    66251 }
    66252 function _ary_new_capa($0,$1) {
    66253  $0 = $0|0;
    66254  $1 = $1|0;
    66255  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    66256  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66257  sp = STACKTOP;
    66258  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66259  $2 = $0;
    66260  $3 = $1;
    66261  $6 = $3;
    66262  $7 = ($6|0)>(536870911);
    66263  if ($7) {
    66264   $8 = $2;
    66265   $9 = $2;
    66266   $10 = (_mrb_class_get($9,69160)|0);
    66267   _mrb_raise($8,$10,64504);
    66268   // unreachable;
    66269  }
    66270  $11 = $3;
    66271  $12 = $11<<3;
    66272  $5 = $12;
    66273  $13 = $5;
    66274  $14 = $3;
    66275  $15 = ($13|0)<($14|0);
    66276  $16 = $2;
    66277  $17 = $2;
    66278  if ($15) {
    66279   $18 = (_mrb_class_get($17,69160)|0);
    66280   _mrb_raise($16,$18,64504);
    66281   // unreachable;
    66282  } else {
    66283   $19 = ((($17)) + 52|0);
    66284   $20 = HEAP32[$19>>2]|0;
    66285   $21 = (_mrb_obj_alloc($16,14,$20)|0);
    66286   $4 = $21;
    66287   $22 = $2;
    66288   $23 = $5;
    66289   $24 = (_mrb_malloc($22,$23)|0);
    66290   $25 = $4;
    66291   $26 = ((($25)) + 20|0);
    66292   HEAP32[$26>>2] = $24;
    66293   $27 = $3;
    66294   $28 = $4;
    66295   $29 = ((($28)) + 16|0);
    66296   HEAP32[$29>>2] = $27;
    66297   $30 = $4;
    66298   $31 = ((($30)) + 12|0);
    66299   HEAP32[$31>>2] = 0;
    66300   $32 = $4;
    66301   STACKTOP = sp;return ($32|0);
    66302  }
    66303  return (0)|0;
    66304 }
    66305 function _mrb_obj_value_549($0,$1) {
    66306  $0 = $0|0;
    66307  $1 = $1|0;
    66308  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    66309  sp = STACKTOP;
    66310  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66311  $3 = sp;
    66312  $2 = $1;
    66313  $4 = $2;
    66314  $5 = HEAP32[$4>>2]|0;
    66315  $6 = $5 & 255;
    66316  $7 = ((($3)) + 4|0);
    66317  HEAP32[$7>>2] = $6;
    66318  $8 = $2;
    66319  HEAP32[$3>>2] = $8;
    66320  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    66321  STACKTOP = sp;return;
    66322 }
    66323 function _mrb_ary_new($0,$1) {
    66324  $0 = $0|0;
    66325  $1 = $1|0;
    66326  var $2 = 0, $3 = 0, label = 0, sp = 0;
    66327  sp = STACKTOP;
    66328  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66329  $2 = $1;
    66330  $3 = $2;
    66331  _mrb_ary_new_capa($0,$3,0);
    66332  STACKTOP = sp;return;
    66333 }
    66334 function _mrb_ary_new_from_values($0,$1,$2,$3) {
    66335  $0 = $0|0;
    66336  $1 = $1|0;
    66337  $2 = $2|0;
    66338  $3 = $3|0;
    66339  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66340  sp = STACKTOP;
    66341  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66342  $4 = $1;
    66343  $5 = $2;
    66344  $6 = $3;
    66345  $8 = $4;
    66346  $9 = $5;
    66347  $10 = (_ary_new_capa($8,$9)|0);
    66348  $7 = $10;
    66349  $11 = $7;
    66350  $12 = ((($11)) + 20|0);
    66351  $13 = HEAP32[$12>>2]|0;
    66352  $14 = $6;
    66353  $15 = $5;
    66354  _array_copy($13,$14,$15);
    66355  $16 = $5;
    66356  $17 = $7;
    66357  $18 = ((($17)) + 12|0);
    66358  HEAP32[$18>>2] = $16;
    66359  $19 = $7;
    66360  _mrb_obj_value_549($0,$19);
    66361  STACKTOP = sp;return;
    66362 }
    66363 function _array_copy($0,$1,$2) {
    66364  $0 = $0|0;
    66365  $1 = $1|0;
    66366  $2 = $2|0;
    66367  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66368  sp = STACKTOP;
    66369  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66370  $3 = $0;
    66371  $4 = $1;
    66372  $5 = $2;
    66373  $6 = 0;
    66374  while(1) {
    66375   $7 = $6;
    66376   $8 = $5;
    66377   $9 = ($7|0)<($8|0);
    66378   if (!($9)) {
    66379    break;
    66380   }
    66381   $10 = $3;
    66382   $11 = $6;
    66383   $12 = (($10) + ($11<<3)|0);
    66384   $13 = $4;
    66385   $14 = $6;
    66386   $15 = (($13) + ($14<<3)|0);
    66387   ;HEAP32[$12>>2]=HEAP32[$15>>2]|0;HEAP32[$12+4>>2]=HEAP32[$15+4>>2]|0;
    66388   $16 = $6;
    66389   $17 = (($16) + 1)|0;
    66390   $6 = $17;
    66391  }
    66392  STACKTOP = sp;return;
    66393 }
    66394 function _mrb_assoc_new($0,$1,$2,$3) {
    66395  $0 = $0|0;
    66396  $1 = $1|0;
    66397  $2 = $2|0;
    66398  $3 = $3|0;
    66399  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66400  sp = STACKTOP;
    66401  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66402  $4 = $1;
    66403  $6 = $4;
    66404  $7 = (_ary_new_capa($6,2)|0);
    66405  $5 = $7;
    66406  $8 = $5;
    66407  $9 = ((($8)) + 20|0);
    66408  $10 = HEAP32[$9>>2]|0;
    66409  ;HEAP32[$10>>2]=HEAP32[$2>>2]|0;HEAP32[$10+4>>2]=HEAP32[$2+4>>2]|0;
    66410  $11 = $5;
    66411  $12 = ((($11)) + 20|0);
    66412  $13 = HEAP32[$12>>2]|0;
    66413  $14 = ((($13)) + 8|0);
    66414  ;HEAP32[$14>>2]=HEAP32[$3>>2]|0;HEAP32[$14+4>>2]=HEAP32[$3+4>>2]|0;
    66415  $15 = $5;
    66416  $16 = ((($15)) + 12|0);
    66417  HEAP32[$16>>2] = 2;
    66418  $17 = $5;
    66419  _mrb_obj_value_549($0,$17);
    66420  STACKTOP = sp;return;
    66421 }
    66422 function _ary_modify($0,$1) {
    66423  $0 = $0|0;
    66424  $1 = $1|0;
    66425  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    66426  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    66427  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    66428  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66429  sp = STACKTOP;
    66430  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    66431  $2 = $0;
    66432  $3 = $1;
    66433  $8 = $3;
    66434  $9 = HEAP32[$8>>2]|0;
    66435  $10 = $9 >>> 11;
    66436  $11 = $10 & 256;
    66437  $12 = ($11|0)!=(0);
    66438  if (!($12)) {
    66439   STACKTOP = sp;return;
    66440  }
    66441  $13 = $3;
    66442  $14 = ((($13)) + 16|0);
    66443  $15 = HEAP32[$14>>2]|0;
    66444  $4 = $15;
    66445  $16 = $4;
    66446  $17 = HEAP32[$16>>2]|0;
    66447  $18 = ($17|0)==(1);
    66448  if ($18) {
    66449   $19 = $3;
    66450   $20 = ((($19)) + 20|0);
    66451   $21 = HEAP32[$20>>2]|0;
    66452   $22 = $4;
    66453   $23 = ((($22)) + 8|0);
    66454   $24 = HEAP32[$23>>2]|0;
    66455   $25 = ($21|0)==($24|0);
    66456   if ($25) {
    66457    $26 = $4;
    66458    $27 = ((($26)) + 8|0);
    66459    $28 = HEAP32[$27>>2]|0;
    66460    $29 = $3;
    66461    $30 = ((($29)) + 20|0);
    66462    HEAP32[$30>>2] = $28;
    66463    $31 = $3;
    66464    $32 = ((($31)) + 12|0);
    66465    $33 = HEAP32[$32>>2]|0;
    66466    $34 = $3;
    66467    $35 = ((($34)) + 16|0);
    66468    HEAP32[$35>>2] = $33;
    66469    $36 = $2;
    66470    $37 = $4;
    66471    _mrb_free($36,$37);
    66472   } else {
    66473    label = 5;
    66474   }
    66475  } else {
    66476   label = 5;
    66477  }
    66478  if ((label|0) == 5) {
    66479   $38 = $3;
    66480   $39 = ((($38)) + 20|0);
    66481   $40 = HEAP32[$39>>2]|0;
    66482   $6 = $40;
    66483   $41 = $3;
    66484   $42 = ((($41)) + 12|0);
    66485   $43 = HEAP32[$42>>2]|0;
    66486   $44 = $43<<3;
    66487   $7 = $44;
    66488   $45 = $2;
    66489   $46 = $7;
    66490   $47 = (_mrb_malloc($45,$46)|0);
    66491   $5 = $47;
    66492   $48 = $6;
    66493   $49 = ($48|0)!=(0|0);
    66494   if ($49) {
    66495    $50 = $5;
    66496    $51 = $6;
    66497    $52 = $3;
    66498    $53 = ((($52)) + 12|0);
    66499    $54 = HEAP32[$53>>2]|0;
    66500    _array_copy($50,$51,$54);
    66501   }
    66502   $55 = $5;
    66503   $56 = $3;
    66504   $57 = ((($56)) + 20|0);
    66505   HEAP32[$57>>2] = $55;
    66506   $58 = $3;
    66507   $59 = ((($58)) + 12|0);
    66508   $60 = HEAP32[$59>>2]|0;
    66509   $61 = $3;
    66510   $62 = ((($61)) + 16|0);
    66511   HEAP32[$62>>2] = $60;
    66512   $63 = $2;
    66513   $64 = $4;
    66514   _mrb_ary_decref($63,$64);
    66515  }
    66516  $65 = $3;
    66517  $66 = HEAP32[$65>>2]|0;
    66518  $67 = $66 >>> 11;
    66519  $68 = $67 & -257;
    66520  $69 = HEAP32[$65>>2]|0;
    66521  $70 = $68 & 2097151;
    66522  $71 = $70 << 11;
    66523  $72 = $69 & 2047;
    66524  $73 = $72 | $71;
    66525  HEAP32[$65>>2] = $73;
    66526  STACKTOP = sp;return;
    66527 }
    66528 function _mrb_ary_decref($0,$1) {
    66529  $0 = $0|0;
    66530  $1 = $1|0;
    66531  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66532  sp = STACKTOP;
    66533  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66534  $2 = $0;
    66535  $3 = $1;
    66536  $4 = $3;
    66537  $5 = HEAP32[$4>>2]|0;
    66538  $6 = (($5) + -1)|0;
    66539  HEAP32[$4>>2] = $6;
    66540  $7 = $3;
    66541  $8 = HEAP32[$7>>2]|0;
    66542  $9 = ($8|0)==(0);
    66543  if (!($9)) {
    66544   STACKTOP = sp;return;
    66545  }
    66546  $10 = $2;
    66547  $11 = $3;
    66548  $12 = ((($11)) + 8|0);
    66549  $13 = HEAP32[$12>>2]|0;
    66550  _mrb_free($10,$13);
    66551  $14 = $2;
    66552  $15 = $3;
    66553  _mrb_free($14,$15);
    66554  STACKTOP = sp;return;
    66555 }
    66556 function _ary_shrink_capa($0,$1) {
    66557  $0 = $0|0;
    66558  $1 = $1|0;
    66559  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    66560  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    66561  var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66562  sp = STACKTOP;
    66563  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66564  $2 = $0;
    66565  $3 = $1;
    66566  $5 = $3;
    66567  $6 = ((($5)) + 16|0);
    66568  $7 = HEAP32[$6>>2]|0;
    66569  $4 = $7;
    66570  $8 = $4;
    66571  $9 = ($8|0)<(8);
    66572  if ($9) {
    66573   STACKTOP = sp;return;
    66574  }
    66575  $10 = $4;
    66576  $11 = $3;
    66577  $12 = ((($11)) + 12|0);
    66578  $13 = HEAP32[$12>>2]|0;
    66579  $14 = ($13*5)|0;
    66580  $15 = ($10|0)<=($14|0);
    66581  if ($15) {
    66582   STACKTOP = sp;return;
    66583  }
    66584  while(1) {
    66585   $16 = $4;
    66586   $17 = (($16|0) / 2)&-1;
    66587   $4 = $17;
    66588   $18 = $4;
    66589   $19 = ($18|0)<(4);
    66590   if ($19) {
    66591    label = 4;
    66592    break;
    66593   }
    66594   $20 = $4;
    66595   $21 = $3;
    66596   $22 = ((($21)) + 12|0);
    66597   $23 = HEAP32[$22>>2]|0;
    66598   $24 = ($23*5)|0;
    66599   $25 = ($20|0)>($24|0);
    66600   if (!($25)) {
    66601    break;
    66602   }
    66603  }
    66604  if ((label|0) == 4) {
    66605   $4 = 4;
    66606  }
    66607  $26 = $4;
    66608  $27 = $3;
    66609  $28 = ((($27)) + 12|0);
    66610  $29 = HEAP32[$28>>2]|0;
    66611  $30 = ($26|0)>($29|0);
    66612  if (!($30)) {
    66613   STACKTOP = sp;return;
    66614  }
    66615  $31 = $4;
    66616  $32 = $3;
    66617  $33 = ((($32)) + 16|0);
    66618  $34 = HEAP32[$33>>2]|0;
    66619  $35 = ($31|0)<($34|0);
    66620  if (!($35)) {
    66621   STACKTOP = sp;return;
    66622  }
    66623  $36 = $4;
    66624  $37 = $3;
    66625  $38 = ((($37)) + 16|0);
    66626  HEAP32[$38>>2] = $36;
    66627  $39 = $2;
    66628  $40 = $3;
    66629  $41 = ((($40)) + 20|0);
    66630  $42 = HEAP32[$41>>2]|0;
    66631  $43 = $4;
    66632  $44 = $43<<3;
    66633  $45 = (_mrb_realloc($39,$42,$44)|0);
    66634  $46 = $3;
    66635  $47 = ((($46)) + 20|0);
    66636  HEAP32[$47>>2] = $45;
    66637  STACKTOP = sp;return;
    66638 }
    66639 function _ary_expand_capa($0,$1,$2) {
    66640  $0 = $0|0;
    66641  $1 = $1|0;
    66642  $2 = $2|0;
    66643  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    66644  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    66645  var sp = 0;
    66646  sp = STACKTOP;
    66647  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    66648  $3 = $0;
    66649  $4 = $1;
    66650  $5 = $2;
    66651  $8 = $4;
    66652  $9 = ((($8)) + 16|0);
    66653  $10 = HEAP32[$9>>2]|0;
    66654  $6 = $10;
    66655  $11 = $5;
    66656  $12 = ($11|0)>(536870911);
    66657  if ($12) {
    66658   $13 = $3;
    66659   $14 = $3;
    66660   $15 = (_mrb_class_get($14,69160)|0);
    66661   _mrb_raise($13,$15,64504);
    66662   // unreachable;
    66663  }
    66664  $16 = $6;
    66665  $17 = ($16|0)==(0);
    66666  if ($17) {
    66667   $6 = 4;
    66668  }
    66669  while(1) {
    66670   $18 = $6;
    66671   $19 = $5;
    66672   $20 = ($18|0)<($19|0);
    66673   $21 = $6;
    66674   if (!($20)) {
    66675    break;
    66676   }
    66677   $22 = $21<<1;
    66678   $6 = $22;
    66679  }
    66680  $23 = ($21|0)>(536870911);
    66681  if ($23) {
    66682   $6 = 536870911;
    66683  }
    66684  $24 = $6;
    66685  $25 = $4;
    66686  $26 = ((($25)) + 16|0);
    66687  $27 = HEAP32[$26>>2]|0;
    66688  $28 = ($24|0)>($27|0);
    66689  if (!($28)) {
    66690   STACKTOP = sp;return;
    66691  }
    66692  $29 = $3;
    66693  $30 = $4;
    66694  $31 = ((($30)) + 20|0);
    66695  $32 = HEAP32[$31>>2]|0;
    66696  $33 = $6;
    66697  $34 = $33<<3;
    66698  $35 = (_mrb_realloc($29,$32,$34)|0);
    66699  $7 = $35;
    66700  $36 = $6;
    66701  $37 = $4;
    66702  $38 = ((($37)) + 16|0);
    66703  HEAP32[$38>>2] = $36;
    66704  $39 = $7;
    66705  $40 = $4;
    66706  $41 = ((($40)) + 20|0);
    66707  HEAP32[$41>>2] = $39;
    66708  STACKTOP = sp;return;
    66709 }
    66710 function _ary_fill_with_nil($0,$1) {
    66711  $0 = $0|0;
    66712  $1 = $1|0;
    66713  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66714  sp = STACKTOP;
    66715  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66716  $4 = sp;
    66717  $2 = $0;
    66718  $3 = $1;
    66719  _mrb_nil_value_562($4);
    66720  while(1) {
    66721   $5 = $3;
    66722   $6 = (($5) + -1)|0;
    66723   $3 = $6;
    66724   $7 = ($5|0)!=(0);
    66725   if (!($7)) {
    66726    break;
    66727   }
    66728   $8 = $2;
    66729   $9 = ((($8)) + 8|0);
    66730   $2 = $9;
    66731   ;HEAP32[$8>>2]=HEAP32[$4>>2]|0;HEAP32[$8+4>>2]=HEAP32[$4+4>>2]|0;
    66732  }
    66733  STACKTOP = sp;return;
    66734 }
    66735 function _mrb_nil_value_562($0) {
    66736  $0 = $0|0;
    66737  var $1 = 0, $2 = 0, label = 0, sp = 0;
    66738  sp = STACKTOP;
    66739  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66740  $1 = sp;
    66741  $2 = ((($1)) + 4|0);
    66742  HEAP32[$2>>2] = 0;
    66743  HEAP32[$1>>2] = 0;
    66744  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    66745  STACKTOP = sp;return;
    66746 }
    66747 function _mrb_ary_concat($0,$1,$2) {
    66748  $0 = $0|0;
    66749  $1 = $1|0;
    66750  $2 = $2|0;
    66751  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66752  sp = STACKTOP;
    66753  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66754  $3 = $0;
    66755  $5 = HEAP32[$2>>2]|0;
    66756  $4 = $5;
    66757  $6 = $3;
    66758  $7 = HEAP32[$1>>2]|0;
    66759  $8 = $4;
    66760  $9 = ((($8)) + 20|0);
    66761  $10 = HEAP32[$9>>2]|0;
    66762  $11 = $4;
    66763  $12 = ((($11)) + 12|0);
    66764  $13 = HEAP32[$12>>2]|0;
    66765  _ary_concat($6,$7,$10,$13);
    66766  STACKTOP = sp;return;
    66767 }
    66768 function _ary_concat($0,$1,$2,$3) {
    66769  $0 = $0|0;
    66770  $1 = $1|0;
    66771  $2 = $2|0;
    66772  $3 = $3|0;
    66773  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    66774  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66775  sp = STACKTOP;
    66776  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    66777  $4 = $0;
    66778  $5 = $1;
    66779  $6 = $2;
    66780  $7 = $3;
    66781  $9 = $5;
    66782  $10 = ((($9)) + 12|0);
    66783  $11 = HEAP32[$10>>2]|0;
    66784  $12 = $7;
    66785  $13 = (($11) + ($12))|0;
    66786  $8 = $13;
    66787  $14 = $4;
    66788  $15 = $5;
    66789  _ary_modify($14,$15);
    66790  $16 = $5;
    66791  $17 = ((($16)) + 16|0);
    66792  $18 = HEAP32[$17>>2]|0;
    66793  $19 = $8;
    66794  $20 = ($18|0)<($19|0);
    66795  if ($20) {
    66796   $21 = $4;
    66797   $22 = $5;
    66798   $23 = $8;
    66799   _ary_expand_capa($21,$22,$23);
    66800  }
    66801  $24 = $5;
    66802  $25 = ((($24)) + 20|0);
    66803  $26 = HEAP32[$25>>2]|0;
    66804  $27 = $5;
    66805  $28 = ((($27)) + 12|0);
    66806  $29 = HEAP32[$28>>2]|0;
    66807  $30 = (($26) + ($29<<3)|0);
    66808  $31 = $6;
    66809  $32 = $7;
    66810  _array_copy($30,$31,$32);
    66811  $33 = $4;
    66812  $34 = $5;
    66813  _mrb_write_barrier($33,$34);
    66814  $35 = $8;
    66815  $36 = $5;
    66816  $37 = ((($36)) + 12|0);
    66817  HEAP32[$37>>2] = $35;
    66818  STACKTOP = sp;return;
    66819 }
    66820 function _mrb_ary_replace($0,$1,$2) {
    66821  $0 = $0|0;
    66822  $1 = $1|0;
    66823  $2 = $2|0;
    66824  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66825  sp = STACKTOP;
    66826  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66827  $3 = $0;
    66828  $5 = HEAP32[$2>>2]|0;
    66829  $4 = $5;
    66830  $6 = $3;
    66831  $7 = HEAP32[$1>>2]|0;
    66832  $8 = $4;
    66833  $9 = ((($8)) + 20|0);
    66834  $10 = HEAP32[$9>>2]|0;
    66835  $11 = $4;
    66836  $12 = ((($11)) + 12|0);
    66837  $13 = HEAP32[$12>>2]|0;
    66838  _ary_replace($6,$7,$10,$13);
    66839  STACKTOP = sp;return;
    66840 }
    66841 function _ary_replace($0,$1,$2,$3) {
    66842  $0 = $0|0;
    66843  $1 = $1|0;
    66844  $2 = $2|0;
    66845  $3 = $3|0;
    66846  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0;
    66847  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66848  sp = STACKTOP;
    66849  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66850  $4 = $0;
    66851  $5 = $1;
    66852  $6 = $2;
    66853  $7 = $3;
    66854  $8 = $4;
    66855  $9 = $5;
    66856  _ary_modify($8,$9);
    66857  $10 = $5;
    66858  $11 = ((($10)) + 16|0);
    66859  $12 = HEAP32[$11>>2]|0;
    66860  $13 = $7;
    66861  $14 = ($12|0)<($13|0);
    66862  if ($14) {
    66863   $15 = $4;
    66864   $16 = $5;
    66865   $17 = $7;
    66866   _ary_expand_capa($15,$16,$17);
    66867  }
    66868  $18 = $5;
    66869  $19 = ((($18)) + 20|0);
    66870  $20 = HEAP32[$19>>2]|0;
    66871  $21 = $6;
    66872  $22 = $7;
    66873  _array_copy($20,$21,$22);
    66874  $23 = $4;
    66875  $24 = $5;
    66876  _mrb_write_barrier($23,$24);
    66877  $25 = $7;
    66878  $26 = $5;
    66879  $27 = ((($26)) + 12|0);
    66880  HEAP32[$27>>2] = $25;
    66881  STACKTOP = sp;return;
    66882 }
    66883 function _mrb_ary_push($0,$1,$2) {
    66884  $0 = $0|0;
    66885  $1 = $1|0;
    66886  $2 = $2|0;
    66887  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    66888  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66889  sp = STACKTOP;
    66890  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66891  $3 = $0;
    66892  $5 = HEAP32[$1>>2]|0;
    66893  $4 = $5;
    66894  $6 = $3;
    66895  $7 = $4;
    66896  _ary_modify($6,$7);
    66897  $8 = $4;
    66898  $9 = ((($8)) + 12|0);
    66899  $10 = HEAP32[$9>>2]|0;
    66900  $11 = $4;
    66901  $12 = ((($11)) + 16|0);
    66902  $13 = HEAP32[$12>>2]|0;
    66903  $14 = ($10|0)==($13|0);
    66904  if ($14) {
    66905   $15 = $3;
    66906   $16 = $4;
    66907   $17 = $4;
    66908   $18 = ((($17)) + 12|0);
    66909   $19 = HEAP32[$18>>2]|0;
    66910   $20 = (($19) + 1)|0;
    66911   _ary_expand_capa($15,$16,$20);
    66912  }
    66913  $21 = $4;
    66914  $22 = ((($21)) + 20|0);
    66915  $23 = HEAP32[$22>>2]|0;
    66916  $24 = $4;
    66917  $25 = ((($24)) + 12|0);
    66918  $26 = HEAP32[$25>>2]|0;
    66919  $27 = (($26) + 1)|0;
    66920  HEAP32[$25>>2] = $27;
    66921  $28 = (($23) + ($26<<3)|0);
    66922  ;HEAP32[$28>>2]=HEAP32[$2>>2]|0;HEAP32[$28+4>>2]=HEAP32[$2+4>>2]|0;
    66923  $29 = ((($2)) + 4|0);
    66924  $30 = HEAP32[$29>>2]|0;
    66925  $31 = ($30>>>0)<(8);
    66926  if ($31) {
    66927   STACKTOP = sp;return;
    66928  }
    66929  $32 = $3;
    66930  $33 = $4;
    66931  $34 = HEAP32[$2>>2]|0;
    66932  _mrb_field_write_barrier($32,$33,$34);
    66933  STACKTOP = sp;return;
    66934 }
    66935 function _mrb_ary_pop($0,$1,$2) {
    66936  $0 = $0|0;
    66937  $1 = $1|0;
    66938  $2 = $2|0;
    66939  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66940  sp = STACKTOP;
    66941  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    66942  $3 = $1;
    66943  $5 = HEAP32[$2>>2]|0;
    66944  $4 = $5;
    66945  $6 = $4;
    66946  $7 = ((($6)) + 12|0);
    66947  $8 = HEAP32[$7>>2]|0;
    66948  $9 = ($8|0)==(0);
    66949  if ($9) {
    66950   _mrb_nil_value_562($0);
    66951   STACKTOP = sp;return;
    66952  } else {
    66953   $10 = $4;
    66954   $11 = ((($10)) + 20|0);
    66955   $12 = HEAP32[$11>>2]|0;
    66956   $13 = $4;
    66957   $14 = ((($13)) + 12|0);
    66958   $15 = HEAP32[$14>>2]|0;
    66959   $16 = (($15) + -1)|0;
    66960   HEAP32[$14>>2] = $16;
    66961   $17 = (($12) + ($16<<3)|0);
    66962   ;HEAP32[$0>>2]=HEAP32[$17>>2]|0;HEAP32[$0+4>>2]=HEAP32[$17+4>>2]|0;
    66963   STACKTOP = sp;return;
    66964  }
    66965 }
    66966 function _mrb_ary_shift($0,$1,$2) {
    66967  $0 = $0|0;
    66968  $1 = $1|0;
    66969  $2 = $2|0;
    66970  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    66971  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    66972  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    66973  sp = STACKTOP;
    66974  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    66975  $5 = sp + 8|0;
    66976  $3 = $1;
    66977  $8 = HEAP32[$2>>2]|0;
    66978  $4 = $8;
    66979  $9 = $4;
    66980  $10 = ((($9)) + 12|0);
    66981  $11 = HEAP32[$10>>2]|0;
    66982  $12 = ($11|0)==(0);
    66983  if ($12) {
    66984   _mrb_nil_value_562($0);
    66985   STACKTOP = sp;return;
    66986  }
    66987  $13 = $4;
    66988  $14 = HEAP32[$13>>2]|0;
    66989  $15 = $14 >>> 11;
    66990  $16 = $15 & 256;
    66991  $17 = ($16|0)!=(0);
    66992  do {
    66993   if (!($17)) {
    66994    $29 = $4;
    66995    $30 = ((($29)) + 12|0);
    66996    $31 = HEAP32[$30>>2]|0;
    66997    $32 = ($31|0)>(10);
    66998    if ($32) {
    66999     $33 = $3;
    67000     $34 = $4;
    67001     _ary_make_shared($33,$34);
    67002     break;
    67003    }
    67004    $35 = $4;
    67005    $36 = ((($35)) + 20|0);
    67006    $37 = HEAP32[$36>>2]|0;
    67007    $6 = $37;
    67008    $38 = $4;
    67009    $39 = ((($38)) + 12|0);
    67010    $40 = HEAP32[$39>>2]|0;
    67011    $7 = $40;
    67012    $41 = $6;
    67013    ;HEAP32[$5>>2]=HEAP32[$41>>2]|0;HEAP32[$5+4>>2]=HEAP32[$41+4>>2]|0;
    67014    while(1) {
    67015     $42 = $7;
    67016     $43 = (($42) + -1)|0;
    67017     $7 = $43;
    67018     $44 = ($43|0)!=(0);
    67019     if (!($44)) {
    67020      break;
    67021     }
    67022     $45 = $6;
    67023     $46 = $6;
    67024     $47 = ((($46)) + 8|0);
    67025     ;HEAP32[$45>>2]=HEAP32[$47>>2]|0;HEAP32[$45+4>>2]=HEAP32[$47+4>>2]|0;
    67026     $48 = $6;
    67027     $49 = ((($48)) + 8|0);
    67028     $6 = $49;
    67029    }
    67030    $50 = $4;
    67031    $51 = ((($50)) + 12|0);
    67032    $52 = HEAP32[$51>>2]|0;
    67033    $53 = (($52) + -1)|0;
    67034    HEAP32[$51>>2] = $53;
    67035    ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    67036    STACKTOP = sp;return;
    67037   }
    67038  } while(0);
    67039  $18 = $4;
    67040  $19 = ((($18)) + 20|0);
    67041  $20 = HEAP32[$19>>2]|0;
    67042  ;HEAP32[$5>>2]=HEAP32[$20>>2]|0;HEAP32[$5+4>>2]=HEAP32[$20+4>>2]|0;
    67043  $21 = $4;
    67044  $22 = ((($21)) + 20|0);
    67045  $23 = HEAP32[$22>>2]|0;
    67046  $24 = ((($23)) + 8|0);
    67047  HEAP32[$22>>2] = $24;
    67048  $25 = $4;
    67049  $26 = ((($25)) + 12|0);
    67050  $27 = HEAP32[$26>>2]|0;
    67051  $28 = (($27) + -1)|0;
    67052  HEAP32[$26>>2] = $28;
    67053  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    67054  STACKTOP = sp;return;
    67055 }
    67056 function _ary_make_shared($0,$1) {
    67057  $0 = $0|0;
    67058  $1 = $1|0;
    67059  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    67060  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    67061  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67062  sp = STACKTOP;
    67063  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    67064  $2 = $0;
    67065  $3 = $1;
    67066  $5 = $3;
    67067  $6 = HEAP32[$5>>2]|0;
    67068  $7 = $6 >>> 11;
    67069  $8 = $7 & 256;
    67070  $9 = ($8|0)!=(0);
    67071  if ($9) {
    67072   STACKTOP = sp;return;
    67073  }
    67074  $10 = $2;
    67075  $11 = (_mrb_malloc($10,12)|0);
    67076  $4 = $11;
    67077  $12 = $4;
    67078  HEAP32[$12>>2] = 1;
    67079  $13 = $3;
    67080  $14 = ((($13)) + 16|0);
    67081  $15 = HEAP32[$14>>2]|0;
    67082  $16 = $3;
    67083  $17 = ((($16)) + 12|0);
    67084  $18 = HEAP32[$17>>2]|0;
    67085  $19 = ($15|0)>($18|0);
    67086  if ($19) {
    67087   $20 = $2;
    67088   $21 = $3;
    67089   $22 = ((($21)) + 20|0);
    67090   $23 = HEAP32[$22>>2]|0;
    67091   $24 = $3;
    67092   $25 = ((($24)) + 12|0);
    67093   $26 = HEAP32[$25>>2]|0;
    67094   $27 = $26<<3;
    67095   $28 = (($27) + 1)|0;
    67096   $29 = (_mrb_realloc($20,$23,$28)|0);
    67097   $30 = $4;
    67098   $31 = ((($30)) + 8|0);
    67099   HEAP32[$31>>2] = $29;
    67100   $32 = $3;
    67101   $33 = ((($32)) + 20|0);
    67102   HEAP32[$33>>2] = $29;
    67103  } else {
    67104   $34 = $3;
    67105   $35 = ((($34)) + 20|0);
    67106   $36 = HEAP32[$35>>2]|0;
    67107   $37 = $4;
    67108   $38 = ((($37)) + 8|0);
    67109   HEAP32[$38>>2] = $36;
    67110  }
    67111  $39 = $3;
    67112  $40 = ((($39)) + 12|0);
    67113  $41 = HEAP32[$40>>2]|0;
    67114  $42 = $4;
    67115  $43 = ((($42)) + 4|0);
    67116  HEAP32[$43>>2] = $41;
    67117  $44 = $4;
    67118  $45 = $3;
    67119  $46 = ((($45)) + 16|0);
    67120  HEAP32[$46>>2] = $44;
    67121  $47 = $3;
    67122  $48 = HEAP32[$47>>2]|0;
    67123  $49 = $48 >>> 11;
    67124  $50 = $49 | 256;
    67125  $51 = HEAP32[$47>>2]|0;
    67126  $52 = $50 & 2097151;
    67127  $53 = $52 << 11;
    67128  $54 = $51 & 2047;
    67129  $55 = $54 | $53;
    67130  HEAP32[$47>>2] = $55;
    67131  STACKTOP = sp;return;
    67132 }
    67133 function _mrb_ary_unshift($0,$1,$2,$3) {
    67134  $0 = $0|0;
    67135  $1 = $1|0;
    67136  $2 = $2|0;
    67137  $3 = $3|0;
    67138  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    67139  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    67140  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    67141  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67142  sp = STACKTOP;
    67143  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    67144  $4 = $1;
    67145  $6 = HEAP32[$2>>2]|0;
    67146  $5 = $6;
    67147  $7 = $5;
    67148  $8 = HEAP32[$7>>2]|0;
    67149  $9 = $8 >>> 11;
    67150  $10 = $9 & 256;
    67151  $11 = ($10|0)!=(0);
    67152  if ($11) {
    67153   $12 = $5;
    67154   $13 = ((($12)) + 16|0);
    67155   $14 = HEAP32[$13>>2]|0;
    67156   $15 = HEAP32[$14>>2]|0;
    67157   $16 = ($15|0)==(1);
    67158   if ($16) {
    67159    $17 = $5;
    67160    $18 = ((($17)) + 20|0);
    67161    $19 = HEAP32[$18>>2]|0;
    67162    $20 = $5;
    67163    $21 = ((($20)) + 16|0);
    67164    $22 = HEAP32[$21>>2]|0;
    67165    $23 = ((($22)) + 8|0);
    67166    $24 = HEAP32[$23>>2]|0;
    67167    $25 = $19;
    67168    $26 = $24;
    67169    $27 = (($25) - ($26))|0;
    67170    $28 = (($27|0) / 8)&-1;
    67171    $29 = ($28|0)>=(1);
    67172    if ($29) {
    67173     $30 = $5;
    67174     $31 = ((($30)) + 20|0);
    67175     $32 = HEAP32[$31>>2]|0;
    67176     $33 = ((($32)) + -8|0);
    67177     HEAP32[$31>>2] = $33;
    67178     $34 = $5;
    67179     $35 = ((($34)) + 20|0);
    67180     $36 = HEAP32[$35>>2]|0;
    67181     ;HEAP32[$36>>2]=HEAP32[$3>>2]|0;HEAP32[$36+4>>2]=HEAP32[$3+4>>2]|0;
    67182    } else {
    67183     label = 5;
    67184    }
    67185   } else {
    67186    label = 5;
    67187   }
    67188  } else {
    67189   label = 5;
    67190  }
    67191  if ((label|0) == 5) {
    67192   $37 = $4;
    67193   $38 = $5;
    67194   _ary_modify($37,$38);
    67195   $39 = $5;
    67196   $40 = ((($39)) + 16|0);
    67197   $41 = HEAP32[$40>>2]|0;
    67198   $42 = $5;
    67199   $43 = ((($42)) + 12|0);
    67200   $44 = HEAP32[$43>>2]|0;
    67201   $45 = (($44) + 1)|0;
    67202   $46 = ($41|0)<($45|0);
    67203   if ($46) {
    67204    $47 = $4;
    67205    $48 = $5;
    67206    $49 = $5;
    67207    $50 = ((($49)) + 12|0);
    67208    $51 = HEAP32[$50>>2]|0;
    67209    $52 = (($51) + 1)|0;
    67210    _ary_expand_capa($47,$48,$52);
    67211   }
    67212   $53 = $5;
    67213   $54 = ((($53)) + 20|0);
    67214   $55 = HEAP32[$54>>2]|0;
    67215   $56 = ((($55)) + 8|0);
    67216   $57 = $5;
    67217   $58 = ((($57)) + 20|0);
    67218   $59 = HEAP32[$58>>2]|0;
    67219   $60 = $5;
    67220   $61 = ((($60)) + 12|0);
    67221   $62 = HEAP32[$61>>2]|0;
    67222   _value_move_573($56,$59,$62);
    67223   $63 = $5;
    67224   $64 = ((($63)) + 20|0);
    67225   $65 = HEAP32[$64>>2]|0;
    67226   ;HEAP32[$65>>2]=HEAP32[$3>>2]|0;HEAP32[$65+4>>2]=HEAP32[$3+4>>2]|0;
    67227  }
    67228  $66 = $5;
    67229  $67 = ((($66)) + 12|0);
    67230  $68 = HEAP32[$67>>2]|0;
    67231  $69 = (($68) + 1)|0;
    67232  HEAP32[$67>>2] = $69;
    67233  $70 = ((($3)) + 4|0);
    67234  $71 = HEAP32[$70>>2]|0;
    67235  $72 = ($71>>>0)<(8);
    67236  if ($72) {
    67237   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    67238   STACKTOP = sp;return;
    67239  }
    67240  $73 = $4;
    67241  $74 = $5;
    67242  $75 = HEAP32[$3>>2]|0;
    67243  _mrb_field_write_barrier($73,$74,$75);
    67244  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    67245  STACKTOP = sp;return;
    67246 }
    67247 function _value_move_573($0,$1,$2) {
    67248  $0 = $0|0;
    67249  $1 = $1|0;
    67250  $2 = $2|0;
    67251  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    67252  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67253  sp = STACKTOP;
    67254  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    67255  $3 = $0;
    67256  $4 = $1;
    67257  $5 = $2;
    67258  $6 = $3;
    67259  $7 = $4;
    67260  $8 = ($6>>>0)>($7>>>0);
    67261  if ($8) {
    67262   $9 = $3;
    67263   $10 = $4;
    67264   $11 = $5;
    67265   $12 = (($10) + ($11<<3)|0);
    67266   $13 = ($9>>>0)<($12>>>0);
    67267   if ($13) {
    67268    $14 = $5;
    67269    $15 = $3;
    67270    $16 = (($15) + ($14<<3)|0);
    67271    $3 = $16;
    67272    $17 = $5;
    67273    $18 = $4;
    67274    $19 = (($18) + ($17<<3)|0);
    67275    $4 = $19;
    67276    while(1) {
    67277     $20 = $5;
    67278     $21 = (($20) + -1)|0;
    67279     $5 = $21;
    67280     $22 = ($20>>>0)>(0);
    67281     if (!($22)) {
    67282      break;
    67283     }
    67284     $23 = $3;
    67285     $24 = ((($23)) + -8|0);
    67286     $3 = $24;
    67287     $25 = $4;
    67288     $26 = ((($25)) + -8|0);
    67289     $4 = $26;
    67290     ;HEAP32[$24>>2]=HEAP32[$26>>2]|0;HEAP32[$24+4>>2]=HEAP32[$26+4>>2]|0;
    67291    }
    67292    STACKTOP = sp;return;
    67293   }
    67294  }
    67295  $27 = $3;
    67296  $28 = $4;
    67297  $29 = ($27|0)!=($28|0);
    67298  if (!($29)) {
    67299   STACKTOP = sp;return;
    67300  }
    67301  while(1) {
    67302   $30 = $5;
    67303   $31 = (($30) + -1)|0;
    67304   $5 = $31;
    67305   $32 = ($30>>>0)>(0);
    67306   if (!($32)) {
    67307    break;
    67308   }
    67309   $33 = $3;
    67310   $34 = ((($33)) + 8|0);
    67311   $3 = $34;
    67312   $35 = $4;
    67313   $36 = ((($35)) + 8|0);
    67314   $4 = $36;
    67315   ;HEAP32[$33>>2]=HEAP32[$35>>2]|0;HEAP32[$33+4>>2]=HEAP32[$35+4>>2]|0;
    67316  }
    67317  STACKTOP = sp;return;
    67318 }
    67319 function _mrb_ary_ref($0,$1,$2,$3) {
    67320  $0 = $0|0;
    67321  $1 = $1|0;
    67322  $2 = $2|0;
    67323  $3 = $3|0;
    67324  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0;
    67325  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67326  sp = STACKTOP;
    67327  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    67328  $4 = $1;
    67329  $5 = $3;
    67330  $7 = HEAP32[$2>>2]|0;
    67331  $6 = $7;
    67332  $8 = $5;
    67333  $9 = ($8|0)<(0);
    67334  if ($9) {
    67335   $10 = $6;
    67336   $11 = ((($10)) + 12|0);
    67337   $12 = HEAP32[$11>>2]|0;
    67338   $13 = $5;
    67339   $14 = (($13) + ($12))|0;
    67340   $5 = $14;
    67341  }
    67342  $15 = $5;
    67343  $16 = ($15|0)<(0);
    67344  if (!($16)) {
    67345   $17 = $6;
    67346   $18 = ((($17)) + 12|0);
    67347   $19 = HEAP32[$18>>2]|0;
    67348   $20 = $5;
    67349   $21 = ($19|0)<=($20|0);
    67350   if (!($21)) {
    67351    $22 = $6;
    67352    $23 = ((($22)) + 20|0);
    67353    $24 = HEAP32[$23>>2]|0;
    67354    $25 = $5;
    67355    $26 = (($24) + ($25<<3)|0);
    67356    ;HEAP32[$0>>2]=HEAP32[$26>>2]|0;HEAP32[$0+4>>2]=HEAP32[$26+4>>2]|0;
    67357    STACKTOP = sp;return;
    67358   }
    67359  }
    67360  _mrb_nil_value_562($0);
    67361  STACKTOP = sp;return;
    67362 }
    67363 function _mrb_ary_set($0,$1,$2,$3) {
    67364  $0 = $0|0;
    67365  $1 = $1|0;
    67366  $2 = $2|0;
    67367  $3 = $3|0;
    67368  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    67369  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    67370  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    67371  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    67372  sp = STACKTOP;
    67373  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    67374  $vararg_buffer = sp;
    67375  $7 = sp + 8|0;
    67376  $4 = $0;
    67377  $5 = $2;
    67378  $8 = HEAP32[$1>>2]|0;
    67379  $6 = $8;
    67380  $9 = $4;
    67381  $10 = $6;
    67382  _ary_modify($9,$10);
    67383  $11 = $5;
    67384  $12 = ($11|0)<(0);
    67385  if ($12) {
    67386   $13 = $6;
    67387   $14 = ((($13)) + 12|0);
    67388   $15 = HEAP32[$14>>2]|0;
    67389   $16 = $5;
    67390   $17 = (($16) + ($15))|0;
    67391   $5 = $17;
    67392   $18 = $5;
    67393   $19 = ($18|0)<(0);
    67394   if ($19) {
    67395    $20 = $4;
    67396    $21 = $4;
    67397    $22 = (_mrb_class_get($21,69011)|0);
    67398    $23 = $5;
    67399    $24 = $6;
    67400    $25 = ((($24)) + 12|0);
    67401    $26 = HEAP32[$25>>2]|0;
    67402    $27 = (($23) - ($26))|0;
    67403    _mrb_fixnum_value_579($7,$27);
    67404    ;HEAP8[$vararg_buffer>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$7+7>>0]|0;
    67405    _mrb_raisef($20,$22,64523,$vararg_buffer);
    67406    // unreachable;
    67407   }
    67408  }
    67409  $28 = $6;
    67410  $29 = ((($28)) + 12|0);
    67411  $30 = HEAP32[$29>>2]|0;
    67412  $31 = $5;
    67413  $32 = ($30|0)<=($31|0);
    67414  if ($32) {
    67415   $33 = $6;
    67416   $34 = ((($33)) + 16|0);
    67417   $35 = HEAP32[$34>>2]|0;
    67418   $36 = $5;
    67419   $37 = ($35|0)<=($36|0);
    67420   if ($37) {
    67421    $38 = $4;
    67422    $39 = $6;
    67423    $40 = $5;
    67424    $41 = (($40) + 1)|0;
    67425    _ary_expand_capa($38,$39,$41);
    67426   }
    67427   $42 = $6;
    67428   $43 = ((($42)) + 20|0);
    67429   $44 = HEAP32[$43>>2]|0;
    67430   $45 = $6;
    67431   $46 = ((($45)) + 12|0);
    67432   $47 = HEAP32[$46>>2]|0;
    67433   $48 = (($44) + ($47<<3)|0);
    67434   $49 = $5;
    67435   $50 = (($49) + 1)|0;
    67436   $51 = $6;
    67437   $52 = ((($51)) + 12|0);
    67438   $53 = HEAP32[$52>>2]|0;
    67439   $54 = (($50) - ($53))|0;
    67440   _ary_fill_with_nil($48,$54);
    67441   $55 = $5;
    67442   $56 = (($55) + 1)|0;
    67443   $57 = $6;
    67444   $58 = ((($57)) + 12|0);
    67445   HEAP32[$58>>2] = $56;
    67446  }
    67447  $59 = $6;
    67448  $60 = ((($59)) + 20|0);
    67449  $61 = HEAP32[$60>>2]|0;
    67450  $62 = $5;
    67451  $63 = (($61) + ($62<<3)|0);
    67452  ;HEAP32[$63>>2]=HEAP32[$3>>2]|0;HEAP32[$63+4>>2]=HEAP32[$3+4>>2]|0;
    67453  $64 = ((($3)) + 4|0);
    67454  $65 = HEAP32[$64>>2]|0;
    67455  $66 = ($65>>>0)<(8);
    67456  if ($66) {
    67457   STACKTOP = sp;return;
    67458  }
    67459  $67 = $4;
    67460  $68 = $6;
    67461  $69 = HEAP32[$3>>2]|0;
    67462  _mrb_field_write_barrier($67,$68,$69);
    67463  STACKTOP = sp;return;
    67464 }
    67465 function _mrb_fixnum_value_579($0,$1) {
    67466  $0 = $0|0;
    67467  $1 = $1|0;
    67468  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    67469  sp = STACKTOP;
    67470  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    67471  $3 = sp;
    67472  $2 = $1;
    67473  $4 = ((($3)) + 4|0);
    67474  HEAP32[$4>>2] = 3;
    67475  $5 = $2;
    67476  HEAP32[$3>>2] = $5;
    67477  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    67478  STACKTOP = sp;return;
    67479 }
    67480 function _mrb_ary_splice($0,$1,$2,$3,$4,$5) {
    67481  $0 = $0|0;
    67482  $1 = $1|0;
    67483  $2 = $2|0;
    67484  $3 = $3|0;
    67485  $4 = $4|0;
    67486  $5 = $5|0;
    67487  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    67488  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    67489  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    67490  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
    67491  var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0;
    67492  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    67493  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    67494  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    67495  sp = STACKTOP;
    67496  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    67497  $vararg_buffer = sp;
    67498  $15 = sp + 8|0;
    67499  $6 = $1;
    67500  $7 = $3;
    67501  $8 = $4;
    67502  $16 = HEAP32[$2>>2]|0;
    67503  $9 = $16;
    67504  $17 = $6;
    67505  $18 = $9;
    67506  _ary_modify($17,$18);
    67507  $19 = $8;
    67508  $20 = ($19|0)<(0);
    67509  if ($20) {
    67510   $21 = $6;
    67511   $22 = $6;
    67512   $23 = (_mrb_class_get($22,69011)|0);
    67513   $24 = $8;
    67514   _mrb_fixnum_value_579($15,$24);
    67515   ;HEAP8[$vararg_buffer>>0]=HEAP8[$15>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$15+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$15+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$15+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$15+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$15+7>>0]|0;
    67516   _mrb_raisef($21,$23,64545,$vararg_buffer);
    67517   // unreachable;
    67518  }
    67519  $25 = $7;
    67520  $26 = ($25|0)<(0);
    67521  if ($26) {
    67522   $27 = $9;
    67523   $28 = ((($27)) + 12|0);
    67524   $29 = HEAP32[$28>>2]|0;
    67525   $30 = $7;
    67526   $31 = (($30) + ($29))|0;
    67527   $7 = $31;
    67528   $32 = $7;
    67529   $33 = ($32|0)<(0);
    67530   if ($33) {
    67531    $34 = $6;
    67532    $35 = $6;
    67533    $36 = (_mrb_class_get($35,69011)|0);
    67534    _mrb_raise($34,$36,64566);
    67535    // unreachable;
    67536   }
    67537  }
    67538  $37 = $9;
    67539  $38 = ((($37)) + 12|0);
    67540  $39 = HEAP32[$38>>2]|0;
    67541  $40 = $8;
    67542  $41 = ($39|0)<($40|0);
    67543  if ($41) {
    67544   label = 8;
    67545  } else {
    67546   $42 = $9;
    67547   $43 = ((($42)) + 12|0);
    67548   $44 = HEAP32[$43>>2]|0;
    67549   $45 = $7;
    67550   $46 = $8;
    67551   $47 = (($45) + ($46))|0;
    67552   $48 = ($44|0)<($47|0);
    67553   if ($48) {
    67554    label = 8;
    67555   }
    67556  }
    67557  if ((label|0) == 8) {
    67558   $49 = $9;
    67559   $50 = ((($49)) + 12|0);
    67560   $51 = HEAP32[$50>>2]|0;
    67561   $52 = $7;
    67562   $53 = (($51) - ($52))|0;
    67563   $8 = $53;
    67564  }
    67565  $54 = $7;
    67566  $55 = $8;
    67567  $56 = (($54) + ($55))|0;
    67568  $10 = $56;
    67569  $57 = ((($5)) + 4|0);
    67570  $58 = HEAP32[$57>>2]|0;
    67571  $59 = ($58|0)==(14);
    67572  if ($59) {
    67573   $60 = HEAP32[$5>>2]|0;
    67574   $61 = ((($60)) + 12|0);
    67575   $62 = HEAP32[$61>>2]|0;
    67576   $14 = $62;
    67577   $63 = HEAP32[$5>>2]|0;
    67578   $64 = ((($63)) + 20|0);
    67579   $65 = HEAP32[$64>>2]|0;
    67580   $12 = $65;
    67581  } else {
    67582   $14 = 1;
    67583   $12 = $5;
    67584  }
    67585  $66 = $7;
    67586  $67 = $14;
    67587  $68 = (($66) + ($67))|0;
    67588  $11 = $68;
    67589  $69 = $10;
    67590  $70 = $9;
    67591  $71 = ((($70)) + 12|0);
    67592  $72 = HEAP32[$71>>2]|0;
    67593  $73 = ($69|0)<($72|0);
    67594  if ($73) {
    67595   $74 = $9;
    67596   $75 = ((($74)) + 12|0);
    67597   $76 = HEAP32[$75>>2]|0;
    67598   $77 = $10;
    67599   $78 = (($76) - ($77))|0;
    67600   $79 = $11;
    67601   $80 = (($79) + ($78))|0;
    67602   $11 = $80;
    67603  }
    67604  $81 = $11;
    67605  $82 = $9;
    67606  $83 = ((($82)) + 16|0);
    67607  $84 = HEAP32[$83>>2]|0;
    67608  $85 = ($81|0)>($84|0);
    67609  if ($85) {
    67610   $86 = $6;
    67611   $87 = $9;
    67612   $88 = $11;
    67613   _ary_expand_capa($86,$87,$88);
    67614  }
    67615  $89 = $7;
    67616  $90 = $9;
    67617  $91 = ((($90)) + 12|0);
    67618  $92 = HEAP32[$91>>2]|0;
    67619  $93 = ($89|0)>($92|0);
    67620  if ($93) {
    67621   $94 = $9;
    67622   $95 = ((($94)) + 20|0);
    67623   $96 = HEAP32[$95>>2]|0;
    67624   $97 = $9;
    67625   $98 = ((($97)) + 12|0);
    67626   $99 = HEAP32[$98>>2]|0;
    67627   $100 = (($96) + ($99<<3)|0);
    67628   $101 = $7;
    67629   $102 = $9;
    67630   $103 = ((($102)) + 12|0);
    67631   $104 = HEAP32[$103>>2]|0;
    67632   $105 = (($101) - ($104))|0;
    67633   _ary_fill_with_nil($100,$105);
    67634  } else {
    67635   $106 = $7;
    67636   $107 = $9;
    67637   $108 = ((($107)) + 12|0);
    67638   $109 = HEAP32[$108>>2]|0;
    67639   $110 = ($106|0)<($109|0);
    67640   if ($110) {
    67641    $111 = $9;
    67642    $112 = ((($111)) + 20|0);
    67643    $113 = HEAP32[$112>>2]|0;
    67644    $114 = $7;
    67645    $115 = (($113) + ($114<<3)|0);
    67646    $116 = $14;
    67647    $117 = (($115) + ($116<<3)|0);
    67648    $118 = $9;
    67649    $119 = ((($118)) + 20|0);
    67650    $120 = HEAP32[$119>>2]|0;
    67651    $121 = $10;
    67652    $122 = (($120) + ($121<<3)|0);
    67653    $123 = $9;
    67654    $124 = ((($123)) + 12|0);
    67655    $125 = HEAP32[$124>>2]|0;
    67656    $126 = $10;
    67657    $127 = (($125) - ($126))|0;
    67658    _value_move_573($117,$122,$127);
    67659   }
    67660  }
    67661  $13 = 0;
    67662  while(1) {
    67663   $128 = $13;
    67664   $129 = $14;
    67665   $130 = ($128|0)<($129|0);
    67666   if (!($130)) {
    67667    break;
    67668   }
    67669   $131 = $9;
    67670   $132 = ((($131)) + 20|0);
    67671   $133 = HEAP32[$132>>2]|0;
    67672   $134 = $7;
    67673   $135 = (($133) + ($134<<3)|0);
    67674   $136 = $13;
    67675   $137 = (($135) + ($136<<3)|0);
    67676   $138 = $12;
    67677   $139 = $13;
    67678   $140 = (($138) + ($139<<3)|0);
    67679   ;HEAP32[$137>>2]=HEAP32[$140>>2]|0;HEAP32[$137+4>>2]=HEAP32[$140+4>>2]|0;
    67680   $141 = $12;
    67681   $142 = $13;
    67682   $143 = (($141) + ($142<<3)|0);
    67683   $144 = ((($143)) + 4|0);
    67684   $145 = HEAP32[$144>>2]|0;
    67685   $146 = ($145>>>0)<(8);
    67686   if (!($146)) {
    67687    $147 = $6;
    67688    $148 = $9;
    67689    $149 = $12;
    67690    $150 = $13;
    67691    $151 = (($149) + ($150<<3)|0);
    67692    $152 = HEAP32[$151>>2]|0;
    67693    _mrb_field_write_barrier($147,$148,$152);
    67694   }
    67695   $153 = $13;
    67696   $154 = (($153) + 1)|0;
    67697   $13 = $154;
    67698  }
    67699  $155 = $11;
    67700  $156 = $9;
    67701  $157 = ((($156)) + 12|0);
    67702  HEAP32[$157>>2] = $155;
    67703  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    67704  STACKTOP = sp;return;
    67705 }
    67706 function _mrb_ary_splat($0,$1,$2) {
    67707  $0 = $0|0;
    67708  $1 = $1|0;
    67709  $2 = $2|0;
    67710  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    67711  sp = STACKTOP;
    67712  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    67713  $$byval_copy1 = sp + 16|0;
    67714  $$byval_copy = sp + 8|0;
    67715  $vararg_buffer = sp;
    67716  $3 = $1;
    67717  $4 = ((($2)) + 4|0);
    67718  $5 = HEAP32[$4>>2]|0;
    67719  $6 = ($5|0)==(14);
    67720  if ($6) {
    67721   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    67722   STACKTOP = sp;return;
    67723  }
    67724  $7 = $3;
    67725  $8 = $3;
    67726  $9 = (_mrb_intern_static($8,64588,4)|0);
    67727  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    67728  $10 = (_mrb_respond_to($7,$$byval_copy,$9)|0);
    67729  $11 = ($10<<24>>24)!=(0);
    67730  $12 = $3;
    67731  if ($11) {
    67732   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    67733   _mrb_funcall($0,$12,$$byval_copy1,64588,0,$vararg_buffer);
    67734   STACKTOP = sp;return;
    67735  } else {
    67736   _mrb_ary_new_from_values($0,$12,1,$2);
    67737   STACKTOP = sp;return;
    67738  }
    67739 }
    67740 function _mrb_ary_clear($0,$1,$2) {
    67741  $0 = $0|0;
    67742  $1 = $1|0;
    67743  $2 = $2|0;
    67744  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    67745  var $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67746  sp = STACKTOP;
    67747  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    67748  $3 = $1;
    67749  $5 = HEAP32[$2>>2]|0;
    67750  $4 = $5;
    67751  $6 = $4;
    67752  $7 = HEAP32[$6>>2]|0;
    67753  $8 = $7 >>> 11;
    67754  $9 = $8 & 256;
    67755  $10 = ($9|0)!=(0);
    67756  $11 = $3;
    67757  $12 = $4;
    67758  if ($10) {
    67759   $13 = ((($12)) + 16|0);
    67760   $14 = HEAP32[$13>>2]|0;
    67761   _mrb_ary_decref($11,$14);
    67762   $15 = $4;
    67763   $16 = HEAP32[$15>>2]|0;
    67764   $17 = $16 >>> 11;
    67765   $18 = $17 & -257;
    67766   $19 = HEAP32[$15>>2]|0;
    67767   $20 = $18 & 2097151;
    67768   $21 = $20 << 11;
    67769   $22 = $19 & 2047;
    67770   $23 = $22 | $21;
    67771   HEAP32[$15>>2] = $23;
    67772  } else {
    67773   $24 = ((($12)) + 20|0);
    67774   $25 = HEAP32[$24>>2]|0;
    67775   _mrb_free($11,$25);
    67776  }
    67777  $26 = $4;
    67778  $27 = ((($26)) + 12|0);
    67779  HEAP32[$27>>2] = 0;
    67780  $28 = $4;
    67781  $29 = ((($28)) + 16|0);
    67782  HEAP32[$29>>2] = 0;
    67783  $30 = $4;
    67784  $31 = ((($30)) + 20|0);
    67785  HEAP32[$31>>2] = 0;
    67786  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    67787  STACKTOP = sp;return;
    67788 }
    67789 function _mrb_ary_entry($0,$1,$2) {
    67790  $0 = $0|0;
    67791  $1 = $1|0;
    67792  $2 = $2|0;
    67793  var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67794  sp = STACKTOP;
    67795  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    67796  $$byval_copy = sp + 8|0;
    67797  $3 = $2;
    67798  $4 = $3;
    67799  $5 = ($4|0)<(0);
    67800  if ($5) {
    67801   $6 = HEAP32[$1>>2]|0;
    67802   $7 = ((($6)) + 12|0);
    67803   $8 = HEAP32[$7>>2]|0;
    67804   $9 = $3;
    67805   $10 = (($9) + ($8))|0;
    67806   $3 = $10;
    67807  }
    67808  $11 = $3;
    67809  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    67810  _ary_elt($0,$$byval_copy,$11);
    67811  STACKTOP = sp;return;
    67812 }
    67813 function _ary_elt($0,$1,$2) {
    67814  $0 = $0|0;
    67815  $1 = $1|0;
    67816  $2 = $2|0;
    67817  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67818  sp = STACKTOP;
    67819  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    67820  $3 = $2;
    67821  $4 = $3;
    67822  $5 = ($4|0)<(0);
    67823  if (!($5)) {
    67824   $6 = HEAP32[$1>>2]|0;
    67825   $7 = ((($6)) + 12|0);
    67826   $8 = HEAP32[$7>>2]|0;
    67827   $9 = $3;
    67828   $10 = ($8|0)<=($9|0);
    67829   if (!($10)) {
    67830    $11 = HEAP32[$1>>2]|0;
    67831    $12 = ((($11)) + 20|0);
    67832    $13 = HEAP32[$12>>2]|0;
    67833    $14 = $3;
    67834    $15 = (($13) + ($14<<3)|0);
    67835    ;HEAP32[$0>>2]=HEAP32[$15>>2]|0;HEAP32[$0+4>>2]=HEAP32[$15+4>>2]|0;
    67836    STACKTOP = sp;return;
    67837   }
    67838  }
    67839  _mrb_nil_value_562($0);
    67840  STACKTOP = sp;return;
    67841 }
    67842 function _mrb_ary_join($0,$1,$2,$3) {
    67843  $0 = $0|0;
    67844  $1 = $1|0;
    67845  $2 = $2|0;
    67846  $3 = $3|0;
    67847  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67848  sp = STACKTOP;
    67849  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    67850  $$byval_copy3 = sp + 48|0;
    67851  $$byval_copy2 = sp + 40|0;
    67852  $$byval_copy1 = sp + 32|0;
    67853  $$byval_copy = sp + 24|0;
    67854  $5 = sp + 8|0;
    67855  $6 = sp;
    67856  $4 = $1;
    67857  $7 = $4;
    67858  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    67859  _mrb_obj_as_string($5,$7,$$byval_copy);
    67860  ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;
    67861  $8 = $4;
    67862  $9 = $4;
    67863  _mrb_ary_new($6,$9);
    67864  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    67865  ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;
    67866  ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;
    67867  _join_ary($0,$8,$$byval_copy1,$$byval_copy2,$$byval_copy3);
    67868  STACKTOP = sp;return;
    67869 }
    67870 function _join_ary($0,$1,$2,$3,$4) {
    67871  $0 = $0|0;
    67872  $1 = $1|0;
    67873  $2 = $2|0;
    67874  $3 = $3|0;
    67875  $4 = $4|0;
    67876  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
    67877  var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
    67878  var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
    67879  var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
    67880  var $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    67881  sp = STACKTOP;
    67882  STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
    67883  $$byval_copy14 = sp + 208|0;
    67884  $$byval_copy13 = sp + 200|0;
    67885  $$byval_copy12 = sp + 192|0;
    67886  $$byval_copy11 = sp + 184|0;
    67887  $$byval_copy10 = sp + 176|0;
    67888  $$byval_copy9 = sp + 168|0;
    67889  $$byval_copy8 = sp + 160|0;
    67890  $$byval_copy7 = sp + 152|0;
    67891  $$byval_copy6 = sp + 144|0;
    67892  $$byval_copy5 = sp + 136|0;
    67893  $$byval_copy4 = sp + 128|0;
    67894  $$byval_copy3 = sp + 120|0;
    67895  $$byval_copy2 = sp + 112|0;
    67896  $$byval_copy1 = sp + 104|0;
    67897  $$byval_copy = sp + 96|0;
    67898  $7 = sp + 80|0;
    67899  $8 = sp + 72|0;
    67900  $9 = sp + 64|0;
    67901  $10 = sp + 56|0;
    67902  $11 = sp + 48|0;
    67903  $12 = sp + 40|0;
    67904  $13 = sp + 32|0;
    67905  $14 = sp + 24|0;
    67906  $15 = sp + 16|0;
    67907  $16 = sp + 8|0;
    67908  $17 = sp;
    67909  $5 = $1;
    67910  $6 = 0;
    67911  while(1) {
    67912   $18 = $6;
    67913   $19 = HEAP32[$4>>2]|0;
    67914   $20 = ((($19)) + 12|0);
    67915   $21 = HEAP32[$20>>2]|0;
    67916   $22 = ($18|0)<($21|0);
    67917   $23 = $5;
    67918   if (!($22)) {
    67919    break;
    67920   }
    67921   $24 = HEAP32[$4>>2]|0;
    67922   $25 = ((($24)) + 20|0);
    67923   $26 = HEAP32[$25>>2]|0;
    67924   $27 = $6;
    67925   $28 = (($26) + ($27<<3)|0);
    67926   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    67927   ;HEAP32[$$byval_copy1>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$28+4>>2]|0;
    67928   $29 = (_mrb_obj_equal($23,$$byval_copy,$$byval_copy1)|0);
    67929   $30 = ($29<<24>>24)!=(0);
    67930   if ($30) {
    67931    label = 4;
    67932    break;
    67933   }
    67934   $34 = $6;
    67935   $35 = (($34) + 1)|0;
    67936   $6 = $35;
    67937  }
    67938  if ((label|0) == 4) {
    67939   $31 = $5;
    67940   $32 = $5;
    67941   $33 = (_mrb_class_get($32,69160)|0);
    67942   _mrb_raise($31,$33,64593);
    67943   // unreachable;
    67944  }
    67945  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    67946  ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    67947  _mrb_ary_push($23,$$byval_copy2,$$byval_copy3);
    67948  $36 = $5;
    67949  _mrb_str_buf_new($10,$36,64);
    67950  ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
    67951  $6 = 0;
    67952  while(1) {
    67953   $37 = $6;
    67954   $38 = HEAP32[$2>>2]|0;
    67955   $39 = ((($38)) + 12|0);
    67956   $40 = HEAP32[$39>>2]|0;
    67957   $41 = ($37|0)<($40|0);
    67958   if (!($41)) {
    67959    break;
    67960   }
    67961   $42 = $6;
    67962   $43 = ($42|0)>(0);
    67963   do {
    67964    if ($43) {
    67965     $44 = ((($3)) + 4|0);
    67966     $45 = HEAP32[$44>>2]|0;
    67967     $46 = ($45|0)==(0);
    67968     if ($46) {
    67969      $47 = HEAP32[$3>>2]|0;
    67970      $48 = ($47|0)!=(0);
    67971      if (!($48)) {
    67972       break;
    67973      }
    67974     }
    67975     $49 = $5;
    67976     ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0;
    67977     ;HEAP32[$$byval_copy5>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$3+4>>2]|0;
    67978     _mrb_str_cat_str($11,$49,$$byval_copy4,$$byval_copy5);
    67979    }
    67980   } while(0);
    67981   $50 = HEAP32[$2>>2]|0;
    67982   $51 = ((($50)) + 20|0);
    67983   $52 = HEAP32[$51>>2]|0;
    67984   $53 = $6;
    67985   $54 = (($52) + ($53<<3)|0);
    67986   ;HEAP32[$8>>2]=HEAP32[$54>>2]|0;HEAP32[$8+4>>2]=HEAP32[$54+4>>2]|0;
    67987   $55 = ((($8)) + 4|0);
    67988   $56 = HEAP32[$55>>2]|0;
    67989   L17: do {
    67990    switch ($56|0) {
    67991    case 14:  {
    67992     label = 13;
    67993     break;
    67994    }
    67995    case 16:  {
    67996     break;
    67997    }
    67998    default: {
    67999     $61 = $5;
    68000     ;HEAP32[$$byval_copy11>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$8+4>>2]|0;
    68001     _mrb_check_string_type($14,$61,$$byval_copy11);
    68002     ;HEAP32[$9>>2]=HEAP32[$14>>2]|0;HEAP32[$9+4>>2]=HEAP32[$14+4>>2]|0;
    68003     $62 = ((($9)) + 4|0);
    68004     $63 = HEAP32[$62>>2]|0;
    68005     $64 = ($63|0)==(0);
    68006     if ($64) {
    68007      $65 = HEAP32[$9>>2]|0;
    68008      $66 = ($65|0)!=(0);
    68009      if (!($66)) {
    68010       $67 = $5;
    68011       ;HEAP32[$$byval_copy12>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$8+4>>2]|0;
    68012       _mrb_check_convert_type($15,$67,$$byval_copy12,14,65311,65317);
    68013       ;HEAP32[$9>>2]=HEAP32[$15>>2]|0;HEAP32[$9+4>>2]=HEAP32[$15+4>>2]|0;
    68014       $68 = ((($9)) + 4|0);
    68015       $69 = HEAP32[$68>>2]|0;
    68016       $70 = ($69|0)==(0);
    68017       if ($70) {
    68018        $71 = HEAP32[$9>>2]|0;
    68019        $72 = ($71|0)!=(0);
    68020        if (!($72)) {
    68021         $73 = $5;
    68022         ;HEAP32[$$byval_copy13>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$8+4>>2]|0;
    68023         _mrb_obj_as_string($16,$73,$$byval_copy13);
    68024         ;HEAP32[$8>>2]=HEAP32[$16>>2]|0;HEAP32[$8+4>>2]=HEAP32[$16+4>>2]|0;
    68025         break L17;
    68026        }
    68027       }
    68028       ;HEAP32[$8>>2]=HEAP32[$9>>2]|0;HEAP32[$8+4>>2]=HEAP32[$9+4>>2]|0;
    68029       label = 13;
    68030       break L17;
    68031      }
    68032     }
    68033     ;HEAP32[$8>>2]=HEAP32[$9>>2]|0;HEAP32[$8+4>>2]=HEAP32[$9+4>>2]|0;
    68034    }
    68035    }
    68036   } while(0);
    68037   if ((label|0) == 13) {
    68038    label = 0;
    68039    $57 = $5;
    68040    ;HEAP32[$$byval_copy6>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$8+4>>2]|0;
    68041    ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0;
    68042    ;HEAP32[$$byval_copy8>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$4+4>>2]|0;
    68043    _join_ary($12,$57,$$byval_copy6,$$byval_copy7,$$byval_copy8);
    68044    ;HEAP32[$8>>2]=HEAP32[$12>>2]|0;HEAP32[$8+4>>2]=HEAP32[$12+4>>2]|0;
    68045   }
    68046   $58 = $5;
    68047   ;HEAP32[$$byval_copy9>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$7+4>>2]|0;
    68048   ;HEAP32[$$byval_copy10>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$8+4>>2]|0;
    68049   _mrb_str_cat_str($13,$58,$$byval_copy9,$$byval_copy10);
    68050   $59 = $6;
    68051   $60 = (($59) + 1)|0;
    68052   $6 = $60;
    68053  }
    68054  $74 = $5;
    68055  ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0;
    68056  _mrb_ary_pop($17,$74,$$byval_copy14);
    68057  ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    68058  STACKTOP = sp;return;
    68059 }
    68060 function _mrb_init_array($0) {
    68061  $0 = $0|0;
    68062  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    68063  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    68064  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    68065  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    68066  sp = STACKTOP;
    68067  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    68068  $1 = $0;
    68069  $3 = $1;
    68070  $4 = $1;
    68071  $5 = ((($4)) + 32|0);
    68072  $6 = HEAP32[$5>>2]|0;
    68073  $7 = (_mrb_define_class($3,65311,$6)|0);
    68074  $2 = $7;
    68075  $8 = $1;
    68076  $9 = ((($8)) + 52|0);
    68077  HEAP32[$9>>2] = $7;
    68078  $10 = $2;
    68079  $11 = HEAP32[$10>>2]|0;
    68080  $12 = $11 >>> 11;
    68081  $13 = $12 & -256;
    68082  $14 = $13 | 14;
    68083  $15 = $2;
    68084  $16 = HEAP32[$15>>2]|0;
    68085  $17 = $14 & 2097151;
    68086  $18 = $17 << 11;
    68087  $19 = $16 & 2047;
    68088  $20 = $19 | $18;
    68089  HEAP32[$15>>2] = $20;
    68090  $21 = $1;
    68091  $22 = $2;
    68092  _mrb_define_class_method($21,$22,69083,208,4096);
    68093  $23 = $1;
    68094  $24 = $2;
    68095  _mrb_define_method($23,$24,64614,209,262144);
    68096  $25 = $1;
    68097  $26 = $2;
    68098  _mrb_define_method($25,$26,68856,210,262144);
    68099  $27 = $1;
    68100  $28 = $2;
    68101  _mrb_define_method($27,$28,64616,211,262144);
    68102  $29 = $1;
    68103  $30 = $2;
    68104  _mrb_define_method($29,$30,69083,212,4096);
    68105  $31 = $1;
    68106  $32 = $2;
    68107  _mrb_define_method($31,$32,64619,213,4096);
    68108  $33 = $1;
    68109  $34 = $2;
    68110  _mrb_define_method($33,$34,64623,214,0);
    68111  $35 = $1;
    68112  $36 = $2;
    68113  _mrb_define_method($35,$36,64629,215,262144);
    68114  $37 = $1;
    68115  $38 = $2;
    68116  _mrb_define_method($37,$38,64636,216,262144);
    68117  $39 = $1;
    68118  $40 = $2;
    68119  _mrb_define_method($39,$40,64646,217,0);
    68120  $41 = $1;
    68121  $42 = $2;
    68122  _mrb_define_method($41,$42,69237,218,8192);
    68123  $43 = $1;
    68124  $44 = $2;
    68125  _mrb_define_method($43,$44,64653,219,262144);
    68126  $45 = $1;
    68127  $46 = $2;
    68128  _mrb_define_method($45,$46,69294,220,262144);
    68129  $47 = $1;
    68130  $48 = $2;
    68131  _mrb_define_method($47,$48,64659,221,4096);
    68132  $49 = $1;
    68133  $50 = $2;
    68134  _mrb_define_method($49,$50,69263,222,4096);
    68135  $51 = $1;
    68136  $52 = $2;
    68137  _mrb_define_method($51,$52,64664,223,0);
    68138  $53 = $1;
    68139  $54 = $2;
    68140  _mrb_define_method($53,$54,64671,224,0);
    68141  $55 = $1;
    68142  $56 = $2;
    68143  _mrb_define_method($55,$56,64675,211,4096);
    68144  $57 = $1;
    68145  $58 = $2;
    68146  _mrb_define_method($57,$58,64680,220,262144);
    68147  $59 = $1;
    68148  $60 = $2;
    68149  _mrb_define_method($59,$60,64688,225,0);
    68150  $61 = $1;
    68151  $62 = $2;
    68152  _mrb_define_method($61,$62,64696,226,0);
    68153  $63 = $1;
    68154  $64 = $2;
    68155  _mrb_define_method($63,$64,64705,227,262144);
    68156  $65 = $1;
    68157  $66 = $2;
    68158  _mrb_define_method($65,$66,64712,228,0);
    68159  $67 = $1;
    68160  $68 = $2;
    68161  _mrb_define_method($67,$68,64718,223,0);
    68162  $69 = $1;
    68163  $70 = $2;
    68164  _mrb_define_method($69,$70,64723,212,4096);
    68165  $71 = $1;
    68166  $72 = $2;
    68167  _mrb_define_method($71,$72,64729,229,4096);
    68168  $73 = $1;
    68169  $74 = $2;
    68170  _mrb_define_method($73,$74,64737,230,262144);
    68171  $75 = $1;
    68172  $76 = $2;
    68173  _mrb_define_method($75,$76,64746,231,262144);
    68174  $77 = $1;
    68175  $78 = $2;
    68176  _mrb_define_method($77,$78,64756,219,262144);
    68177  STACKTOP = sp;return;
    68178 }
    68179 function _mrb_ary_s_create($0,$1,$2) {
    68180  $0 = $0|0;
    68181  $1 = $1|0;
    68182  $2 = $2|0;
    68183  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    68184  sp = STACKTOP;
    68185  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    68186  $vararg_buffer = sp;
    68187  $4 = sp + 12|0;
    68188  $5 = sp + 8|0;
    68189  $3 = $1;
    68190  $6 = $3;
    68191  HEAP32[$vararg_buffer>>2] = $4;
    68192  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    68193  HEAP32[$vararg_ptr1>>2] = $5;
    68194  (_mrb_get_args($6,68856,$vararg_buffer)|0);
    68195  $7 = $3;
    68196  $8 = HEAP32[$5>>2]|0;
    68197  $9 = HEAP32[$4>>2]|0;
    68198  _mrb_ary_new_from_values($0,$7,$8,$9);
    68199  STACKTOP = sp;return;
    68200 }
    68201 function _mrb_ary_plus($0,$1,$2) {
    68202  $0 = $0|0;
    68203  $1 = $1|0;
    68204  $2 = $2|0;
    68205  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    68206  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    68207  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    68208  sp = STACKTOP;
    68209  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    68210  $vararg_buffer = sp;
    68211  $6 = sp + 12|0;
    68212  $7 = sp + 8|0;
    68213  $3 = $1;
    68214  $8 = HEAP32[$2>>2]|0;
    68215  $4 = $8;
    68216  $9 = $3;
    68217  HEAP32[$vararg_buffer>>2] = $6;
    68218  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    68219  HEAP32[$vararg_ptr1>>2] = $7;
    68220  (_mrb_get_args($9,64799,$vararg_buffer)|0);
    68221  $10 = HEAP32[$7>>2]|0;
    68222  $11 = (536870911 - ($10))|0;
    68223  $12 = $4;
    68224  $13 = ((($12)) + 12|0);
    68225  $14 = HEAP32[$13>>2]|0;
    68226  $15 = ($11|0)<($14|0);
    68227  $16 = $3;
    68228  if ($15) {
    68229   $17 = $3;
    68230   $18 = (_mrb_class_get($17,69160)|0);
    68231   _mrb_raise($16,$18,64504);
    68232   // unreachable;
    68233  } else {
    68234   $19 = $4;
    68235   $20 = ((($19)) + 12|0);
    68236   $21 = HEAP32[$20>>2]|0;
    68237   $22 = HEAP32[$7>>2]|0;
    68238   $23 = (($21) + ($22))|0;
    68239   $24 = (_ary_new_capa($16,$23)|0);
    68240   $5 = $24;
    68241   $25 = $5;
    68242   $26 = ((($25)) + 20|0);
    68243   $27 = HEAP32[$26>>2]|0;
    68244   $28 = $4;
    68245   $29 = ((($28)) + 20|0);
    68246   $30 = HEAP32[$29>>2]|0;
    68247   $31 = $4;
    68248   $32 = ((($31)) + 12|0);
    68249   $33 = HEAP32[$32>>2]|0;
    68250   _array_copy($27,$30,$33);
    68251   $34 = $5;
    68252   $35 = ((($34)) + 20|0);
    68253   $36 = HEAP32[$35>>2]|0;
    68254   $37 = $4;
    68255   $38 = ((($37)) + 12|0);
    68256   $39 = HEAP32[$38>>2]|0;
    68257   $40 = (($36) + ($39<<3)|0);
    68258   $41 = HEAP32[$6>>2]|0;
    68259   $42 = HEAP32[$7>>2]|0;
    68260   _array_copy($40,$41,$42);
    68261   $43 = $4;
    68262   $44 = ((($43)) + 12|0);
    68263   $45 = HEAP32[$44>>2]|0;
    68264   $46 = HEAP32[$7>>2]|0;
    68265   $47 = (($45) + ($46))|0;
    68266   $48 = $5;
    68267   $49 = ((($48)) + 12|0);
    68268   HEAP32[$49>>2] = $47;
    68269   $50 = $5;
    68270   _mrb_obj_value_549($0,$50);
    68271   STACKTOP = sp;return;
    68272  }
    68273 }
    68274 function _mrb_ary_times($0,$1,$2) {
    68275  $0 = $0|0;
    68276  $1 = $1|0;
    68277  $2 = $2|0;
    68278  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    68279  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    68280  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    68281  sp = STACKTOP;
    68282  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    68283  $vararg_buffer = sp;
    68284  $7 = sp + 4|0;
    68285  $3 = $1;
    68286  $8 = HEAP32[$2>>2]|0;
    68287  $4 = $8;
    68288  $9 = $3;
    68289  HEAP32[$vararg_buffer>>2] = $7;
    68290  (_mrb_get_args($9,64797,$vararg_buffer)|0);
    68291  $10 = HEAP32[$7>>2]|0;
    68292  $11 = ($10|0)<(0);
    68293  if ($11) {
    68294   $12 = $3;
    68295   $13 = $3;
    68296   $14 = (_mrb_class_get($13,69160)|0);
    68297   _mrb_raise($12,$14,64813);
    68298   // unreachable;
    68299  }
    68300  $15 = HEAP32[$7>>2]|0;
    68301  $16 = ($15|0)==(0);
    68302  if ($16) {
    68303   $17 = $3;
    68304   _mrb_ary_new($0,$17);
    68305   STACKTOP = sp;return;
    68306  }
    68307  $18 = HEAP32[$7>>2]|0;
    68308  $19 = (536870911 / ($18|0))&-1;
    68309  $20 = $4;
    68310  $21 = ((($20)) + 12|0);
    68311  $22 = HEAP32[$21>>2]|0;
    68312  $23 = ($19|0)<($22|0);
    68313  $24 = $3;
    68314  if ($23) {
    68315   $25 = $3;
    68316   $26 = (_mrb_class_get($25,69160)|0);
    68317   _mrb_raise($24,$26,64504);
    68318   // unreachable;
    68319  }
    68320  $27 = $4;
    68321  $28 = ((($27)) + 12|0);
    68322  $29 = HEAP32[$28>>2]|0;
    68323  $30 = HEAP32[$7>>2]|0;
    68324  $31 = Math_imul($29, $30)|0;
    68325  $32 = (_ary_new_capa($24,$31)|0);
    68326  $5 = $32;
    68327  $33 = $5;
    68328  $34 = ((($33)) + 20|0);
    68329  $35 = HEAP32[$34>>2]|0;
    68330  $6 = $35;
    68331  while(1) {
    68332   $36 = HEAP32[$7>>2]|0;
    68333   $37 = (($36) + -1)|0;
    68334   HEAP32[$7>>2] = $37;
    68335   $38 = ($36|0)!=(0);
    68336   if (!($38)) {
    68337    break;
    68338   }
    68339   $39 = $6;
    68340   $40 = $4;
    68341   $41 = ((($40)) + 20|0);
    68342   $42 = HEAP32[$41>>2]|0;
    68343   $43 = $4;
    68344   $44 = ((($43)) + 12|0);
    68345   $45 = HEAP32[$44>>2]|0;
    68346   _array_copy($39,$42,$45);
    68347   $46 = $4;
    68348   $47 = ((($46)) + 12|0);
    68349   $48 = HEAP32[$47>>2]|0;
    68350   $49 = $6;
    68351   $50 = (($49) + ($48<<3)|0);
    68352   $6 = $50;
    68353   $51 = $4;
    68354   $52 = ((($51)) + 12|0);
    68355   $53 = HEAP32[$52>>2]|0;
    68356   $54 = $5;
    68357   $55 = ((($54)) + 12|0);
    68358   $56 = HEAP32[$55>>2]|0;
    68359   $57 = (($56) + ($53))|0;
    68360   HEAP32[$55>>2] = $57;
    68361  }
    68362  $58 = $5;
    68363  _mrb_obj_value_549($0,$58);
    68364  STACKTOP = sp;return;
    68365 }
    68366 function _mrb_ary_push_m($0,$1,$2) {
    68367  $0 = $0|0;
    68368  $1 = $1|0;
    68369  $2 = $2|0;
    68370  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    68371  sp = STACKTOP;
    68372  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    68373  $$byval_copy2 = sp + 32|0;
    68374  $$byval_copy = sp + 24|0;
    68375  $vararg_buffer = sp;
    68376  $4 = sp + 12|0;
    68377  $5 = sp + 8|0;
    68378  $3 = $1;
    68379  $6 = $3;
    68380  HEAP32[$vararg_buffer>>2] = $4;
    68381  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    68382  HEAP32[$vararg_ptr1>>2] = $5;
    68383  (_mrb_get_args($6,68856,$vararg_buffer)|0);
    68384  while(1) {
    68385   $7 = HEAP32[$5>>2]|0;
    68386   $8 = (($7) + -1)|0;
    68387   HEAP32[$5>>2] = $8;
    68388   $9 = ($7|0)!=(0);
    68389   if (!($9)) {
    68390    break;
    68391   }
    68392   $10 = $3;
    68393   $11 = HEAP32[$4>>2]|0;
    68394   $12 = ((($11)) + 8|0);
    68395   HEAP32[$4>>2] = $12;
    68396   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    68397   ;HEAP32[$$byval_copy2>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$11+4>>2]|0;
    68398   _mrb_ary_push($10,$$byval_copy,$$byval_copy2);
    68399  }
    68400  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    68401  STACKTOP = sp;return;
    68402 }
    68403 function _mrb_ary_aget($0,$1,$2) {
    68404  $0 = $0|0;
    68405  $1 = $1|0;
    68406  $2 = $2|0;
    68407  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
    68408  var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
    68409  var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
    68410  var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    68411  sp = STACKTOP;
    68412  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    68413  $$byval_copy5 = sp + 64|0;
    68414  $$byval_copy4 = sp + 56|0;
    68415  $$byval_copy3 = sp + 48|0;
    68416  $$byval_copy2 = sp + 40|0;
    68417  $$byval_copy = sp + 32|0;
    68418  $vararg_buffer = sp;
    68419  $5 = sp + 20|0;
    68420  $6 = sp + 16|0;
    68421  $7 = sp + 8|0;
    68422  $3 = $1;
    68423  $8 = HEAP32[$2>>2]|0;
    68424  $4 = $8;
    68425  $9 = $3;
    68426  HEAP32[$vararg_buffer>>2] = $7;
    68427  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    68428  HEAP32[$vararg_ptr1>>2] = $6;
    68429  $10 = (_mrb_get_args($9,64809,$vararg_buffer)|0);
    68430  $11 = ($10|0)==(1);
    68431  if ($11) {
    68432   $12 = ((($7)) + 4|0);
    68433   $13 = HEAP32[$12>>2]|0;
    68434   switch ($13|0) {
    68435   case 17:  {
    68436    $14 = $3;
    68437    $15 = $4;
    68438    $16 = ((($15)) + 12|0);
    68439    $17 = HEAP32[$16>>2]|0;
    68440    ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    68441    $18 = (_mrb_range_beg_len($14,$$byval_copy,$5,$6,$17)|0);
    68442    $19 = ($18<<24>>24)!=(0);
    68443    if ($19) {
    68444     $20 = $3;
    68445     $21 = $4;
    68446     $22 = HEAP32[$5>>2]|0;
    68447     $23 = HEAP32[$6>>2]|0;
    68448     _ary_subseq($0,$20,$21,$22,$23);
    68449     STACKTOP = sp;return;
    68450    } else {
    68451     _mrb_nil_value_562($0);
    68452     STACKTOP = sp;return;
    68453    }
    68454    break;
    68455   }
    68456   case 3:  {
    68457    $24 = $3;
    68458    $25 = HEAP32[$7>>2]|0;
    68459    ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    68460    _mrb_ary_ref($0,$24,$$byval_copy2,$25);
    68461    STACKTOP = sp;return;
    68462    break;
    68463   }
    68464   default: {
    68465    $26 = $3;
    68466    $27 = $3;
    68467    ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
    68468    $28 = (_aget_index($27,$$byval_copy3)|0);
    68469    ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
    68470    _mrb_ary_ref($0,$26,$$byval_copy4,$28);
    68471    STACKTOP = sp;return;
    68472   }
    68473   }
    68474  }
    68475  $29 = $3;
    68476  ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
    68477  $30 = (_aget_index($29,$$byval_copy5)|0);
    68478  HEAP32[$5>>2] = $30;
    68479  $31 = HEAP32[$5>>2]|0;
    68480  $32 = ($31|0)<(0);
    68481  if ($32) {
    68482   $33 = $4;
    68483   $34 = ((($33)) + 12|0);
    68484   $35 = HEAP32[$34>>2]|0;
    68485   $36 = HEAP32[$5>>2]|0;
    68486   $37 = (($36) + ($35))|0;
    68487   HEAP32[$5>>2] = $37;
    68488  }
    68489  $38 = HEAP32[$5>>2]|0;
    68490  $39 = ($38|0)<(0);
    68491  if (!($39)) {
    68492   $40 = $4;
    68493   $41 = ((($40)) + 12|0);
    68494   $42 = HEAP32[$41>>2]|0;
    68495   $43 = HEAP32[$5>>2]|0;
    68496   $44 = ($42|0)<($43|0);
    68497   if (!($44)) {
    68498    $45 = HEAP32[$6>>2]|0;
    68499    $46 = ($45|0)<(0);
    68500    if ($46) {
    68501     _mrb_nil_value_562($0);
    68502     STACKTOP = sp;return;
    68503    }
    68504    $47 = $4;
    68505    $48 = ((($47)) + 12|0);
    68506    $49 = HEAP32[$48>>2]|0;
    68507    $50 = HEAP32[$5>>2]|0;
    68508    $51 = ($49|0)==($50|0);
    68509    if ($51) {
    68510     $52 = $3;
    68511     _mrb_ary_new($0,$52);
    68512     STACKTOP = sp;return;
    68513    }
    68514    $53 = HEAP32[$6>>2]|0;
    68515    $54 = $4;
    68516    $55 = ((($54)) + 12|0);
    68517    $56 = HEAP32[$55>>2]|0;
    68518    $57 = HEAP32[$5>>2]|0;
    68519    $58 = (($56) - ($57))|0;
    68520    $59 = ($53|0)>($58|0);
    68521    if ($59) {
    68522     $60 = $4;
    68523     $61 = ((($60)) + 12|0);
    68524     $62 = HEAP32[$61>>2]|0;
    68525     $63 = HEAP32[$5>>2]|0;
    68526     $64 = (($62) - ($63))|0;
    68527     HEAP32[$6>>2] = $64;
    68528    }
    68529    $65 = $3;
    68530    $66 = $4;
    68531    $67 = HEAP32[$5>>2]|0;
    68532    $68 = HEAP32[$6>>2]|0;
    68533    _ary_subseq($0,$65,$66,$67,$68);
    68534    STACKTOP = sp;return;
    68535   }
    68536  }
    68537  _mrb_nil_value_562($0);
    68538  STACKTOP = sp;return;
    68539 }
    68540 function _mrb_ary_aset($0,$1,$2) {
    68541  $0 = $0|0;
    68542  $1 = $1|0;
    68543  $2 = $2|0;
    68544  var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
    68545  var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0;
    68546  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    68547  sp = STACKTOP;
    68548  STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
    68549  $$byval_copy13 = sp + 160|0;
    68550  $$byval_copy12 = sp + 152|0;
    68551  $$byval_copy11 = sp + 144|0;
    68552  $$byval_copy10 = sp + 136|0;
    68553  $$byval_copy9 = sp + 128|0;
    68554  $$byval_copy8 = sp + 120|0;
    68555  $$byval_copy7 = sp + 112|0;
    68556  $$byval_copy6 = sp + 104|0;
    68557  $$byval_copy5 = sp + 96|0;
    68558  $$byval_copy4 = sp + 88|0;
    68559  $$byval_copy3 = sp + 80|0;
    68560  $$byval_copy = sp + 72|0;
    68561  $vararg_buffer = sp;
    68562  $4 = sp + 56|0;
    68563  $5 = sp + 48|0;
    68564  $6 = sp + 40|0;
    68565  $7 = sp + 36|0;
    68566  $8 = sp + 32|0;
    68567  $9 = sp + 24|0;
    68568  $10 = sp + 16|0;
    68569  $3 = $1;
    68570  $11 = $3;
    68571  HEAP32[$vararg_buffer>>2] = $4;
    68572  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    68573  HEAP32[$vararg_ptr1>>2] = $5;
    68574  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    68575  HEAP32[$vararg_ptr2>>2] = $6;
    68576  $12 = (_mrb_get_args($11,64801,$vararg_buffer)|0);
    68577  $13 = ($12|0)==(2);
    68578  if (!($13)) {
    68579   $30 = $3;
    68580   $31 = $3;
    68581   ;HEAP32[$$byval_copy10>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$4+4>>2]|0;
    68582   $32 = (_aget_index($31,$$byval_copy10)|0);
    68583   $33 = $3;
    68584   ;HEAP32[$$byval_copy11>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$5+4>>2]|0;
    68585   $34 = (_aget_index($33,$$byval_copy11)|0);
    68586   ;HEAP32[$$byval_copy12>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$2+4>>2]|0;
    68587   ;HEAP32[$$byval_copy13>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$6+4>>2]|0;
    68588   _mrb_ary_splice($10,$30,$$byval_copy12,$32,$34,$$byval_copy13);
    68589   ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
    68590   STACKTOP = sp;return;
    68591  }
    68592  $14 = ((($4)) + 4|0);
    68593  $15 = HEAP32[$14>>2]|0;
    68594  switch ($15|0) {
    68595  case 17:  {
    68596   $16 = $3;
    68597   $17 = HEAP32[$2>>2]|0;
    68598   $18 = ((($17)) + 12|0);
    68599   $19 = HEAP32[$18>>2]|0;
    68600   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    68601   $20 = (_mrb_range_beg_len($16,$$byval_copy,$7,$8,$19)|0);
    68602   $21 = ($20<<24>>24)!=(0);
    68603   if ($21) {
    68604    $22 = $3;
    68605    $23 = HEAP32[$7>>2]|0;
    68606    $24 = HEAP32[$8>>2]|0;
    68607    ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    68608    ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
    68609    _mrb_ary_splice($9,$22,$$byval_copy3,$23,$24,$$byval_copy4);
    68610   }
    68611   break;
    68612  }
    68613  case 3:  {
    68614   $25 = $3;
    68615   $26 = HEAP32[$4>>2]|0;
    68616   ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    68617   ;HEAP32[$$byval_copy6>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$5+4>>2]|0;
    68618   _mrb_ary_set($25,$$byval_copy5,$26,$$byval_copy6);
    68619   break;
    68620  }
    68621  default: {
    68622   $27 = $3;
    68623   $28 = $3;
    68624   ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0;
    68625   $29 = (_aget_index($28,$$byval_copy7)|0);
    68626   ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
    68627   ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;
    68628   _mrb_ary_set($27,$$byval_copy8,$29,$$byval_copy9);
    68629  }
    68630  }
    68631  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    68632  STACKTOP = sp;return;
    68633 }
    68634 function _mrb_ary_concat_m($0,$1,$2) {
    68635  $0 = $0|0;
    68636  $1 = $1|0;
    68637  $2 = $2|0;
    68638  var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    68639  sp = STACKTOP;
    68640  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    68641  $vararg_buffer = sp;
    68642  $4 = sp + 12|0;
    68643  $5 = sp + 8|0;
    68644  $3 = $1;
    68645  $6 = $3;
    68646  HEAP32[$vararg_buffer>>2] = $4;
    68647  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    68648  HEAP32[$vararg_ptr1>>2] = $5;
    68649  (_mrb_get_args($6,64799,$vararg_buffer)|0);
    68650  $7 = $3;
    68651  $8 = HEAP32[$2>>2]|0;
    68652  $9 = HEAP32[$4>>2]|0;
    68653  $10 = HEAP32[$5>>2]|0;
    68654  _ary_concat($7,$8,$9,$10);
    68655  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    68656  STACKTOP = sp;return;
    68657 }
    68658 function _mrb_ary_delete_at($0,$1,$2) {
    68659  $0 = $0|0;
    68660  $1 = $1|0;
    68661  $2 = $2|0;
    68662  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    68663  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    68664  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    68665  sp = STACKTOP;
    68666  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    68667  $vararg_buffer = sp;
    68668  $5 = sp + 24|0;
    68669  $6 = sp + 16|0;
    68670  $3 = $1;
    68671  $9 = HEAP32[$2>>2]|0;
    68672  $4 = $9;
    68673  $10 = $3;
    68674  HEAP32[$vararg_buffer>>2] = $5;
    68675  (_mrb_get_args($10,64797,$vararg_buffer)|0);
    68676  $11 = HEAP32[$5>>2]|0;
    68677  $12 = ($11|0)<(0);
    68678  if ($12) {
    68679   $13 = $4;
    68680   $14 = ((($13)) + 12|0);
    68681   $15 = HEAP32[$14>>2]|0;
    68682   $16 = HEAP32[$5>>2]|0;
    68683   $17 = (($16) + ($15))|0;
    68684   HEAP32[$5>>2] = $17;
    68685  }
    68686  $18 = HEAP32[$5>>2]|0;
    68687  $19 = ($18|0)<(0);
    68688  if (!($19)) {
    68689   $20 = $4;
    68690   $21 = ((($20)) + 12|0);
    68691   $22 = HEAP32[$21>>2]|0;
    68692   $23 = HEAP32[$5>>2]|0;
    68693   $24 = ($22|0)<=($23|0);
    68694   if (!($24)) {
    68695    $25 = $3;
    68696    $26 = $4;
    68697    _ary_modify($25,$26);
    68698    $27 = $4;
    68699    $28 = ((($27)) + 20|0);
    68700    $29 = HEAP32[$28>>2]|0;
    68701    $30 = HEAP32[$5>>2]|0;
    68702    $31 = (($29) + ($30<<3)|0);
    68703    ;HEAP32[$6>>2]=HEAP32[$31>>2]|0;HEAP32[$6+4>>2]=HEAP32[$31+4>>2]|0;
    68704    $32 = $4;
    68705    $33 = ((($32)) + 20|0);
    68706    $34 = HEAP32[$33>>2]|0;
    68707    $35 = HEAP32[$5>>2]|0;
    68708    $36 = (($34) + ($35<<3)|0);
    68709    $7 = $36;
    68710    $37 = $4;
    68711    $38 = ((($37)) + 12|0);
    68712    $39 = HEAP32[$38>>2]|0;
    68713    $40 = HEAP32[$5>>2]|0;
    68714    $41 = (($39) - ($40))|0;
    68715    $8 = $41;
    68716    while(1) {
    68717     $42 = $8;
    68718     $43 = (($42) + -1)|0;
    68719     $8 = $43;
    68720     $44 = ($43|0)!=(0);
    68721     if (!($44)) {
    68722      break;
    68723     }
    68724     $45 = $7;
    68725     $46 = $7;
    68726     $47 = ((($46)) + 8|0);
    68727     ;HEAP32[$45>>2]=HEAP32[$47>>2]|0;HEAP32[$45+4>>2]=HEAP32[$47+4>>2]|0;
    68728     $48 = $7;
    68729     $49 = ((($48)) + 8|0);
    68730     $7 = $49;
    68731    }
    68732    $50 = $4;
    68733    $51 = ((($50)) + 12|0);
    68734    $52 = HEAP32[$51>>2]|0;
    68735    $53 = (($52) + -1)|0;
    68736    HEAP32[$51>>2] = $53;
    68737    $54 = $3;
    68738    $55 = $4;
    68739    _ary_shrink_capa($54,$55);
    68740    ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
    68741    STACKTOP = sp;return;
    68742   }
    68743  }
    68744  _mrb_nil_value_562($0);
    68745  STACKTOP = sp;return;
    68746 }
    68747 function _mrb_ary_empty_p($0,$1,$2) {
    68748  $0 = $0|0;
    68749  $1 = $1|0;
    68750  $2 = $2|0;
    68751  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    68752  sp = STACKTOP;
    68753  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    68754  $3 = $1;
    68755  $5 = HEAP32[$2>>2]|0;
    68756  $4 = $5;
    68757  $6 = $4;
    68758  $7 = ((($6)) + 12|0);
    68759  $8 = HEAP32[$7>>2]|0;
    68760  $9 = ($8|0)==(0);
    68761  $10 = $9&1;
    68762  $11 = $10&255;
    68763  _mrb_bool_value_624($0,$11);
    68764  STACKTOP = sp;return;
    68765 }
    68766 function _mrb_ary_first($0,$1,$2) {
    68767  $0 = $0|0;
    68768  $1 = $1|0;
    68769  $2 = $2|0;
    68770  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    68771  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
    68772  var label = 0, sp = 0;
    68773  sp = STACKTOP;
    68774  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    68775  $vararg_buffer = sp;
    68776  $5 = sp + 4|0;
    68777  $3 = $1;
    68778  $6 = HEAP32[$2>>2]|0;
    68779  $4 = $6;
    68780  $7 = $3;
    68781  HEAP32[$vararg_buffer>>2] = $5;
    68782  $8 = (_mrb_get_args($7,64768,$vararg_buffer)|0);
    68783  $9 = ($8|0)==(0);
    68784  if ($9) {
    68785   $10 = $4;
    68786   $11 = ((($10)) + 12|0);
    68787   $12 = HEAP32[$11>>2]|0;
    68788   $13 = ($12|0)>(0);
    68789   if ($13) {
    68790    $14 = $4;
    68791    $15 = ((($14)) + 20|0);
    68792    $16 = HEAP32[$15>>2]|0;
    68793    ;HEAP32[$0>>2]=HEAP32[$16>>2]|0;HEAP32[$0+4>>2]=HEAP32[$16+4>>2]|0;
    68794    STACKTOP = sp;return;
    68795   } else {
    68796    _mrb_nil_value_562($0);
    68797    STACKTOP = sp;return;
    68798   }
    68799  }
    68800  $17 = HEAP32[$5>>2]|0;
    68801  $18 = ($17|0)<(0);
    68802  if ($18) {
    68803   $19 = $3;
    68804   $20 = $3;
    68805   $21 = (_mrb_class_get($20,69160)|0);
    68806   _mrb_raise($19,$21,64771);
    68807   // unreachable;
    68808  }
    68809  $22 = HEAP32[$5>>2]|0;
    68810  $23 = $4;
    68811  $24 = ((($23)) + 12|0);
    68812  $25 = HEAP32[$24>>2]|0;
    68813  $26 = ($22|0)>($25|0);
    68814  if ($26) {
    68815   $27 = $4;
    68816   $28 = ((($27)) + 12|0);
    68817   $29 = HEAP32[$28>>2]|0;
    68818   HEAP32[$5>>2] = $29;
    68819  }
    68820  $30 = $4;
    68821  $31 = HEAP32[$30>>2]|0;
    68822  $32 = $31 >>> 11;
    68823  $33 = $32 & 256;
    68824  $34 = ($33|0)!=(0);
    68825  $35 = $3;
    68826  if ($34) {
    68827   $36 = $4;
    68828   $37 = HEAP32[$5>>2]|0;
    68829   _ary_subseq($0,$35,$36,0,$37);
    68830   STACKTOP = sp;return;
    68831  } else {
    68832   $38 = HEAP32[$5>>2]|0;
    68833   $39 = $4;
    68834   $40 = ((($39)) + 20|0);
    68835   $41 = HEAP32[$40>>2]|0;
    68836   _mrb_ary_new_from_values($0,$35,$38,$41);
    68837   STACKTOP = sp;return;
    68838  }
    68839 }
    68840 function _mrb_ary_index_m($0,$1,$2) {
    68841  $0 = $0|0;
    68842  $1 = $1|0;
    68843  $2 = $2|0;
    68844  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    68845  var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    68846  sp = STACKTOP;
    68847  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    68848  $$byval_copy1 = sp + 32|0;
    68849  $$byval_copy = sp + 24|0;
    68850  $vararg_buffer = sp;
    68851  $4 = sp + 8|0;
    68852  $3 = $1;
    68853  $6 = $3;
    68854  HEAP32[$vararg_buffer>>2] = $4;
    68855  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    68856  $5 = 0;
    68857  while(1) {
    68858   $7 = $5;
    68859   $8 = HEAP32[$2>>2]|0;
    68860   $9 = ((($8)) + 12|0);
    68861   $10 = HEAP32[$9>>2]|0;
    68862   $11 = ($7|0)<($10|0);
    68863   if (!($11)) {
    68864    label = 6;
    68865    break;
    68866   }
    68867   $12 = $3;
    68868   $13 = HEAP32[$2>>2]|0;
    68869   $14 = ((($13)) + 20|0);
    68870   $15 = HEAP32[$14>>2]|0;
    68871   $16 = $5;
    68872   $17 = (($15) + ($16<<3)|0);
    68873   ;HEAP32[$$byval_copy>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$17+4>>2]|0;
    68874   ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    68875   $18 = (_mrb_equal($12,$$byval_copy,$$byval_copy1)|0);
    68876   $19 = ($18<<24>>24)!=(0);
    68877   $20 = $5;
    68878   if ($19) {
    68879    label = 4;
    68880    break;
    68881   }
    68882   $21 = (($20) + 1)|0;
    68883   $5 = $21;
    68884  }
    68885  if ((label|0) == 4) {
    68886   _mrb_fixnum_value_579($0,$20);
    68887   STACKTOP = sp;return;
    68888  }
    68889  else if ((label|0) == 6) {
    68890   _mrb_nil_value_562($0);
    68891   STACKTOP = sp;return;
    68892  }
    68893 }
    68894 function _mrb_ary_replace_m($0,$1,$2) {
    68895  $0 = $0|0;
    68896  $1 = $1|0;
    68897  $2 = $2|0;
    68898  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    68899  sp = STACKTOP;
    68900  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    68901  $$byval_copy1 = sp + 32|0;
    68902  $$byval_copy = sp + 24|0;
    68903  $vararg_buffer = sp;
    68904  $4 = sp + 8|0;
    68905  $3 = $1;
    68906  $5 = $3;
    68907  HEAP32[$vararg_buffer>>2] = $4;
    68908  (_mrb_get_args($5,64795,$vararg_buffer)|0);
    68909  $6 = $3;
    68910  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    68911  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    68912  _mrb_ary_replace($6,$$byval_copy,$$byval_copy1);
    68913  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    68914  STACKTOP = sp;return;
    68915 }
    68916 function _mrb_ary_join_m($0,$1,$2) {
    68917  $0 = $0|0;
    68918  $1 = $1|0;
    68919  $2 = $2|0;
    68920  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    68921  sp = STACKTOP;
    68922  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    68923  $$byval_copy1 = sp + 32|0;
    68924  $$byval_copy = sp + 24|0;
    68925  $vararg_buffer = sp;
    68926  $4 = sp + 8|0;
    68927  $3 = $1;
    68928  _mrb_nil_value_562($4);
    68929  $5 = $3;
    68930  HEAP32[$vararg_buffer>>2] = $4;
    68931  (_mrb_get_args($5,64791,$vararg_buffer)|0);
    68932  $6 = $3;
    68933  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    68934  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    68935  _mrb_ary_join($0,$6,$$byval_copy,$$byval_copy1);
    68936  STACKTOP = sp;return;
    68937 }
    68938 function _mrb_ary_last($0,$1,$2) {
    68939  $0 = $0|0;
    68940  $1 = $1|0;
    68941  $2 = $2|0;
    68942  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    68943  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    68944  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0;
    68945  var label = 0, sp = 0;
    68946  sp = STACKTOP;
    68947  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    68948  $vararg_buffer = sp;
    68949  $5 = sp + 4|0;
    68950  $3 = $1;
    68951  $6 = HEAP32[$2>>2]|0;
    68952  $4 = $6;
    68953  $7 = $3;
    68954  HEAP32[$vararg_buffer>>2] = $5;
    68955  $8 = (_mrb_get_args($7,64768,$vararg_buffer)|0);
    68956  $9 = ($8|0)==(0);
    68957  if ($9) {
    68958   $10 = $4;
    68959   $11 = ((($10)) + 12|0);
    68960   $12 = HEAP32[$11>>2]|0;
    68961   $13 = ($12|0)>(0);
    68962   if ($13) {
    68963    $14 = $4;
    68964    $15 = ((($14)) + 20|0);
    68965    $16 = HEAP32[$15>>2]|0;
    68966    $17 = $4;
    68967    $18 = ((($17)) + 12|0);
    68968    $19 = HEAP32[$18>>2]|0;
    68969    $20 = (($19) - 1)|0;
    68970    $21 = (($16) + ($20<<3)|0);
    68971    ;HEAP32[$0>>2]=HEAP32[$21>>2]|0;HEAP32[$0+4>>2]=HEAP32[$21+4>>2]|0;
    68972    STACKTOP = sp;return;
    68973   } else {
    68974    _mrb_nil_value_562($0);
    68975    STACKTOP = sp;return;
    68976   }
    68977  }
    68978  $22 = HEAP32[$5>>2]|0;
    68979  $23 = ($22|0)<(0);
    68980  if ($23) {
    68981   $24 = $3;
    68982   $25 = $3;
    68983   $26 = (_mrb_class_get($25,69160)|0);
    68984   _mrb_raise($24,$26,64771);
    68985   // unreachable;
    68986  }
    68987  $27 = HEAP32[$5>>2]|0;
    68988  $28 = $4;
    68989  $29 = ((($28)) + 12|0);
    68990  $30 = HEAP32[$29>>2]|0;
    68991  $31 = ($27|0)>($30|0);
    68992  if ($31) {
    68993   $32 = $4;
    68994   $33 = ((($32)) + 12|0);
    68995   $34 = HEAP32[$33>>2]|0;
    68996   HEAP32[$5>>2] = $34;
    68997  }
    68998  $35 = $4;
    68999  $36 = HEAP32[$35>>2]|0;
    69000  $37 = $36 >>> 11;
    69001  $38 = $37 & 256;
    69002  $39 = ($38|0)!=(0);
    69003  $40 = HEAP32[$5>>2]|0;
    69004  $41 = ($40|0)>(4);
    69005  $or$cond = $39 | $41;
    69006  $42 = $3;
    69007  if ($or$cond) {
    69008   $43 = $4;
    69009   $44 = $4;
    69010   $45 = ((($44)) + 12|0);
    69011   $46 = HEAP32[$45>>2]|0;
    69012   $47 = HEAP32[$5>>2]|0;
    69013   $48 = (($46) - ($47))|0;
    69014   $49 = HEAP32[$5>>2]|0;
    69015   _ary_subseq($0,$42,$43,$48,$49);
    69016   STACKTOP = sp;return;
    69017  } else {
    69018   $50 = HEAP32[$5>>2]|0;
    69019   $51 = $4;
    69020   $52 = ((($51)) + 20|0);
    69021   $53 = HEAP32[$52>>2]|0;
    69022   $54 = $4;
    69023   $55 = ((($54)) + 12|0);
    69024   $56 = HEAP32[$55>>2]|0;
    69025   $57 = (($53) + ($56<<3)|0);
    69026   $58 = HEAP32[$5>>2]|0;
    69027   $59 = (0 - ($58))|0;
    69028   $60 = (($57) + ($59<<3)|0);
    69029   _mrb_ary_new_from_values($0,$42,$50,$60);
    69030   STACKTOP = sp;return;
    69031  }
    69032 }
    69033 function _mrb_ary_size($0,$1,$2) {
    69034  $0 = $0|0;
    69035  $1 = $1|0;
    69036  $2 = $2|0;
    69037  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    69038  sp = STACKTOP;
    69039  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    69040  $3 = $1;
    69041  $5 = HEAP32[$2>>2]|0;
    69042  $4 = $5;
    69043  $6 = $4;
    69044  $7 = ((($6)) + 12|0);
    69045  $8 = HEAP32[$7>>2]|0;
    69046  _mrb_fixnum_value_579($0,$8);
    69047  STACKTOP = sp;return;
    69048 }
    69049 function _mrb_ary_reverse($0,$1,$2) {
    69050  $0 = $0|0;
    69051  $1 = $1|0;
    69052  $2 = $2|0;
    69053  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    69054  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    69055  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    69056  sp = STACKTOP;
    69057  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    69058  $3 = $1;
    69059  $9 = HEAP32[$2>>2]|0;
    69060  $4 = $9;
    69061  $10 = $3;
    69062  $11 = $4;
    69063  $12 = ((($11)) + 12|0);
    69064  $13 = HEAP32[$12>>2]|0;
    69065  $14 = (_ary_new_capa($10,$13)|0);
    69066  $5 = $14;
    69067  $15 = $4;
    69068  $16 = ((($15)) + 12|0);
    69069  $17 = HEAP32[$16>>2]|0;
    69070  $18 = ($17|0)>(0);
    69071  if (!($18)) {
    69072   $47 = $5;
    69073   _mrb_obj_value_549($0,$47);
    69074   STACKTOP = sp;return;
    69075  }
    69076  $19 = $4;
    69077  $20 = ((($19)) + 20|0);
    69078  $21 = HEAP32[$20>>2]|0;
    69079  $6 = $21;
    69080  $22 = $6;
    69081  $23 = $4;
    69082  $24 = ((($23)) + 12|0);
    69083  $25 = HEAP32[$24>>2]|0;
    69084  $26 = (($22) + ($25<<3)|0);
    69085  $8 = $26;
    69086  $27 = $5;
    69087  $28 = ((($27)) + 20|0);
    69088  $29 = HEAP32[$28>>2]|0;
    69089  $30 = $4;
    69090  $31 = ((($30)) + 12|0);
    69091  $32 = HEAP32[$31>>2]|0;
    69092  $33 = (($29) + ($32<<3)|0);
    69093  $34 = ((($33)) + -8|0);
    69094  $7 = $34;
    69095  while(1) {
    69096   $35 = $6;
    69097   $36 = $8;
    69098   $37 = ($35>>>0)<($36>>>0);
    69099   if (!($37)) {
    69100    break;
    69101   }
    69102   $38 = $7;
    69103   $39 = ((($38)) + -8|0);
    69104   $7 = $39;
    69105   $40 = $6;
    69106   $41 = ((($40)) + 8|0);
    69107   $6 = $41;
    69108   ;HEAP32[$38>>2]=HEAP32[$40>>2]|0;HEAP32[$38+4>>2]=HEAP32[$40+4>>2]|0;
    69109  }
    69110  $42 = $4;
    69111  $43 = ((($42)) + 12|0);
    69112  $44 = HEAP32[$43>>2]|0;
    69113  $45 = $5;
    69114  $46 = ((($45)) + 12|0);
    69115  HEAP32[$46>>2] = $44;
    69116  $47 = $5;
    69117  _mrb_obj_value_549($0,$47);
    69118  STACKTOP = sp;return;
    69119 }
    69120 function _mrb_ary_reverse_bang($0,$1,$2) {
    69121  $0 = $0|0;
    69122  $1 = $1|0;
    69123  $2 = $2|0;
    69124  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    69125  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    69126  sp = STACKTOP;
    69127  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    69128  $7 = sp;
    69129  $3 = $1;
    69130  $8 = HEAP32[$2>>2]|0;
    69131  $4 = $8;
    69132  $9 = $4;
    69133  $10 = ((($9)) + 12|0);
    69134  $11 = HEAP32[$10>>2]|0;
    69135  $12 = ($11|0)>(1);
    69136  if (!($12)) {
    69137   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    69138   STACKTOP = sp;return;
    69139  }
    69140  $13 = $3;
    69141  $14 = $4;
    69142  _ary_modify($13,$14);
    69143  $15 = $4;
    69144  $16 = ((($15)) + 20|0);
    69145  $17 = HEAP32[$16>>2]|0;
    69146  $5 = $17;
    69147  $18 = $4;
    69148  $19 = ((($18)) + 20|0);
    69149  $20 = HEAP32[$19>>2]|0;
    69150  $21 = $4;
    69151  $22 = ((($21)) + 12|0);
    69152  $23 = HEAP32[$22>>2]|0;
    69153  $24 = (($20) + ($23<<3)|0);
    69154  $25 = ((($24)) + -8|0);
    69155  $6 = $25;
    69156  while(1) {
    69157   $26 = $5;
    69158   $27 = $6;
    69159   $28 = ($26>>>0)<($27>>>0);
    69160   if (!($28)) {
    69161    break;
    69162   }
    69163   $29 = $5;
    69164   ;HEAP32[$7>>2]=HEAP32[$29>>2]|0;HEAP32[$7+4>>2]=HEAP32[$29+4>>2]|0;
    69165   $30 = $5;
    69166   $31 = ((($30)) + 8|0);
    69167   $5 = $31;
    69168   $32 = $6;
    69169   ;HEAP32[$30>>2]=HEAP32[$32>>2]|0;HEAP32[$30+4>>2]=HEAP32[$32+4>>2]|0;
    69170   $33 = $6;
    69171   $34 = ((($33)) + -8|0);
    69172   $6 = $34;
    69173   ;HEAP32[$33>>2]=HEAP32[$7>>2]|0;HEAP32[$33+4>>2]=HEAP32[$7+4>>2]|0;
    69174  }
    69175  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    69176  STACKTOP = sp;return;
    69177 }
    69178 function _mrb_ary_rindex_m($0,$1,$2) {
    69179  $0 = $0|0;
    69180  $1 = $1|0;
    69181  $2 = $2|0;
    69182  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    69183  var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    69184  sp = STACKTOP;
    69185  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    69186  $$byval_copy1 = sp + 32|0;
    69187  $$byval_copy = sp + 24|0;
    69188  $vararg_buffer = sp;
    69189  $4 = sp + 8|0;
    69190  $3 = $1;
    69191  $6 = $3;
    69192  HEAP32[$vararg_buffer>>2] = $4;
    69193  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    69194  $7 = HEAP32[$2>>2]|0;
    69195  $8 = ((($7)) + 12|0);
    69196  $9 = HEAP32[$8>>2]|0;
    69197  $10 = (($9) - 1)|0;
    69198  $5 = $10;
    69199  while(1) {
    69200   $11 = $5;
    69201   $12 = ($11|0)>=(0);
    69202   if (!($12)) {
    69203    label = 6;
    69204    break;
    69205   }
    69206   $13 = $3;
    69207   $14 = HEAP32[$2>>2]|0;
    69208   $15 = ((($14)) + 20|0);
    69209   $16 = HEAP32[$15>>2]|0;
    69210   $17 = $5;
    69211   $18 = (($16) + ($17<<3)|0);
    69212   ;HEAP32[$$byval_copy>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$18+4>>2]|0;
    69213   ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    69214   $19 = (_mrb_equal($13,$$byval_copy,$$byval_copy1)|0);
    69215   $20 = ($19<<24>>24)!=(0);
    69216   $21 = $5;
    69217   if ($20) {
    69218    label = 4;
    69219    break;
    69220   }
    69221   $22 = (($21) + -1)|0;
    69222   $5 = $22;
    69223  }
    69224  if ((label|0) == 4) {
    69225   _mrb_fixnum_value_579($0,$21);
    69226   STACKTOP = sp;return;
    69227  }
    69228  else if ((label|0) == 6) {
    69229   _mrb_nil_value_562($0);
    69230   STACKTOP = sp;return;
    69231  }
    69232 }
    69233 function _mrb_ary_unshift_m($0,$1,$2) {
    69234  $0 = $0|0;
    69235  $1 = $1|0;
    69236  $2 = $2|0;
    69237  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    69238  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    69239  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    69240  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
    69241  var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    69242  sp = STACKTOP;
    69243  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    69244  $vararg_buffer = sp;
    69245  $5 = sp + 12|0;
    69246  $6 = sp + 8|0;
    69247  $3 = $1;
    69248  $7 = HEAP32[$2>>2]|0;
    69249  $4 = $7;
    69250  $8 = $3;
    69251  HEAP32[$vararg_buffer>>2] = $5;
    69252  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    69253  HEAP32[$vararg_ptr1>>2] = $6;
    69254  (_mrb_get_args($8,68856,$vararg_buffer)|0);
    69255  $9 = $4;
    69256  $10 = HEAP32[$9>>2]|0;
    69257  $11 = $10 >>> 11;
    69258  $12 = $11 & 256;
    69259  $13 = ($12|0)!=(0);
    69260  if ($13) {
    69261   $14 = $4;
    69262   $15 = ((($14)) + 16|0);
    69263   $16 = HEAP32[$15>>2]|0;
    69264   $17 = HEAP32[$16>>2]|0;
    69265   $18 = ($17|0)==(1);
    69266   if ($18) {
    69267    $19 = $4;
    69268    $20 = ((($19)) + 20|0);
    69269    $21 = HEAP32[$20>>2]|0;
    69270    $22 = $4;
    69271    $23 = ((($22)) + 16|0);
    69272    $24 = HEAP32[$23>>2]|0;
    69273    $25 = ((($24)) + 8|0);
    69274    $26 = HEAP32[$25>>2]|0;
    69275    $27 = $21;
    69276    $28 = $26;
    69277    $29 = (($27) - ($28))|0;
    69278    $30 = (($29|0) / 8)&-1;
    69279    $31 = HEAP32[$6>>2]|0;
    69280    $32 = ($30|0)>=($31|0);
    69281    if ($32) {
    69282     $33 = HEAP32[$6>>2]|0;
    69283     $34 = $4;
    69284     $35 = ((($34)) + 20|0);
    69285     $36 = HEAP32[$35>>2]|0;
    69286     $37 = (0 - ($33))|0;
    69287     $38 = (($36) + ($37<<3)|0);
    69288     HEAP32[$35>>2] = $38;
    69289    } else {
    69290     label = 5;
    69291    }
    69292   } else {
    69293    label = 5;
    69294   }
    69295  } else {
    69296   label = 5;
    69297  }
    69298  if ((label|0) == 5) {
    69299   $39 = $3;
    69300   $40 = $4;
    69301   _ary_modify($39,$40);
    69302   $41 = HEAP32[$6>>2]|0;
    69303   $42 = ($41|0)==(0);
    69304   if ($42) {
    69305    ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    69306    STACKTOP = sp;return;
    69307   }
    69308   $43 = $4;
    69309   $44 = ((($43)) + 16|0);
    69310   $45 = HEAP32[$44>>2]|0;
    69311   $46 = $4;
    69312   $47 = ((($46)) + 12|0);
    69313   $48 = HEAP32[$47>>2]|0;
    69314   $49 = HEAP32[$6>>2]|0;
    69315   $50 = (($48) + ($49))|0;
    69316   $51 = ($45|0)<($50|0);
    69317   if ($51) {
    69318    $52 = $3;
    69319    $53 = $4;
    69320    $54 = $4;
    69321    $55 = ((($54)) + 12|0);
    69322    $56 = HEAP32[$55>>2]|0;
    69323    $57 = HEAP32[$6>>2]|0;
    69324    $58 = (($56) + ($57))|0;
    69325    _ary_expand_capa($52,$53,$58);
    69326   }
    69327   $59 = $4;
    69328   $60 = ((($59)) + 20|0);
    69329   $61 = HEAP32[$60>>2]|0;
    69330   $62 = HEAP32[$6>>2]|0;
    69331   $63 = (($61) + ($62<<3)|0);
    69332   $64 = $4;
    69333   $65 = ((($64)) + 20|0);
    69334   $66 = HEAP32[$65>>2]|0;
    69335   $67 = $4;
    69336   $68 = ((($67)) + 12|0);
    69337   $69 = HEAP32[$68>>2]|0;
    69338   _value_move_573($63,$66,$69);
    69339  }
    69340  $70 = $4;
    69341  $71 = ((($70)) + 20|0);
    69342  $72 = HEAP32[$71>>2]|0;
    69343  $73 = HEAP32[$5>>2]|0;
    69344  $74 = HEAP32[$6>>2]|0;
    69345  _array_copy($72,$73,$74);
    69346  $75 = HEAP32[$6>>2]|0;
    69347  $76 = $4;
    69348  $77 = ((($76)) + 12|0);
    69349  $78 = HEAP32[$77>>2]|0;
    69350  $79 = (($78) + ($75))|0;
    69351  HEAP32[$77>>2] = $79;
    69352  while(1) {
    69353   $80 = HEAP32[$6>>2]|0;
    69354   $81 = (($80) + -1)|0;
    69355   HEAP32[$6>>2] = $81;
    69356   $82 = ($80|0)!=(0);
    69357   if (!($82)) {
    69358    break;
    69359   }
    69360   $83 = HEAP32[$5>>2]|0;
    69361   $84 = HEAP32[$6>>2]|0;
    69362   $85 = (($83) + ($84<<3)|0);
    69363   $86 = ((($85)) + 4|0);
    69364   $87 = HEAP32[$86>>2]|0;
    69365   $88 = ($87>>>0)<(8);
    69366   if ($88) {
    69367    continue;
    69368   }
    69369   $89 = $3;
    69370   $90 = $4;
    69371   $91 = HEAP32[$5>>2]|0;
    69372   $92 = HEAP32[$6>>2]|0;
    69373   $93 = (($91) + ($92<<3)|0);
    69374   $94 = HEAP32[$93>>2]|0;
    69375   _mrb_field_write_barrier($89,$90,$94);
    69376  }
    69377  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    69378  STACKTOP = sp;return;
    69379 }
    69380 function _mrb_ary_eq($0,$1,$2) {
    69381  $0 = $0|0;
    69382  $1 = $1|0;
    69383  $2 = $2|0;
    69384  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0;
    69385  var sp = 0;
    69386  sp = STACKTOP;
    69387  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    69388  $$byval_copy1 = sp + 32|0;
    69389  $$byval_copy = sp + 24|0;
    69390  $vararg_buffer = sp;
    69391  $4 = sp + 8|0;
    69392  $3 = $1;
    69393  $5 = $3;
    69394  HEAP32[$vararg_buffer>>2] = $4;
    69395  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    69396  $6 = $3;
    69397  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    69398  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    69399  $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
    69400  $8 = ($7<<24>>24)!=(0);
    69401  if ($8) {
    69402   _mrb_true_value_618($0);
    69403   STACKTOP = sp;return;
    69404  }
    69405  $9 = ((($4)) + 4|0);
    69406  $10 = HEAP32[$9>>2]|0;
    69407  $11 = ($10|0)==(14);
    69408  if (!($11)) {
    69409   _mrb_false_value_619($0);
    69410   STACKTOP = sp;return;
    69411  }
    69412  $12 = HEAP32[$2>>2]|0;
    69413  $13 = ((($12)) + 12|0);
    69414  $14 = HEAP32[$13>>2]|0;
    69415  $15 = HEAP32[$4>>2]|0;
    69416  $16 = ((($15)) + 12|0);
    69417  $17 = HEAP32[$16>>2]|0;
    69418  $18 = ($14|0)!=($17|0);
    69419  if ($18) {
    69420   _mrb_false_value_619($0);
    69421   STACKTOP = sp;return;
    69422  } else {
    69423   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    69424   STACKTOP = sp;return;
    69425  }
    69426 }
    69427 function _mrb_ary_cmp($0,$1,$2) {
    69428  $0 = $0|0;
    69429  $1 = $1|0;
    69430  $2 = $2|0;
    69431  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    69432  sp = STACKTOP;
    69433  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    69434  $$byval_copy1 = sp + 32|0;
    69435  $$byval_copy = sp + 24|0;
    69436  $vararg_buffer = sp;
    69437  $4 = sp + 8|0;
    69438  $3 = $1;
    69439  $5 = $3;
    69440  HEAP32[$vararg_buffer>>2] = $4;
    69441  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    69442  $6 = $3;
    69443  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    69444  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    69445  $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
    69446  $8 = ($7<<24>>24)!=(0);
    69447  if ($8) {
    69448   _mrb_fixnum_value_579($0,0);
    69449   STACKTOP = sp;return;
    69450  }
    69451  $9 = ((($4)) + 4|0);
    69452  $10 = HEAP32[$9>>2]|0;
    69453  $11 = ($10|0)==(14);
    69454  if ($11) {
    69455   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    69456   STACKTOP = sp;return;
    69457  } else {
    69458   _mrb_nil_value_562($0);
    69459   STACKTOP = sp;return;
    69460  }
    69461 }
    69462 function _mrb_true_value_618($0) {
    69463  $0 = $0|0;
    69464  var $1 = 0, $2 = 0, label = 0, sp = 0;
    69465  sp = STACKTOP;
    69466  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    69467  $1 = sp;
    69468  $2 = ((($1)) + 4|0);
    69469  HEAP32[$2>>2] = 2;
    69470  HEAP32[$1>>2] = 1;
    69471  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    69472  STACKTOP = sp;return;
    69473 }
    69474 function _mrb_false_value_619($0) {
    69475  $0 = $0|0;
    69476  var $1 = 0, $2 = 0, label = 0, sp = 0;
    69477  sp = STACKTOP;
    69478  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    69479  $1 = sp;
    69480  $2 = ((($1)) + 4|0);
    69481  HEAP32[$2>>2] = 0;
    69482  HEAP32[$1>>2] = 1;
    69483  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    69484  STACKTOP = sp;return;
    69485 }
    69486 function _ary_subseq($0,$1,$2,$3,$4) {
    69487  $0 = $0|0;
    69488  $1 = $1|0;
    69489  $2 = $2|0;
    69490  $3 = $3|0;
    69491  $4 = $4|0;
    69492  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    69493  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0;
    69494  var $8 = 0, $9 = 0, label = 0, sp = 0;
    69495  sp = STACKTOP;
    69496  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    69497  $5 = $1;
    69498  $6 = $2;
    69499  $7 = $3;
    69500  $8 = $4;
    69501  $10 = $5;
    69502  $11 = $6;
    69503  _ary_make_shared($10,$11);
    69504  $12 = $5;
    69505  $13 = $5;
    69506  $14 = ((($13)) + 52|0);
    69507  $15 = HEAP32[$14>>2]|0;
    69508  $16 = (_mrb_obj_alloc($12,14,$15)|0);
    69509  $9 = $16;
    69510  $17 = $6;
    69511  $18 = ((($17)) + 20|0);
    69512  $19 = HEAP32[$18>>2]|0;
    69513  $20 = $7;
    69514  $21 = (($19) + ($20<<3)|0);
    69515  $22 = $9;
    69516  $23 = ((($22)) + 20|0);
    69517  HEAP32[$23>>2] = $21;
    69518  $24 = $8;
    69519  $25 = $9;
    69520  $26 = ((($25)) + 12|0);
    69521  HEAP32[$26>>2] = $24;
    69522  $27 = $6;
    69523  $28 = ((($27)) + 16|0);
    69524  $29 = HEAP32[$28>>2]|0;
    69525  $30 = $9;
    69526  $31 = ((($30)) + 16|0);
    69527  HEAP32[$31>>2] = $29;
    69528  $32 = $9;
    69529  $33 = ((($32)) + 16|0);
    69530  $34 = HEAP32[$33>>2]|0;
    69531  $35 = HEAP32[$34>>2]|0;
    69532  $36 = (($35) + 1)|0;
    69533  HEAP32[$34>>2] = $36;
    69534  $37 = $9;
    69535  $38 = HEAP32[$37>>2]|0;
    69536  $39 = $38 >>> 11;
    69537  $40 = $39 | 256;
    69538  $41 = HEAP32[$37>>2]|0;
    69539  $42 = $40 & 2097151;
    69540  $43 = $42 << 11;
    69541  $44 = $41 & 2047;
    69542  $45 = $44 | $43;
    69543  HEAP32[$37>>2] = $45;
    69544  $46 = $9;
    69545  _mrb_obj_value_549($0,$46);
    69546  STACKTOP = sp;return;
    69547 }
    69548 function _mrb_bool_value_624($0,$1) {
    69549  $0 = $0|0;
    69550  $1 = $1|0;
    69551  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    69552  sp = STACKTOP;
    69553  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    69554  $3 = sp;
    69555  $2 = $1;
    69556  $4 = $2;
    69557  $5 = $4&255;
    69558  $6 = ($5|0)!=(0);
    69559  $7 = $6 ? 2 : 0;
    69560  $8 = ((($3)) + 4|0);
    69561  HEAP32[$8>>2] = $7;
    69562  HEAP32[$3>>2] = 1;
    69563  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    69564  STACKTOP = sp;return;
    69565 }
    69566 function _aget_index($0,$1) {
    69567  $0 = $0|0;
    69568  $1 = $1|0;
    69569  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
    69570  var label = 0, sp = 0;
    69571  sp = STACKTOP;
    69572  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    69573  $vararg_buffer = sp;
    69574  $4 = sp + 20|0;
    69575  $5 = sp + 16|0;
    69576  $6 = sp + 12|0;
    69577  $3 = $0;
    69578  $7 = ((($1)) + 4|0);
    69579  $8 = HEAP32[$7>>2]|0;
    69580  $9 = ($8|0)==(3);
    69581  if ($9) {
    69582   $10 = HEAP32[$1>>2]|0;
    69583   $2 = $10;
    69584   $18 = $2;
    69585   STACKTOP = sp;return ($18|0);
    69586  }
    69587  $11 = ((($1)) + 4|0);
    69588  $12 = HEAP32[$11>>2]|0;
    69589  $13 = ($12|0)==(6);
    69590  if ($13) {
    69591   $14 = +HEAPF32[$1>>2];
    69592   $15 = (~~(($14)));
    69593   $2 = $15;
    69594   $18 = $2;
    69595   STACKTOP = sp;return ($18|0);
    69596  } else {
    69597   $16 = $3;
    69598   HEAP32[$vararg_buffer>>2] = $4;
    69599   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    69600   HEAP32[$vararg_ptr1>>2] = $6;
    69601   $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    69602   HEAP32[$vararg_ptr2>>2] = $5;
    69603   (_mrb_get_args($16,64806,$vararg_buffer)|0);
    69604   $17 = HEAP32[$4>>2]|0;
    69605   $2 = $17;
    69606   $18 = $2;
    69607   STACKTOP = sp;return ($18|0);
    69608  }
    69609  return (0)|0;
    69610 }
    69611 function _mrb_obj_value_633($0,$1) {
    69612  $0 = $0|0;
    69613  $1 = $1|0;
    69614  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    69615  sp = STACKTOP;
    69616  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    69617  $3 = sp;
    69618  $2 = $1;
    69619  $4 = $2;
    69620  $5 = HEAP32[$4>>2]|0;
    69621  $6 = $5 & 255;
    69622  $7 = ((($3)) + 4|0);
    69623  HEAP32[$7>>2] = $6;
    69624  $8 = $2;
    69625  HEAP32[$3>>2] = $8;
    69626  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    69627  STACKTOP = sp;return;
    69628 }
    69629 function _exc_output_backtrace($0,$1,$2,$3) {
    69630  $0 = $0|0;
    69631  $1 = $1|0;
    69632  $2 = $2|0;
    69633  $3 = $3|0;
    69634  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    69635  var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    69636  sp = STACKTOP;
    69637  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    69638  $8 = sp + 24|0;
    69639  $10 = sp + 8|0;
    69640  $11 = sp;
    69641  $4 = $0;
    69642  $5 = $1;
    69643  $6 = $2;
    69644  $7 = $3;
    69645  $12 = $4;
    69646  $13 = $5;
    69647  $14 = $4;
    69648  $15 = (_mrb_intern_static($14,68279,6)|0);
    69649  _mrb_obj_iv_get($10,$12,$13,$15);
    69650  ;HEAP32[$8>>2]=HEAP32[$10>>2]|0;HEAP32[$8+4>>2]=HEAP32[$10+4>>2]|0;
    69651  $16 = ((($8)) + 4|0);
    69652  $17 = HEAP32[$16>>2]|0;
    69653  $18 = ($17|0)==(0);
    69654  if ($18) {
    69655   $19 = HEAP32[$8>>2]|0;
    69656   $20 = ($19|0)!=(0);
    69657   if ($20) {
    69658    label = 4;
    69659   } else {
    69660    $9 = 0;
    69661   }
    69662  } else {
    69663   label = 4;
    69664  }
    69665  if ((label|0) == 4) {
    69666   $21 = HEAP32[$8>>2]|0;
    69667   $9 = $21;
    69668  }
    69669  $22 = $4;
    69670  $23 = $4;
    69671  $24 = $5;
    69672  $25 = $4;
    69673  $26 = (_mrb_intern_static($25,67804,5)|0);
    69674  _mrb_obj_iv_get($11,$23,$24,$26);
    69675  $27 = HEAP32[$11>>2]|0;
    69676  $28 = $9;
    69677  $29 = $6;
    69678  $30 = $7;
    69679  _output_backtrace($22,$27,$28,$29,$30);
    69680  STACKTOP = sp;return;
    69681 }
    69682 function _output_backtrace($0,$1,$2,$3,$4) {
    69683  $0 = $0|0;
    69684  $1 = $1|0;
    69685  $2 = $2|0;
    69686  $3 = $3|0;
    69687  $4 = $4|0;
    69688  var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    69689  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
    69690  var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
    69691  var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    69692  var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
    69693  var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
    69694  var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
    69695  var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    69696  sp = STACKTOP;
    69697  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    69698  $11 = sp + 16|0;
    69699  $5 = $0;
    69700  $6 = $1;
    69701  $7 = $2;
    69702  $8 = $3;
    69703  $9 = $4;
    69704  $15 = $6;
    69705  $16 = $5;
    69706  $17 = ((($16)) + 12|0);
    69707  $18 = HEAP32[$17>>2]|0;
    69708  $19 = ((($18)) + 24|0);
    69709  $20 = HEAP32[$19>>2]|0;
    69710  $21 = $5;
    69711  $22 = ((($21)) + 12|0);
    69712  $23 = HEAP32[$22>>2]|0;
    69713  $24 = ((($23)) + 20|0);
    69714  $25 = HEAP32[$24>>2]|0;
    69715  $26 = $20;
    69716  $27 = $25;
    69717  $28 = (($26) - ($27))|0;
    69718  $29 = (($28|0) / 48)&-1;
    69719  $30 = ($15|0)>=($29|0);
    69720  if ($30) {
    69721   $6 = 10;
    69722  }
    69723  $31 = $6;
    69724  $10 = $31;
    69725  while(1) {
    69726   $32 = $10;
    69727   $33 = ($32|0)>=(0);
    69728   if (!($33)) {
    69729    break;
    69730   }
    69731   $34 = $5;
    69732   $35 = ((($34)) + 12|0);
    69733   $36 = HEAP32[$35>>2]|0;
    69734   $37 = ((($36)) + 20|0);
    69735   $38 = HEAP32[$37>>2]|0;
    69736   $39 = $10;
    69737   $40 = (($38) + (($39*48)|0)|0);
    69738   $12 = $40;
    69739   $41 = $12;
    69740   $42 = ((($41)) + 4|0);
    69741   $43 = HEAP32[$42>>2]|0;
    69742   $44 = ($43|0)!=(0|0);
    69743   if ($44) {
    69744    $45 = $12;
    69745    $46 = ((($45)) + 4|0);
    69746    $47 = HEAP32[$46>>2]|0;
    69747    $48 = HEAP32[$47>>2]|0;
    69748    $49 = $48 >>> 11;
    69749    $50 = $49 & 128;
    69750    $51 = ($50|0)!=(0);
    69751    if (!($51)) {
    69752     $52 = $12;
    69753     $53 = ((($52)) + 4|0);
    69754     $54 = HEAP32[$53>>2]|0;
    69755     $55 = ((($54)) + 12|0);
    69756     $56 = HEAP32[$55>>2]|0;
    69757     $13 = $56;
    69758     $57 = $5;
    69759     $58 = ((($57)) + 12|0);
    69760     $59 = HEAP32[$58>>2]|0;
    69761     $60 = ((($59)) + 20|0);
    69762     $61 = HEAP32[$60>>2]|0;
    69763     $62 = $10;
    69764     $63 = (($61) + (($62*48)|0)|0);
    69765     $64 = ((($63)) + 32|0);
    69766     $65 = HEAP32[$64>>2]|0;
    69767     $66 = ($65|0)!=(0|0);
    69768     do {
    69769      if ($66) {
    69770       $67 = $5;
    69771       $68 = ((($67)) + 12|0);
    69772       $69 = HEAP32[$68>>2]|0;
    69773       $70 = ((($69)) + 20|0);
    69774       $71 = HEAP32[$70>>2]|0;
    69775       $72 = $10;
    69776       $73 = (($71) + (($72*48)|0)|0);
    69777       $74 = ((($73)) + 32|0);
    69778       $75 = HEAP32[$74>>2]|0;
    69779       $14 = $75;
    69780      } else {
    69781       $76 = $10;
    69782       $77 = (($76) + 1)|0;
    69783       $78 = $6;
    69784       $79 = ($77|0)<=($78|0);
    69785       if ($79) {
    69786        $80 = $5;
    69787        $81 = ((($80)) + 12|0);
    69788        $82 = HEAP32[$81>>2]|0;
    69789        $83 = ((($82)) + 20|0);
    69790        $84 = HEAP32[$83>>2]|0;
    69791        $85 = $10;
    69792        $86 = (($85) + 1)|0;
    69793        $87 = (($84) + (($86*48)|0)|0);
    69794        $88 = ((($87)) + 28|0);
    69795        $89 = HEAP32[$88>>2]|0;
    69796        $90 = ((($89)) + -4|0);
    69797        $14 = $90;
    69798        break;
    69799       } else {
    69800        $91 = $7;
    69801        $14 = $91;
    69802        break;
    69803       }
    69804      }
    69805     } while(0);
    69806     $92 = $13;
    69807     $93 = $14;
    69808     $94 = $13;
    69809     $95 = ((($94)) + 8|0);
    69810     $96 = HEAP32[$95>>2]|0;
    69811     $97 = $93;
    69812     $98 = $96;
    69813     $99 = (($97) - ($98))|0;
    69814     $100 = (($99|0) / 4)&-1;
    69815     $101 = (_mrb_debug_get_filename($92,$100)|0);
    69816     $102 = ((($11)) + 8|0);
    69817     HEAP32[$102>>2] = $101;
    69818     $103 = $13;
    69819     $104 = $14;
    69820     $105 = $13;
    69821     $106 = ((($105)) + 8|0);
    69822     $107 = HEAP32[$106>>2]|0;
    69823     $108 = $104;
    69824     $109 = $107;
    69825     $110 = (($108) - ($109))|0;
    69826     $111 = (($110|0) / 4)&-1;
    69827     $112 = (_mrb_debug_get_line($103,$111)|0);
    69828     $113 = ((($11)) + 4|0);
    69829     HEAP32[$113>>2] = $112;
    69830     $114 = ((($11)) + 4|0);
    69831     $115 = HEAP32[$114>>2]|0;
    69832     $116 = ($115|0)==(-1);
    69833     if (!($116)) {
    69834      $117 = $12;
    69835      $118 = ((($117)) + 44|0);
    69836      $119 = HEAP32[$118>>2]|0;
    69837      $120 = $12;
    69838      $121 = ((($120)) + 4|0);
    69839      $122 = HEAP32[$121>>2]|0;
    69840      $123 = ((($122)) + 16|0);
    69841      $124 = HEAP32[$123>>2]|0;
    69842      $125 = ($119|0)==($124|0);
    69843      $126 = ((($11)) + 16|0);
    69844      $$sink = $125 ? 70783 : 64831;
    69845      HEAP32[$126>>2] = $$sink;
    69846      $127 = ((($11)) + 8|0);
    69847      $128 = HEAP32[$127>>2]|0;
    69848      $129 = ($128|0)!=(0|0);
    69849      if (!($129)) {
    69850       $130 = ((($11)) + 8|0);
    69851       HEAP32[$130>>2] = 64833;
    69852      }
    69853      $131 = $5;
    69854      $132 = $12;
    69855      $133 = HEAP32[$132>>2]|0;
    69856      $134 = (_mrb_sym2name($131,$133)|0);
    69857      $135 = ((($11)) + 12|0);
    69858      HEAP32[$135>>2] = $134;
    69859      $136 = $5;
    69860      $137 = $12;
    69861      $138 = ((($137)) + 4|0);
    69862      $139 = HEAP32[$138>>2]|0;
    69863      $140 = ((($139)) + 16|0);
    69864      $141 = HEAP32[$140>>2]|0;
    69865      $142 = (_mrb_class_name($136,$141)|0);
    69866      $143 = ((($11)) + 20|0);
    69867      HEAP32[$143>>2] = $142;
    69868      $144 = $10;
    69869      HEAP32[$11>>2] = $144;
    69870      $145 = $8;
    69871      $146 = $5;
    69872      $147 = $9;
    69873      FUNCTION_TABLE_viii[$145 & 511]($146,$11,$147);
    69874     }
    69875    }
    69876   }
    69877   $148 = $10;
    69878   $149 = (($148) + -1)|0;
    69879   $10 = $149;
    69880  }
    69881  STACKTOP = sp;return;
    69882 }
    69883 function _mrb_exc_backtrace($0,$1,$2) {
    69884  $0 = $0|0;
    69885  $1 = $1|0;
    69886  $2 = $2|0;
    69887  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    69888  sp = STACKTOP;
    69889  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    69890  $4 = sp + 8|0;
    69891  $5 = sp;
    69892  $3 = $1;
    69893  $6 = $3;
    69894  _mrb_ary_new($5,$6);
    69895  ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    69896  $7 = $3;
    69897  $8 = HEAP32[$2>>2]|0;
    69898  $9 = HEAP32[$4>>2]|0;
    69899  _exc_output_backtrace($7,$8,232,$9);
    69900  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    69901  STACKTOP = sp;return;
    69902 }
    69903 function _get_backtrace_i($0,$1,$2) {
    69904  $0 = $0|0;
    69905  $1 = $1|0;
    69906  $2 = $2|0;
    69907  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
    69908  var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    69909  var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0;
    69910  var $8 = 0, $9 = 0, label = 0, sp = 0;
    69911  sp = STACKTOP;
    69912  STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
    69913  $$byval_copy9 = sp + 184|0;
    69914  $$byval_copy8 = sp + 176|0;
    69915  $$byval_copy7 = sp + 168|0;
    69916  $$byval_copy6 = sp + 160|0;
    69917  $$byval_copy5 = sp + 152|0;
    69918  $$byval_copy4 = sp + 144|0;
    69919  $$byval_copy3 = sp + 136|0;
    69920  $$byval_copy2 = sp + 128|0;
    69921  $$byval_copy1 = sp + 120|0;
    69922  $$byval_copy = sp + 112|0;
    69923  $6 = sp + 88|0;
    69924  $7 = sp + 80|0;
    69925  $9 = sp + 64|0;
    69926  $10 = sp + 56|0;
    69927  $11 = sp + 48|0;
    69928  $12 = sp + 40|0;
    69929  $13 = sp + 32|0;
    69930  $14 = sp + 24|0;
    69931  $15 = sp + 16|0;
    69932  $16 = sp + 8|0;
    69933  $17 = sp;
    69934  $3 = $0;
    69935  $4 = $1;
    69936  $5 = $2;
    69937  $18 = $3;
    69938  $19 = (_mrb_gc_arena_save($18)|0);
    69939  $8 = $19;
    69940  $20 = $5;
    69941  _mrb_obj_value_633($9,$20);
    69942  ;HEAP32[$6>>2]=HEAP32[$9>>2]|0;HEAP32[$6+4>>2]=HEAP32[$9+4>>2]|0;
    69943  $21 = $3;
    69944  $22 = $4;
    69945  $23 = ((($22)) + 8|0);
    69946  $24 = HEAP32[$23>>2]|0;
    69947  _mrb_str_new_cstr($10,$21,$24);
    69948  ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
    69949  $25 = $3;
    69950  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    69951  _mrb_str_cat($11,$25,$$byval_copy,68074,1);
    69952  $26 = $3;
    69953  $27 = $3;
    69954  $28 = $4;
    69955  $29 = ((($28)) + 4|0);
    69956  $30 = HEAP32[$29>>2]|0;
    69957  _mrb_fixnum_value_646($13,$30);
    69958  ;HEAP32[$$byval_copy1>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$13+4>>2]|0;
    69959  _mrb_fixnum_to_str($12,$27,$$byval_copy1,10);
    69960  ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0;
    69961  ;HEAP32[$$byval_copy3>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$12+4>>2]|0;
    69962  _mrb_str_concat($26,$$byval_copy2,$$byval_copy3);
    69963  $31 = $4;
    69964  $32 = ((($31)) + 12|0);
    69965  $33 = HEAP32[$32>>2]|0;
    69966  $34 = ($33|0)!=(0|0);
    69967  if (!($34)) {
    69968   $52 = $3;
    69969   ;HEAP32[$$byval_copy8>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$6+4>>2]|0;
    69970   ;HEAP32[$$byval_copy9>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$7+4>>2]|0;
    69971   _mrb_ary_push($52,$$byval_copy8,$$byval_copy9);
    69972   $53 = $3;
    69973   $54 = $8;
    69974   _mrb_gc_arena_restore($53,$54);
    69975   STACKTOP = sp;return;
    69976  }
    69977  $35 = $3;
    69978  ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0;
    69979  _mrb_str_cat($14,$35,$$byval_copy4,64843,4);
    69980  $36 = $4;
    69981  $37 = ((($36)) + 20|0);
    69982  $38 = HEAP32[$37>>2]|0;
    69983  $39 = ($38|0)!=(0|0);
    69984  if ($39) {
    69985   $40 = $3;
    69986   $41 = $4;
    69987   $42 = ((($41)) + 20|0);
    69988   $43 = HEAP32[$42>>2]|0;
    69989   ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
    69990   _mrb_str_cat_cstr($15,$40,$$byval_copy5,$43);
    69991   $44 = $3;
    69992   $45 = $4;
    69993   $46 = ((($45)) + 16|0);
    69994   $47 = HEAP32[$46>>2]|0;
    69995   ;HEAP32[$$byval_copy6>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$7+4>>2]|0;
    69996   _mrb_str_cat_cstr($16,$44,$$byval_copy6,$47);
    69997  }
    69998  $48 = $3;
    69999  $49 = $4;
    70000  $50 = ((($49)) + 12|0);
    70001  $51 = HEAP32[$50>>2]|0;
    70002  ;HEAP32[$$byval_copy7>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$7+4>>2]|0;
    70003  _mrb_str_cat_cstr($17,$48,$$byval_copy7,$51);
    70004  $52 = $3;
    70005  ;HEAP32[$$byval_copy8>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$6+4>>2]|0;
    70006  ;HEAP32[$$byval_copy9>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$7+4>>2]|0;
    70007  _mrb_ary_push($52,$$byval_copy8,$$byval_copy9);
    70008  $53 = $3;
    70009  $54 = $8;
    70010  _mrb_gc_arena_restore($53,$54);
    70011  STACKTOP = sp;return;
    70012 }
    70013 function _mrb_fixnum_value_646($0,$1) {
    70014  $0 = $0|0;
    70015  $1 = $1|0;
    70016  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    70017  sp = STACKTOP;
    70018  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70019  $3 = sp;
    70020  $2 = $1;
    70021  $4 = ((($3)) + 4|0);
    70022  HEAP32[$4>>2] = 3;
    70023  $5 = $2;
    70024  HEAP32[$3>>2] = $5;
    70025  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    70026  STACKTOP = sp;return;
    70027 }
    70028 function _kh_alloc_mt($0,$1) {
    70029  $0 = $0|0;
    70030  $1 = $1|0;
    70031  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    70032  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    70033  var $9 = 0, label = 0, sp = 0;
    70034  sp = STACKTOP;
    70035  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    70036  $2 = $0;
    70037  $3 = $1;
    70038  $7 = $3;
    70039  $8 = HEAP32[$7>>2]|0;
    70040  $4 = $8;
    70041  $5 = 8;
    70042  $9 = $2;
    70043  $10 = $4;
    70044  $11 = $10;
    70045  $12 = (($11>>>0) / 4)&-1;
    70046  $13 = $5;
    70047  $14 = $4;
    70048  $15 = Math_imul($13, $14)|0;
    70049  $16 = (($12) + ($15))|0;
    70050  $17 = (_mrb_malloc($9,$16)|0);
    70051  $6 = $17;
    70052  $18 = $3;
    70053  $19 = ((($18)) + 8|0);
    70054  HEAP32[$19>>2] = 0;
    70055  $20 = $3;
    70056  $21 = ((($20)) + 4|0);
    70057  HEAP32[$21>>2] = 0;
    70058  $22 = $6;
    70059  $23 = $3;
    70060  $24 = ((($23)) + 16|0);
    70061  HEAP32[$24>>2] = $22;
    70062  $25 = $6;
    70063  $26 = $4;
    70064  $27 = $26<<2;
    70065  $28 = (($25) + ($27)|0);
    70066  $29 = $3;
    70067  $30 = ((($29)) + 20|0);
    70068  HEAP32[$30>>2] = $28;
    70069  $31 = $6;
    70070  $32 = $5;
    70071  $33 = $4;
    70072  $34 = Math_imul($32, $33)|0;
    70073  $35 = (($31) + ($34)|0);
    70074  $36 = $3;
    70075  $37 = ((($36)) + 12|0);
    70076  HEAP32[$37>>2] = $35;
    70077  $38 = $3;
    70078  $39 = ((($38)) + 12|0);
    70079  $40 = HEAP32[$39>>2]|0;
    70080  $41 = $4;
    70081  $42 = (($41>>>0) / 4)&-1;
    70082  _kh_fill_flags_648($40,-86,$42);
    70083  STACKTOP = sp;return;
    70084 }
    70085 function _kh_fill_flags_648($0,$1,$2) {
    70086  $0 = $0|0;
    70087  $1 = $1|0;
    70088  $2 = $2|0;
    70089  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70090  sp = STACKTOP;
    70091  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70092  $3 = $0;
    70093  $4 = $1;
    70094  $5 = $2;
    70095  while(1) {
    70096   $6 = $5;
    70097   $7 = (($6) + -1)|0;
    70098   $5 = $7;
    70099   $8 = ($6>>>0)>(0);
    70100   if (!($8)) {
    70101    break;
    70102   }
    70103   $9 = $4;
    70104   $10 = $3;
    70105   $11 = ((($10)) + 1|0);
    70106   $3 = $11;
    70107   HEAP8[$10>>0] = $9;
    70108  }
    70109  STACKTOP = sp;return;
    70110 }
    70111 function _kh_init_mt_size($0,$1) {
    70112  $0 = $0|0;
    70113  $1 = $1|0;
    70114  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    70115  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70116  sp = STACKTOP;
    70117  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70118  $2 = $0;
    70119  $3 = $1;
    70120  $5 = $2;
    70121  $6 = (_mrb_calloc($5,1,24)|0);
    70122  $4 = $6;
    70123  $7 = $3;
    70124  $8 = ($7>>>0)<(8);
    70125  if ($8) {
    70126   $3 = 8;
    70127  }
    70128  $9 = $3;
    70129  $10 = (($9) + -1)|0;
    70130  $3 = $10;
    70131  $11 = $3;
    70132  $12 = $11 >>> 1;
    70133  $13 = $3;
    70134  $14 = $13 | $12;
    70135  $3 = $14;
    70136  $15 = $3;
    70137  $16 = $15 >>> 2;
    70138  $17 = $3;
    70139  $18 = $17 | $16;
    70140  $3 = $18;
    70141  $19 = $3;
    70142  $20 = $19 >>> 4;
    70143  $21 = $3;
    70144  $22 = $21 | $20;
    70145  $3 = $22;
    70146  $23 = $3;
    70147  $24 = $23 >>> 8;
    70148  $25 = $3;
    70149  $26 = $25 | $24;
    70150  $3 = $26;
    70151  $27 = $3;
    70152  $28 = $27 >>> 16;
    70153  $29 = $3;
    70154  $30 = $29 | $28;
    70155  $3 = $30;
    70156  $31 = $3;
    70157  $32 = (($31) + 1)|0;
    70158  $3 = $32;
    70159  $33 = $3;
    70160  $34 = $4;
    70161  HEAP32[$34>>2] = $33;
    70162  $35 = $2;
    70163  $36 = $4;
    70164  _kh_alloc_mt($35,$36);
    70165  $37 = $4;
    70166  STACKTOP = sp;return ($37|0);
    70167 }
    70168 function _kh_init_mt($0) {
    70169  $0 = $0|0;
    70170  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    70171  sp = STACKTOP;
    70172  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70173  $1 = $0;
    70174  $2 = $1;
    70175  $3 = (_kh_init_mt_size($2,8)|0);
    70176  STACKTOP = sp;return ($3|0);
    70177 }
    70178 function _kh_destroy_mt($0,$1) {
    70179  $0 = $0|0;
    70180  $1 = $1|0;
    70181  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70182  sp = STACKTOP;
    70183  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70184  $2 = $0;
    70185  $3 = $1;
    70186  $4 = $3;
    70187  $5 = ($4|0)!=(0|0);
    70188  if (!($5)) {
    70189   STACKTOP = sp;return;
    70190  }
    70191  $6 = $2;
    70192  $7 = $3;
    70193  $8 = ((($7)) + 16|0);
    70194  $9 = HEAP32[$8>>2]|0;
    70195  _mrb_free($6,$9);
    70196  $10 = $2;
    70197  $11 = $3;
    70198  _mrb_free($10,$11);
    70199  STACKTOP = sp;return;
    70200 }
    70201 function _kh_get_mt($0,$1,$2) {
    70202  $0 = $0|0;
    70203  $1 = $1|0;
    70204  $2 = $2|0;
    70205  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    70206  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    70207  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    70208  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70209  sp = STACKTOP;
    70210  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    70211  $4 = $0;
    70212  $5 = $1;
    70213  $6 = $2;
    70214  $9 = $6;
    70215  $10 = $6;
    70216  $11 = $10 << 2;
    70217  $12 = $9 ^ $11;
    70218  $13 = $6;
    70219  $14 = $13 >>> 2;
    70220  $15 = $12 ^ $14;
    70221  $16 = $5;
    70222  $17 = HEAP32[$16>>2]|0;
    70223  $18 = (($17) - 1)|0;
    70224  $19 = $15 & $18;
    70225  $7 = $19;
    70226  $8 = 0;
    70227  while(1) {
    70228   $20 = $5;
    70229   $21 = ((($20)) + 12|0);
    70230   $22 = HEAP32[$21>>2]|0;
    70231   $23 = $7;
    70232   $24 = (($23>>>0) / 4)&-1;
    70233   $25 = (($22) + ($24)|0);
    70234   $26 = HEAP8[$25>>0]|0;
    70235   $27 = $26&255;
    70236   $28 = $7;
    70237   $29 = (($28>>>0) % 4)&-1;
    70238   $30 = (64848 + ($29)|0);
    70239   $31 = HEAP8[$30>>0]|0;
    70240   $32 = $31&255;
    70241   $33 = $27 & $32;
    70242   $34 = ($33|0)!=(0);
    70243   $35 = $34 ^ 1;
    70244   $36 = $5;
    70245   if (!($35)) {
    70246    label = 7;
    70247    break;
    70248   }
    70249   $37 = ((($36)) + 12|0);
    70250   $38 = HEAP32[$37>>2]|0;
    70251   $39 = $7;
    70252   $40 = (($39>>>0) / 4)&-1;
    70253   $41 = (($38) + ($40)|0);
    70254   $42 = HEAP8[$41>>0]|0;
    70255   $43 = $42&255;
    70256   $44 = $7;
    70257   $45 = (($44>>>0) % 4)&-1;
    70258   $46 = (64852 + ($45)|0);
    70259   $47 = HEAP8[$46>>0]|0;
    70260   $48 = $47&255;
    70261   $49 = $43 & $48;
    70262   $50 = ($49|0)!=(0);
    70263   if (!($50)) {
    70264    $51 = $5;
    70265    $52 = ((($51)) + 16|0);
    70266    $53 = HEAP32[$52>>2]|0;
    70267    $54 = $7;
    70268    $55 = (($53) + ($54<<2)|0);
    70269    $56 = HEAP32[$55>>2]|0;
    70270    $57 = $6;
    70271    $58 = ($56|0)==($57|0);
    70272    if ($58) {
    70273     label = 5;
    70274     break;
    70275    }
    70276   }
    70277   $60 = $7;
    70278   $61 = $8;
    70279   $62 = (($61) + 1)|0;
    70280   $8 = $62;
    70281   $63 = (($60) + ($62))|0;
    70282   $64 = $5;
    70283   $65 = HEAP32[$64>>2]|0;
    70284   $66 = (($65) - 1)|0;
    70285   $67 = $63 & $66;
    70286   $7 = $67;
    70287  }
    70288  if ((label|0) == 5) {
    70289   $59 = $7;
    70290   $3 = $59;
    70291   $69 = $3;
    70292   STACKTOP = sp;return ($69|0);
    70293  }
    70294  else if ((label|0) == 7) {
    70295   $68 = HEAP32[$36>>2]|0;
    70296   $3 = $68;
    70297   $69 = $3;
    70298   STACKTOP = sp;return ($69|0);
    70299  }
    70300  return (0)|0;
    70301 }
    70302 function _kh_resize_mt($0,$1,$2) {
    70303  $0 = $0|0;
    70304  $1 = $1|0;
    70305  $2 = $2|0;
    70306  var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    70307  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    70308  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    70309  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    70310  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, label = 0, sp = 0;
    70311  sp = STACKTOP;
    70312  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    70313  $6 = sp + 24|0;
    70314  $3 = $0;
    70315  $4 = $1;
    70316  $5 = $2;
    70317  $13 = $5;
    70318  $14 = ($13>>>0)<(8);
    70319  $$ = $14 ? 8 : $2;
    70320  $5 = $$;
    70321  $15 = $5;
    70322  $16 = (($15) + -1)|0;
    70323  $5 = $16;
    70324  $17 = $5;
    70325  $18 = $17 >>> 1;
    70326  $19 = $5;
    70327  $20 = $19 | $18;
    70328  $5 = $20;
    70329  $21 = $5;
    70330  $22 = $21 >>> 2;
    70331  $23 = $5;
    70332  $24 = $23 | $22;
    70333  $5 = $24;
    70334  $25 = $5;
    70335  $26 = $25 >>> 4;
    70336  $27 = $5;
    70337  $28 = $27 | $26;
    70338  $5 = $28;
    70339  $29 = $5;
    70340  $30 = $29 >>> 8;
    70341  $31 = $5;
    70342  $32 = $31 | $30;
    70343  $5 = $32;
    70344  $33 = $5;
    70345  $34 = $33 >>> 16;
    70346  $35 = $5;
    70347  $36 = $35 | $34;
    70348  $5 = $36;
    70349  $37 = $5;
    70350  $38 = (($37) + 1)|0;
    70351  $5 = $38;
    70352  $39 = $4;
    70353  $40 = ((($39)) + 12|0);
    70354  $41 = HEAP32[$40>>2]|0;
    70355  $7 = $41;
    70356  $42 = $4;
    70357  $43 = ((($42)) + 16|0);
    70358  $44 = HEAP32[$43>>2]|0;
    70359  $8 = $44;
    70360  $45 = $4;
    70361  $46 = ((($45)) + 20|0);
    70362  $47 = HEAP32[$46>>2]|0;
    70363  $9 = $47;
    70364  $48 = $4;
    70365  $49 = HEAP32[$48>>2]|0;
    70366  $10 = $49;
    70367  $50 = $5;
    70368  HEAP32[$6>>2] = $50;
    70369  $51 = $3;
    70370  _kh_alloc_mt($51,$6);
    70371  $11 = 0;
    70372  while(1) {
    70373   $52 = $11;
    70374   $53 = $10;
    70375   $54 = ($52>>>0)<($53>>>0);
    70376   if (!($54)) {
    70377    break;
    70378   }
    70379   $55 = $7;
    70380   $56 = $11;
    70381   $57 = (($56>>>0) / 4)&-1;
    70382   $58 = (($55) + ($57)|0);
    70383   $59 = HEAP8[$58>>0]|0;
    70384   $60 = $59&255;
    70385   $61 = $11;
    70386   $62 = (($61>>>0) % 4)&-1;
    70387   $63 = (64856 + ($62)|0);
    70388   $64 = HEAP8[$63>>0]|0;
    70389   $65 = $64&255;
    70390   $66 = $60 & $65;
    70391   $67 = ($66|0)!=(0);
    70392   if (!($67)) {
    70393    $68 = $3;
    70394    $69 = $8;
    70395    $70 = $11;
    70396    $71 = (($69) + ($70<<2)|0);
    70397    $72 = HEAP32[$71>>2]|0;
    70398    $73 = (_kh_put_mt($68,$6,$72,0)|0);
    70399    $12 = $73;
    70400    $74 = $9;
    70401    $75 = $11;
    70402    $76 = (($74) + ($75<<2)|0);
    70403    $77 = HEAP32[$76>>2]|0;
    70404    $78 = ((($6)) + 20|0);
    70405    $79 = HEAP32[$78>>2]|0;
    70406    $80 = $12;
    70407    $81 = (($79) + ($80<<2)|0);
    70408    HEAP32[$81>>2] = $77;
    70409   }
    70410   $82 = $11;
    70411   $83 = (($82) + 1)|0;
    70412   $11 = $83;
    70413  }
    70414  $84 = $4;
    70415  ;HEAP32[$84>>2]=HEAP32[$6>>2]|0;HEAP32[$84+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$84+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$84+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$84+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$84+20>>2]=HEAP32[$6+20>>2]|0;
    70416  $85 = $3;
    70417  $86 = $8;
    70418  _mrb_free($85,$86);
    70419  STACKTOP = sp;return;
    70420 }
    70421 function _kh_put_mt($0,$1,$2,$3) {
    70422  $0 = $0|0;
    70423  $1 = $1|0;
    70424  $2 = $2|0;
    70425  $3 = $3|0;
    70426  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    70427  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    70428  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    70429  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    70430  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    70431  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    70432  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    70433  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    70434  sp = STACKTOP;
    70435  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    70436  $5 = $0;
    70437  $6 = $1;
    70438  $7 = $2;
    70439  $8 = $3;
    70440  $11 = 0;
    70441  $12 = $6;
    70442  $13 = ((($12)) + 8|0);
    70443  $14 = HEAP32[$13>>2]|0;
    70444  $15 = $6;
    70445  $16 = HEAP32[$15>>2]|0;
    70446  $17 = $16 >>> 2;
    70447  $18 = $6;
    70448  $19 = HEAP32[$18>>2]|0;
    70449  $20 = $19 >>> 1;
    70450  $21 = $17 | $20;
    70451  $22 = ($14>>>0)>=($21>>>0);
    70452  if ($22) {
    70453   $23 = $5;
    70454   $24 = $6;
    70455   $25 = $6;
    70456   $26 = HEAP32[$25>>2]|0;
    70457   $27 = $26<<1;
    70458   _kh_resize_mt($23,$24,$27);
    70459  }
    70460  $28 = $7;
    70461  $29 = $7;
    70462  $30 = $29 << 2;
    70463  $31 = $28 ^ $30;
    70464  $32 = $7;
    70465  $33 = $32 >>> 2;
    70466  $34 = $31 ^ $33;
    70467  $35 = $6;
    70468  $36 = HEAP32[$35>>2]|0;
    70469  $37 = (($36) - 1)|0;
    70470  $38 = $34 & $37;
    70471  $9 = $38;
    70472  $39 = $6;
    70473  $40 = HEAP32[$39>>2]|0;
    70474  $10 = $40;
    70475  while(1) {
    70476   $41 = $6;
    70477   $42 = ((($41)) + 12|0);
    70478   $43 = HEAP32[$42>>2]|0;
    70479   $44 = $9;
    70480   $45 = (($44>>>0) / 4)&-1;
    70481   $46 = (($43) + ($45)|0);
    70482   $47 = HEAP8[$46>>0]|0;
    70483   $48 = $47&255;
    70484   $49 = $9;
    70485   $50 = (($49>>>0) % 4)&-1;
    70486   $51 = (64848 + ($50)|0);
    70487   $52 = HEAP8[$51>>0]|0;
    70488   $53 = $52&255;
    70489   $54 = $48 & $53;
    70490   $55 = ($54|0)!=(0);
    70491   $56 = $55 ^ 1;
    70492   if (!($56)) {
    70493    break;
    70494   }
    70495   $57 = $6;
    70496   $58 = ((($57)) + 12|0);
    70497   $59 = HEAP32[$58>>2]|0;
    70498   $60 = $9;
    70499   $61 = (($60>>>0) / 4)&-1;
    70500   $62 = (($59) + ($61)|0);
    70501   $63 = HEAP8[$62>>0]|0;
    70502   $64 = $63&255;
    70503   $65 = $9;
    70504   $66 = (($65>>>0) % 4)&-1;
    70505   $67 = (64852 + ($66)|0);
    70506   $68 = HEAP8[$67>>0]|0;
    70507   $69 = $68&255;
    70508   $70 = $64 & $69;
    70509   $71 = ($70|0)!=(0);
    70510   if ($71) {
    70511    $84 = $10;
    70512    $85 = $6;
    70513    $86 = HEAP32[$85>>2]|0;
    70514    $87 = ($84|0)==($86|0);
    70515    if ($87) {
    70516     $88 = $9;
    70517     $10 = $88;
    70518    }
    70519   } else {
    70520    $72 = $6;
    70521    $73 = ((($72)) + 16|0);
    70522    $74 = HEAP32[$73>>2]|0;
    70523    $75 = $9;
    70524    $76 = (($74) + ($75<<2)|0);
    70525    $77 = HEAP32[$76>>2]|0;
    70526    $78 = $7;
    70527    $79 = ($77|0)==($78|0);
    70528    if ($79) {
    70529     label = 7;
    70530     break;
    70531    }
    70532   }
    70533   $89 = $9;
    70534   $90 = $11;
    70535   $91 = (($90) + 1)|0;
    70536   $11 = $91;
    70537   $92 = (($89) + ($91))|0;
    70538   $93 = $6;
    70539   $94 = HEAP32[$93>>2]|0;
    70540   $95 = (($94) - 1)|0;
    70541   $96 = $92 & $95;
    70542   $9 = $96;
    70543  }
    70544  if ((label|0) == 7) {
    70545   $80 = $8;
    70546   $81 = ($80|0)!=(0|0);
    70547   if ($81) {
    70548    $82 = $8;
    70549    HEAP32[$82>>2] = 0;
    70550   }
    70551   $83 = $9;
    70552   $4 = $83;
    70553   $161 = $4;
    70554   STACKTOP = sp;return ($161|0);
    70555  }
    70556  $97 = $10;
    70557  $98 = $6;
    70558  $99 = HEAP32[$98>>2]|0;
    70559  $100 = ($97|0)!=($99|0);
    70560  $101 = $7;
    70561  $102 = $6;
    70562  $103 = ((($102)) + 16|0);
    70563  $104 = HEAP32[$103>>2]|0;
    70564  if ($100) {
    70565   $105 = $10;
    70566   $106 = (($104) + ($105<<2)|0);
    70567   HEAP32[$106>>2] = $101;
    70568   $107 = $10;
    70569   $108 = (($107>>>0) % 4)&-1;
    70570   $109 = (64852 + ($108)|0);
    70571   $110 = HEAP8[$109>>0]|0;
    70572   $111 = $110&255;
    70573   $112 = $111 ^ -1;
    70574   $113 = $6;
    70575   $114 = ((($113)) + 12|0);
    70576   $115 = HEAP32[$114>>2]|0;
    70577   $116 = $10;
    70578   $117 = (($116>>>0) / 4)&-1;
    70579   $118 = (($115) + ($117)|0);
    70580   $119 = HEAP8[$118>>0]|0;
    70581   $120 = $119&255;
    70582   $121 = $120 & $112;
    70583   $122 = $121&255;
    70584   HEAP8[$118>>0] = $122;
    70585   $123 = $6;
    70586   $124 = ((($123)) + 4|0);
    70587   $125 = HEAP32[$124>>2]|0;
    70588   $126 = (($125) + 1)|0;
    70589   HEAP32[$124>>2] = $126;
    70590   $127 = $8;
    70591   $128 = ($127|0)!=(0|0);
    70592   if ($128) {
    70593    $129 = $8;
    70594    HEAP32[$129>>2] = 2;
    70595   }
    70596   $130 = $10;
    70597   $4 = $130;
    70598   $161 = $4;
    70599   STACKTOP = sp;return ($161|0);
    70600  } else {
    70601   $131 = $9;
    70602   $132 = (($104) + ($131<<2)|0);
    70603   HEAP32[$132>>2] = $101;
    70604   $133 = $9;
    70605   $134 = (($133>>>0) % 4)&-1;
    70606   $135 = (64848 + ($134)|0);
    70607   $136 = HEAP8[$135>>0]|0;
    70608   $137 = $136&255;
    70609   $138 = $137 ^ -1;
    70610   $139 = $6;
    70611   $140 = ((($139)) + 12|0);
    70612   $141 = HEAP32[$140>>2]|0;
    70613   $142 = $9;
    70614   $143 = (($142>>>0) / 4)&-1;
    70615   $144 = (($141) + ($143)|0);
    70616   $145 = HEAP8[$144>>0]|0;
    70617   $146 = $145&255;
    70618   $147 = $146 & $138;
    70619   $148 = $147&255;
    70620   HEAP8[$144>>0] = $148;
    70621   $149 = $6;
    70622   $150 = ((($149)) + 4|0);
    70623   $151 = HEAP32[$150>>2]|0;
    70624   $152 = (($151) + 1)|0;
    70625   HEAP32[$150>>2] = $152;
    70626   $153 = $6;
    70627   $154 = ((($153)) + 8|0);
    70628   $155 = HEAP32[$154>>2]|0;
    70629   $156 = (($155) + 1)|0;
    70630   HEAP32[$154>>2] = $156;
    70631   $157 = $8;
    70632   $158 = ($157|0)!=(0|0);
    70633   if ($158) {
    70634    $159 = $8;
    70635    HEAP32[$159>>2] = 1;
    70636   }
    70637   $160 = $9;
    70638   $4 = $160;
    70639   $161 = $4;
    70640   STACKTOP = sp;return ($161|0);
    70641  }
    70642  return (0)|0;
    70643 }
    70644 function _kh_del_mt($0,$1,$2) {
    70645  $0 = $0|0;
    70646  $1 = $1|0;
    70647  $2 = $2|0;
    70648  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    70649  var $8 = 0, $9 = 0, label = 0, sp = 0;
    70650  sp = STACKTOP;
    70651  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70652  $3 = $0;
    70653  $4 = $1;
    70654  $5 = $2;
    70655  $6 = $5;
    70656  $7 = (($6>>>0) % 4)&-1;
    70657  $8 = (64852 + ($7)|0);
    70658  $9 = HEAP8[$8>>0]|0;
    70659  $10 = $9&255;
    70660  $11 = $4;
    70661  $12 = ((($11)) + 12|0);
    70662  $13 = HEAP32[$12>>2]|0;
    70663  $14 = $5;
    70664  $15 = (($14>>>0) / 4)&-1;
    70665  $16 = (($13) + ($15)|0);
    70666  $17 = HEAP8[$16>>0]|0;
    70667  $18 = $17&255;
    70668  $19 = $18 | $10;
    70669  $20 = $19&255;
    70670  HEAP8[$16>>0] = $20;
    70671  $21 = $4;
    70672  $22 = ((($21)) + 4|0);
    70673  $23 = HEAP32[$22>>2]|0;
    70674  $24 = (($23) + -1)|0;
    70675  HEAP32[$22>>2] = $24;
    70676  STACKTOP = sp;return;
    70677 }
    70678 function _kh_copy_mt($0,$1) {
    70679  $0 = $0|0;
    70680  $1 = $1|0;
    70681  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    70682  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    70683  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70684  sp = STACKTOP;
    70685  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    70686  $2 = $0;
    70687  $3 = $1;
    70688  $7 = $2;
    70689  $8 = (_kh_init_mt($7)|0);
    70690  $4 = $8;
    70691  $5 = 0;
    70692  while(1) {
    70693   $9 = $5;
    70694   $10 = $3;
    70695   $11 = HEAP32[$10>>2]|0;
    70696   $12 = ($9|0)!=($11|0);
    70697   if (!($12)) {
    70698    break;
    70699   }
    70700   $13 = $3;
    70701   $14 = ((($13)) + 12|0);
    70702   $15 = HEAP32[$14>>2]|0;
    70703   $16 = $5;
    70704   $17 = (($16>>>0) / 4)&-1;
    70705   $18 = (($15) + ($17)|0);
    70706   $19 = HEAP8[$18>>0]|0;
    70707   $20 = $19&255;
    70708   $21 = $5;
    70709   $22 = (($21>>>0) % 4)&-1;
    70710   $23 = (64856 + ($22)|0);
    70711   $24 = HEAP8[$23>>0]|0;
    70712   $25 = $24&255;
    70713   $26 = $20 & $25;
    70714   $27 = ($26|0)!=(0);
    70715   if (!($27)) {
    70716    $28 = $2;
    70717    $29 = $4;
    70718    $30 = $3;
    70719    $31 = ((($30)) + 16|0);
    70720    $32 = HEAP32[$31>>2]|0;
    70721    $33 = $5;
    70722    $34 = (($32) + ($33<<2)|0);
    70723    $35 = HEAP32[$34>>2]|0;
    70724    $36 = (_kh_put_mt($28,$29,$35,0)|0);
    70725    $6 = $36;
    70726    $37 = $3;
    70727    $38 = ((($37)) + 20|0);
    70728    $39 = HEAP32[$38>>2]|0;
    70729    $40 = $5;
    70730    $41 = (($39) + ($40<<2)|0);
    70731    $42 = HEAP32[$41>>2]|0;
    70732    $43 = $4;
    70733    $44 = ((($43)) + 20|0);
    70734    $45 = HEAP32[$44>>2]|0;
    70735    $46 = $6;
    70736    $47 = (($45) + ($46<<2)|0);
    70737    HEAP32[$47>>2] = $42;
    70738   }
    70739   $48 = $5;
    70740   $49 = (($48) + 1)|0;
    70741   $5 = $49;
    70742  }
    70743  $50 = $4;
    70744  STACKTOP = sp;return ($50|0);
    70745 }
    70746 function _mrb_gc_mark_mt($0,$1) {
    70747  $0 = $0|0;
    70748  $1 = $1|0;
    70749  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    70750  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    70751  var $9 = 0, label = 0, sp = 0;
    70752  sp = STACKTOP;
    70753  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    70754  $2 = $0;
    70755  $3 = $1;
    70756  $7 = $3;
    70757  $8 = ((($7)) + 16|0);
    70758  $9 = HEAP32[$8>>2]|0;
    70759  $5 = $9;
    70760  $10 = $5;
    70761  $11 = ($10|0)!=(0|0);
    70762  if (!($11)) {
    70763   STACKTOP = sp;return;
    70764  }
    70765  $4 = 0;
    70766  while(1) {
    70767   $12 = $4;
    70768   $13 = $5;
    70769   $14 = HEAP32[$13>>2]|0;
    70770   $15 = ($12|0)!=($14|0);
    70771   if (!($15)) {
    70772    break;
    70773   }
    70774   $16 = $5;
    70775   $17 = ((($16)) + 12|0);
    70776   $18 = HEAP32[$17>>2]|0;
    70777   $19 = $4;
    70778   $20 = (($19>>>0) / 4)&-1;
    70779   $21 = (($18) + ($20)|0);
    70780   $22 = HEAP8[$21>>0]|0;
    70781   $23 = $22&255;
    70782   $24 = $4;
    70783   $25 = (($24>>>0) % 4)&-1;
    70784   $26 = (64856 + ($25)|0);
    70785   $27 = HEAP8[$26>>0]|0;
    70786   $28 = $27&255;
    70787   $29 = $23 & $28;
    70788   $30 = ($29|0)!=(0);
    70789   if (!($30)) {
    70790    $31 = $5;
    70791    $32 = ((($31)) + 20|0);
    70792    $33 = HEAP32[$32>>2]|0;
    70793    $34 = $4;
    70794    $35 = (($33) + ($34<<2)|0);
    70795    $36 = HEAP32[$35>>2]|0;
    70796    $6 = $36;
    70797    $37 = $6;
    70798    $38 = ($37|0)!=(0|0);
    70799    if ($38) {
    70800     $39 = $2;
    70801     $40 = $6;
    70802     _mrb_gc_mark($39,$40);
    70803    }
    70804   }
    70805   $41 = $4;
    70806   $42 = (($41) + 1)|0;
    70807   $4 = $42;
    70808  }
    70809  STACKTOP = sp;return;
    70810 }
    70811 function _mrb_gc_mark_mt_size($0,$1) {
    70812  $0 = $0|0;
    70813  $1 = $1|0;
    70814  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70815  sp = STACKTOP;
    70816  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70817  $3 = $0;
    70818  $4 = $1;
    70819  $6 = $4;
    70820  $7 = ((($6)) + 16|0);
    70821  $8 = HEAP32[$7>>2]|0;
    70822  $5 = $8;
    70823  $9 = $5;
    70824  $10 = ($9|0)!=(0|0);
    70825  if ($10) {
    70826   $11 = $5;
    70827   $12 = ((($11)) + 4|0);
    70828   $13 = HEAP32[$12>>2]|0;
    70829   $2 = $13;
    70830   $14 = $2;
    70831   STACKTOP = sp;return ($14|0);
    70832  } else {
    70833   $2 = 0;
    70834   $14 = $2;
    70835   STACKTOP = sp;return ($14|0);
    70836  }
    70837  return (0)|0;
    70838 }
    70839 function _mrb_gc_free_mt($0,$1) {
    70840  $0 = $0|0;
    70841  $1 = $1|0;
    70842  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    70843  sp = STACKTOP;
    70844  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70845  $2 = $0;
    70846  $3 = $1;
    70847  $4 = $2;
    70848  $5 = $3;
    70849  $6 = ((($5)) + 16|0);
    70850  $7 = HEAP32[$6>>2]|0;
    70851  _kh_destroy_mt($4,$7);
    70852  STACKTOP = sp;return;
    70853 }
    70854 function _mrb_class_outer_module($0,$1) {
    70855  $0 = $0|0;
    70856  $1 = $1|0;
    70857  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70858  sp = STACKTOP;
    70859  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    70860  $5 = sp + 8|0;
    70861  $6 = sp;
    70862  $3 = $0;
    70863  $4 = $1;
    70864  $7 = $3;
    70865  $8 = $4;
    70866  $9 = $3;
    70867  $10 = (_mrb_intern_static($9,64860,9)|0);
    70868  _mrb_obj_iv_get($6,$7,$8,$10);
    70869  ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
    70870  $11 = ((($5)) + 4|0);
    70871  $12 = HEAP32[$11>>2]|0;
    70872  $13 = ($12|0)==(0);
    70873  if ($13) {
    70874   $14 = HEAP32[$5>>2]|0;
    70875   $15 = ($14|0)!=(0);
    70876   if (!($15)) {
    70877    $2 = 0;
    70878    $17 = $2;
    70879    STACKTOP = sp;return ($17|0);
    70880   }
    70881  }
    70882  $16 = HEAP32[$5>>2]|0;
    70883  $2 = $16;
    70884  $17 = $2;
    70885  STACKTOP = sp;return ($17|0);
    70886 }
    70887 function _define_module($0,$1,$2) {
    70888  $0 = $0|0;
    70889  $1 = $1|0;
    70890  $2 = $2|0;
    70891  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    70892  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70893  sp = STACKTOP;
    70894  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    70895  $$byval_copy = sp + 32|0;
    70896  $8 = sp;
    70897  $4 = $0;
    70898  $5 = $1;
    70899  $6 = $2;
    70900  $9 = $4;
    70901  $10 = $6;
    70902  _mrb_obj_value_661($8,$10);
    70903  $11 = $5;
    70904  ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
    70905  $12 = (_mrb_const_defined_at($9,$$byval_copy,$11)|0);
    70906  $13 = ($12<<24>>24)!=(0);
    70907  $14 = $4;
    70908  if ($13) {
    70909   $15 = $6;
    70910   $16 = $5;
    70911   $17 = (_module_from_sym($14,$15,$16)|0);
    70912   $3 = $17;
    70913   $24 = $3;
    70914   STACKTOP = sp;return ($24|0);
    70915  } else {
    70916   $18 = (_mrb_module_new($14)|0);
    70917   $7 = $18;
    70918   $19 = $4;
    70919   $20 = $6;
    70920   $21 = $7;
    70921   $22 = $5;
    70922   _setup_class($19,$20,$21,$22);
    70923   $23 = $7;
    70924   $3 = $23;
    70925   $24 = $3;
    70926   STACKTOP = sp;return ($24|0);
    70927  }
    70928  return (0)|0;
    70929 }
    70930 function _mrb_obj_value_661($0,$1) {
    70931  $0 = $0|0;
    70932  $1 = $1|0;
    70933  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    70934  sp = STACKTOP;
    70935  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70936  $3 = sp;
    70937  $2 = $1;
    70938  $4 = $2;
    70939  $5 = HEAP32[$4>>2]|0;
    70940  $6 = $5 & 255;
    70941  $7 = ((($3)) + 4|0);
    70942  HEAP32[$7>>2] = $6;
    70943  $8 = $2;
    70944  HEAP32[$3>>2] = $8;
    70945  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    70946  STACKTOP = sp;return;
    70947 }
    70948 function _module_from_sym($0,$1,$2) {
    70949  $0 = $0|0;
    70950  $1 = $1|0;
    70951  $2 = $2|0;
    70952  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70953  sp = STACKTOP;
    70954  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    70955  $$byval_copy1 = sp + 40|0;
    70956  $$byval_copy = sp + 32|0;
    70957  $6 = sp + 8|0;
    70958  $7 = sp;
    70959  $3 = $0;
    70960  $4 = $1;
    70961  $5 = $2;
    70962  $8 = $3;
    70963  $9 = $4;
    70964  _mrb_obj_value_661($7,$9);
    70965  $10 = $5;
    70966  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    70967  _mrb_const_get($6,$8,$$byval_copy,$10);
    70968  $11 = $3;
    70969  ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0;
    70970  _mrb_check_type($11,$$byval_copy1,10);
    70971  $12 = HEAP32[$6>>2]|0;
    70972  STACKTOP = sp;return ($12|0);
    70973 }
    70974 function _mrb_module_new($0) {
    70975  $0 = $0|0;
    70976  var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70977  sp = STACKTOP;
    70978  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    70979  $1 = $0;
    70980  $3 = $1;
    70981  $4 = $1;
    70982  $5 = ((($4)) + 40|0);
    70983  $6 = HEAP32[$5>>2]|0;
    70984  $7 = (_mrb_obj_alloc($3,10,$6)|0);
    70985  $2 = $7;
    70986  $8 = $1;
    70987  $9 = $2;
    70988  _boot_initmod($8,$9);
    70989  $10 = $2;
    70990  STACKTOP = sp;return ($10|0);
    70991 }
    70992 function _setup_class($0,$1,$2,$3) {
    70993  $0 = $0|0;
    70994  $1 = $1|0;
    70995  $2 = $2|0;
    70996  $3 = $3|0;
    70997  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0;
    70998  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    70999  sp = STACKTOP;
    71000  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    71001  $$byval_copy1 = sp + 40|0;
    71002  $$byval_copy = sp + 32|0;
    71003  $8 = sp + 8|0;
    71004  $9 = sp;
    71005  $4 = $0;
    71006  $5 = $1;
    71007  $6 = $2;
    71008  $7 = $3;
    71009  $10 = $4;
    71010  $11 = $6;
    71011  $12 = $7;
    71012  _name_class($10,$11,$12);
    71013  $13 = $4;
    71014  $14 = $5;
    71015  $15 = $7;
    71016  $16 = $6;
    71017  _mrb_obj_value_661($8,$16);
    71018  ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
    71019  _mrb_obj_iv_set($13,$14,$15,$$byval_copy);
    71020  $17 = $5;
    71021  $18 = $4;
    71022  $19 = ((($18)) + 32|0);
    71023  $20 = HEAP32[$19>>2]|0;
    71024  $21 = ($17|0)!=($20|0);
    71025  if (!($21)) {
    71026   STACKTOP = sp;return;
    71027  }
    71028  $22 = $4;
    71029  $23 = $6;
    71030  $24 = $4;
    71031  $25 = (_mrb_intern_static($24,64860,9)|0);
    71032  $26 = $5;
    71033  _mrb_obj_value_661($9,$26);
    71034  ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
    71035  _mrb_obj_iv_set($22,$23,$25,$$byval_copy1);
    71036  STACKTOP = sp;return;
    71037 }
    71038 function _name_class($0,$1,$2) {
    71039  $0 = $0|0;
    71040  $1 = $1|0;
    71041  $2 = $2|0;
    71042  var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71043  sp = STACKTOP;
    71044  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71045  $$byval_copy = sp + 24|0;
    71046  $6 = sp;
    71047  $3 = $0;
    71048  $4 = $1;
    71049  $5 = $2;
    71050  $7 = $3;
    71051  $8 = $4;
    71052  $9 = $3;
    71053  $10 = (_mrb_intern_static($9,64870,11)|0);
    71054  $11 = $5;
    71055  _mrb_symbol_value_663($6,$11);
    71056  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    71057  _mrb_obj_iv_set($7,$8,$10,$$byval_copy);
    71058  STACKTOP = sp;return;
    71059 }
    71060 function _mrb_symbol_value_663($0,$1) {
    71061  $0 = $0|0;
    71062  $1 = $1|0;
    71063  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    71064  sp = STACKTOP;
    71065  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71066  $3 = sp;
    71067  $2 = $1;
    71068  $4 = ((($3)) + 4|0);
    71069  HEAP32[$4>>2] = 4;
    71070  $5 = $2;
    71071  HEAP32[$3>>2] = $5;
    71072  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    71073  STACKTOP = sp;return;
    71074 }
    71075 function _boot_initmod($0,$1) {
    71076  $0 = $0|0;
    71077  $1 = $1|0;
    71078  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    71079  sp = STACKTOP;
    71080  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71081  $2 = $0;
    71082  $3 = $1;
    71083  $4 = $2;
    71084  $5 = (_kh_init_mt($4)|0);
    71085  $6 = $3;
    71086  $7 = ((($6)) + 16|0);
    71087  HEAP32[$7>>2] = $5;
    71088  STACKTOP = sp;return;
    71089 }
    71090 function _mrb_define_module($0,$1) {
    71091  $0 = $0|0;
    71092  $1 = $1|0;
    71093  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71094  sp = STACKTOP;
    71095  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71096  $2 = $0;
    71097  $3 = $1;
    71098  $4 = $2;
    71099  $5 = $2;
    71100  $6 = $3;
    71101  $7 = (_mrb_intern_cstr($5,$6)|0);
    71102  $8 = $2;
    71103  $9 = ((($8)) + 32|0);
    71104  $10 = HEAP32[$9>>2]|0;
    71105  $11 = (_define_module($4,$7,$10)|0);
    71106  STACKTOP = sp;return ($11|0);
    71107 }
    71108 function _mrb_vm_define_module($0,$1,$2) {
    71109  $0 = $0|0;
    71110  $1 = $1|0;
    71111  $2 = $2|0;
    71112  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71113  sp = STACKTOP;
    71114  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71115  $$byval_copy = sp + 8|0;
    71116  $3 = $0;
    71117  $4 = $2;
    71118  $5 = $3;
    71119  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    71120  _check_if_class_or_module($5,$$byval_copy);
    71121  $6 = $3;
    71122  $7 = $4;
    71123  $8 = HEAP32[$1>>2]|0;
    71124  $9 = (_define_module($6,$7,$8)|0);
    71125  STACKTOP = sp;return ($9|0);
    71126 }
    71127 function _check_if_class_or_module($0,$1) {
    71128  $0 = $0|0;
    71129  $1 = $1|0;
    71130  var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    71131  sp = STACKTOP;
    71132  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71133  $$byval_copy = sp + 24|0;
    71134  $vararg_buffer = sp;
    71135  $3 = sp + 8|0;
    71136  $2 = $0;
    71137  $4 = ((($1)) + 4|0);
    71138  $5 = HEAP32[$4>>2]|0;
    71139  switch ($5|0) {
    71140  case 10: case 12: case 9:  {
    71141   STACKTOP = sp;return;
    71142   break;
    71143  }
    71144  default: {
    71145   $6 = $2;
    71146   $7 = $2;
    71147   $8 = (_mrb_class_get($7,69204)|0);
    71148   $9 = $2;
    71149   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    71150   _mrb_inspect($3,$9,$$byval_copy);
    71151   ;HEAP8[$vararg_buffer>>0]=HEAP8[$3>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$3+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$3+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$3+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$3+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$3+7>>0]|0;
    71152   _mrb_raisef($6,$8,64882,$vararg_buffer);
    71153   // unreachable;
    71154  }
    71155  }
    71156 }
    71157 function _mrb_class_get($0,$1) {
    71158  $0 = $0|0;
    71159  $1 = $1|0;
    71160  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71161  sp = STACKTOP;
    71162  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71163  $2 = $0;
    71164  $3 = $1;
    71165  $4 = $2;
    71166  $5 = $2;
    71167  $6 = ((($5)) + 32|0);
    71168  $7 = HEAP32[$6>>2]|0;
    71169  $8 = $3;
    71170  $9 = (_mrb_class_get_under($4,$7,$8)|0);
    71171  STACKTOP = sp;return ($9|0);
    71172 }
    71173 function _mrb_class_get_under($0,$1,$2) {
    71174  $0 = $0|0;
    71175  $1 = $1|0;
    71176  $2 = $2|0;
    71177  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71178  sp = STACKTOP;
    71179  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71180  $3 = $0;
    71181  $4 = $1;
    71182  $5 = $2;
    71183  $6 = $3;
    71184  $7 = $4;
    71185  $8 = $3;
    71186  $9 = $5;
    71187  $10 = (_mrb_intern_cstr($8,$9)|0);
    71188  $11 = (_class_from_sym($6,$7,$10)|0);
    71189  STACKTOP = sp;return ($11|0);
    71190 }
    71191 function _class_from_sym($0,$1,$2) {
    71192  $0 = $0|0;
    71193  $1 = $1|0;
    71194  $2 = $2|0;
    71195  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71196  sp = STACKTOP;
    71197  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    71198  $$byval_copy1 = sp + 40|0;
    71199  $$byval_copy = sp + 32|0;
    71200  $6 = sp + 8|0;
    71201  $7 = sp;
    71202  $3 = $0;
    71203  $4 = $1;
    71204  $5 = $2;
    71205  $8 = $3;
    71206  $9 = $4;
    71207  _mrb_obj_value_661($7,$9);
    71208  $10 = $5;
    71209  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    71210  _mrb_const_get($6,$8,$$byval_copy,$10);
    71211  $11 = $3;
    71212  ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0;
    71213  _mrb_check_type($11,$$byval_copy1,9);
    71214  $12 = HEAP32[$6>>2]|0;
    71215  STACKTOP = sp;return ($12|0);
    71216 }
    71217 function _mrb_define_class_id($0,$1,$2) {
    71218  $0 = $0|0;
    71219  $1 = $1|0;
    71220  $2 = $2|0;
    71221  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    71222  sp = STACKTOP;
    71223  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71224  $vararg_buffer = sp;
    71225  $6 = sp + 8|0;
    71226  $3 = $0;
    71227  $4 = $1;
    71228  $5 = $2;
    71229  $7 = $5;
    71230  $8 = ($7|0)!=(0|0);
    71231  if (!($8)) {
    71232   $9 = $3;
    71233   $10 = $3;
    71234   $11 = $4;
    71235   _mrb_sym2str($6,$10,$11);
    71236   ;HEAP8[$vararg_buffer>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$6+7>>0]|0;
    71237   _mrb_warn($9,64907,$vararg_buffer);
    71238  }
    71239  $12 = $3;
    71240  $13 = $4;
    71241  $14 = $5;
    71242  $15 = $3;
    71243  $16 = ((($15)) + 32|0);
    71244  $17 = HEAP32[$16>>2]|0;
    71245  $18 = (_define_class($12,$13,$14,$17)|0);
    71246  STACKTOP = sp;return ($18|0);
    71247 }
    71248 function _define_class($0,$1,$2,$3) {
    71249  $0 = $0|0;
    71250  $1 = $1|0;
    71251  $2 = $2|0;
    71252  $3 = $3|0;
    71253  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    71254  var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    71255  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    71256  var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    71257  sp = STACKTOP;
    71258  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    71259  $$byval_copy = sp + 80|0;
    71260  $vararg_buffer = sp;
    71261  $10 = sp + 48|0;
    71262  $11 = sp + 40|0;
    71263  $12 = sp + 32|0;
    71264  $13 = sp + 24|0;
    71265  $5 = $0;
    71266  $6 = $1;
    71267  $7 = $2;
    71268  $8 = $3;
    71269  $14 = $5;
    71270  $15 = $8;
    71271  _mrb_obj_value_661($10,$15);
    71272  $16 = $6;
    71273  ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    71274  $17 = (_mrb_const_defined_at($14,$$byval_copy,$16)|0);
    71275  $18 = ($17<<24>>24)!=(0);
    71276  $19 = $5;
    71277  if (!($18)) {
    71278   $58 = $7;
    71279   $59 = (_mrb_class_new($19,$58)|0);
    71280   $9 = $59;
    71281   $60 = $5;
    71282   $61 = $8;
    71283   $62 = $9;
    71284   $63 = $6;
    71285   _setup_class($60,$61,$62,$63);
    71286   $64 = $9;
    71287   $4 = $64;
    71288   $65 = $4;
    71289   STACKTOP = sp;return ($65|0);
    71290  }
    71291  $20 = $8;
    71292  $21 = $6;
    71293  $22 = (_class_from_sym($19,$20,$21)|0);
    71294  $9 = $22;
    71295  $23 = $9;
    71296  $24 = HEAP32[$23>>2]|0;
    71297  $25 = $24 >>> 11;
    71298  $26 = $25 & 524288;
    71299  $27 = ($26|0)!=(0);
    71300  L5: do {
    71301   if ($27) {
    71302    $28 = $9;
    71303    $29 = ((($28)) + 20|0);
    71304    $30 = HEAP32[$29>>2]|0;
    71305    $9 = $30;
    71306    while(1) {
    71307     $31 = $9;
    71308     $32 = HEAP32[$31>>2]|0;
    71309     $33 = $32 >>> 11;
    71310     $34 = $33 & 1048576;
    71311     $35 = ($34|0)!=(0);
    71312     $36 = $35 ^ 1;
    71313     if (!($36)) {
    71314      break L5;
    71315     }
    71316     $37 = $9;
    71317     $38 = ((($37)) + 20|0);
    71318     $39 = HEAP32[$38>>2]|0;
    71319     $9 = $39;
    71320    }
    71321   }
    71322  } while(0);
    71323  $40 = $7;
    71324  $41 = ($40|0)!=(0|0);
    71325  if ($41) {
    71326   $42 = $9;
    71327   $43 = ((($42)) + 20|0);
    71328   $44 = HEAP32[$43>>2]|0;
    71329   $45 = (_mrb_class_real($44)|0);
    71330   $46 = $7;
    71331   $47 = ($45|0)!=($46|0);
    71332   if ($47) {
    71333    $48 = $5;
    71334    $49 = $5;
    71335    $50 = (_mrb_class_get($49,69204)|0);
    71336    $51 = $5;
    71337    $52 = $6;
    71338    _mrb_sym2str($11,$51,$52);
    71339    $53 = $9;
    71340    $54 = ((($53)) + 20|0);
    71341    $55 = HEAP32[$54>>2]|0;
    71342    _mrb_obj_value_661($12,$55);
    71343    $56 = $7;
    71344    _mrb_obj_value_661($13,$56);
    71345    ;HEAP8[$vararg_buffer>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$11+7>>0]|0;
    71346    $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    71347    ;HEAP8[$vararg_ptr1>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$12+7>>0]|0;
    71348    $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
    71349    ;HEAP8[$vararg_ptr2>>0]=HEAP8[$13>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$13+7>>0]|0;
    71350    _mrb_raisef($48,$50,64947,$vararg_buffer);
    71351    // unreachable;
    71352   }
    71353  }
    71354  $57 = $9;
    71355  $4 = $57;
    71356  $65 = $4;
    71357  STACKTOP = sp;return ($65|0);
    71358 }
    71359 function _mrb_class_real($0) {
    71360  $0 = $0|0;
    71361  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71362  sp = STACKTOP;
    71363  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71364  $2 = $0;
    71365  $3 = $2;
    71366  $4 = ($3|0)==(0|0);
    71367  if ($4) {
    71368   $1 = 0;
    71369   $16 = $1;
    71370   STACKTOP = sp;return ($16|0);
    71371  }
    71372  while(1) {
    71373   $5 = $2;
    71374   $6 = HEAP32[$5>>2]|0;
    71375   $7 = $6 & 255;
    71376   $8 = ($7|0)==(12);
    71377   if ($8) {
    71378    $17 = 1;
    71379   } else {
    71380    $9 = $2;
    71381    $10 = HEAP32[$9>>2]|0;
    71382    $11 = $10 & 255;
    71383    $12 = ($11|0)==(11);
    71384    $17 = $12;
    71385   }
    71386   $13 = $2;
    71387   if (!($17)) {
    71388    break;
    71389   }
    71390   $14 = ((($13)) + 20|0);
    71391   $15 = HEAP32[$14>>2]|0;
    71392   $2 = $15;
    71393  }
    71394  $1 = $13;
    71395  $16 = $1;
    71396  STACKTOP = sp;return ($16|0);
    71397 }
    71398 function _mrb_class_new($0,$1) {
    71399  $0 = $0|0;
    71400  $1 = $1|0;
    71401  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    71402  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71403  sp = STACKTOP;
    71404  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71405  $2 = $0;
    71406  $3 = $1;
    71407  $5 = $3;
    71408  $6 = ($5|0)!=(0|0);
    71409  if ($6) {
    71410   $7 = $2;
    71411   $8 = $3;
    71412   _mrb_check_inheritable($7,$8);
    71413  }
    71414  $9 = $2;
    71415  $10 = $3;
    71416  $11 = (_boot_defclass($9,$10)|0);
    71417  $4 = $11;
    71418  $12 = $3;
    71419  $13 = ($12|0)!=(0|0);
    71420  if (!($13)) {
    71421   $31 = $2;
    71422   $32 = $4;
    71423   _prepare_singleton_class($31,$32);
    71424   $33 = $4;
    71425   STACKTOP = sp;return ($33|0);
    71426  }
    71427  $14 = $4;
    71428  $15 = HEAP32[$14>>2]|0;
    71429  $16 = $15 >>> 11;
    71430  $17 = $16 & -256;
    71431  $18 = $3;
    71432  $19 = HEAP32[$18>>2]|0;
    71433  $20 = $19 >>> 11;
    71434  $21 = $20 & 255;
    71435  $22 = $21&255;
    71436  $23 = $22 << 24 >> 24;
    71437  $24 = $17 | $23;
    71438  $25 = $4;
    71439  $26 = HEAP32[$25>>2]|0;
    71440  $27 = $24 & 2097151;
    71441  $28 = $27 << 11;
    71442  $29 = $26 & 2047;
    71443  $30 = $29 | $28;
    71444  HEAP32[$25>>2] = $30;
    71445  $31 = $2;
    71446  $32 = $4;
    71447  _prepare_singleton_class($31,$32);
    71448  $33 = $4;
    71449  STACKTOP = sp;return ($33|0);
    71450 }
    71451 function _mrb_check_inheritable($0,$1) {
    71452  $0 = $0|0;
    71453  $1 = $1|0;
    71454  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
    71455  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    71456  sp = STACKTOP;
    71457  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71458  $vararg_buffer = sp;
    71459  $4 = sp + 8|0;
    71460  $2 = $0;
    71461  $3 = $1;
    71462  $5 = $3;
    71463  $6 = HEAP32[$5>>2]|0;
    71464  $7 = $6 & 255;
    71465  $8 = ($7|0)!=(9);
    71466  if ($8) {
    71467   $9 = $2;
    71468   $10 = $2;
    71469   $11 = (_mrb_class_get($10,69204)|0);
    71470   $12 = $3;
    71471   _mrb_obj_value_661($4,$12);
    71472   ;HEAP8[$vararg_buffer>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$4+7>>0]|0;
    71473   _mrb_raisef($9,$11,64992,$vararg_buffer);
    71474   // unreachable;
    71475  }
    71476  $13 = $3;
    71477  $14 = HEAP32[$13>>2]|0;
    71478  $15 = $14 & 255;
    71479  $16 = ($15|0)==(12);
    71480  if ($16) {
    71481   $17 = $2;
    71482   $18 = $2;
    71483   $19 = (_mrb_class_get($18,69204)|0);
    71484   _mrb_raise($17,$19,65030);
    71485   // unreachable;
    71486  }
    71487  $20 = $3;
    71488  $21 = $2;
    71489  $22 = ((($21)) + 36|0);
    71490  $23 = HEAP32[$22>>2]|0;
    71491  $24 = ($20|0)==($23|0);
    71492  if ($24) {
    71493   $25 = $2;
    71494   $26 = $2;
    71495   $27 = (_mrb_class_get($26,69204)|0);
    71496   _mrb_raise($25,$27,65069);
    71497   // unreachable;
    71498  } else {
    71499   STACKTOP = sp;return;
    71500  }
    71501 }
    71502 function _boot_defclass($0,$1) {
    71503  $0 = $0|0;
    71504  $1 = $1|0;
    71505  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
    71506  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71507  sp = STACKTOP;
    71508  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71509  $2 = $0;
    71510  $3 = $1;
    71511  $5 = $2;
    71512  $6 = $2;
    71513  $7 = ((($6)) + 36|0);
    71514  $8 = HEAP32[$7>>2]|0;
    71515  $9 = (_mrb_obj_alloc($5,9,$8)|0);
    71516  $4 = $9;
    71517  $10 = $3;
    71518  $11 = ($10|0)!=(0|0);
    71519  if ($11) {
    71520   $12 = $3;
    71521   $13 = $4;
    71522   $14 = ((($13)) + 20|0);
    71523   HEAP32[$14>>2] = $12;
    71524   $15 = $2;
    71525   $16 = $4;
    71526   $17 = $3;
    71527   _mrb_field_write_barrier($15,$16,$17);
    71528  } else {
    71529   $18 = $2;
    71530   $19 = ((($18)) + 32|0);
    71531   $20 = HEAP32[$19>>2]|0;
    71532   $21 = $4;
    71533   $22 = ((($21)) + 20|0);
    71534   HEAP32[$22>>2] = $20;
    71535  }
    71536  $23 = $2;
    71537  $24 = (_kh_init_mt($23)|0);
    71538  $25 = $4;
    71539  $26 = ((($25)) + 16|0);
    71540  HEAP32[$26>>2] = $24;
    71541  $27 = $4;
    71542  STACKTOP = sp;return ($27|0);
    71543 }
    71544 function _prepare_singleton_class($0,$1) {
    71545  $0 = $0|0;
    71546  $1 = $1|0;
    71547  var $$byval_copy = 0, $$sink3$sink = 0, $$sink5$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    71548  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    71549  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
    71550  var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
    71551  var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, label = 0, sp = 0;
    71552  sp = STACKTOP;
    71553  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71554  $$byval_copy = sp + 24|0;
    71555  $6 = sp;
    71556  $2 = $0;
    71557  $3 = $1;
    71558  $7 = $3;
    71559  $8 = ((($7)) + 4|0);
    71560  $9 = HEAP32[$8>>2]|0;
    71561  $10 = HEAP32[$9>>2]|0;
    71562  $11 = $10 & 255;
    71563  $12 = ($11|0)==(12);
    71564  if ($12) {
    71565   STACKTOP = sp;return;
    71566  }
    71567  $13 = $2;
    71568  $14 = $2;
    71569  $15 = ((($14)) + 36|0);
    71570  $16 = HEAP32[$15>>2]|0;
    71571  $17 = (_mrb_obj_alloc($13,12,$16)|0);
    71572  $4 = $17;
    71573  $18 = $2;
    71574  $19 = (_kh_init_mt($18)|0);
    71575  $20 = $4;
    71576  $21 = ((($20)) + 16|0);
    71577  HEAP32[$21>>2] = $19;
    71578  $22 = $4;
    71579  $23 = ((($22)) + 12|0);
    71580  HEAP32[$23>>2] = 0;
    71581  $24 = $3;
    71582  $25 = HEAP32[$24>>2]|0;
    71583  $26 = $25 & 255;
    71584  $27 = ($26|0)==(9);
    71585  $28 = $3;
    71586  do {
    71587   if ($27) {
    71588    $5 = $28;
    71589    $29 = $5;
    71590    $30 = ((($29)) + 20|0);
    71591    $31 = HEAP32[$30>>2]|0;
    71592    $32 = ($31|0)!=(0|0);
    71593    if ($32) {
    71594     $37 = $5;
    71595     $38 = ((($37)) + 20|0);
    71596     $39 = HEAP32[$38>>2]|0;
    71597     $40 = ((($39)) + 4|0);
    71598     $41 = HEAP32[$40>>2]|0;
    71599     $42 = $4;
    71600     $$sink3$sink = $41;$$sink5$sink = $42;
    71601     break;
    71602    } else {
    71603     $33 = $2;
    71604     $34 = ((($33)) + 36|0);
    71605     $35 = HEAP32[$34>>2]|0;
    71606     $36 = $4;
    71607     $$sink3$sink = $35;$$sink5$sink = $36;
    71608     break;
    71609    }
    71610   } else {
    71611    $43 = HEAP32[$28>>2]|0;
    71612    $44 = $43 & 255;
    71613    $45 = ($44|0)==(12);
    71614    $46 = $3;
    71615    if (!($45)) {
    71616     $66 = ((($46)) + 4|0);
    71617     $67 = HEAP32[$66>>2]|0;
    71618     $68 = $4;
    71619     $$sink3$sink = $67;$$sink5$sink = $68;
    71620     break;
    71621    }
    71622    $5 = $46;
    71623    while(1) {
    71624     $47 = $5;
    71625     $48 = ((($47)) + 20|0);
    71626     $49 = HEAP32[$48>>2]|0;
    71627     $50 = HEAP32[$49>>2]|0;
    71628     $51 = $50 & 255;
    71629     $52 = ($51|0)==(11);
    71630     if (!($52)) {
    71631      break;
    71632     }
    71633     $53 = $5;
    71634     $54 = ((($53)) + 20|0);
    71635     $55 = HEAP32[$54>>2]|0;
    71636     $5 = $55;
    71637    }
    71638    $56 = $2;
    71639    $57 = $5;
    71640    $58 = ((($57)) + 20|0);
    71641    $59 = HEAP32[$58>>2]|0;
    71642    _prepare_singleton_class($56,$59);
    71643    $60 = $5;
    71644    $61 = ((($60)) + 20|0);
    71645    $62 = HEAP32[$61>>2]|0;
    71646    $63 = ((($62)) + 4|0);
    71647    $64 = HEAP32[$63>>2]|0;
    71648    $65 = $4;
    71649    $$sink3$sink = $64;$$sink5$sink = $65;
    71650   }
    71651  } while(0);
    71652  $69 = ((($$sink5$sink)) + 20|0);
    71653  HEAP32[$69>>2] = $$sink3$sink;
    71654  $70 = $4;
    71655  $71 = $3;
    71656  $72 = ((($71)) + 4|0);
    71657  HEAP32[$72>>2] = $70;
    71658  $73 = $2;
    71659  $74 = $3;
    71660  $75 = $4;
    71661  _mrb_field_write_barrier($73,$74,$75);
    71662  $76 = $2;
    71663  $77 = $4;
    71664  $78 = $3;
    71665  _mrb_field_write_barrier($76,$77,$78);
    71666  $79 = $2;
    71667  $80 = $4;
    71668  $81 = $2;
    71669  $82 = (_mrb_intern_static($81,68237,12)|0);
    71670  $83 = $3;
    71671  _mrb_obj_value_661($6,$83);
    71672  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    71673  _mrb_obj_iv_set($79,$80,$82,$$byval_copy);
    71674  STACKTOP = sp;return;
    71675 }
    71676 function _mrb_define_class($0,$1,$2) {
    71677  $0 = $0|0;
    71678  $1 = $1|0;
    71679  $2 = $2|0;
    71680  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71681  sp = STACKTOP;
    71682  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71683  $3 = $0;
    71684  $4 = $1;
    71685  $5 = $2;
    71686  $6 = $3;
    71687  $7 = $3;
    71688  $8 = $4;
    71689  $9 = (_mrb_intern_cstr($7,$8)|0);
    71690  $10 = $5;
    71691  $11 = (_mrb_define_class_id($6,$9,$10)|0);
    71692  STACKTOP = sp;return ($11|0);
    71693 }
    71694 function _mrb_vm_define_class($0,$1,$2,$3) {
    71695  $0 = $0|0;
    71696  $1 = $1|0;
    71697  $2 = $2|0;
    71698  $3 = $3|0;
    71699  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    71700  var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    71701  sp = STACKTOP;
    71702  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71703  $$byval_copy = sp + 24|0;
    71704  $vararg_buffer = sp;
    71705  $4 = $0;
    71706  $5 = $3;
    71707  $8 = ((($2)) + 4|0);
    71708  $9 = HEAP32[$8>>2]|0;
    71709  $10 = ($9|0)==(0);
    71710  if ($10) {
    71711   $11 = HEAP32[$2>>2]|0;
    71712   $12 = ($11|0)!=(0);
    71713   if ($12) {
    71714    label = 3;
    71715   } else {
    71716    $6 = 0;
    71717   }
    71718  } else {
    71719   label = 3;
    71720  }
    71721  do {
    71722   if ((label|0) == 3) {
    71723    $13 = ((($2)) + 4|0);
    71724    $14 = HEAP32[$13>>2]|0;
    71725    $15 = ($14|0)!=(9);
    71726    if ($15) {
    71727     $16 = $4;
    71728     $17 = $4;
    71729     $18 = (_mrb_class_get($17,69204)|0);
    71730     ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    71731     _mrb_raisef($16,$18,64992,$vararg_buffer);
    71732     // unreachable;
    71733    } else {
    71734     $19 = HEAP32[$2>>2]|0;
    71735     $6 = $19;
    71736     break;
    71737    }
    71738   }
    71739  } while(0);
    71740  $20 = $4;
    71741  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    71742  _check_if_class_or_module($20,$$byval_copy);
    71743  $21 = $4;
    71744  $22 = $5;
    71745  $23 = $6;
    71746  $24 = HEAP32[$1>>2]|0;
    71747  $25 = (_define_class($21,$22,$23,$24)|0);
    71748  $7 = $25;
    71749  $26 = $4;
    71750  $27 = $7;
    71751  $28 = ((($27)) + 20|0);
    71752  $29 = HEAP32[$28>>2]|0;
    71753  $30 = (_mrb_class_real($29)|0);
    71754  $31 = $7;
    71755  _mrb_class_inherited($26,$30,$31);
    71756  $32 = $7;
    71757  STACKTOP = sp;return ($32|0);
    71758 }
    71759 function _mrb_class_inherited($0,$1,$2) {
    71760  $0 = $0|0;
    71761  $1 = $1|0;
    71762  $2 = $2|0;
    71763  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    71764  sp = STACKTOP;
    71765  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    71766  $$byval_copy = sp + 48|0;
    71767  $vararg_buffer = sp;
    71768  $6 = sp + 24|0;
    71769  $7 = sp + 16|0;
    71770  $8 = sp + 8|0;
    71771  $3 = $0;
    71772  $4 = $1;
    71773  $5 = $2;
    71774  $9 = $4;
    71775  $10 = ($9|0)!=(0|0);
    71776  if (!($10)) {
    71777   $11 = $3;
    71778   $12 = ((($11)) + 32|0);
    71779   $13 = HEAP32[$12>>2]|0;
    71780   $4 = $13;
    71781  }
    71782  $14 = $3;
    71783  $15 = $4;
    71784  _mrb_obj_value_661($6,$15);
    71785  $16 = $5;
    71786  _mrb_obj_value_661($7,$16);
    71787  ;HEAP8[$vararg_buffer>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$7+7>>0]|0;
    71788  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    71789  _mrb_funcall($8,$14,$$byval_copy,65098,1,$vararg_buffer);
    71790  STACKTOP = sp;return;
    71791 }
    71792 function _mrb_class_defined($0,$1) {
    71793  $0 = $0|0;
    71794  $1 = $1|0;
    71795  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    71796  var label = 0, sp = 0;
    71797  sp = STACKTOP;
    71798  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    71799  $$byval_copy = sp + 24|0;
    71800  $5 = sp + 8|0;
    71801  $6 = sp;
    71802  $3 = $0;
    71803  $4 = $1;
    71804  $7 = $3;
    71805  $8 = $4;
    71806  _mrb_check_intern_cstr($5,$7,$8);
    71807  $9 = ((($5)) + 4|0);
    71808  $10 = HEAP32[$9>>2]|0;
    71809  $11 = ($10|0)==(0);
    71810  if ($11) {
    71811   $12 = HEAP32[$5>>2]|0;
    71812   $13 = ($12|0)!=(0);
    71813   if (!($13)) {
    71814    $2 = 0;
    71815    $20 = $2;
    71816    STACKTOP = sp;return ($20|0);
    71817   }
    71818  }
    71819  $14 = $3;
    71820  $15 = $3;
    71821  $16 = ((($15)) + 32|0);
    71822  $17 = HEAP32[$16>>2]|0;
    71823  _mrb_obj_value_661($6,$17);
    71824  $18 = HEAP32[$5>>2]|0;
    71825  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    71826  $19 = (_mrb_const_defined($14,$$byval_copy,$18)|0);
    71827  $2 = $19;
    71828  $20 = $2;
    71829  STACKTOP = sp;return ($20|0);
    71830 }
    71831 function _mrb_define_method_raw($0,$1,$2,$3) {
    71832  $0 = $0|0;
    71833  $1 = $1|0;
    71834  $2 = $2|0;
    71835  $3 = $3|0;
    71836  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    71837  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    71838  var $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71839  sp = STACKTOP;
    71840  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71841  $4 = $0;
    71842  $5 = $1;
    71843  $6 = $2;
    71844  $7 = $3;
    71845  $10 = $5;
    71846  $11 = HEAP32[$10>>2]|0;
    71847  $12 = $11 >>> 11;
    71848  $13 = $12 & 524288;
    71849  $14 = ($13|0)!=(0);
    71850  L1: do {
    71851   if ($14) {
    71852    $15 = $5;
    71853    $16 = ((($15)) + 20|0);
    71854    $17 = HEAP32[$16>>2]|0;
    71855    $5 = $17;
    71856    while(1) {
    71857     $18 = $5;
    71858     $19 = HEAP32[$18>>2]|0;
    71859     $20 = $19 >>> 11;
    71860     $21 = $20 & 1048576;
    71861     $22 = ($21|0)!=(0);
    71862     $23 = $22 ^ 1;
    71863     if (!($23)) {
    71864      break L1;
    71865     }
    71866     $24 = $5;
    71867     $25 = ((($24)) + 20|0);
    71868     $26 = HEAP32[$25>>2]|0;
    71869     $5 = $26;
    71870    }
    71871   }
    71872  } while(0);
    71873  $27 = $5;
    71874  $28 = ((($27)) + 16|0);
    71875  $29 = HEAP32[$28>>2]|0;
    71876  $8 = $29;
    71877  $30 = $8;
    71878  $31 = ($30|0)!=(0|0);
    71879  if (!($31)) {
    71880   $32 = $4;
    71881   $33 = (_kh_init_mt($32)|0);
    71882   $34 = $5;
    71883   $35 = ((($34)) + 16|0);
    71884   HEAP32[$35>>2] = $33;
    71885   $8 = $33;
    71886  }
    71887  $36 = $4;
    71888  $37 = $8;
    71889  $38 = $6;
    71890  $39 = (_kh_put_mt($36,$37,$38,0)|0);
    71891  $9 = $39;
    71892  $40 = $7;
    71893  $41 = $8;
    71894  $42 = ((($41)) + 20|0);
    71895  $43 = HEAP32[$42>>2]|0;
    71896  $44 = $9;
    71897  $45 = (($43) + ($44<<2)|0);
    71898  HEAP32[$45>>2] = $40;
    71899  $46 = $7;
    71900  $47 = ($46|0)!=(0|0);
    71901  if (!($47)) {
    71902   STACKTOP = sp;return;
    71903  }
    71904  $48 = $4;
    71905  $49 = $5;
    71906  $50 = $7;
    71907  _mrb_field_write_barrier($48,$49,$50);
    71908  STACKTOP = sp;return;
    71909 }
    71910 function _mrb_define_method_id($0,$1,$2,$3,$4) {
    71911  $0 = $0|0;
    71912  $1 = $1|0;
    71913  $2 = $2|0;
    71914  $3 = $3|0;
    71915  $4 = $4|0;
    71916  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    71917  var $9 = 0, label = 0, sp = 0;
    71918  sp = STACKTOP;
    71919  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71920  $5 = $0;
    71921  $6 = $1;
    71922  $7 = $2;
    71923  $8 = $3;
    71924  $9 = $4;
    71925  $12 = $5;
    71926  $13 = (_mrb_gc_arena_save($12)|0);
    71927  $11 = $13;
    71928  $14 = $5;
    71929  $15 = $8;
    71930  $16 = (_mrb_proc_new_cfunc($14,$15)|0);
    71931  $10 = $16;
    71932  $17 = $6;
    71933  $18 = $10;
    71934  $19 = ((($18)) + 16|0);
    71935  HEAP32[$19>>2] = $17;
    71936  $20 = $5;
    71937  $21 = $6;
    71938  $22 = $7;
    71939  $23 = $10;
    71940  _mrb_define_method_raw($20,$21,$22,$23);
    71941  $24 = $5;
    71942  $25 = $11;
    71943  _mrb_gc_arena_restore($24,$25);
    71944  STACKTOP = sp;return;
    71945 }
    71946 function _mrb_define_method($0,$1,$2,$3,$4) {
    71947  $0 = $0|0;
    71948  $1 = $1|0;
    71949  $2 = $2|0;
    71950  $3 = $3|0;
    71951  $4 = $4|0;
    71952  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    71953  sp = STACKTOP;
    71954  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    71955  $5 = $0;
    71956  $6 = $1;
    71957  $7 = $2;
    71958  $8 = $3;
    71959  $9 = $4;
    71960  $10 = $5;
    71961  $11 = $6;
    71962  $12 = $5;
    71963  $13 = $7;
    71964  $14 = (_mrb_intern_cstr($12,$13)|0);
    71965  $15 = $8;
    71966  $16 = $9;
    71967  _mrb_define_method_id($10,$11,$14,$15,$16);
    71968  STACKTOP = sp;return;
    71969 }
    71970 function _mrb_nil_value_689($0) {
    71971  $0 = $0|0;
    71972  var $1 = 0, $2 = 0, label = 0, sp = 0;
    71973  sp = STACKTOP;
    71974  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    71975  $1 = sp;
    71976  $2 = ((($1)) + 4|0);
    71977  HEAP32[$2>>2] = 0;
    71978  HEAP32[$1>>2] = 0;
    71979  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    71980  STACKTOP = sp;return;
    71981 }
    71982 function _mrb_get_args($0,$1,$varargs) {
    71983  $0 = $0|0;
    71984  $1 = $1|0;
    71985  $varargs = $varargs|0;
    71986  var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
    71987  var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
    71988  var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
    71989  var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
    71990  var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
    71991  var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
    71992  var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0;
    71993  var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0;
    71994  var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0;
    71995  var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0;
    71996  var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0;
    71997  var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0;
    71998  var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0;
    71999  var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0;
    72000  var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0;
    72001  var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0;
    72002  var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0;
    72003  var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0;
    72004  var $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0;
    72005  var $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0.0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0;
    72006  var $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0.0, $466 = 0.0, $467 = 0, $468 = 0.0, $469 = 0;
    72007  var $47 = 0.0, $470 = 0, $471 = 0, $472 = 0, $473 = 0.0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0;
    72008  var $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0;
    72009  var $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0;
    72010  var $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0;
    72011  var $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0;
    72012  var $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0;
    72013  var $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0;
    72014  var $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0;
    72015  var $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0;
    72016  var $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0;
    72017  var $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    72018  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    72019  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0;
    72020  var $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current57 = 0, $arglist_current6 = 0, $arglist_current9 = 0, $arglist_next = 0, $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0;
    72021  var $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next58 = 0, $arglist_next7 = 0, $expanded = 0, $expanded101 = 0, $expanded102 = 0, $expanded104 = 0, $expanded105 = 0, $expanded106 = 0, $expanded108 = 0, $expanded109 = 0;
    72022  var $expanded11 = 0, $expanded111 = 0, $expanded112 = 0, $expanded113 = 0, $expanded115 = 0, $expanded116 = 0, $expanded118 = 0, $expanded119 = 0, $expanded120 = 0, $expanded122 = 0, $expanded123 = 0, $expanded125 = 0, $expanded126 = 0, $expanded127 = 0, $expanded129 = 0, $expanded13 = 0, $expanded130 = 0, $expanded132 = 0, $expanded133 = 0, $expanded134 = 0;
    72023  var $expanded136 = 0, $expanded137 = 0, $expanded139 = 0, $expanded14 = 0, $expanded140 = 0, $expanded141 = 0, $expanded143 = 0, $expanded144 = 0, $expanded146 = 0, $expanded147 = 0, $expanded148 = 0, $expanded15 = 0, $expanded17 = 0, $expanded18 = 0, $expanded20 = 0, $expanded21 = 0, $expanded22 = 0, $expanded24 = 0, $expanded25 = 0, $expanded27 = 0;
    72024  var $expanded28 = 0, $expanded29 = 0, $expanded31 = 0, $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded36 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded43 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded50 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0;
    72025  var $expanded56 = 0, $expanded57 = 0, $expanded59 = 0, $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded64 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded71 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded78 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0;
    72026  var $expanded84 = 0, $expanded85 = 0, $expanded87 = 0, $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded92 = 0, $expanded94 = 0, $expanded95 = 0, $expanded97 = 0, $expanded98 = 0, $expanded99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer59 = 0, label = 0, sp = 0;
    72027  sp = STACKTOP;
    72028  STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0);
    72029  $$byval_copy10 = sp + 424|0;
    72030  $$byval_copy9 = sp + 416|0;
    72031  $$byval_copy8 = sp + 408|0;
    72032  $$byval_copy7 = sp + 400|0;
    72033  $$byval_copy6 = sp + 392|0;
    72034  $$byval_copy5 = sp + 384|0;
    72035  $$byval_copy4 = sp + 376|0;
    72036  $$byval_copy3 = sp + 368|0;
    72037  $$byval_copy2 = sp + 360|0;
    72038  $$byval_copy = sp + 352|0;
    72039  $vararg_buffer59 = sp + 8|0;
    72040  $vararg_buffer = sp;
    72041  $4 = sp + 434|0;
    72042  $7 = sp + 320|0;
    72043  $16 = sp + 288|0;
    72044  $19 = sp + 272|0;
    72045  $22 = sp + 256|0;
    72046  $25 = sp + 240|0;
    72047  $26 = sp + 232|0;
    72048  $31 = sp + 208|0;
    72049  $32 = sp + 200|0;
    72050  $35 = sp + 184|0;
    72051  $36 = sp + 176|0;
    72052  $42 = sp + 144|0;
    72053  $48 = sp + 112|0;
    72054  $51 = sp + 96|0;
    72055  $54 = sp + 80|0;
    72056  $68 = sp + 16|0;
    72057  $2 = $0;
    72058  $3 = $1;
    72059  $5 = 0;
    72060  $69 = $2;
    72061  $70 = ((($69)) + 12|0);
    72062  $71 = HEAP32[$70>>2]|0;
    72063  $72 = ((($71)) + 4|0);
    72064  $73 = HEAP32[$72>>2]|0;
    72065  $74 = ((($73)) + 8|0);
    72066  $6 = $74;
    72067  $75 = $2;
    72068  $76 = ((($75)) + 12|0);
    72069  $77 = HEAP32[$76>>2]|0;
    72070  $78 = ((($77)) + 16|0);
    72071  $79 = HEAP32[$78>>2]|0;
    72072  $80 = ((($79)) + 36|0);
    72073  $81 = HEAP32[$80>>2]|0;
    72074  $8 = $81;
    72075  $9 = 0;
    72076  $10 = 1;
    72077  HEAP32[$7>>2] = $varargs;
    72078  $82 = $8;
    72079  $83 = ($82|0)<(0);
    72080  if ($83) {
    72081   $84 = $2;
    72082   $85 = ((($84)) + 12|0);
    72083   $86 = HEAP32[$85>>2]|0;
    72084   $87 = ((($86)) + 4|0);
    72085   $88 = HEAP32[$87>>2]|0;
    72086   $89 = ((($88)) + 8|0);
    72087   $90 = HEAP32[$89>>2]|0;
    72088   $11 = $90;
    72089   $91 = $11;
    72090   $92 = ((($91)) + 12|0);
    72091   $93 = HEAP32[$92>>2]|0;
    72092   $8 = $93;
    72093   $94 = $11;
    72094   $95 = ((($94)) + 20|0);
    72095   $96 = HEAP32[$95>>2]|0;
    72096   $6 = $96;
    72097  }
    72098  L3: while(1) {
    72099   $97 = $3;
    72100   $98 = ((($97)) + 1|0);
    72101   $3 = $98;
    72102   $99 = HEAP8[$97>>0]|0;
    72103   HEAP8[$4>>0] = $99;
    72104   $100 = ($99<<24>>24)!=(0);
    72105   $101 = HEAP8[$4>>0]|0;
    72106   if (!($100)) {
    72107    label = 98;
    72108    break;
    72109   }
    72110   $102 = $101 << 24 >> 24;
    72111   switch ($102|0) {
    72112   case 63: case 38: case 42: case 124:  {
    72113    break;
    72114   }
    72115   default: {
    72116    $103 = $8;
    72117    $104 = $5;
    72118    $105 = ($103|0)<=($104|0);
    72119    if ($105) {
    72120     $106 = $9;
    72121     $107 = ($106<<24>>24)!=(0);
    72122     if (!($107)) {
    72123      label = 8;
    72124      break L3;
    72125     }
    72126     $10 = 0;
    72127    }
    72128   }
    72129   }
    72130   $111 = HEAP8[$4>>0]|0;
    72131   $112 = $111 << 24 >> 24;
    72132   do {
    72133    switch ($112|0) {
    72134    case 111:  {
    72135     $arglist_current = HEAP32[$7>>2]|0;
    72136     $113 = $arglist_current;
    72137     $114 = ((0) + 4|0);
    72138     $expanded11 = $114;
    72139     $expanded = (($expanded11) - 1)|0;
    72140     $115 = (($113) + ($expanded))|0;
    72141     $116 = ((0) + 4|0);
    72142     $expanded15 = $116;
    72143     $expanded14 = (($expanded15) - 1)|0;
    72144     $expanded13 = $expanded14 ^ -1;
    72145     $117 = $115 & $expanded13;
    72146     $118 = $117;
    72147     $119 = HEAP32[$118>>2]|0;
    72148     $arglist_next = ((($118)) + 4|0);
    72149     HEAP32[$7>>2] = $arglist_next;
    72150     $13 = $119;
    72151     $120 = $13;
    72152     $12 = $120;
    72153     $121 = $5;
    72154     $122 = $8;
    72155     $123 = ($121|0)<($122|0);
    72156     if (!($123)) {
    72157      continue L3;
    72158     }
    72159     $124 = $12;
    72160     $125 = $6;
    72161     $126 = ((($125)) + 8|0);
    72162     $6 = $126;
    72163     ;HEAP32[$124>>2]=HEAP32[$125>>2]|0;HEAP32[$124+4>>2]=HEAP32[$125+4>>2]|0;
    72164     $127 = $5;
    72165     $128 = (($127) + 1)|0;
    72166     $5 = $128;
    72167     continue L3;
    72168     break;
    72169    }
    72170    case 67:  {
    72171     $arglist_current3 = HEAP32[$7>>2]|0;
    72172     $129 = $arglist_current3;
    72173     $130 = ((0) + 4|0);
    72174     $expanded18 = $130;
    72175     $expanded17 = (($expanded18) - 1)|0;
    72176     $131 = (($129) + ($expanded17))|0;
    72177     $132 = ((0) + 4|0);
    72178     $expanded22 = $132;
    72179     $expanded21 = (($expanded22) - 1)|0;
    72180     $expanded20 = $expanded21 ^ -1;
    72181     $133 = $131 & $expanded20;
    72182     $134 = $133;
    72183     $135 = HEAP32[$134>>2]|0;
    72184     $arglist_next4 = ((($134)) + 4|0);
    72185     HEAP32[$7>>2] = $arglist_next4;
    72186     $15 = $135;
    72187     $136 = $15;
    72188     $14 = $136;
    72189     $137 = $5;
    72190     $138 = $8;
    72191     $139 = ($137|0)<($138|0);
    72192     if (!($139)) {
    72193      continue L3;
    72194     }
    72195     $140 = $6;
    72196     $141 = ((($140)) + 8|0);
    72197     $6 = $141;
    72198     ;HEAP32[$16>>2]=HEAP32[$140>>2]|0;HEAP32[$16+4>>2]=HEAP32[$140+4>>2]|0;
    72199     $142 = ((($16)) + 4|0);
    72200     $143 = HEAP32[$142>>2]|0;
    72201     switch ($143|0) {
    72202     case 12: case 10: case 9:  {
    72203      break;
    72204     }
    72205     default: {
    72206      label = 14;
    72207      break L3;
    72208     }
    72209     }
    72210     $147 = $14;
    72211     ;HEAP32[$147>>2]=HEAP32[$16>>2]|0;HEAP32[$147+4>>2]=HEAP32[$16+4>>2]|0;
    72212     $148 = $5;
    72213     $149 = (($148) + 1)|0;
    72214     $5 = $149;
    72215     continue L3;
    72216     break;
    72217    }
    72218    case 83:  {
    72219     $arglist_current6 = HEAP32[$7>>2]|0;
    72220     $150 = $arglist_current6;
    72221     $151 = ((0) + 4|0);
    72222     $expanded25 = $151;
    72223     $expanded24 = (($expanded25) - 1)|0;
    72224     $152 = (($150) + ($expanded24))|0;
    72225     $153 = ((0) + 4|0);
    72226     $expanded29 = $153;
    72227     $expanded28 = (($expanded29) - 1)|0;
    72228     $expanded27 = $expanded28 ^ -1;
    72229     $154 = $152 & $expanded27;
    72230     $155 = $154;
    72231     $156 = HEAP32[$155>>2]|0;
    72232     $arglist_next7 = ((($155)) + 4|0);
    72233     HEAP32[$7>>2] = $arglist_next7;
    72234     $18 = $156;
    72235     $157 = $18;
    72236     $17 = $157;
    72237     $158 = $3;
    72238     $159 = HEAP8[$158>>0]|0;
    72239     $160 = $159 << 24 >> 24;
    72240     $161 = ($160|0)==(33);
    72241     if ($161) {
    72242      $162 = $3;
    72243      $163 = ((($162)) + 1|0);
    72244      $3 = $163;
    72245      $164 = $5;
    72246      $165 = $8;
    72247      $166 = ($164|0)<($165|0);
    72248      if ($166) {
    72249       $167 = $6;
    72250       $168 = ((($167)) + 4|0);
    72251       $169 = HEAP32[$168>>2]|0;
    72252       $170 = ($169|0)==(0);
    72253       if ($170) {
    72254        $171 = $6;
    72255        $172 = HEAP32[$171>>2]|0;
    72256        $173 = ($172|0)!=(0);
    72257        if (!($173)) {
    72258         $174 = $17;
    72259         $175 = $6;
    72260         $176 = ((($175)) + 8|0);
    72261         $6 = $176;
    72262         ;HEAP32[$174>>2]=HEAP32[$175>>2]|0;HEAP32[$174+4>>2]=HEAP32[$175+4>>2]|0;
    72263         $177 = $5;
    72264         $178 = (($177) + 1)|0;
    72265         $5 = $178;
    72266         continue L3;
    72267        }
    72268       }
    72269      }
    72270     }
    72271     $179 = $5;
    72272     $180 = $8;
    72273     $181 = ($179|0)<($180|0);
    72274     if (!($181)) {
    72275      continue L3;
    72276     }
    72277     $182 = $17;
    72278     $183 = $2;
    72279     $184 = $6;
    72280     $185 = ((($184)) + 8|0);
    72281     $6 = $185;
    72282     ;HEAP32[$$byval_copy>>2]=HEAP32[$184>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$184+4>>2]|0;
    72283     _to_str($19,$183,$$byval_copy);
    72284     ;HEAP32[$182>>2]=HEAP32[$19>>2]|0;HEAP32[$182+4>>2]=HEAP32[$19+4>>2]|0;
    72285     $186 = $5;
    72286     $187 = (($186) + 1)|0;
    72287     $5 = $187;
    72288     continue L3;
    72289     break;
    72290    }
    72291    case 65:  {
    72292     $arglist_current9 = HEAP32[$7>>2]|0;
    72293     $188 = $arglist_current9;
    72294     $189 = ((0) + 4|0);
    72295     $expanded32 = $189;
    72296     $expanded31 = (($expanded32) - 1)|0;
    72297     $190 = (($188) + ($expanded31))|0;
    72298     $191 = ((0) + 4|0);
    72299     $expanded36 = $191;
    72300     $expanded35 = (($expanded36) - 1)|0;
    72301     $expanded34 = $expanded35 ^ -1;
    72302     $192 = $190 & $expanded34;
    72303     $193 = $192;
    72304     $194 = HEAP32[$193>>2]|0;
    72305     $arglist_next10 = ((($193)) + 4|0);
    72306     HEAP32[$7>>2] = $arglist_next10;
    72307     $21 = $194;
    72308     $195 = $21;
    72309     $20 = $195;
    72310     $196 = $3;
    72311     $197 = HEAP8[$196>>0]|0;
    72312     $198 = $197 << 24 >> 24;
    72313     $199 = ($198|0)==(33);
    72314     if ($199) {
    72315      $200 = $3;
    72316      $201 = ((($200)) + 1|0);
    72317      $3 = $201;
    72318      $202 = $5;
    72319      $203 = $8;
    72320      $204 = ($202|0)<($203|0);
    72321      if ($204) {
    72322       $205 = $6;
    72323       $206 = ((($205)) + 4|0);
    72324       $207 = HEAP32[$206>>2]|0;
    72325       $208 = ($207|0)==(0);
    72326       if ($208) {
    72327        $209 = $6;
    72328        $210 = HEAP32[$209>>2]|0;
    72329        $211 = ($210|0)!=(0);
    72330        if (!($211)) {
    72331         $212 = $20;
    72332         $213 = $6;
    72333         $214 = ((($213)) + 8|0);
    72334         $6 = $214;
    72335         ;HEAP32[$212>>2]=HEAP32[$213>>2]|0;HEAP32[$212+4>>2]=HEAP32[$213+4>>2]|0;
    72336         $215 = $5;
    72337         $216 = (($215) + 1)|0;
    72338         $5 = $216;
    72339         continue L3;
    72340        }
    72341       }
    72342      }
    72343     }
    72344     $217 = $5;
    72345     $218 = $8;
    72346     $219 = ($217|0)<($218|0);
    72347     if (!($219)) {
    72348      continue L3;
    72349     }
    72350     $220 = $20;
    72351     $221 = $2;
    72352     $222 = $6;
    72353     $223 = ((($222)) + 8|0);
    72354     $6 = $223;
    72355     ;HEAP32[$$byval_copy2>>2]=HEAP32[$222>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$222+4>>2]|0;
    72356     _to_ary($22,$221,$$byval_copy2);
    72357     ;HEAP32[$220>>2]=HEAP32[$22>>2]|0;HEAP32[$220+4>>2]=HEAP32[$22+4>>2]|0;
    72358     $224 = $5;
    72359     $225 = (($224) + 1)|0;
    72360     $5 = $225;
    72361     continue L3;
    72362     break;
    72363    }
    72364    case 72:  {
    72365     $arglist_current12 = HEAP32[$7>>2]|0;
    72366     $226 = $arglist_current12;
    72367     $227 = ((0) + 4|0);
    72368     $expanded39 = $227;
    72369     $expanded38 = (($expanded39) - 1)|0;
    72370     $228 = (($226) + ($expanded38))|0;
    72371     $229 = ((0) + 4|0);
    72372     $expanded43 = $229;
    72373     $expanded42 = (($expanded43) - 1)|0;
    72374     $expanded41 = $expanded42 ^ -1;
    72375     $230 = $228 & $expanded41;
    72376     $231 = $230;
    72377     $232 = HEAP32[$231>>2]|0;
    72378     $arglist_next13 = ((($231)) + 4|0);
    72379     HEAP32[$7>>2] = $arglist_next13;
    72380     $24 = $232;
    72381     $233 = $24;
    72382     $23 = $233;
    72383     $234 = $3;
    72384     $235 = HEAP8[$234>>0]|0;
    72385     $236 = $235 << 24 >> 24;
    72386     $237 = ($236|0)==(33);
    72387     if ($237) {
    72388      $238 = $3;
    72389      $239 = ((($238)) + 1|0);
    72390      $3 = $239;
    72391      $240 = $5;
    72392      $241 = $8;
    72393      $242 = ($240|0)<($241|0);
    72394      if ($242) {
    72395       $243 = $6;
    72396       $244 = ((($243)) + 4|0);
    72397       $245 = HEAP32[$244>>2]|0;
    72398       $246 = ($245|0)==(0);
    72399       if ($246) {
    72400        $247 = $6;
    72401        $248 = HEAP32[$247>>2]|0;
    72402        $249 = ($248|0)!=(0);
    72403        if (!($249)) {
    72404         $250 = $23;
    72405         $251 = $6;
    72406         $252 = ((($251)) + 8|0);
    72407         $6 = $252;
    72408         ;HEAP32[$250>>2]=HEAP32[$251>>2]|0;HEAP32[$250+4>>2]=HEAP32[$251+4>>2]|0;
    72409         $253 = $5;
    72410         $254 = (($253) + 1)|0;
    72411         $5 = $254;
    72412         continue L3;
    72413        }
    72414       }
    72415      }
    72416     }
    72417     $255 = $5;
    72418     $256 = $8;
    72419     $257 = ($255|0)<($256|0);
    72420     if (!($257)) {
    72421      continue L3;
    72422     }
    72423     $258 = $23;
    72424     $259 = $2;
    72425     $260 = $6;
    72426     $261 = ((($260)) + 8|0);
    72427     $6 = $261;
    72428     ;HEAP32[$$byval_copy3>>2]=HEAP32[$260>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$260+4>>2]|0;
    72429     _to_hash($25,$259,$$byval_copy3);
    72430     ;HEAP32[$258>>2]=HEAP32[$25>>2]|0;HEAP32[$258+4>>2]=HEAP32[$25+4>>2]|0;
    72431     $262 = $5;
    72432     $263 = (($262) + 1)|0;
    72433     $5 = $263;
    72434     continue L3;
    72435     break;
    72436    }
    72437    case 115:  {
    72438     $27 = 0;
    72439     $28 = 0;
    72440     $arglist_current15 = HEAP32[$7>>2]|0;
    72441     $264 = $arglist_current15;
    72442     $265 = ((0) + 4|0);
    72443     $expanded46 = $265;
    72444     $expanded45 = (($expanded46) - 1)|0;
    72445     $266 = (($264) + ($expanded45))|0;
    72446     $267 = ((0) + 4|0);
    72447     $expanded50 = $267;
    72448     $expanded49 = (($expanded50) - 1)|0;
    72449     $expanded48 = $expanded49 ^ -1;
    72450     $268 = $266 & $expanded48;
    72451     $269 = $268;
    72452     $270 = HEAP32[$269>>2]|0;
    72453     $arglist_next16 = ((($269)) + 4|0);
    72454     HEAP32[$7>>2] = $arglist_next16;
    72455     $29 = $270;
    72456     $271 = $29;
    72457     $27 = $271;
    72458     $arglist_current18 = HEAP32[$7>>2]|0;
    72459     $272 = $arglist_current18;
    72460     $273 = ((0) + 4|0);
    72461     $expanded53 = $273;
    72462     $expanded52 = (($expanded53) - 1)|0;
    72463     $274 = (($272) + ($expanded52))|0;
    72464     $275 = ((0) + 4|0);
    72465     $expanded57 = $275;
    72466     $expanded56 = (($expanded57) - 1)|0;
    72467     $expanded55 = $expanded56 ^ -1;
    72468     $276 = $274 & $expanded55;
    72469     $277 = $276;
    72470     $278 = HEAP32[$277>>2]|0;
    72471     $arglist_next19 = ((($277)) + 4|0);
    72472     HEAP32[$7>>2] = $arglist_next19;
    72473     $30 = $278;
    72474     $279 = $30;
    72475     $28 = $279;
    72476     $280 = $3;
    72477     $281 = HEAP8[$280>>0]|0;
    72478     $282 = $281 << 24 >> 24;
    72479     $283 = ($282|0)==(33);
    72480     if ($283) {
    72481      $284 = $3;
    72482      $285 = ((($284)) + 1|0);
    72483      $3 = $285;
    72484      $286 = $5;
    72485      $287 = $8;
    72486      $288 = ($286|0)<($287|0);
    72487      if ($288) {
    72488       $289 = $6;
    72489       $290 = ((($289)) + 4|0);
    72490       $291 = HEAP32[$290>>2]|0;
    72491       $292 = ($291|0)==(0);
    72492       if ($292) {
    72493        $293 = $6;
    72494        $294 = HEAP32[$293>>2]|0;
    72495        $295 = ($294|0)!=(0);
    72496        if (!($295)) {
    72497         $296 = $27;
    72498         HEAP32[$296>>2] = 0;
    72499         $297 = $28;
    72500         HEAP32[$297>>2] = 0;
    72501         $298 = $5;
    72502         $299 = (($298) + 1)|0;
    72503         $5 = $299;
    72504         continue L3;
    72505        }
    72506       }
    72507      }
    72508     }
    72509     $300 = $5;
    72510     $301 = $8;
    72511     $302 = ($300|0)<($301|0);
    72512     if (!($302)) {
    72513      continue L3;
    72514     }
    72515     $303 = $2;
    72516     $304 = $6;
    72517     $305 = ((($304)) + 8|0);
    72518     $6 = $305;
    72519     ;HEAP32[$$byval_copy4>>2]=HEAP32[$304>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$304+4>>2]|0;
    72520     _to_str($31,$303,$$byval_copy4);
    72521     ;HEAP32[$26>>2]=HEAP32[$31>>2]|0;HEAP32[$26+4>>2]=HEAP32[$31+4>>2]|0;
    72522     $306 = HEAP32[$26>>2]|0;
    72523     $307 = HEAP32[$306>>2]|0;
    72524     $308 = $307 >>> 11;
    72525     $309 = $308 & 8;
    72526     $310 = ($309|0)!=(0);
    72527     $311 = HEAP32[$26>>2]|0;
    72528     $312 = ((($311)) + 12|0);
    72529     if ($310) {
    72530      $316 = $312;
    72531     } else {
    72532      $313 = ((($312)) + 8|0);
    72533      $314 = HEAP32[$313>>2]|0;
    72534      $316 = $314;
    72535     }
    72536     $315 = $27;
    72537     HEAP32[$315>>2] = $316;
    72538     $317 = HEAP32[$26>>2]|0;
    72539     $318 = HEAP32[$317>>2]|0;
    72540     $319 = $318 >>> 11;
    72541     $320 = $319 & 8;
    72542     $321 = ($320|0)!=(0);
    72543     $322 = HEAP32[$26>>2]|0;
    72544     if ($321) {
    72545      $323 = HEAP32[$322>>2]|0;
    72546      $324 = $323 >>> 11;
    72547      $325 = $324 & 496;
    72548      $326 = $325 >> 4;
    72549      $330 = $326;
    72550     } else {
    72551      $327 = ((($322)) + 12|0);
    72552      $328 = HEAP32[$327>>2]|0;
    72553      $330 = $328;
    72554     }
    72555     $329 = $28;
    72556     HEAP32[$329>>2] = $330;
    72557     $331 = $5;
    72558     $332 = (($331) + 1)|0;
    72559     $5 = $332;
    72560     continue L3;
    72561     break;
    72562    }
    72563    case 122:  {
    72564     $arglist_current21 = HEAP32[$7>>2]|0;
    72565     $333 = $arglist_current21;
    72566     $334 = ((0) + 4|0);
    72567     $expanded60 = $334;
    72568     $expanded59 = (($expanded60) - 1)|0;
    72569     $335 = (($333) + ($expanded59))|0;
    72570     $336 = ((0) + 4|0);
    72571     $expanded64 = $336;
    72572     $expanded63 = (($expanded64) - 1)|0;
    72573     $expanded62 = $expanded63 ^ -1;
    72574     $337 = $335 & $expanded62;
    72575     $338 = $337;
    72576     $339 = HEAP32[$338>>2]|0;
    72577     $arglist_next22 = ((($338)) + 4|0);
    72578     HEAP32[$7>>2] = $arglist_next22;
    72579     $34 = $339;
    72580     $340 = $34;
    72581     $33 = $340;
    72582     $341 = $3;
    72583     $342 = HEAP8[$341>>0]|0;
    72584     $343 = $342 << 24 >> 24;
    72585     $344 = ($343|0)==(33);
    72586     if ($344) {
    72587      $345 = $3;
    72588      $346 = ((($345)) + 1|0);
    72589      $3 = $346;
    72590      $347 = $5;
    72591      $348 = $8;
    72592      $349 = ($347|0)<($348|0);
    72593      if ($349) {
    72594       $350 = $6;
    72595       $351 = ((($350)) + 4|0);
    72596       $352 = HEAP32[$351>>2]|0;
    72597       $353 = ($352|0)==(0);
    72598       if ($353) {
    72599        $354 = $6;
    72600        $355 = HEAP32[$354>>2]|0;
    72601        $356 = ($355|0)!=(0);
    72602        if (!($356)) {
    72603         $357 = $33;
    72604         HEAP32[$357>>2] = 0;
    72605         $358 = $5;
    72606         $359 = (($358) + 1)|0;
    72607         $5 = $359;
    72608         $360 = $6;
    72609         $361 = ((($360)) + 8|0);
    72610         $6 = $361;
    72611         continue L3;
    72612        }
    72613       }
    72614      }
    72615     }
    72616     $362 = $5;
    72617     $363 = $8;
    72618     $364 = ($362|0)<($363|0);
    72619     if (!($364)) {
    72620      continue L3;
    72621     }
    72622     $365 = $2;
    72623     $366 = $6;
    72624     $367 = ((($366)) + 8|0);
    72625     $6 = $367;
    72626     ;HEAP32[$$byval_copy5>>2]=HEAP32[$366>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$366+4>>2]|0;
    72627     _to_str($35,$365,$$byval_copy5);
    72628     ;HEAP32[$32>>2]=HEAP32[$35>>2]|0;HEAP32[$32+4>>2]=HEAP32[$35+4>>2]|0;
    72629     $368 = $2;
    72630     $369 = (_mrb_string_value_cstr($368,$32)|0);
    72631     $370 = $33;
    72632     HEAP32[$370>>2] = $369;
    72633     $371 = $5;
    72634     $372 = (($371) + 1)|0;
    72635     $5 = $372;
    72636     continue L3;
    72637     break;
    72638    }
    72639    case 97:  {
    72640     $arglist_current24 = HEAP32[$7>>2]|0;
    72641     $373 = $arglist_current24;
    72642     $374 = ((0) + 4|0);
    72643     $expanded67 = $374;
    72644     $expanded66 = (($expanded67) - 1)|0;
    72645     $375 = (($373) + ($expanded66))|0;
    72646     $376 = ((0) + 4|0);
    72647     $expanded71 = $376;
    72648     $expanded70 = (($expanded71) - 1)|0;
    72649     $expanded69 = $expanded70 ^ -1;
    72650     $377 = $375 & $expanded69;
    72651     $378 = $377;
    72652     $379 = HEAP32[$378>>2]|0;
    72653     $arglist_next25 = ((($378)) + 4|0);
    72654     HEAP32[$7>>2] = $arglist_next25;
    72655     $40 = $379;
    72656     $380 = $40;
    72657     $38 = $380;
    72658     $arglist_current27 = HEAP32[$7>>2]|0;
    72659     $381 = $arglist_current27;
    72660     $382 = ((0) + 4|0);
    72661     $expanded74 = $382;
    72662     $expanded73 = (($expanded74) - 1)|0;
    72663     $383 = (($381) + ($expanded73))|0;
    72664     $384 = ((0) + 4|0);
    72665     $expanded78 = $384;
    72666     $expanded77 = (($expanded78) - 1)|0;
    72667     $expanded76 = $expanded77 ^ -1;
    72668     $385 = $383 & $expanded76;
    72669     $386 = $385;
    72670     $387 = HEAP32[$386>>2]|0;
    72671     $arglist_next28 = ((($386)) + 4|0);
    72672     HEAP32[$7>>2] = $arglist_next28;
    72673     $41 = $387;
    72674     $388 = $41;
    72675     $39 = $388;
    72676     $389 = $3;
    72677     $390 = HEAP8[$389>>0]|0;
    72678     $391 = $390 << 24 >> 24;
    72679     $392 = ($391|0)==(33);
    72680     if ($392) {
    72681      $393 = $3;
    72682      $394 = ((($393)) + 1|0);
    72683      $3 = $394;
    72684      $395 = $5;
    72685      $396 = $8;
    72686      $397 = ($395|0)<($396|0);
    72687      if ($397) {
    72688       $398 = $6;
    72689       $399 = ((($398)) + 4|0);
    72690       $400 = HEAP32[$399>>2]|0;
    72691       $401 = ($400|0)==(0);
    72692       if ($401) {
    72693        $402 = $6;
    72694        $403 = HEAP32[$402>>2]|0;
    72695        $404 = ($403|0)!=(0);
    72696        if (!($404)) {
    72697         $405 = $38;
    72698         HEAP32[$405>>2] = 0;
    72699         $406 = $39;
    72700         HEAP32[$406>>2] = 0;
    72701         $407 = $5;
    72702         $408 = (($407) + 1)|0;
    72703         $5 = $408;
    72704         $409 = $6;
    72705         $410 = ((($409)) + 8|0);
    72706         $6 = $410;
    72707         continue L3;
    72708        }
    72709       }
    72710      }
    72711     }
    72712     $411 = $5;
    72713     $412 = $8;
    72714     $413 = ($411|0)<($412|0);
    72715     if (!($413)) {
    72716      continue L3;
    72717     }
    72718     $414 = $2;
    72719     $415 = $6;
    72720     $416 = ((($415)) + 8|0);
    72721     $6 = $416;
    72722     ;HEAP32[$$byval_copy6>>2]=HEAP32[$415>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$415+4>>2]|0;
    72723     _to_ary($42,$414,$$byval_copy6);
    72724     ;HEAP32[$36>>2]=HEAP32[$42>>2]|0;HEAP32[$36+4>>2]=HEAP32[$42+4>>2]|0;
    72725     $417 = HEAP32[$36>>2]|0;
    72726     $37 = $417;
    72727     $418 = $37;
    72728     $419 = ((($418)) + 20|0);
    72729     $420 = HEAP32[$419>>2]|0;
    72730     $421 = $38;
    72731     HEAP32[$421>>2] = $420;
    72732     $422 = $37;
    72733     $423 = ((($422)) + 12|0);
    72734     $424 = HEAP32[$423>>2]|0;
    72735     $425 = $39;
    72736     HEAP32[$425>>2] = $424;
    72737     $426 = $5;
    72738     $427 = (($426) + 1)|0;
    72739     $5 = $427;
    72740     continue L3;
    72741     break;
    72742    }
    72743    case 102:  {
    72744     $arglist_current30 = HEAP32[$7>>2]|0;
    72745     $428 = $arglist_current30;
    72746     $429 = ((0) + 4|0);
    72747     $expanded81 = $429;
    72748     $expanded80 = (($expanded81) - 1)|0;
    72749     $430 = (($428) + ($expanded80))|0;
    72750     $431 = ((0) + 4|0);
    72751     $expanded85 = $431;
    72752     $expanded84 = (($expanded85) - 1)|0;
    72753     $expanded83 = $expanded84 ^ -1;
    72754     $432 = $430 & $expanded83;
    72755     $433 = $432;
    72756     $434 = HEAP32[$433>>2]|0;
    72757     $arglist_next31 = ((($433)) + 4|0);
    72758     HEAP32[$7>>2] = $arglist_next31;
    72759     $44 = $434;
    72760     $435 = $44;
    72761     $43 = $435;
    72762     $436 = $5;
    72763     $437 = $8;
    72764     $438 = ($436|0)<($437|0);
    72765     if (!($438)) {
    72766      continue L3;
    72767     }
    72768     $439 = $2;
    72769     $440 = $6;
    72770     ;HEAP32[$$byval_copy7>>2]=HEAP32[$440>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$440+4>>2]|0;
    72771     $441 = (+_mrb_to_flo($439,$$byval_copy7));
    72772     $442 = $43;
    72773     HEAPF32[$442>>2] = $441;
    72774     $443 = $6;
    72775     $444 = ((($443)) + 8|0);
    72776     $6 = $444;
    72777     $445 = $5;
    72778     $446 = (($445) + 1)|0;
    72779     $5 = $446;
    72780     continue L3;
    72781     break;
    72782    }
    72783    case 105:  {
    72784     $arglist_current33 = HEAP32[$7>>2]|0;
    72785     $447 = $arglist_current33;
    72786     $448 = ((0) + 4|0);
    72787     $expanded88 = $448;
    72788     $expanded87 = (($expanded88) - 1)|0;
    72789     $449 = (($447) + ($expanded87))|0;
    72790     $450 = ((0) + 4|0);
    72791     $expanded92 = $450;
    72792     $expanded91 = (($expanded92) - 1)|0;
    72793     $expanded90 = $expanded91 ^ -1;
    72794     $451 = $449 & $expanded90;
    72795     $452 = $451;
    72796     $453 = HEAP32[$452>>2]|0;
    72797     $arglist_next34 = ((($452)) + 4|0);
    72798     HEAP32[$7>>2] = $arglist_next34;
    72799     $46 = $453;
    72800     $454 = $46;
    72801     $45 = $454;
    72802     $455 = $5;
    72803     $456 = $8;
    72804     $457 = ($455|0)<($456|0);
    72805     if (!($457)) {
    72806      continue L3;
    72807     }
    72808     $458 = $6;
    72809     $459 = ((($458)) + 4|0);
    72810     $460 = HEAP32[$459>>2]|0;
    72811     switch ($460|0) {
    72812     case 16:  {
    72813      label = 72;
    72814      break L3;
    72815      break;
    72816     }
    72817     case 3:  {
    72818      $461 = $6;
    72819      $462 = HEAP32[$461>>2]|0;
    72820      $463 = $45;
    72821      HEAP32[$463>>2] = $462;
    72822      break;
    72823     }
    72824     case 6:  {
    72825      $464 = $6;
    72826      $465 = +HEAPF32[$464>>2];
    72827      $47 = $465;
    72828      $466 = $47;
    72829      $467 = $466 <= 2147483648.0;
    72830      $468 = $47;
    72831      $469 = $468 >= -2147483648.0;
    72832      $or$cond = $467 & $469;
    72833      if (!($or$cond)) {
    72834       label = 70;
    72835       break L3;
    72836      }
    72837      $473 = $47;
    72838      $474 = (~~(($473)));
    72839      $475 = $45;
    72840      HEAP32[$475>>2] = $474;
    72841      break;
    72842     }
    72843     default: {
    72844      $479 = $2;
    72845      $480 = $6;
    72846      ;HEAP32[$$byval_copy8>>2]=HEAP32[$480>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$480+4>>2]|0;
    72847      _mrb_Integer($48,$479,$$byval_copy8);
    72848      $481 = HEAP32[$48>>2]|0;
    72849      $482 = $45;
    72850      HEAP32[$482>>2] = $481;
    72851     }
    72852     }
    72853     $483 = $6;
    72854     $484 = ((($483)) + 8|0);
    72855     $6 = $484;
    72856     $485 = $5;
    72857     $486 = (($485) + 1)|0;
    72858     $5 = $486;
    72859     continue L3;
    72860     break;
    72861    }
    72862    case 98:  {
    72863     $arglist_current36 = HEAP32[$7>>2]|0;
    72864     $487 = $arglist_current36;
    72865     $488 = ((0) + 4|0);
    72866     $expanded95 = $488;
    72867     $expanded94 = (($expanded95) - 1)|0;
    72868     $489 = (($487) + ($expanded94))|0;
    72869     $490 = ((0) + 4|0);
    72870     $expanded99 = $490;
    72871     $expanded98 = (($expanded99) - 1)|0;
    72872     $expanded97 = $expanded98 ^ -1;
    72873     $491 = $489 & $expanded97;
    72874     $492 = $491;
    72875     $493 = HEAP32[$492>>2]|0;
    72876     $arglist_next37 = ((($492)) + 4|0);
    72877     HEAP32[$7>>2] = $arglist_next37;
    72878     $50 = $493;
    72879     $494 = $50;
    72880     $49 = $494;
    72881     $495 = $5;
    72882     $496 = $8;
    72883     $497 = ($495|0)<($496|0);
    72884     if (!($497)) {
    72885      continue L3;
    72886     }
    72887     $498 = $6;
    72888     $499 = ((($498)) + 8|0);
    72889     $6 = $499;
    72890     ;HEAP32[$51>>2]=HEAP32[$498>>2]|0;HEAP32[$51+4>>2]=HEAP32[$498+4>>2]|0;
    72891     $500 = ((($51)) + 4|0);
    72892     $501 = HEAP32[$500>>2]|0;
    72893     $502 = ($501|0)!=(0);
    72894     $503 = $502&1;
    72895     $504 = $503&255;
    72896     $505 = $49;
    72897     HEAP8[$505>>0] = $504;
    72898     $506 = $5;
    72899     $507 = (($506) + 1)|0;
    72900     $5 = $507;
    72901     continue L3;
    72902     break;
    72903    }
    72904    case 110:  {
    72905     $arglist_current39 = HEAP32[$7>>2]|0;
    72906     $508 = $arglist_current39;
    72907     $509 = ((0) + 4|0);
    72908     $expanded102 = $509;
    72909     $expanded101 = (($expanded102) - 1)|0;
    72910     $510 = (($508) + ($expanded101))|0;
    72911     $511 = ((0) + 4|0);
    72912     $expanded106 = $511;
    72913     $expanded105 = (($expanded106) - 1)|0;
    72914     $expanded104 = $expanded105 ^ -1;
    72915     $512 = $510 & $expanded104;
    72916     $513 = $512;
    72917     $514 = HEAP32[$513>>2]|0;
    72918     $arglist_next40 = ((($513)) + 4|0);
    72919     HEAP32[$7>>2] = $arglist_next40;
    72920     $53 = $514;
    72921     $515 = $53;
    72922     $52 = $515;
    72923     $516 = $5;
    72924     $517 = $8;
    72925     $518 = ($516|0)<($517|0);
    72926     if (!($518)) {
    72927      continue L3;
    72928     }
    72929     $519 = $6;
    72930     $520 = ((($519)) + 8|0);
    72931     $6 = $520;
    72932     ;HEAP32[$54>>2]=HEAP32[$519>>2]|0;HEAP32[$54+4>>2]=HEAP32[$519+4>>2]|0;
    72933     $521 = $2;
    72934     ;HEAP32[$$byval_copy9>>2]=HEAP32[$54>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$54+4>>2]|0;
    72935     $522 = (_to_sym($521,$$byval_copy9)|0);
    72936     $523 = $52;
    72937     HEAP32[$523>>2] = $522;
    72938     $524 = $5;
    72939     $525 = (($524) + 1)|0;
    72940     $5 = $525;
    72941     continue L3;
    72942     break;
    72943    }
    72944    case 100:  {
    72945     $arglist_current42 = HEAP32[$7>>2]|0;
    72946     $526 = $arglist_current42;
    72947     $527 = ((0) + 4|0);
    72948     $expanded109 = $527;
    72949     $expanded108 = (($expanded109) - 1)|0;
    72950     $528 = (($526) + ($expanded108))|0;
    72951     $529 = ((0) + 4|0);
    72952     $expanded113 = $529;
    72953     $expanded112 = (($expanded113) - 1)|0;
    72954     $expanded111 = $expanded112 ^ -1;
    72955     $530 = $528 & $expanded111;
    72956     $531 = $530;
    72957     $532 = HEAP32[$531>>2]|0;
    72958     $arglist_next43 = ((($531)) + 4|0);
    72959     HEAP32[$7>>2] = $arglist_next43;
    72960     $57 = $532;
    72961     $533 = $57;
    72962     $55 = $533;
    72963     $arglist_current45 = HEAP32[$7>>2]|0;
    72964     $534 = $arglist_current45;
    72965     $535 = ((0) + 4|0);
    72966     $expanded116 = $535;
    72967     $expanded115 = (($expanded116) - 1)|0;
    72968     $536 = (($534) + ($expanded115))|0;
    72969     $537 = ((0) + 4|0);
    72970     $expanded120 = $537;
    72971     $expanded119 = (($expanded120) - 1)|0;
    72972     $expanded118 = $expanded119 ^ -1;
    72973     $538 = $536 & $expanded118;
    72974     $539 = $538;
    72975     $540 = HEAP32[$539>>2]|0;
    72976     $arglist_next46 = ((($539)) + 4|0);
    72977     HEAP32[$7>>2] = $arglist_next46;
    72978     $58 = $540;
    72979     $541 = $58;
    72980     $56 = $541;
    72981     $542 = $3;
    72982     $543 = HEAP8[$542>>0]|0;
    72983     $544 = $543 << 24 >> 24;
    72984     $545 = ($544|0)==(33);
    72985     if ($545) {
    72986      $546 = $3;
    72987      $547 = ((($546)) + 1|0);
    72988      $3 = $547;
    72989      $548 = $5;
    72990      $549 = $8;
    72991      $550 = ($548|0)<($549|0);
    72992      if ($550) {
    72993       $551 = $6;
    72994       $552 = ((($551)) + 4|0);
    72995       $553 = HEAP32[$552>>2]|0;
    72996       $554 = ($553|0)==(0);
    72997       if ($554) {
    72998        $555 = $6;
    72999        $556 = HEAP32[$555>>2]|0;
    73000        $557 = ($556|0)!=(0);
    73001        if (!($557)) {
    73002         $558 = $55;
    73003         HEAP32[$558>>2] = 0;
    73004         $559 = $5;
    73005         $560 = (($559) + 1)|0;
    73006         $5 = $560;
    73007         $561 = $6;
    73008         $562 = ((($561)) + 8|0);
    73009         $6 = $562;
    73010         continue L3;
    73011        }
    73012       }
    73013      }
    73014     }
    73015     $563 = $5;
    73016     $564 = $8;
    73017     $565 = ($563|0)<($564|0);
    73018     if (!($565)) {
    73019      continue L3;
    73020     }
    73021     $566 = $2;
    73022     $567 = $6;
    73023     $568 = ((($567)) + 8|0);
    73024     $6 = $568;
    73025     $569 = $56;
    73026     ;HEAP32[$$byval_copy10>>2]=HEAP32[$567>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$567+4>>2]|0;
    73027     $570 = (_mrb_data_get_ptr($566,$$byval_copy10,$569)|0);
    73028     $571 = $55;
    73029     HEAP32[$571>>2] = $570;
    73030     $572 = $5;
    73031     $573 = (($572) + 1)|0;
    73032     $5 = $573;
    73033     continue L3;
    73034     break;
    73035    }
    73036    case 38:  {
    73037     $arglist_current48 = HEAP32[$7>>2]|0;
    73038     $574 = $arglist_current48;
    73039     $575 = ((0) + 4|0);
    73040     $expanded123 = $575;
    73041     $expanded122 = (($expanded123) - 1)|0;
    73042     $576 = (($574) + ($expanded122))|0;
    73043     $577 = ((0) + 4|0);
    73044     $expanded127 = $577;
    73045     $expanded126 = (($expanded127) - 1)|0;
    73046     $expanded125 = $expanded126 ^ -1;
    73047     $578 = $576 & $expanded125;
    73048     $579 = $578;
    73049     $580 = HEAP32[$579>>2]|0;
    73050     $arglist_next49 = ((($579)) + 4|0);
    73051     HEAP32[$7>>2] = $arglist_next49;
    73052     $61 = $580;
    73053     $581 = $61;
    73054     $59 = $581;
    73055     $582 = $2;
    73056     $583 = ((($582)) + 12|0);
    73057     $584 = HEAP32[$583>>2]|0;
    73058     $585 = ((($584)) + 16|0);
    73059     $586 = HEAP32[$585>>2]|0;
    73060     $587 = ((($586)) + 36|0);
    73061     $588 = HEAP32[$587>>2]|0;
    73062     $589 = ($588|0)<(0);
    73063     $590 = $2;
    73064     $591 = ((($590)) + 12|0);
    73065     $592 = HEAP32[$591>>2]|0;
    73066     $593 = ((($592)) + 4|0);
    73067     $594 = HEAP32[$593>>2]|0;
    73068     if ($589) {
    73069      $595 = ((($594)) + 16|0);
    73070      $60 = $595;
    73071     } else {
    73072      $596 = $2;
    73073      $597 = ((($596)) + 12|0);
    73074      $598 = HEAP32[$597>>2]|0;
    73075      $599 = ((($598)) + 16|0);
    73076      $600 = HEAP32[$599>>2]|0;
    73077      $601 = ((($600)) + 36|0);
    73078      $602 = HEAP32[$601>>2]|0;
    73079      $603 = (($594) + ($602<<3)|0);
    73080      $604 = ((($603)) + 8|0);
    73081      $60 = $604;
    73082     }
    73083     $605 = $59;
    73084     $606 = $60;
    73085     ;HEAP32[$605>>2]=HEAP32[$606>>2]|0;HEAP32[$605+4>>2]=HEAP32[$606+4>>2]|0;
    73086     continue L3;
    73087     break;
    73088    }
    73089    case 124:  {
    73090     $9 = 1;
    73091     continue L3;
    73092     break;
    73093    }
    73094    case 63:  {
    73095     $arglist_current51 = HEAP32[$7>>2]|0;
    73096     $607 = $arglist_current51;
    73097     $608 = ((0) + 4|0);
    73098     $expanded130 = $608;
    73099     $expanded129 = (($expanded130) - 1)|0;
    73100     $609 = (($607) + ($expanded129))|0;
    73101     $610 = ((0) + 4|0);
    73102     $expanded134 = $610;
    73103     $expanded133 = (($expanded134) - 1)|0;
    73104     $expanded132 = $expanded133 ^ -1;
    73105     $611 = $609 & $expanded132;
    73106     $612 = $611;
    73107     $613 = HEAP32[$612>>2]|0;
    73108     $arglist_next52 = ((($612)) + 4|0);
    73109     HEAP32[$7>>2] = $arglist_next52;
    73110     $63 = $613;
    73111     $614 = $63;
    73112     $62 = $614;
    73113     $615 = $10;
    73114     $616 = $62;
    73115     HEAP8[$616>>0] = $615;
    73116     continue L3;
    73117     break;
    73118    }
    73119    case 42:  {
    73120     $arglist_current54 = HEAP32[$7>>2]|0;
    73121     $617 = $arglist_current54;
    73122     $618 = ((0) + 4|0);
    73123     $expanded137 = $618;
    73124     $expanded136 = (($expanded137) - 1)|0;
    73125     $619 = (($617) + ($expanded136))|0;
    73126     $620 = ((0) + 4|0);
    73127     $expanded141 = $620;
    73128     $expanded140 = (($expanded141) - 1)|0;
    73129     $expanded139 = $expanded140 ^ -1;
    73130     $621 = $619 & $expanded139;
    73131     $622 = $621;
    73132     $623 = HEAP32[$622>>2]|0;
    73133     $arglist_next55 = ((($622)) + 4|0);
    73134     HEAP32[$7>>2] = $arglist_next55;
    73135     $66 = $623;
    73136     $624 = $66;
    73137     $64 = $624;
    73138     $arglist_current57 = HEAP32[$7>>2]|0;
    73139     $625 = $arglist_current57;
    73140     $626 = ((0) + 4|0);
    73141     $expanded144 = $626;
    73142     $expanded143 = (($expanded144) - 1)|0;
    73143     $627 = (($625) + ($expanded143))|0;
    73144     $628 = ((0) + 4|0);
    73145     $expanded148 = $628;
    73146     $expanded147 = (($expanded148) - 1)|0;
    73147     $expanded146 = $expanded147 ^ -1;
    73148     $629 = $627 & $expanded146;
    73149     $630 = $629;
    73150     $631 = HEAP32[$630>>2]|0;
    73151     $arglist_next58 = ((($630)) + 4|0);
    73152     HEAP32[$7>>2] = $arglist_next58;
    73153     $67 = $631;
    73154     $632 = $67;
    73155     $65 = $632;
    73156     $633 = $8;
    73157     $634 = $5;
    73158     $635 = ($633|0)>($634|0);
    73159     if (!($635)) {
    73160      $650 = $65;
    73161      HEAP32[$650>>2] = 0;
    73162      $651 = $64;
    73163      HEAP32[$651>>2] = 0;
    73164      continue L3;
    73165     }
    73166     $636 = $8;
    73167     $637 = $5;
    73168     $638 = (($636) - ($637))|0;
    73169     $639 = $65;
    73170     HEAP32[$639>>2] = $638;
    73171     $640 = $65;
    73172     $641 = HEAP32[$640>>2]|0;
    73173     $642 = ($641|0)>(0);
    73174     if ($642) {
    73175      $643 = $6;
    73176      $644 = $64;
    73177      HEAP32[$644>>2] = $643;
    73178     }
    73179     $645 = $8;
    73180     $5 = $645;
    73181     $646 = $65;
    73182     $647 = HEAP32[$646>>2]|0;
    73183     $648 = $6;
    73184     $649 = (($648) + ($647<<3)|0);
    73185     $6 = $649;
    73186     continue L3;
    73187     break;
    73188    }
    73189    default: {
    73190     label = 97;
    73191     break L3;
    73192    }
    73193    }
    73194   } while(0);
    73195  }
    73196  if ((label|0) == 8) {
    73197   $108 = $2;
    73198   $109 = $2;
    73199   $110 = (_mrb_class_get($109,69160)|0);
    73200   _mrb_raise($108,$110,65128);
    73201   // unreachable;
    73202  }
    73203  else if ((label|0) == 14) {
    73204   $144 = $2;
    73205   $145 = $2;
    73206   $146 = (_mrb_class_get($145,69204)|0);
    73207   ;HEAP8[$vararg_buffer>>0]=HEAP8[$16>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$16+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$16+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$16+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$16+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$16+7>>0]|0;
    73208   _mrb_raisef($144,$146,65154,$vararg_buffer);
    73209   // unreachable;
    73210  }
    73211  else if ((label|0) == 70) {
    73212   $470 = $2;
    73213   $471 = $2;
    73214   $472 = (_mrb_class_get($471,65177)|0);
    73215   _mrb_raise($470,$472,65188);
    73216   // unreachable;
    73217  }
    73218  else if ((label|0) == 72) {
    73219   $476 = $2;
    73220   $477 = $2;
    73221   $478 = (_mrb_class_get($477,69204)|0);
    73222   _mrb_raise($476,$478,65210);
    73223   // unreachable;
    73224  }
    73225  else if ((label|0) == 97) {
    73226   $652 = $2;
    73227   $653 = $2;
    73228   $654 = (_mrb_class_get($653,69160)|0);
    73229   $655 = $2;
    73230   _mrb_str_new($68,$655,$4,1);
    73231   ;HEAP8[$vararg_buffer59>>0]=HEAP8[$68>>0]|0;HEAP8[$vararg_buffer59+1>>0]=HEAP8[$68+1>>0]|0;HEAP8[$vararg_buffer59+2>>0]=HEAP8[$68+2>>0]|0;HEAP8[$vararg_buffer59+3>>0]=HEAP8[$68+3>>0]|0;HEAP8[$vararg_buffer59+4>>0]=HEAP8[$68+4>>0]|0;HEAP8[$vararg_buffer59+5>>0]=HEAP8[$68+5>>0]|0;HEAP8[$vararg_buffer59+6>>0]=HEAP8[$68+6>>0]|0;HEAP8[$vararg_buffer59+7>>0]=HEAP8[$68+7>>0]|0;
    73232   _mrb_raisef($652,$654,65256,$vararg_buffer59);
    73233   // unreachable;
    73234  }
    73235  else if ((label|0) == 98) {
    73236   $656 = ($101<<24>>24)!=(0);
    73237   if ($656) {
    73238    $663 = $5;
    73239    STACKTOP = sp;return ($663|0);
    73240   }
    73241   $657 = $8;
    73242   $658 = $5;
    73243   $659 = ($657|0)>($658|0);
    73244   if ($659) {
    73245    $660 = $2;
    73246    $661 = $2;
    73247    $662 = (_mrb_class_get($661,69160)|0);
    73248    _mrb_raise($660,$662,65128);
    73249    // unreachable;
    73250   } else {
    73251    $663 = $5;
    73252    STACKTOP = sp;return ($663|0);
    73253   }
    73254  }
    73255  return (0)|0;
    73256 }
    73257 function _to_str($0,$1,$2) {
    73258  $0 = $0|0;
    73259  $1 = $1|0;
    73260  $2 = $2|0;
    73261  var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    73262  sp = STACKTOP;
    73263  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    73264  $$byval_copy = sp + 8|0;
    73265  $3 = $1;
    73266  $4 = $3;
    73267  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    73268  _check_type($0,$4,$$byval_copy,16,65324,65331);
    73269  STACKTOP = sp;return;
    73270 }
    73271 function _to_ary($0,$1,$2) {
    73272  $0 = $0|0;
    73273  $1 = $1|0;
    73274  $2 = $2|0;
    73275  var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    73276  sp = STACKTOP;
    73277  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    73278  $$byval_copy = sp + 8|0;
    73279  $3 = $1;
    73280  $4 = $3;
    73281  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    73282  _check_type($0,$4,$$byval_copy,14,65311,65317);
    73283  STACKTOP = sp;return;
    73284 }
    73285 function _to_hash($0,$1,$2) {
    73286  $0 = $0|0;
    73287  $1 = $1|0;
    73288  $2 = $2|0;
    73289  var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    73290  sp = STACKTOP;
    73291  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    73292  $$byval_copy = sp + 8|0;
    73293  $3 = $1;
    73294  $4 = $3;
    73295  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    73296  _check_type($0,$4,$$byval_copy,15,65286,65291);
    73297  STACKTOP = sp;return;
    73298 }
    73299 function _to_sym($0,$1) {
    73300  $0 = $0|0;
    73301  $1 = $1|0;
    73302  var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    73303  var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
    73304  sp = STACKTOP;
    73305  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    73306  $$byval_copy4 = sp + 56|0;
    73307  $$byval_copy3 = sp + 48|0;
    73308  $$byval_copy = sp + 40|0;
    73309  $vararg_buffer1 = sp + 8|0;
    73310  $vararg_buffer = sp;
    73311  $4 = sp + 24|0;
    73312  $5 = sp + 16|0;
    73313  $3 = $0;
    73314  $6 = ((($1)) + 4|0);
    73315  $7 = HEAP32[$6>>2]|0;
    73316  $8 = ($7|0)==(4);
    73317  if ($8) {
    73318   $9 = HEAP32[$1>>2]|0;
    73319   $2 = $9;
    73320   $19 = $2;
    73321   STACKTOP = sp;return ($19|0);
    73322  }
    73323  $10 = ((($1)) + 4|0);
    73324  $11 = HEAP32[$10>>2]|0;
    73325  $12 = ($11|0)==(16);
    73326  $13 = $3;
    73327  if (!($12)) {
    73328   ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;
    73329   _mrb_funcall($5,$13,$$byval_copy4,69281,0,$vararg_buffer);
    73330   $16 = $3;
    73331   $17 = $3;
    73332   $18 = (_mrb_class_get($17,69204)|0);
    73333   ;HEAP8[$vararg_buffer1>>0]=HEAP8[$5>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$5+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$5+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$5+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$5+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$5+7>>0]|0;
    73334   _mrb_raisef($16,$18,68731,$vararg_buffer1);
    73335   // unreachable;
    73336  }
    73337  $14 = $3;
    73338  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    73339  _to_str($4,$14,$$byval_copy);
    73340  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    73341  $15 = (_mrb_intern_str($13,$$byval_copy3)|0);
    73342  $2 = $15;
    73343  $19 = $2;
    73344  STACKTOP = sp;return ($19|0);
    73345 }
    73346 function _check_type($0,$1,$2,$3,$4,$5) {
    73347  $0 = $0|0;
    73348  $1 = $1|0;
    73349  $2 = $2|0;
    73350  $3 = $3|0;
    73351  $4 = $4|0;
    73352  $5 = $5|0;
    73353  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $6 = 0, $7 = 0;
    73354  var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    73355  sp = STACKTOP;
    73356  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    73357  $$byval_copy = sp + 48|0;
    73358  $vararg_buffer = sp;
    73359  $10 = sp + 24|0;
    73360  $11 = sp + 16|0;
    73361  $12 = sp + 8|0;
    73362  $6 = $1;
    73363  $7 = $3;
    73364  $8 = $4;
    73365  $9 = $5;
    73366  $13 = $6;
    73367  $14 = $7;
    73368  $15 = $8;
    73369  $16 = $9;
    73370  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    73371  _mrb_check_convert_type($11,$13,$$byval_copy,$14,$15,$16);
    73372  ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
    73373  $17 = ((($10)) + 4|0);
    73374  $18 = HEAP32[$17>>2]|0;
    73375  $19 = ($18|0)==(0);
    73376  if (!($19)) {
    73377   ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
    73378   STACKTOP = sp;return;
    73379  }
    73380  $20 = HEAP32[$10>>2]|0;
    73381  $21 = ($20|0)!=(0);
    73382  if ($21) {
    73383   ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
    73384   STACKTOP = sp;return;
    73385  } else {
    73386   $22 = $6;
    73387   $23 = $6;
    73388   $24 = (_mrb_class_get($23,69204)|0);
    73389   $25 = $6;
    73390   $26 = $8;
    73391   _mrb_str_new_cstr($12,$25,$26);
    73392   ;HEAP8[$vararg_buffer>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$12+7>>0]|0;
    73393   _mrb_raisef($22,$24,65299,$vararg_buffer);
    73394   // unreachable;
    73395  }
    73396 }
    73397 function _mrb_include_module($0,$1,$2) {
    73398  $0 = $0|0;
    73399  $1 = $1|0;
    73400  $2 = $2|0;
    73401  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    73402  sp = STACKTOP;
    73403  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    73404  $3 = $0;
    73405  $4 = $1;
    73406  $5 = $2;
    73407  $7 = $3;
    73408  $8 = $4;
    73409  $9 = $4;
    73410  $10 = (_find_origin($9)|0);
    73411  $11 = $5;
    73412  $12 = (_include_module_at($7,$8,$10,$11,1)|0);
    73413  $6 = $12;
    73414  $13 = $6;
    73415  $14 = ($13|0)<(0);
    73416  if ($14) {
    73417   $15 = $3;
    73418   $16 = $3;
    73419   $17 = (_mrb_class_get($16,69160)|0);
    73420   _mrb_raise($15,$17,65338);
    73421   // unreachable;
    73422  } else {
    73423   STACKTOP = sp;return;
    73424  }
    73425 }
    73426 function _find_origin($0) {
    73427  $0 = $0|0;
    73428  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    73429  var sp = 0;
    73430  sp = STACKTOP;
    73431  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    73432  $1 = $0;
    73433  $2 = $1;
    73434  $3 = HEAP32[$2>>2]|0;
    73435  $4 = $3 >>> 11;
    73436  $5 = $4 & 524288;
    73437  $6 = ($5|0)!=(0);
    73438  if (!($6)) {
    73439   $19 = $1;
    73440   STACKTOP = sp;return ($19|0);
    73441  }
    73442  $7 = $1;
    73443  $8 = ((($7)) + 20|0);
    73444  $9 = HEAP32[$8>>2]|0;
    73445  $1 = $9;
    73446  while(1) {
    73447   $10 = $1;
    73448   $11 = HEAP32[$10>>2]|0;
    73449   $12 = $11 >>> 11;
    73450   $13 = $12 & 1048576;
    73451   $14 = ($13|0)!=(0);
    73452   $15 = $14 ^ 1;
    73453   if (!($15)) {
    73454    break;
    73455   }
    73456   $16 = $1;
    73457   $17 = ((($16)) + 20|0);
    73458   $18 = HEAP32[$17>>2]|0;
    73459   $1 = $18;
    73460  }
    73461  $19 = $1;
    73462  STACKTOP = sp;return ($19|0);
    73463 }
    73464 function _include_module_at($0,$1,$2,$3,$4) {
    73465  $0 = $0|0;
    73466  $1 = $1|0;
    73467  $2 = $2|0;
    73468  $3 = $3|0;
    73469  $4 = $4|0;
    73470  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    73471  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    73472  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
    73473  var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    73474  sp = STACKTOP;
    73475  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    73476  $6 = $0;
    73477  $7 = $1;
    73478  $8 = $2;
    73479  $9 = $3;
    73480  $10 = $4;
    73481  $15 = $7;
    73482  $16 = (_find_origin($15)|0);
    73483  $17 = ((($16)) + 16|0);
    73484  $18 = HEAP32[$17>>2]|0;
    73485  $13 = $18;
    73486  L1: while(1) {
    73487   $19 = $9;
    73488   $20 = ($19|0)!=(0|0);
    73489   if (!($20)) {
    73490    label = 19;
    73491    break;
    73492   }
    73493   $14 = 0;
    73494   $21 = $9;
    73495   $22 = HEAP32[$21>>2]|0;
    73496   $23 = $22 >>> 11;
    73497   $24 = $23 & 524288;
    73498   $25 = ($24|0)!=(0);
    73499   do {
    73500    if (!($25)) {
    73501     $26 = $13;
    73502     $27 = ($26|0)!=(0|0);
    73503     if ($27) {
    73504      $28 = $13;
    73505      $29 = $9;
    73506      $30 = ((($29)) + 16|0);
    73507      $31 = HEAP32[$30>>2]|0;
    73508      $32 = ($28|0)==($31|0);
    73509      if ($32) {
    73510       label = 6;
    73511       break L1;
    73512      }
    73513     }
    73514     $33 = $7;
    73515     $34 = ((($33)) + 20|0);
    73516     $35 = HEAP32[$34>>2]|0;
    73517     $11 = $35;
    73518     while(1) {
    73519      $36 = $11;
    73520      $37 = ($36|0)!=(0|0);
    73521      if (!($37)) {
    73522       label = 17;
    73523       break;
    73524      }
    73525      $38 = $11;
    73526      $39 = HEAP32[$38>>2]|0;
    73527      $40 = $39 & 255;
    73528      $41 = ($40|0)==(11);
    73529      $42 = $11;
    73530      if ($41) {
    73531       $43 = ((($42)) + 16|0);
    73532       $44 = HEAP32[$43>>2]|0;
    73533       $45 = $9;
    73534       $46 = ((($45)) + 16|0);
    73535       $47 = HEAP32[$46>>2]|0;
    73536       $48 = ($44|0)==($47|0);
    73537       if ($48) {
    73538        break;
    73539       }
    73540      } else {
    73541       $52 = HEAP32[$42>>2]|0;
    73542       $53 = $52 & 255;
    73543       $54 = ($53|0)==(9);
    73544       if ($54) {
    73545        $55 = $10;
    73546        $56 = ($55|0)!=(0);
    73547        if (!($56)) {
    73548         label = 17;
    73549         break;
    73550        }
    73551        $14 = 1;
    73552       }
    73553      }
    73554      $57 = $11;
    73555      $58 = ((($57)) + 20|0);
    73556      $59 = HEAP32[$58>>2]|0;
    73557      $11 = $59;
    73558     }
    73559     if ((label|0) == 17) {
    73560      label = 0;
    73561      $60 = $6;
    73562      $61 = $9;
    73563      $62 = $8;
    73564      $63 = ((($62)) + 20|0);
    73565      $64 = HEAP32[$63>>2]|0;
    73566      $65 = (_include_class_new($60,$61,$64)|0);
    73567      $12 = $65;
    73568      $66 = $12;
    73569      $67 = $8;
    73570      $68 = ((($67)) + 20|0);
    73571      HEAP32[$68>>2] = $66;
    73572      $69 = $6;
    73573      $70 = $8;
    73574      $71 = $8;
    73575      $72 = ((($71)) + 20|0);
    73576      $73 = HEAP32[$72>>2]|0;
    73577      _mrb_field_write_barrier($69,$70,$73);
    73578      $74 = $12;
    73579      $8 = $74;
    73580      break;
    73581     }
    73582     $49 = $14;
    73583     $50 = ($49|0)!=(0);
    73584     if (!($50)) {
    73585      $51 = $11;
    73586      $8 = $51;
    73587     }
    73588    }
    73589   } while(0);
    73590   $75 = $9;
    73591   $76 = ((($75)) + 20|0);
    73592   $77 = HEAP32[$76>>2]|0;
    73593   $9 = $77;
    73594  }
    73595  if ((label|0) == 6) {
    73596   $5 = -1;
    73597   $78 = $5;
    73598   STACKTOP = sp;return ($78|0);
    73599  }
    73600  else if ((label|0) == 19) {
    73601   $5 = 0;
    73602   $78 = $5;
    73603   STACKTOP = sp;return ($78|0);
    73604  }
    73605  return (0)|0;
    73606 }
    73607 function _include_class_new($0,$1,$2) {
    73608  $0 = $0|0;
    73609  $1 = $1|0;
    73610  $2 = $2|0;
    73611  var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    73612  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    73613  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    73614  var sp = 0;
    73615  sp = STACKTOP;
    73616  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    73617  $3 = $0;
    73618  $4 = $1;
    73619  $5 = $2;
    73620  $7 = $3;
    73621  $8 = $3;
    73622  $9 = ((($8)) + 36|0);
    73623  $10 = HEAP32[$9>>2]|0;
    73624  $11 = (_mrb_obj_alloc($7,11,$10)|0);
    73625  $6 = $11;
    73626  $12 = $4;
    73627  $13 = HEAP32[$12>>2]|0;
    73628  $14 = $13 & 255;
    73629  $15 = ($14|0)==(11);
    73630  if ($15) {
    73631   $16 = $4;
    73632   $17 = ((($16)) + 4|0);
    73633   $18 = HEAP32[$17>>2]|0;
    73634   $4 = $18;
    73635  }
    73636  $19 = $4;
    73637  $20 = HEAP32[$19>>2]|0;
    73638  $21 = $20 >>> 11;
    73639  $22 = $21 & 524288;
    73640  $23 = ($22|0)!=(0);
    73641  L4: do {
    73642   if ($23) {
    73643    $24 = $4;
    73644    $25 = ((($24)) + 20|0);
    73645    $26 = HEAP32[$25>>2]|0;
    73646    $4 = $26;
    73647    while(1) {
    73648     $27 = $4;
    73649     $28 = HEAP32[$27>>2]|0;
    73650     $29 = $28 >>> 11;
    73651     $30 = $29 & 1048576;
    73652     $31 = ($30|0)!=(0);
    73653     $32 = $31 ^ 1;
    73654     if (!($32)) {
    73655      break L4;
    73656     }
    73657     $33 = $4;
    73658     $34 = ((($33)) + 20|0);
    73659     $35 = HEAP32[$34>>2]|0;
    73660     $4 = $35;
    73661    }
    73662   }
    73663  } while(0);
    73664  $36 = $4;
    73665  $37 = ((($36)) + 12|0);
    73666  $38 = HEAP32[$37>>2]|0;
    73667  $39 = $6;
    73668  $40 = ((($39)) + 12|0);
    73669  HEAP32[$40>>2] = $38;
    73670  $41 = $4;
    73671  $42 = ((($41)) + 16|0);
    73672  $43 = HEAP32[$42>>2]|0;
    73673  $44 = $6;
    73674  $45 = ((($44)) + 16|0);
    73675  HEAP32[$45>>2] = $43;
    73676  $46 = $5;
    73677  $47 = $6;
    73678  $48 = ((($47)) + 20|0);
    73679  HEAP32[$48>>2] = $46;
    73680  $49 = $4;
    73681  $50 = HEAP32[$49>>2]|0;
    73682  $51 = $50 & 255;
    73683  $52 = ($51|0)==(11);
    73684  $53 = $4;
    73685  if ($52) {
    73686   $54 = ((($53)) + 4|0);
    73687   $55 = HEAP32[$54>>2]|0;
    73688   $56 = $6;
    73689   $$sink = $55;$$sink2 = $56;
    73690   $58 = ((($$sink2)) + 4|0);
    73691   HEAP32[$58>>2] = $$sink;
    73692   $59 = $6;
    73693   STACKTOP = sp;return ($59|0);
    73694  } else {
    73695   $57 = $6;
    73696   $$sink = $53;$$sink2 = $57;
    73697   $58 = ((($$sink2)) + 4|0);
    73698   HEAP32[$58>>2] = $$sink;
    73699   $59 = $6;
    73700   STACKTOP = sp;return ($59|0);
    73701  }
    73702  return (0)|0;
    73703 }
    73704 function _mrb_prepend_module($0,$1,$2) {
    73705  $0 = $0|0;
    73706  $1 = $1|0;
    73707  $2 = $2|0;
    73708  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    73709  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    73710  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0;
    73711  var $9 = 0, label = 0, sp = 0;
    73712  sp = STACKTOP;
    73713  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    73714  $3 = $0;
    73715  $4 = $1;
    73716  $5 = $2;
    73717  $7 = 0;
    73718  $8 = $4;
    73719  $9 = HEAP32[$8>>2]|0;
    73720  $10 = $9 >>> 11;
    73721  $11 = $10 & 524288;
    73722  $12 = ($11|0)!=(0);
    73723  if (!($12)) {
    73724   $13 = $3;
    73725   $14 = $4;
    73726   $15 = (_mrb_obj_alloc($13,11,$14)|0);
    73727   $6 = $15;
    73728   $16 = $6;
    73729   $17 = HEAP32[$16>>2]|0;
    73730   $18 = $17 >>> 11;
    73731   $19 = $18 | 1048576;
    73732   $20 = HEAP32[$16>>2]|0;
    73733   $21 = $19 & 2097151;
    73734   $22 = $21 << 11;
    73735   $23 = $20 & 2047;
    73736   $24 = $23 | $22;
    73737   HEAP32[$16>>2] = $24;
    73738   $25 = $4;
    73739   $26 = ((($25)) + 20|0);
    73740   $27 = HEAP32[$26>>2]|0;
    73741   $28 = $6;
    73742   $29 = ((($28)) + 20|0);
    73743   HEAP32[$29>>2] = $27;
    73744   $30 = $6;
    73745   $31 = $4;
    73746   $32 = ((($31)) + 20|0);
    73747   HEAP32[$32>>2] = $30;
    73748   $33 = $4;
    73749   $34 = ((($33)) + 16|0);
    73750   $35 = HEAP32[$34>>2]|0;
    73751   $36 = $6;
    73752   $37 = ((($36)) + 16|0);
    73753   HEAP32[$37>>2] = $35;
    73754   $38 = $3;
    73755   $39 = (_kh_init_mt($38)|0);
    73756   $40 = $4;
    73757   $41 = ((($40)) + 16|0);
    73758   HEAP32[$41>>2] = $39;
    73759   $42 = $3;
    73760   $43 = $4;
    73761   $44 = $6;
    73762   _mrb_field_write_barrier($42,$43,$44);
    73763   $45 = $4;
    73764   $46 = HEAP32[$45>>2]|0;
    73765   $47 = $46 >>> 11;
    73766   $48 = $47 | 524288;
    73767   $49 = HEAP32[$45>>2]|0;
    73768   $50 = $48 & 2097151;
    73769   $51 = $50 << 11;
    73770   $52 = $49 & 2047;
    73771   $53 = $52 | $51;
    73772   HEAP32[$45>>2] = $53;
    73773  }
    73774  $54 = $3;
    73775  $55 = $4;
    73776  $56 = $4;
    73777  $57 = $5;
    73778  $58 = (_include_module_at($54,$55,$56,$57,0)|0);
    73779  $7 = $58;
    73780  $59 = $7;
    73781  $60 = ($59|0)<(0);
    73782  if ($60) {
    73783   $61 = $3;
    73784   $62 = $3;
    73785   $63 = (_mrb_class_get($62,69160)|0);
    73786   _mrb_raise($61,$63,65362);
    73787   // unreachable;
    73788  } else {
    73789   STACKTOP = sp;return;
    73790  }
    73791 }
    73792 function _mrb_singleton_class($0,$1,$2) {
    73793  $0 = $0|0;
    73794  $1 = $1|0;
    73795  $2 = $2|0;
    73796  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    73797  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    73798  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    73799  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    73800  sp = STACKTOP;
    73801  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    73802  $$byval_copy = sp + 16|0;
    73803  $5 = sp;
    73804  $3 = $1;
    73805  $6 = ((($2)) + 4|0);
    73806  $7 = HEAP32[$6>>2]|0;
    73807  switch ($7|0) {
    73808  case 0:  {
    73809   $8 = ((($2)) + 4|0);
    73810   $9 = HEAP32[$8>>2]|0;
    73811   $10 = ($9|0)==(0);
    73812   if ($10) {
    73813    $11 = HEAP32[$2>>2]|0;
    73814    $12 = ($11|0)!=(0);
    73815    if (!($12)) {
    73816     $13 = $3;
    73817     $14 = ((($13)) + 76|0);
    73818     $15 = HEAP32[$14>>2]|0;
    73819     _mrb_obj_value_661($0,$15);
    73820     STACKTOP = sp;return;
    73821    }
    73822   }
    73823   $16 = $3;
    73824   $17 = ((($16)) + 72|0);
    73825   $18 = HEAP32[$17>>2]|0;
    73826   _mrb_obj_value_661($0,$18);
    73827   STACKTOP = sp;return;
    73828   break;
    73829  }
    73830  case 2:  {
    73831   $19 = $3;
    73832   $20 = ((($19)) + 68|0);
    73833   $21 = HEAP32[$20>>2]|0;
    73834   _mrb_obj_value_661($0,$21);
    73835   STACKTOP = sp;return;
    73836   break;
    73837  }
    73838  case 7:  {
    73839   $22 = $3;
    73840   $23 = ((($22)) + 32|0);
    73841   $24 = HEAP32[$23>>2]|0;
    73842   _mrb_obj_value_661($0,$24);
    73843   STACKTOP = sp;return;
    73844   break;
    73845  }
    73846  case 6: case 3: case 4:  {
    73847   $25 = $3;
    73848   $26 = $3;
    73849   $27 = (_mrb_class_get($26,69204)|0);
    73850   _mrb_raise($25,$27,65386);
    73851   // unreachable;
    73852   break;
    73853  }
    73854  default: {
    73855   $28 = HEAP32[$2>>2]|0;
    73856   $4 = $28;
    73857   $29 = $3;
    73858   $30 = $4;
    73859   _prepare_singleton_class($29,$30);
    73860   $31 = $3;
    73861   $32 = ((($31)) + 12|0);
    73862   $33 = HEAP32[$32>>2]|0;
    73863   $34 = ($33|0)!=(0|0);
    73864   if ($34) {
    73865    $35 = $3;
    73866    $36 = ((($35)) + 12|0);
    73867    $37 = HEAP32[$36>>2]|0;
    73868    $38 = ((($37)) + 16|0);
    73869    $39 = HEAP32[$38>>2]|0;
    73870    $40 = ($39|0)!=(0|0);
    73871    if ($40) {
    73872     $41 = $3;
    73873     $42 = ((($41)) + 12|0);
    73874     $43 = HEAP32[$42>>2]|0;
    73875     $44 = ((($43)) + 16|0);
    73876     $45 = HEAP32[$44>>2]|0;
    73877     $46 = ((($45)) + 44|0);
    73878     $47 = HEAP32[$46>>2]|0;
    73879     $48 = ($47|0)!=(0|0);
    73880     if ($48) {
    73881      $49 = $3;
    73882      $50 = $4;
    73883      $51 = ((($50)) + 4|0);
    73884      $52 = HEAP32[$51>>2]|0;
    73885      $53 = $3;
    73886      $54 = (_mrb_intern_static($53,64860,9)|0);
    73887      $55 = $3;
    73888      $56 = ((($55)) + 12|0);
    73889      $57 = HEAP32[$56>>2]|0;
    73890      $58 = ((($57)) + 16|0);
    73891      $59 = HEAP32[$58>>2]|0;
    73892      $60 = ((($59)) + 44|0);
    73893      $61 = HEAP32[$60>>2]|0;
    73894      _mrb_obj_value_661($5,$61);
    73895      ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    73896      _mrb_obj_iv_set($49,$52,$54,$$byval_copy);
    73897     }
    73898    }
    73899   }
    73900   $62 = $4;
    73901   $63 = ((($62)) + 4|0);
    73902   $64 = HEAP32[$63>>2]|0;
    73903   _mrb_obj_value_661($0,$64);
    73904   STACKTOP = sp;return;
    73905  }
    73906  }
    73907 }
    73908 function _mrb_define_singleton_method($0,$1,$2,$3,$4) {
    73909  $0 = $0|0;
    73910  $1 = $1|0;
    73911  $2 = $2|0;
    73912  $3 = $3|0;
    73913  $4 = $4|0;
    73914  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    73915  sp = STACKTOP;
    73916  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    73917  $5 = $0;
    73918  $6 = $1;
    73919  $7 = $2;
    73920  $8 = $3;
    73921  $9 = $4;
    73922  $10 = $5;
    73923  $11 = $6;
    73924  _prepare_singleton_class($10,$11);
    73925  $12 = $5;
    73926  $13 = $6;
    73927  $14 = ((($13)) + 4|0);
    73928  $15 = HEAP32[$14>>2]|0;
    73929  $16 = $5;
    73930  $17 = $7;
    73931  $18 = (_mrb_intern_cstr($16,$17)|0);
    73932  $19 = $8;
    73933  $20 = $9;
    73934  _mrb_define_method_id($12,$15,$18,$19,$20);
    73935  STACKTOP = sp;return;
    73936 }
    73937 function _mrb_define_class_method($0,$1,$2,$3,$4) {
    73938  $0 = $0|0;
    73939  $1 = $1|0;
    73940  $2 = $2|0;
    73941  $3 = $3|0;
    73942  $4 = $4|0;
    73943  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    73944  sp = STACKTOP;
    73945  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    73946  $5 = $0;
    73947  $6 = $1;
    73948  $7 = $2;
    73949  $8 = $3;
    73950  $9 = $4;
    73951  $10 = $5;
    73952  $11 = $6;
    73953  $12 = $7;
    73954  $13 = $8;
    73955  $14 = $9;
    73956  _mrb_define_singleton_method($10,$11,$12,$13,$14);
    73957  STACKTOP = sp;return;
    73958 }
    73959 function _mrb_method_search_vm($0,$1,$2) {
    73960  $0 = $0|0;
    73961  $1 = $1|0;
    73962  $2 = $2|0;
    73963  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    73964  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    73965  var label = 0, sp = 0;
    73966  sp = STACKTOP;
    73967  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    73968  $4 = $0;
    73969  $5 = $1;
    73970  $6 = $2;
    73971  $11 = $5;
    73972  $12 = HEAP32[$11>>2]|0;
    73973  $9 = $12;
    73974  while(1) {
    73975   $13 = $9;
    73976   $14 = ($13|0)!=(0|0);
    73977   if (!($14)) {
    73978    break;
    73979   }
    73980   $15 = $9;
    73981   $16 = ((($15)) + 16|0);
    73982   $17 = HEAP32[$16>>2]|0;
    73983   $10 = $17;
    73984   $18 = $10;
    73985   $19 = ($18|0)!=(0|0);
    73986   if ($19) {
    73987    $20 = $4;
    73988    $21 = $10;
    73989    $22 = $6;
    73990    $23 = (_kh_get_mt($20,$21,$22)|0);
    73991    $7 = $23;
    73992    $24 = $7;
    73993    $25 = $10;
    73994    $26 = HEAP32[$25>>2]|0;
    73995    $27 = ($24|0)!=($26|0);
    73996    if ($27) {
    73997     label = 5;
    73998     break;
    73999    }
    74000   }
    74001   $39 = $9;
    74002   $40 = ((($39)) + 20|0);
    74003   $41 = HEAP32[$40>>2]|0;
    74004   $9 = $41;
    74005  }
    74006  if ((label|0) == 5) {
    74007   $28 = $10;
    74008   $29 = ((($28)) + 20|0);
    74009   $30 = HEAP32[$29>>2]|0;
    74010   $31 = $7;
    74011   $32 = (($30) + ($31<<2)|0);
    74012   $33 = HEAP32[$32>>2]|0;
    74013   $8 = $33;
    74014   $34 = $8;
    74015   $35 = ($34|0)!=(0|0);
    74016   if ($35) {
    74017    $36 = $9;
    74018    $37 = $5;
    74019    HEAP32[$37>>2] = $36;
    74020    $38 = $8;
    74021    $3 = $38;
    74022    $42 = $3;
    74023    STACKTOP = sp;return ($42|0);
    74024   }
    74025  }
    74026  $3 = 0;
    74027  $42 = $3;
    74028  STACKTOP = sp;return ($42|0);
    74029 }
    74030 function _mrb_method_search($0,$1,$2) {
    74031  $0 = $0|0;
    74032  $1 = $1|0;
    74033  $2 = $2|0;
    74034  var $$byval_copy = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    74035  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0;
    74036  var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
    74037  sp = STACKTOP;
    74038  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    74039  $$byval_copy4 = sp + 88|0;
    74040  $$byval_copy = sp + 80|0;
    74041  $vararg_buffer1 = sp + 8|0;
    74042  $vararg_buffer = sp;
    74043  $4 = sp + 72|0;
    74044  $7 = sp + 56|0;
    74045  $8 = sp + 48|0;
    74046  $9 = sp + 40|0;
    74047  $10 = sp + 32|0;
    74048  $11 = sp + 24|0;
    74049  $3 = $0;
    74050  HEAP32[$4>>2] = $1;
    74051  $5 = $2;
    74052  $12 = $3;
    74053  $13 = $5;
    74054  $14 = (_mrb_method_search_vm($12,$4,$13)|0);
    74055  $6 = $14;
    74056  $15 = $6;
    74057  $16 = ($15|0)!=(0|0);
    74058  if ($16) {
    74059   $42 = $6;
    74060   STACKTOP = sp;return ($42|0);
    74061  }
    74062  $17 = $3;
    74063  $18 = HEAP32[$4>>2]|0;
    74064  _mrb_obj_value_661($8,$18);
    74065  ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
    74066  _mrb_funcall($7,$17,$$byval_copy,69281,0,$vararg_buffer);
    74067  $19 = ((($7)) + 4|0);
    74068  $20 = HEAP32[$19>>2]|0;
    74069  $21 = ($20|0)==(16);
    74070  if ($21) {
    74071   $22 = HEAP32[$7>>2]|0;
    74072   $23 = HEAP32[$22>>2]|0;
    74073   $24 = $23 >>> 11;
    74074   $25 = $24 & 8;
    74075   $26 = ($25|0)!=(0);
    74076   $27 = HEAP32[$7>>2]|0;
    74077   if ($26) {
    74078    $28 = HEAP32[$27>>2]|0;
    74079    $29 = $28 >>> 11;
    74080    $30 = $29 & 496;
    74081    $31 = $30 >> 4;
    74082    $35 = $31;
    74083   } else {
    74084    $32 = ((($27)) + 12|0);
    74085    $33 = HEAP32[$32>>2]|0;
    74086    $35 = $33;
    74087   }
    74088   $34 = ($35|0)>(64);
    74089   if ($34) {
    74090    $36 = $3;
    74091    $37 = HEAP32[$4>>2]|0;
    74092    _mrb_obj_value_661($9,$37);
    74093    ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
    74094    _mrb_any_to_s($10,$36,$$byval_copy4);
    74095    ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
    74096   }
    74097  }
    74098  $38 = $3;
    74099  $39 = $5;
    74100  $40 = $3;
    74101  $41 = $5;
    74102  _mrb_sym2str($11,$40,$41);
    74103  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$11+7>>0]|0;
    74104  $vararg_ptr3 = ((($vararg_buffer1)) + 8|0);
    74105  ;HEAP8[$vararg_ptr3>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr3+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr3+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr3+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr3+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr3+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr3+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr3+7>>0]=HEAP8[$7+7>>0]|0;
    74106  _mrb_name_error($38,$39,65409,$vararg_buffer1);
    74107  // unreachable;
    74108  return (0)|0;
    74109 }
    74110 function _mrb_instance_new($0,$1,$2) {
    74111  $0 = $0|0;
    74112  $1 = $1|0;
    74113  $2 = $2|0;
    74114  var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
    74115  var label = 0, sp = 0;
    74116  sp = STACKTOP;
    74117  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    74118  $$byval_copy4 = sp + 80|0;
    74119  $$byval_copy3 = sp + 72|0;
    74120  $$byval_copy = sp + 64|0;
    74121  $vararg_buffer = sp;
    74122  $4 = sp + 48|0;
    74123  $5 = sp + 40|0;
    74124  $6 = sp + 36|0;
    74125  $7 = sp + 32|0;
    74126  $8 = sp + 24|0;
    74127  $9 = sp + 16|0;
    74128  $3 = $1;
    74129  $10 = $3;
    74130  HEAP32[$vararg_buffer>>2] = $6;
    74131  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    74132  HEAP32[$vararg_ptr1>>2] = $7;
    74133  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    74134  HEAP32[$vararg_ptr2>>2] = $5;
    74135  (_mrb_get_args($10,65444,$vararg_buffer)|0);
    74136  $11 = $3;
    74137  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    74138  _mrb_instance_alloc($8,$11,$$byval_copy);
    74139  ;HEAP32[$4>>2]=HEAP32[$8>>2]|0;HEAP32[$4+4>>2]=HEAP32[$8+4>>2]|0;
    74140  $12 = $3;
    74141  $13 = $3;
    74142  $14 = (_mrb_intern_static($13,69252,10)|0);
    74143  $15 = HEAP32[$7>>2]|0;
    74144  $16 = HEAP32[$6>>2]|0;
    74145  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    74146  ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
    74147  _mrb_funcall_with_block($9,$12,$$byval_copy3,$14,$15,$16,$$byval_copy4);
    74148  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    74149  STACKTOP = sp;return;
    74150 }
    74151 function _mrb_instance_alloc($0,$1,$2) {
    74152  $0 = $0|0;
    74153  $1 = $1|0;
    74154  $2 = $2|0;
    74155  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    74156  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74157  sp = STACKTOP;
    74158  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    74159  $3 = $1;
    74160  $7 = HEAP32[$2>>2]|0;
    74161  $4 = $7;
    74162  $8 = $4;
    74163  $9 = HEAP32[$8>>2]|0;
    74164  $10 = $9 >>> 11;
    74165  $11 = $10 & 255;
    74166  $6 = $11;
    74167  $12 = $4;
    74168  $13 = HEAP32[$12>>2]|0;
    74169  $14 = $13 & 255;
    74170  $15 = ($14|0)==(12);
    74171  if ($15) {
    74172   $16 = $3;
    74173   $17 = $3;
    74174   $18 = (_mrb_class_get($17,69204)|0);
    74175   _mrb_raise($16,$18,65447);
    74176   // unreachable;
    74177  }
    74178  $19 = $6;
    74179  $20 = ($19|0)==(0);
    74180  if ($20) {
    74181   $6 = 8;
    74182  }
    74183  $21 = $3;
    74184  $22 = $6;
    74185  $23 = $4;
    74186  $24 = (_mrb_obj_alloc($21,$22,$23)|0);
    74187  $5 = $24;
    74188  $25 = $5;
    74189  _mrb_obj_value_661($0,$25);
    74190  STACKTOP = sp;return;
    74191 }
    74192 function _mrb_obj_new($0,$1,$2,$3,$4) {
    74193  $0 = $0|0;
    74194  $1 = $1|0;
    74195  $2 = $2|0;
    74196  $3 = $3|0;
    74197  $4 = $4|0;
    74198  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74199  sp = STACKTOP;
    74200  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    74201  $$byval_copy1 = sp + 56|0;
    74202  $$byval_copy = sp + 48|0;
    74203  $9 = sp + 24|0;
    74204  $10 = sp + 16|0;
    74205  $11 = sp + 8|0;
    74206  $12 = sp;
    74207  $5 = $1;
    74208  $6 = $2;
    74209  $7 = $3;
    74210  $8 = $4;
    74211  $13 = $5;
    74212  $14 = $6;
    74213  _mrb_obj_value_661($10,$14);
    74214  ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    74215  _mrb_instance_alloc($11,$13,$$byval_copy);
    74216  ;HEAP32[$9>>2]=HEAP32[$11>>2]|0;HEAP32[$9+4>>2]=HEAP32[$11+4>>2]|0;
    74217  $15 = $5;
    74218  $16 = $5;
    74219  $17 = (_mrb_intern_static($16,69252,10)|0);
    74220  $18 = $7;
    74221  $19 = $8;
    74222  ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
    74223  _mrb_funcall_argv($12,$15,$$byval_copy1,$17,$18,$19);
    74224  ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
    74225  STACKTOP = sp;return;
    74226 }
    74227 function _mrb_method_missing($0,$1,$2,$3) {
    74228  $0 = $0|0;
    74229  $1 = $1|0;
    74230  $2 = $2|0;
    74231  $3 = $3|0;
    74232  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    74233  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
    74234  var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
    74235  var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
    74236  var $8 = 0, $80 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    74237  sp = STACKTOP;
    74238  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    74239  $$byval_copy6 = sp + 120|0;
    74240  $$byval_copy5 = sp + 112|0;
    74241  $$byval_copy4 = sp + 104|0;
    74242  $$byval_copy3 = sp + 96|0;
    74243  $$byval_copy2 = sp + 88|0;
    74244  $$byval_copy = sp + 80|0;
    74245  $vararg_buffer = sp;
    74246  $7 = sp + 56|0;
    74247  $8 = sp + 48|0;
    74248  $9 = sp + 40|0;
    74249  $10 = sp + 32|0;
    74250  $11 = sp + 24|0;
    74251  $12 = sp + 16|0;
    74252  $4 = $0;
    74253  $5 = $1;
    74254  $13 = $4;
    74255  $14 = (_mrb_intern_static($13,69281,7)|0);
    74256  $6 = $14;
    74257  $15 = $4;
    74258  $16 = ((($15)) + 12|0);
    74259  $17 = HEAP32[$16>>2]|0;
    74260  $18 = ((($17)) + 16|0);
    74261  $19 = HEAP32[$18>>2]|0;
    74262  $20 = $4;
    74263  $21 = ((($20)) + 12|0);
    74264  $22 = HEAP32[$21>>2]|0;
    74265  $23 = ((($22)) + 20|0);
    74266  $24 = HEAP32[$23>>2]|0;
    74267  $25 = ($19>>>0)>($24>>>0);
    74268  if ($25) {
    74269   $26 = $4;
    74270   $27 = ((($26)) + 12|0);
    74271   $28 = HEAP32[$27>>2]|0;
    74272   $29 = ((($28)) + 16|0);
    74273   $30 = HEAP32[$29>>2]|0;
    74274   $31 = ((($30)) + -48|0);
    74275   $32 = HEAP32[$31>>2]|0;
    74276   $33 = $6;
    74277   $34 = ($32|0)==($33|0);
    74278   if ($34) {
    74279    $35 = $4;
    74280    ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    74281    _mrb_any_to_s($8,$35,$$byval_copy);
    74282    ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;
    74283   } else {
    74284    label = 4;
    74285   }
    74286  } else {
    74287   label = 4;
    74288  }
    74289  do {
    74290   if ((label|0) == 4) {
    74291    $36 = $4;
    74292    $37 = $6;
    74293    ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    74294    $38 = (_mrb_respond_to($36,$$byval_copy2,$37)|0);
    74295    $39 = $38&255;
    74296    $40 = ($39|0)!=(0);
    74297    if ($40) {
    74298     $41 = $4;
    74299     $42 = ((($41)) + 12|0);
    74300     $43 = HEAP32[$42>>2]|0;
    74301     $44 = ((($43)) + 16|0);
    74302     $45 = HEAP32[$44>>2]|0;
    74303     $46 = $4;
    74304     $47 = ((($46)) + 12|0);
    74305     $48 = HEAP32[$47>>2]|0;
    74306     $49 = ((($48)) + 20|0);
    74307     $50 = HEAP32[$49>>2]|0;
    74308     $51 = $45;
    74309     $52 = $50;
    74310     $53 = (($51) - ($52))|0;
    74311     $54 = (($53|0) / 48)&-1;
    74312     $55 = ($54|0)<(64);
    74313     if ($55) {
    74314      $56 = $4;
    74315      $57 = $6;
    74316      ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    74317      _mrb_funcall_argv($9,$56,$$byval_copy3,$57,0,0);
    74318      ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
    74319      $58 = ((($7)) + 4|0);
    74320      $59 = HEAP32[$58>>2]|0;
    74321      $60 = ($59|0)==(16);
    74322      if (!($60)) {
    74323       break;
    74324      }
    74325      $61 = HEAP32[$7>>2]|0;
    74326      $62 = HEAP32[$61>>2]|0;
    74327      $63 = $62 >>> 11;
    74328      $64 = $63 & 8;
    74329      $65 = ($64|0)!=(0);
    74330      $66 = HEAP32[$7>>2]|0;
    74331      if ($65) {
    74332       $67 = HEAP32[$66>>2]|0;
    74333       $68 = $67 >>> 11;
    74334       $69 = $68 & 496;
    74335       $70 = $69 >> 4;
    74336       $74 = $70;
    74337      } else {
    74338       $71 = ((($66)) + 12|0);
    74339       $72 = HEAP32[$71>>2]|0;
    74340       $74 = $72;
    74341      }
    74342      $73 = ($74|0)>(64);
    74343      if (!($73)) {
    74344       break;
    74345      }
    74346      $75 = $4;
    74347      ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
    74348      _mrb_any_to_s($10,$75,$$byval_copy4);
    74349      ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
    74350      break;
    74351     }
    74352    }
    74353    $76 = $4;
    74354    ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
    74355    _mrb_any_to_s($11,$76,$$byval_copy5);
    74356    ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
    74357   }
    74358  } while(0);
    74359  $77 = $4;
    74360  $78 = $5;
    74361  $79 = $4;
    74362  $80 = $5;
    74363  _mrb_sym2str($12,$79,$80);
    74364  ;HEAP8[$vararg_buffer>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$12+7>>0]|0;
    74365  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    74366  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$7+7>>0]|0;
    74367  ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0;
    74368  _mrb_no_method_error($77,$78,$$byval_copy6,65488,$vararg_buffer);
    74369  // unreachable;
    74370 }
    74371 function _mrb_respond_to($0,$1,$2) {
    74372  $0 = $0|0;
    74373  $1 = $1|0;
    74374  $2 = $2|0;
    74375  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74376  sp = STACKTOP;
    74377  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    74378  $$byval_copy = sp + 8|0;
    74379  $3 = $0;
    74380  $4 = $2;
    74381  $5 = $3;
    74382  $6 = $3;
    74383  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    74384  $7 = (_mrb_class_728($6,$$byval_copy)|0);
    74385  $8 = $4;
    74386  $9 = (_mrb_obj_respond_to($5,$7,$8)|0);
    74387  STACKTOP = sp;return ($9|0);
    74388 }
    74389 function _mrb_class_728($0,$1) {
    74390  $0 = $0|0;
    74391  $1 = $1|0;
    74392  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    74393  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74394  sp = STACKTOP;
    74395  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    74396  $3 = $0;
    74397  $4 = ((($1)) + 4|0);
    74398  $5 = HEAP32[$4>>2]|0;
    74399  L1: do {
    74400   switch ($5|0) {
    74401   case 0:  {
    74402    $6 = HEAP32[$1>>2]|0;
    74403    $7 = ($6|0)!=(0);
    74404    $8 = $3;
    74405    if ($7) {
    74406     $9 = ((($8)) + 72|0);
    74407     $10 = HEAP32[$9>>2]|0;
    74408     $2 = $10;
    74409     break L1;
    74410    } else {
    74411     $11 = ((($8)) + 76|0);
    74412     $12 = HEAP32[$11>>2]|0;
    74413     $2 = $12;
    74414     break L1;
    74415    }
    74416    break;
    74417   }
    74418   case 2:  {
    74419    $13 = $3;
    74420    $14 = ((($13)) + 68|0);
    74421    $15 = HEAP32[$14>>2]|0;
    74422    $2 = $15;
    74423    break;
    74424   }
    74425   case 4:  {
    74426    $16 = $3;
    74427    $17 = ((($16)) + 80|0);
    74428    $18 = HEAP32[$17>>2]|0;
    74429    $2 = $18;
    74430    break;
    74431   }
    74432   case 3:  {
    74433    $19 = $3;
    74434    $20 = ((($19)) + 64|0);
    74435    $21 = HEAP32[$20>>2]|0;
    74436    $2 = $21;
    74437    break;
    74438   }
    74439   case 6:  {
    74440    $22 = $3;
    74441    $23 = ((($22)) + 60|0);
    74442    $24 = HEAP32[$23>>2]|0;
    74443    $2 = $24;
    74444    break;
    74445   }
    74446   case 7:  {
    74447    $25 = $3;
    74448    $26 = ((($25)) + 32|0);
    74449    $27 = HEAP32[$26>>2]|0;
    74450    $2 = $27;
    74451    break;
    74452   }
    74453   case 20:  {
    74454    $2 = 0;
    74455    break;
    74456   }
    74457   default: {
    74458    $28 = HEAP32[$1>>2]|0;
    74459    $29 = ((($28)) + 4|0);
    74460    $30 = HEAP32[$29>>2]|0;
    74461    $2 = $30;
    74462   }
    74463   }
    74464  } while(0);
    74465  $31 = $2;
    74466  STACKTOP = sp;return ($31|0);
    74467 }
    74468 function _mrb_obj_respond_to($0,$1,$2) {
    74469  $0 = $0|0;
    74470  $1 = $1|0;
    74471  $2 = $2|0;
    74472  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    74473  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74474  sp = STACKTOP;
    74475  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    74476  $4 = $0;
    74477  $5 = $1;
    74478  $6 = $2;
    74479  while(1) {
    74480   $9 = $5;
    74481   $10 = ($9|0)!=(0|0);
    74482   if (!($10)) {
    74483    label = 9;
    74484    break;
    74485   }
    74486   $11 = $5;
    74487   $12 = ((($11)) + 16|0);
    74488   $13 = HEAP32[$12>>2]|0;
    74489   $8 = $13;
    74490   $14 = $8;
    74491   $15 = ($14|0)!=(0|0);
    74492   if ($15) {
    74493    $16 = $4;
    74494    $17 = $8;
    74495    $18 = $6;
    74496    $19 = (_kh_get_mt($16,$17,$18)|0);
    74497    $7 = $19;
    74498    $20 = $7;
    74499    $21 = $8;
    74500    $22 = HEAP32[$21>>2]|0;
    74501    $23 = ($20|0)!=($22|0);
    74502    if ($23) {
    74503     break;
    74504    }
    74505   }
    74506   $31 = $5;
    74507   $32 = ((($31)) + 20|0);
    74508   $33 = HEAP32[$32>>2]|0;
    74509   $5 = $33;
    74510  }
    74511  if ((label|0) == 9) {
    74512   $3 = 0;
    74513   $34 = $3;
    74514   STACKTOP = sp;return ($34|0);
    74515  }
    74516  $24 = $8;
    74517  $25 = ((($24)) + 20|0);
    74518  $26 = HEAP32[$25>>2]|0;
    74519  $27 = $7;
    74520  $28 = (($26) + ($27<<2)|0);
    74521  $29 = HEAP32[$28>>2]|0;
    74522  $30 = ($29|0)!=(0|0);
    74523  if ($30) {
    74524   $3 = 1;
    74525   $34 = $3;
    74526   STACKTOP = sp;return ($34|0);
    74527  } else {
    74528   $3 = 0;
    74529   $34 = $3;
    74530   STACKTOP = sp;return ($34|0);
    74531  }
    74532  return (0)|0;
    74533 }
    74534 function _mrb_class_path($0,$1,$2) {
    74535  $0 = $0|0;
    74536  $1 = $1|0;
    74537  $2 = $2|0;
    74538  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
    74539  var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
    74540  var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
    74541  var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
    74542  var $8 = 0, $9 = 0, label = 0, sp = 0;
    74543  sp = STACKTOP;
    74544  STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
    74545  $$byval_copy8 = sp + 176|0;
    74546  $$byval_copy7 = sp + 168|0;
    74547  $$byval_copy6 = sp + 160|0;
    74548  $$byval_copy5 = sp + 152|0;
    74549  $$byval_copy4 = sp + 144|0;
    74550  $$byval_copy3 = sp + 136|0;
    74551  $$byval_copy2 = sp + 128|0;
    74552  $$byval_copy1 = sp + 120|0;
    74553  $$byval_copy = sp + 112|0;
    74554  $5 = sp + 96|0;
    74555  $8 = sp + 80|0;
    74556  $11 = sp + 64|0;
    74557  $12 = sp + 56|0;
    74558  $13 = sp + 48|0;
    74559  $14 = sp + 40|0;
    74560  $15 = sp + 32|0;
    74561  $16 = sp + 24|0;
    74562  $17 = sp + 16|0;
    74563  $18 = sp + 8|0;
    74564  $19 = sp;
    74565  $3 = $1;
    74566  $4 = $2;
    74567  $20 = $3;
    74568  $21 = (_mrb_intern_static($20,65517,13)|0);
    74569  $7 = $21;
    74570  $22 = $3;
    74571  $23 = $4;
    74572  $24 = $7;
    74573  _mrb_obj_iv_get($8,$22,$23,$24);
    74574  ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;
    74575  $25 = ((($5)) + 4|0);
    74576  $26 = HEAP32[$25>>2]|0;
    74577  $27 = ($26|0)==(0);
    74578  if ($27) {
    74579   $28 = HEAP32[$5>>2]|0;
    74580   $29 = ($28|0)!=(0);
    74581   if (!($29)) {
    74582    $30 = $3;
    74583    $31 = $4;
    74584    $32 = (_mrb_class_outer_module($30,$31)|0);
    74585    $9 = $32;
    74586    $33 = $3;
    74587    $34 = $4;
    74588    $35 = $9;
    74589    $36 = (_mrb_class_sym($33,$34,$35)|0);
    74590    $10 = $36;
    74591    $37 = $10;
    74592    $38 = ($37|0)==(0);
    74593    if ($38) {
    74594     _mrb_nil_value_689($0);
    74595     STACKTOP = sp;return;
    74596    }
    74597    $39 = $9;
    74598    $40 = ($39|0)!=(0|0);
    74599    if ($40) {
    74600     $41 = $9;
    74601     $42 = $3;
    74602     $43 = ((($42)) + 32|0);
    74603     $44 = HEAP32[$43>>2]|0;
    74604     $45 = ($41|0)!=($44|0);
    74605     if ($45) {
    74606      $46 = $3;
    74607      $47 = $9;
    74608      _mrb_class_path($12,$46,$47);
    74609      $48 = $3;
    74610      _mrb_str_buf_new($13,$48,0);
    74611      ;HEAP32[$5>>2]=HEAP32[$13>>2]|0;HEAP32[$5+4>>2]=HEAP32[$13+4>>2]|0;
    74612      $49 = ((($12)) + 4|0);
    74613      $50 = HEAP32[$49>>2]|0;
    74614      $51 = ($50|0)==(0);
    74615      if ($51) {
    74616       $52 = HEAP32[$12>>2]|0;
    74617       $53 = ($52|0)!=(0);
    74618       if ($53) {
    74619        label = 10;
    74620       } else {
    74621        $54 = $3;
    74622        ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    74623        _mrb_str_cat($14,$54,$$byval_copy,65531,8);
    74624        $55 = $3;
    74625        $56 = $3;
    74626        $57 = $9;
    74627        _mrb_ptr_to_str($15,$56,$57);
    74628        ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
    74629        ;HEAP32[$$byval_copy2>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$15+4>>2]|0;
    74630        _mrb_str_concat($55,$$byval_copy1,$$byval_copy2);
    74631        $58 = $3;
    74632        ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
    74633        _mrb_str_cat($16,$58,$$byval_copy3,65540,1);
    74634       }
    74635      } else {
    74636       label = 10;
    74637      }
    74638      if ((label|0) == 10) {
    74639       $59 = $3;
    74640       ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
    74641       ;HEAP32[$$byval_copy5>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$12+4>>2]|0;
    74642       _mrb_str_concat($59,$$byval_copy4,$$byval_copy5);
    74643      }
    74644      $60 = $3;
    74645      ;HEAP32[$$byval_copy6>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$5+4>>2]|0;
    74646      _mrb_str_cat($17,$60,$$byval_copy6,65542,2);
    74647      $61 = $3;
    74648      $62 = $10;
    74649      $63 = (_mrb_sym2name_len($61,$62,$11)|0);
    74650      $6 = $63;
    74651      $64 = $3;
    74652      $65 = $6;
    74653      $66 = HEAP32[$11>>2]|0;
    74654      ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0;
    74655      _mrb_str_cat($18,$64,$$byval_copy7,$65,$66);
    74656     } else {
    74657      label = 12;
    74658     }
    74659    } else {
    74660     label = 12;
    74661    }
    74662    if ((label|0) == 12) {
    74663     $67 = $3;
    74664     $68 = $10;
    74665     $69 = (_mrb_sym2name_len($67,$68,$11)|0);
    74666     $6 = $69;
    74667     $70 = $3;
    74668     $71 = $6;
    74669     $72 = HEAP32[$11>>2]|0;
    74670     _mrb_str_new($19,$70,$71,$72);
    74671     ;HEAP32[$5>>2]=HEAP32[$19>>2]|0;HEAP32[$5+4>>2]=HEAP32[$19+4>>2]|0;
    74672    }
    74673    $73 = $3;
    74674    $74 = $4;
    74675    $75 = $7;
    74676    ;HEAP32[$$byval_copy8>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$5+4>>2]|0;
    74677    _mrb_obj_iv_set($73,$74,$75,$$byval_copy8);
    74678   }
    74679  }
    74680  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    74681  STACKTOP = sp;return;
    74682 }
    74683 function _mrb_class_name($0,$1) {
    74684  $0 = $0|0;
    74685  $1 = $1|0;
    74686  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    74687  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74688  sp = STACKTOP;
    74689  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    74690  $$byval_copy2 = sp + 56|0;
    74691  $$byval_copy1 = sp + 48|0;
    74692  $$byval_copy = sp + 40|0;
    74693  $4 = sp + 24|0;
    74694  $5 = sp + 16|0;
    74695  $6 = sp + 8|0;
    74696  $7 = sp;
    74697  $2 = $0;
    74698  $3 = $1;
    74699  $8 = $2;
    74700  $9 = $3;
    74701  _mrb_class_path($4,$8,$9);
    74702  $10 = ((($4)) + 4|0);
    74703  $11 = HEAP32[$10>>2]|0;
    74704  $12 = ($11|0)==(0);
    74705  if ($12) {
    74706   $13 = HEAP32[$4>>2]|0;
    74707   $14 = ($13|0)!=(0);
    74708   if (!($14)) {
    74709    $15 = $2;
    74710    _mrb_str_new_static($5,$15,65531,8);
    74711    ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
    74712    $16 = $2;
    74713    $17 = $2;
    74714    $18 = $3;
    74715    _mrb_ptr_to_str($6,$17,$18);
    74716    ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    74717    ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0;
    74718    _mrb_str_concat($16,$$byval_copy,$$byval_copy1);
    74719    $19 = $2;
    74720    ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    74721    _mrb_str_cat($7,$19,$$byval_copy2,65540,1);
    74722   }
    74723  }
    74724  $20 = HEAP32[$4>>2]|0;
    74725  $21 = HEAP32[$20>>2]|0;
    74726  $22 = $21 >>> 11;
    74727  $23 = $22 & 8;
    74728  $24 = ($23|0)!=(0);
    74729  $25 = HEAP32[$4>>2]|0;
    74730  $26 = ((($25)) + 12|0);
    74731  if ($24) {
    74732   $29 = $26;
    74733   STACKTOP = sp;return ($29|0);
    74734  } else {
    74735   $27 = ((($26)) + 8|0);
    74736   $28 = HEAP32[$27>>2]|0;
    74737   $29 = $28;
    74738   STACKTOP = sp;return ($29|0);
    74739  }
    74740  return (0)|0;
    74741 }
    74742 function _mrb_obj_classname($0,$1) {
    74743  $0 = $0|0;
    74744  $1 = $1|0;
    74745  var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    74746  sp = STACKTOP;
    74747  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    74748  $$byval_copy = sp + 8|0;
    74749  $2 = $0;
    74750  $3 = $2;
    74751  $4 = $2;
    74752  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    74753  $5 = (_mrb_obj_class($4,$$byval_copy)|0);
    74754  $6 = (_mrb_class_name($3,$5)|0);
    74755  STACKTOP = sp;return ($6|0);
    74756 }
    74757 function _mrb_obj_class($0,$1) {
    74758  $0 = $0|0;
    74759  $1 = $1|0;
    74760  var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    74761  sp = STACKTOP;
    74762  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    74763  $$byval_copy = sp + 8|0;
    74764  $2 = $0;
    74765  $3 = $2;
    74766  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    74767  $4 = (_mrb_class_728($3,$$byval_copy)|0);
    74768  $5 = (_mrb_class_real($4)|0);
    74769  STACKTOP = sp;return ($5|0);
    74770 }
    74771 function _mrb_alias_method($0,$1,$2,$3) {
    74772  $0 = $0|0;
    74773  $1 = $1|0;
    74774  $2 = $2|0;
    74775  $3 = $3|0;
    74776  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74777  sp = STACKTOP;
    74778  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    74779  $4 = $0;
    74780  $5 = $1;
    74781  $6 = $2;
    74782  $7 = $3;
    74783  $9 = $4;
    74784  $10 = $5;
    74785  $11 = $7;
    74786  $12 = (_mrb_method_search($9,$10,$11)|0);
    74787  $8 = $12;
    74788  $13 = $4;
    74789  $14 = $5;
    74790  $15 = $6;
    74791  $16 = $8;
    74792  _mrb_define_method_raw($13,$14,$15,$16);
    74793  STACKTOP = sp;return;
    74794 }
    74795 function _mrb_undef_method($0,$1,$2) {
    74796  $0 = $0|0;
    74797  $1 = $1|0;
    74798  $2 = $2|0;
    74799  var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74800  sp = STACKTOP;
    74801  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    74802  $3 = $0;
    74803  $4 = $1;
    74804  $5 = $2;
    74805  $6 = $3;
    74806  $7 = $4;
    74807  $8 = $3;
    74808  $9 = $5;
    74809  $10 = (_mrb_intern_cstr($8,$9)|0);
    74810  _undef_method($6,$7,$10);
    74811  STACKTOP = sp;return;
    74812 }
    74813 function _undef_method($0,$1,$2) {
    74814  $0 = $0|0;
    74815  $1 = $1|0;
    74816  $2 = $2|0;
    74817  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0;
    74818  var sp = 0;
    74819  sp = STACKTOP;
    74820  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    74821  $vararg_buffer = sp;
    74822  $6 = sp + 24|0;
    74823  $7 = sp + 16|0;
    74824  $3 = $0;
    74825  $4 = $1;
    74826  $5 = $2;
    74827  $8 = $3;
    74828  $9 = $4;
    74829  $10 = $5;
    74830  $11 = (_mrb_obj_respond_to($8,$9,$10)|0);
    74831  $12 = ($11<<24>>24)!=(0);
    74832  $13 = $3;
    74833  if ($12) {
    74834   $18 = $4;
    74835   $19 = $5;
    74836   _mrb_define_method_raw($13,$18,$19,0);
    74837   STACKTOP = sp;return;
    74838  } else {
    74839   $14 = $5;
    74840   $15 = $3;
    74841   $16 = $5;
    74842   _mrb_sym2str($6,$15,$16);
    74843   $17 = $4;
    74844   _mrb_obj_value_661($7,$17);
    74845   ;HEAP8[$vararg_buffer>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$6+7>>0]|0;
    74846   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    74847   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$7+7>>0]|0;
    74848   _mrb_name_error($13,$14,65545,$vararg_buffer);
    74849   // unreachable;
    74850  }
    74851 }
    74852 function _mrb_undef_class_method($0,$1,$2) {
    74853  $0 = $0|0;
    74854  $1 = $1|0;
    74855  $2 = $2|0;
    74856  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    74857  sp = STACKTOP;
    74858  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    74859  $$byval_copy = sp + 32|0;
    74860  $6 = sp + 8|0;
    74861  $7 = sp;
    74862  $3 = $0;
    74863  $4 = $1;
    74864  $5 = $2;
    74865  $8 = $3;
    74866  $9 = $3;
    74867  $10 = $4;
    74868  _mrb_obj_value_661($6,$10);
    74869  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    74870  _mrb_singleton_class($7,$9,$$byval_copy);
    74871  $11 = HEAP32[$7>>2]|0;
    74872  $12 = $5;
    74873  _mrb_undef_method($8,$11,$12);
    74874  STACKTOP = sp;return;
    74875 }
    74876 function _mrb_mod_module_function($0,$1,$2) {
    74877  $0 = $0|0;
    74878  $1 = $1|0;
    74879  $2 = $2|0;
    74880  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    74881  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0;
    74882  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    74883  sp = STACKTOP;
    74884  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    74885  $$byval_copy2 = sp + 48|0;
    74886  $$byval_copy = sp + 40|0;
    74887  $vararg_buffer = sp;
    74888  $4 = sp + 32|0;
    74889  $5 = sp + 28|0;
    74890  $3 = $1;
    74891  $11 = $3;
    74892  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    74893  _mrb_check_type($11,$$byval_copy,10);
    74894  $12 = $3;
    74895  HEAP32[$vararg_buffer>>2] = $4;
    74896  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    74897  HEAP32[$vararg_ptr1>>2] = $5;
    74898  (_mrb_get_args($12,68856,$vararg_buffer)|0);
    74899  $13 = HEAP32[$5>>2]|0;
    74900  $14 = ($13|0)==(0);
    74901  if ($14) {
    74902   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    74903   STACKTOP = sp;return;
    74904  }
    74905  $6 = 0;
    74906  while(1) {
    74907   $15 = $6;
    74908   $16 = HEAP32[$5>>2]|0;
    74909   $17 = ($15|0)<($16|0);
    74910   if (!($17)) {
    74911    break;
    74912   }
    74913   $18 = $3;
    74914   $19 = HEAP32[$4>>2]|0;
    74915   $20 = $6;
    74916   $21 = (($19) + ($20<<3)|0);
    74917   ;HEAP32[$$byval_copy2>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$21+4>>2]|0;
    74918   _mrb_check_type($18,$$byval_copy2,4);
    74919   $22 = HEAP32[$4>>2]|0;
    74920   $23 = $6;
    74921   $24 = (($22) + ($23<<3)|0);
    74922   $25 = HEAP32[$24>>2]|0;
    74923   $7 = $25;
    74924   $26 = HEAP32[$2>>2]|0;
    74925   $9 = $26;
    74926   $27 = $3;
    74927   $28 = $9;
    74928   $29 = $7;
    74929   $30 = (_mrb_method_search($27,$28,$29)|0);
    74930   $8 = $30;
    74931   $31 = $3;
    74932   $32 = $9;
    74933   _prepare_singleton_class($31,$32);
    74934   $33 = $3;
    74935   $34 = (_mrb_gc_arena_save($33)|0);
    74936   $10 = $34;
    74937   $35 = $3;
    74938   $36 = $9;
    74939   $37 = ((($36)) + 4|0);
    74940   $38 = HEAP32[$37>>2]|0;
    74941   $39 = $7;
    74942   $40 = $8;
    74943   _mrb_define_method_raw($35,$38,$39,$40);
    74944   $41 = $3;
    74945   $42 = $10;
    74946   _mrb_gc_arena_restore($41,$42);
    74947   $43 = $6;
    74948   $44 = (($43) + 1)|0;
    74949   $6 = $44;
    74950  }
    74951  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    74952  STACKTOP = sp;return;
    74953 }
    74954 function _mrb_init_class($0) {
    74955  $0 = $0|0;
    74956  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
    74957  var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
    74958  var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
    74959  var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
    74960  var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
    74961  var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0;
    74962  var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
    74963  var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
    74964  var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
    74965  var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
    74966  var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
    74967  var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    74968  sp = STACKTOP;
    74969  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    74970  $$byval_copy4 = sp + 96|0;
    74971  $$byval_copy3 = sp + 88|0;
    74972  $$byval_copy2 = sp + 80|0;
    74973  $$byval_copy1 = sp + 72|0;
    74974  $$byval_copy = sp + 64|0;
    74975  $6 = sp + 32|0;
    74976  $7 = sp + 24|0;
    74977  $8 = sp + 16|0;
    74978  $9 = sp + 8|0;
    74979  $10 = sp;
    74980  $1 = $0;
    74981  $11 = $1;
    74982  $12 = (_boot_defclass($11,0)|0);
    74983  $2 = $12;
    74984  $13 = $1;
    74985  $14 = $2;
    74986  $15 = (_boot_defclass($13,$14)|0);
    74987  $3 = $15;
    74988  $16 = $3;
    74989  $17 = $1;
    74990  $18 = ((($17)) + 32|0);
    74991  HEAP32[$18>>2] = $16;
    74992  $19 = $1;
    74993  $20 = $3;
    74994  $21 = (_boot_defclass($19,$20)|0);
    74995  $4 = $21;
    74996  $22 = $4;
    74997  $23 = $1;
    74998  $24 = ((($23)) + 40|0);
    74999  HEAP32[$24>>2] = $22;
    75000  $25 = $1;
    75001  $26 = $4;
    75002  $27 = (_boot_defclass($25,$26)|0);
    75003  $5 = $27;
    75004  $28 = $5;
    75005  $29 = $1;
    75006  $30 = ((($29)) + 36|0);
    75007  HEAP32[$30>>2] = $28;
    75008  $31 = $5;
    75009  $32 = $5;
    75010  $33 = ((($32)) + 4|0);
    75011  HEAP32[$33>>2] = $31;
    75012  $34 = $4;
    75013  $35 = ((($34)) + 4|0);
    75014  HEAP32[$35>>2] = $31;
    75015  $36 = $3;
    75016  $37 = ((($36)) + 4|0);
    75017  HEAP32[$37>>2] = $31;
    75018  $38 = $2;
    75019  $39 = ((($38)) + 4|0);
    75020  HEAP32[$39>>2] = $31;
    75021  $40 = $1;
    75022  $41 = $2;
    75023  _prepare_singleton_class($40,$41);
    75024  $42 = $1;
    75025  $43 = $3;
    75026  _prepare_singleton_class($42,$43);
    75027  $44 = $1;
    75028  $45 = $4;
    75029  _prepare_singleton_class($44,$45);
    75030  $46 = $1;
    75031  $47 = $5;
    75032  _prepare_singleton_class($46,$47);
    75033  $48 = $1;
    75034  $49 = $2;
    75035  $50 = $2;
    75036  _mrb_obj_value_661($6,$50);
    75037  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    75038  _mrb_define_const($48,$49,65582,$$byval_copy);
    75039  $51 = $1;
    75040  $52 = $3;
    75041  $53 = $2;
    75042  _mrb_obj_value_661($7,$53);
    75043  ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
    75044  _mrb_define_const($51,$52,65582,$$byval_copy1);
    75045  $54 = $1;
    75046  $55 = $3;
    75047  $56 = $3;
    75048  _mrb_obj_value_661($8,$56);
    75049  ;HEAP32[$$byval_copy2>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$8+4>>2]|0;
    75050  _mrb_define_const($54,$55,65594,$$byval_copy2);
    75051  $57 = $1;
    75052  $58 = $3;
    75053  $59 = $4;
    75054  _mrb_obj_value_661($9,$59);
    75055  ;HEAP32[$$byval_copy3>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$9+4>>2]|0;
    75056  _mrb_define_const($57,$58,65601,$$byval_copy3);
    75057  $60 = $1;
    75058  $61 = $3;
    75059  $62 = $5;
    75060  _mrb_obj_value_661($10,$62);
    75061  ;HEAP32[$$byval_copy4>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$10+4>>2]|0;
    75062  _mrb_define_const($60,$61,65608,$$byval_copy4);
    75063  $63 = $1;
    75064  $64 = $2;
    75065  $65 = $1;
    75066  $66 = (_mrb_intern_static($65,65582,11)|0);
    75067  _name_class($63,$64,$66);
    75068  $67 = $1;
    75069  $68 = $3;
    75070  $69 = $1;
    75071  $70 = (_mrb_intern_static($69,65594,6)|0);
    75072  _name_class($67,$68,$70);
    75073  $71 = $1;
    75074  $72 = $4;
    75075  $73 = $1;
    75076  $74 = (_mrb_intern_static($73,65601,6)|0);
    75077  _name_class($71,$72,$74);
    75078  $75 = $1;
    75079  $76 = $5;
    75080  $77 = $1;
    75081  $78 = (_mrb_intern_static($77,65608,5)|0);
    75082  _name_class($75,$76,$78);
    75083  $79 = $1;
    75084  $80 = $1;
    75085  $81 = ((($80)) + 32|0);
    75086  $82 = HEAP32[$81>>2]|0;
    75087  $83 = (_mrb_define_class($79,65614,$82)|0);
    75088  $84 = $1;
    75089  $85 = ((($84)) + 44|0);
    75090  HEAP32[$85>>2] = $83;
    75091  $86 = $1;
    75092  $87 = ((($86)) + 44|0);
    75093  $88 = HEAP32[$87>>2]|0;
    75094  $89 = HEAP32[$88>>2]|0;
    75095  $90 = $89 >>> 11;
    75096  $91 = $90 & -256;
    75097  $92 = $91 | 13;
    75098  $93 = $1;
    75099  $94 = ((($93)) + 44|0);
    75100  $95 = HEAP32[$94>>2]|0;
    75101  $96 = HEAP32[$95>>2]|0;
    75102  $97 = $92 & 2097151;
    75103  $98 = $97 << 11;
    75104  $99 = $96 & 2047;
    75105  $100 = $99 | $98;
    75106  HEAP32[$95>>2] = $100;
    75107  $101 = $5;
    75108  $102 = HEAP32[$101>>2]|0;
    75109  $103 = $102 >>> 11;
    75110  $104 = $103 & -256;
    75111  $105 = $104 | 9;
    75112  $106 = $5;
    75113  $107 = HEAP32[$106>>2]|0;
    75114  $108 = $105 & 2097151;
    75115  $109 = $108 << 11;
    75116  $110 = $107 & 2047;
    75117  $111 = $110 | $109;
    75118  HEAP32[$106>>2] = $111;
    75119  $112 = $1;
    75120  $113 = $2;
    75121  _mrb_define_method($112,$113,69252,233,0);
    75122  $114 = $1;
    75123  $115 = $2;
    75124  _mrb_define_method($114,$115,65619,234,0);
    75125  $116 = $1;
    75126  $117 = $2;
    75127  _mrb_define_method($116,$117,65621,235,4096);
    75128  $118 = $1;
    75129  $119 = $5;
    75130  _mrb_define_class_method($118,$119,67982,236,8192);
    75131  $120 = $1;
    75132  $121 = $5;
    75133  _mrb_define_method($120,$121,65636,237,0);
    75134  $122 = $1;
    75135  $123 = $5;
    75136  _mrb_define_method($122,$123,67982,238,4096);
    75137  $124 = $1;
    75138  $125 = $5;
    75139  _mrb_define_method($124,$125,69252,239,8192);
    75140  $126 = $1;
    75141  $127 = $5;
    75142  _mrb_define_method($126,$127,65098,233,262144);
    75143  $128 = $4;
    75144  $129 = HEAP32[$128>>2]|0;
    75145  $130 = $129 >>> 11;
    75146  $131 = $130 & -256;
    75147  $132 = $131 | 10;
    75148  $133 = $4;
    75149  $134 = HEAP32[$133>>2]|0;
    75150  $135 = $132 & 2097151;
    75151  $136 = $135 << 11;
    75152  $137 = $134 & 2047;
    75153  $138 = $137 | $136;
    75154  HEAP32[$133>>2] = $138;
    75155  $139 = $1;
    75156  $140 = $4;
    75157  _mrb_define_method($139,$140,65647,240,262144);
    75158  $141 = $1;
    75159  $142 = $4;
    75160  _mrb_define_method($141,$142,65671,241,262144);
    75161  $143 = $1;
    75162  $144 = $4;
    75163  _mrb_define_method($143,$144,65690,242,524288);
    75164  $145 = $1;
    75165  $146 = $4;
    75166  _mrb_define_method($145,$146,68897,243,262144);
    75167  $147 = $1;
    75168  $148 = $4;
    75169  _mrb_define_method($147,$148,68911,233,262144);
    75170  $149 = $1;
    75171  $150 = $4;
    75172  _mrb_define_method($149,$150,65709,244,4096);
    75173  $151 = $1;
    75174  $152 = $4;
    75175  _mrb_define_method($151,$152,65717,233,262144);
    75176  $153 = $1;
    75177  $154 = $4;
    75178  _mrb_define_method($153,$154,65727,245,262144);
    75179  $155 = $1;
    75180  $156 = $4;
    75181  _mrb_define_method($155,$156,65744,246,4096);
    75182  $157 = $1;
    75183  $158 = $4;
    75184  _mrb_define_method($157,$158,69243,247,262144);
    75185  $159 = $1;
    75186  $160 = $4;
    75187  _mrb_define_method($159,$160,65752,248,262144);
    75188  $161 = $1;
    75189  $162 = $4;
    75190  _mrb_define_method($161,$162,65768,249,4096);
    75191  $163 = $1;
    75192  $164 = $4;
    75193  _mrb_define_method($163,$164,65779,233,262144);
    75194  $165 = $1;
    75195  $166 = $4;
    75196  _mrb_define_method($165,$166,65788,250,0);
    75197  $167 = $1;
    75198  $168 = $4;
    75199  _mrb_define_method($167,$168,69252,251,0);
    75200  $169 = $1;
    75201  $170 = $4;
    75202  _mrb_define_method($169,$170,65805,252,4096);
    75203  $171 = $1;
    75204  $172 = $4;
    75205  _mrb_define_method($171,$172,65822,253,262144);
    75206  $173 = $1;
    75207  $174 = $4;
    75208  _mrb_define_method($173,$174,65838,249,4096);
    75209  $175 = $1;
    75210  $176 = $4;
    75211  _mrb_define_method($175,$176,65850,254,4096);
    75212  $177 = $1;
    75213  $178 = $4;
    75214  _mrb_define_method($177,$178,65866,255,4096);
    75215  $179 = $1;
    75216  $180 = $4;
    75217  _mrb_define_method($179,$180,65874,255,4096);
    75218  $181 = $1;
    75219  $182 = $4;
    75220  _mrb_define_method($181,$182,65884,255,4096);
    75221  $183 = $1;
    75222  $184 = $4;
    75223  _mrb_define_method($183,$184,65891,256,262144);
    75224  $185 = $1;
    75225  $186 = $4;
    75226  _mrb_define_method($185,$186,65913,257,4096);
    75227  $187 = $1;
    75228  $188 = $4;
    75229  _mrb_define_method($187,$188,65927,233,262144);
    75230  $189 = $1;
    75231  $190 = $4;
    75232  _mrb_define_method($189,$190,65942,258,4096);
    75233  $191 = $1;
    75234  $192 = $4;
    75235  _mrb_define_method($191,$192,65954,259,4096);
    75236  $193 = $1;
    75237  $194 = $4;
    75238  _mrb_define_method($193,$194,69276,260,0);
    75239  $195 = $1;
    75240  $196 = $4;
    75241  _mrb_define_method($195,$196,69281,260,0);
    75242  $197 = $1;
    75243  $198 = $4;
    75244  _mrb_define_method($197,$198,69686,261,4096);
    75245  $199 = $1;
    75246  $200 = $4;
    75247  _mrb_define_method($199,$200,65966,262,0);
    75248  $201 = $1;
    75249  $202 = $4;
    75250  _mrb_define_method($201,$202,69699,263,4096);
    75251  $203 = $1;
    75252  $204 = $4;
    75253  _mrb_define_method($203,$204,65976,264,270336);
    75254  $205 = $1;
    75255  $206 = $4;
    75256  _mrb_define_method($205,$206,65991,265,262144);
    75257  $207 = $1;
    75258  $208 = $4;
    75259  _mrb_define_method($207,$208,66001,266,524288);
    75260  $209 = $1;
    75261  $210 = $4;
    75262  _mrb_define_method($209,$210,66011,267,8192);
    75263  $211 = $1;
    75264  $212 = $4;
    75265  _mrb_define_method($211,$212,66021,268,262144);
    75266  $213 = $1;
    75267  $214 = $4;
    75268  _mrb_define_method($213,$214,66034,269,262144);
    75269  $215 = $1;
    75270  $216 = $4;
    75271  _mrb_define_method($215,$216,66048,270,262144);
    75272  $217 = $1;
    75273  $218 = $4;
    75274  _mrb_define_method($217,$218,66062,271,0);
    75275  $219 = $1;
    75276  $220 = $4;
    75277  _mrb_define_method($219,$220,69591,272,262144);
    75278  $221 = $1;
    75279  $222 = $4;
    75280  _mrb_define_class_method($221,$222,66011,273,4096);
    75281  $223 = $1;
    75282  $224 = $5;
    75283  _mrb_undef_method($223,$224,65752);
    75284  $225 = $1;
    75285  $226 = $5;
    75286  _mrb_undef_method($225,$226,68897);
    75287  STACKTOP = sp;return;
    75288 }
    75289 function _mrb_bob_init($0,$1,$2) {
    75290  $0 = $0|0;
    75291  $1 = $1|0;
    75292  $2 = $2|0;
    75293  var $3 = 0, label = 0, sp = 0;
    75294  sp = STACKTOP;
    75295  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    75296  $3 = $1;
    75297  _mrb_nil_value_689($0);
    75298  STACKTOP = sp;return;
    75299 }
    75300 function _mrb_bob_not($0,$1,$2) {
    75301  $0 = $0|0;
    75302  $1 = $1|0;
    75303  $2 = $2|0;
    75304  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    75305  sp = STACKTOP;
    75306  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    75307  $3 = $1;
    75308  $4 = ((($2)) + 4|0);
    75309  $5 = HEAP32[$4>>2]|0;
    75310  $6 = ($5|0)!=(0);
    75311  $7 = $6 ^ 1;
    75312  $8 = $7&1;
    75313  $9 = $8&255;
    75314  _mrb_bool_value_793($0,$9);
    75315  STACKTOP = sp;return;
    75316 }
    75317 function _mrb_bob_missing($0,$1,$2) {
    75318  $0 = $0|0;
    75319  $1 = $1|0;
    75320  $2 = $2|0;
    75321  var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    75322  sp = STACKTOP;
    75323  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    75324  $$byval_copy3 = sp + 48|0;
    75325  $$byval_copy = sp + 40|0;
    75326  $vararg_buffer = sp;
    75327  $4 = sp + 32|0;
    75328  $5 = sp + 28|0;
    75329  $6 = sp + 24|0;
    75330  $7 = sp + 16|0;
    75331  $3 = $1;
    75332  $8 = $3;
    75333  HEAP32[$vararg_buffer>>2] = $4;
    75334  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    75335  HEAP32[$vararg_ptr1>>2] = $5;
    75336  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    75337  HEAP32[$vararg_ptr2>>2] = $6;
    75338  (_mrb_get_args($8,66388,$vararg_buffer)|0);
    75339  $9 = $3;
    75340  $10 = HEAP32[$4>>2]|0;
    75341  $11 = $3;
    75342  $12 = HEAP32[$6>>2]|0;
    75343  $13 = HEAP32[$5>>2]|0;
    75344  _mrb_ary_new_from_values($7,$11,$12,$13);
    75345  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    75346  ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
    75347  _mrb_method_missing($9,$10,$$byval_copy,$$byval_copy3);
    75348  _mrb_nil_value_689($0);
    75349  STACKTOP = sp;return;
    75350 }
    75351 function _mrb_class_new_class($0,$1,$2) {
    75352  $0 = $0|0;
    75353  $1 = $1|0;
    75354  $2 = $2|0;
    75355  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    75356  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    75357  sp = STACKTOP;
    75358  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    75359  $$byval_copy2 = sp + 72|0;
    75360  $$byval_copy = sp + 64|0;
    75361  $vararg_buffer = sp;
    75362  $5 = sp + 48|0;
    75363  $6 = sp + 40|0;
    75364  $7 = sp + 32|0;
    75365  $8 = sp + 24|0;
    75366  $9 = sp + 16|0;
    75367  $10 = sp + 8|0;
    75368  $3 = $1;
    75369  $11 = $3;
    75370  HEAP32[$vararg_buffer>>2] = $5;
    75371  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    75372  HEAP32[$vararg_ptr1>>2] = $6;
    75373  $12 = (_mrb_get_args($11,66384,$vararg_buffer)|0);
    75374  $4 = $12;
    75375  $13 = $4;
    75376  $14 = ($13|0)==(0);
    75377  if ($14) {
    75378   $15 = $3;
    75379   $16 = ((($15)) + 32|0);
    75380   $17 = HEAP32[$16>>2]|0;
    75381   _mrb_obj_value_661($8,$17);
    75382   ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;
    75383  }
    75384  $18 = $3;
    75385  $19 = HEAP32[$5>>2]|0;
    75386  $20 = (_mrb_class_new($18,$19)|0);
    75387  _mrb_obj_value_661($9,$20);
    75388  ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
    75389  $21 = $3;
    75390  $22 = $3;
    75391  $23 = (_mrb_intern_static($22,69252,10)|0);
    75392  $24 = $4;
    75393  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    75394  ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;
    75395  _mrb_funcall_with_block($10,$21,$$byval_copy,$23,$24,$5,$$byval_copy2);
    75396  $25 = $3;
    75397  $26 = HEAP32[$5>>2]|0;
    75398  $27 = HEAP32[$7>>2]|0;
    75399  _mrb_class_inherited($25,$26,$27);
    75400  ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    75401  STACKTOP = sp;return;
    75402 }
    75403 function _mrb_class_superclass($0,$1,$2) {
    75404  $0 = $0|0;
    75405  $1 = $1|0;
    75406  $2 = $2|0;
    75407  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    75408  var label = 0, sp = 0;
    75409  sp = STACKTOP;
    75410  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    75411  $3 = $1;
    75412  $5 = HEAP32[$2>>2]|0;
    75413  $4 = $5;
    75414  $6 = $4;
    75415  $7 = (_find_origin($6)|0);
    75416  $8 = ((($7)) + 20|0);
    75417  $9 = HEAP32[$8>>2]|0;
    75418  $4 = $9;
    75419  while(1) {
    75420   $10 = $4;
    75421   $11 = ($10|0)!=(0|0);
    75422   if ($11) {
    75423    $12 = $4;
    75424    $13 = HEAP32[$12>>2]|0;
    75425    $14 = $13 & 255;
    75426    $15 = ($14|0)==(11);
    75427    $22 = $15;
    75428   } else {
    75429    $22 = 0;
    75430   }
    75431   $16 = $4;
    75432   if (!($22)) {
    75433    break;
    75434   }
    75435   $17 = (_find_origin($16)|0);
    75436   $18 = ((($17)) + 20|0);
    75437   $19 = HEAP32[$18>>2]|0;
    75438   $4 = $19;
    75439  }
    75440  $20 = ($16|0)!=(0|0);
    75441  if ($20) {
    75442   $21 = $4;
    75443   _mrb_obj_value_661($0,$21);
    75444   STACKTOP = sp;return;
    75445  } else {
    75446   _mrb_nil_value_689($0);
    75447   STACKTOP = sp;return;
    75448  }
    75449 }
    75450 function _mrb_class_initialize($0,$1,$2) {
    75451  $0 = $0|0;
    75452  $1 = $1|0;
    75453  $2 = $2|0;
    75454  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    75455  sp = STACKTOP;
    75456  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    75457  $$byval_copy2 = sp + 48|0;
    75458  $$byval_copy = sp + 40|0;
    75459  $vararg_buffer = sp;
    75460  $4 = sp + 24|0;
    75461  $5 = sp + 16|0;
    75462  $6 = sp + 8|0;
    75463  $3 = $1;
    75464  $7 = $3;
    75465  HEAP32[$vararg_buffer>>2] = $4;
    75466  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    75467  HEAP32[$vararg_ptr1>>2] = $5;
    75468  (_mrb_get_args($7,66384,$vararg_buffer)|0);
    75469  $8 = ((($5)) + 4|0);
    75470  $9 = HEAP32[$8>>2]|0;
    75471  $10 = ($9|0)==(0);
    75472  if ($10) {
    75473   $11 = HEAP32[$5>>2]|0;
    75474   $12 = ($11|0)!=(0);
    75475   if (!($12)) {
    75476    ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75477    STACKTOP = sp;return;
    75478   }
    75479  }
    75480  $13 = $3;
    75481  $14 = HEAP32[$2>>2]|0;
    75482  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    75483  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    75484  _mrb_yield_with_class($6,$13,$$byval_copy,1,$2,$$byval_copy2,$14);
    75485  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75486  STACKTOP = sp;return;
    75487 }
    75488 function _mrb_mod_cvar_defined($0,$1,$2) {
    75489  $0 = $0|0;
    75490  $1 = $1|0;
    75491  $2 = $2|0;
    75492  var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75493  sp = STACKTOP;
    75494  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    75495  $$byval_copy = sp + 16|0;
    75496  $vararg_buffer = sp;
    75497  $4 = sp + 4|0;
    75498  $3 = $1;
    75499  $5 = $3;
    75500  HEAP32[$vararg_buffer>>2] = $4;
    75501  (_mrb_get_args($5,68770,$vararg_buffer)|0);
    75502  $6 = $3;
    75503  $7 = HEAP32[$4>>2]|0;
    75504  _check_cv_name_sym($6,$7);
    75505  $8 = $3;
    75506  $9 = HEAP32[$4>>2]|0;
    75507  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    75508  $10 = (_mrb_cv_defined($8,$$byval_copy,$9)|0);
    75509  _mrb_bool_value_793($0,$10);
    75510  STACKTOP = sp;return;
    75511 }
    75512 function _mrb_mod_cvar_get($0,$1,$2) {
    75513  $0 = $0|0;
    75514  $1 = $1|0;
    75515  $2 = $2|0;
    75516  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75517  sp = STACKTOP;
    75518  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    75519  $$byval_copy = sp + 16|0;
    75520  $vararg_buffer = sp;
    75521  $4 = sp + 4|0;
    75522  $3 = $1;
    75523  $5 = $3;
    75524  HEAP32[$vararg_buffer>>2] = $4;
    75525  (_mrb_get_args($5,68770,$vararg_buffer)|0);
    75526  $6 = $3;
    75527  $7 = HEAP32[$4>>2]|0;
    75528  _check_cv_name_sym($6,$7);
    75529  $8 = $3;
    75530  $9 = HEAP32[$4>>2]|0;
    75531  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    75532  _mrb_cv_get($0,$8,$$byval_copy,$9);
    75533  STACKTOP = sp;return;
    75534 }
    75535 function _mrb_mod_cvar_set($0,$1,$2) {
    75536  $0 = $0|0;
    75537  $1 = $1|0;
    75538  $2 = $2|0;
    75539  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    75540  sp = STACKTOP;
    75541  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    75542  $$byval_copy2 = sp + 40|0;
    75543  $$byval_copy = sp + 32|0;
    75544  $vararg_buffer = sp;
    75545  $4 = sp + 16|0;
    75546  $5 = sp + 8|0;
    75547  $3 = $1;
    75548  $6 = $3;
    75549  HEAP32[$vararg_buffer>>2] = $5;
    75550  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    75551  HEAP32[$vararg_ptr1>>2] = $4;
    75552  (_mrb_get_args($6,68807,$vararg_buffer)|0);
    75553  $7 = $3;
    75554  $8 = HEAP32[$5>>2]|0;
    75555  _check_cv_name_sym($7,$8);
    75556  $9 = $3;
    75557  $10 = HEAP32[$5>>2]|0;
    75558  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    75559  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    75560  _mrb_cv_set($9,$$byval_copy,$10,$$byval_copy2);
    75561  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    75562  STACKTOP = sp;return;
    75563 }
    75564 function _mrb_mod_extend_object($0,$1,$2) {
    75565  $0 = $0|0;
    75566  $1 = $1|0;
    75567  $2 = $2|0;
    75568  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75569  sp = STACKTOP;
    75570  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    75571  $$byval_copy1 = sp + 40|0;
    75572  $$byval_copy = sp + 32|0;
    75573  $vararg_buffer = sp;
    75574  $4 = sp + 16|0;
    75575  $5 = sp + 8|0;
    75576  $3 = $1;
    75577  $6 = $3;
    75578  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    75579  _mrb_check_type($6,$$byval_copy,10);
    75580  $7 = $3;
    75581  HEAP32[$vararg_buffer>>2] = $4;
    75582  (_mrb_get_args($7,69199,$vararg_buffer)|0);
    75583  $8 = $3;
    75584  $9 = $3;
    75585  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    75586  _mrb_singleton_class($5,$9,$$byval_copy1);
    75587  $10 = HEAP32[$5>>2]|0;
    75588  $11 = HEAP32[$2>>2]|0;
    75589  _mrb_include_module($8,$10,$11);
    75590  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75591  STACKTOP = sp;return;
    75592 }
    75593 function _mrb_mod_prepend($0,$1,$2) {
    75594  $0 = $0|0;
    75595  $1 = $1|0;
    75596  $2 = $2|0;
    75597  var $$byval_copy = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    75598  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    75599  sp = STACKTOP;
    75600  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    75601  $$byval_copy9 = sp + 72|0;
    75602  $$byval_copy8 = sp + 64|0;
    75603  $$byval_copy = sp + 56|0;
    75604  $vararg_buffer5 = sp + 16|0;
    75605  $vararg_buffer2 = sp + 8|0;
    75606  $vararg_buffer = sp;
    75607  $4 = sp + 48|0;
    75608  $5 = sp + 44|0;
    75609  $7 = sp + 32|0;
    75610  $8 = sp + 24|0;
    75611  $3 = $1;
    75612  $9 = $3;
    75613  HEAP32[$vararg_buffer>>2] = $4;
    75614  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    75615  HEAP32[$vararg_ptr1>>2] = $5;
    75616  (_mrb_get_args($9,68856,$vararg_buffer)|0);
    75617  $6 = 0;
    75618  while(1) {
    75619   $10 = $6;
    75620   $11 = HEAP32[$5>>2]|0;
    75621   $12 = ($10|0)<($11|0);
    75622   if (!($12)) {
    75623    break;
    75624   }
    75625   $13 = $3;
    75626   $14 = HEAP32[$4>>2]|0;
    75627   $15 = $6;
    75628   $16 = (($14) + ($15<<3)|0);
    75629   ;HEAP32[$$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;
    75630   _mrb_check_type($13,$$byval_copy,10);
    75631   $17 = $6;
    75632   $18 = (($17) + 1)|0;
    75633   $6 = $18;
    75634  }
    75635  while(1) {
    75636   $19 = HEAP32[$5>>2]|0;
    75637   $20 = (($19) + -1)|0;
    75638   HEAP32[$5>>2] = $20;
    75639   $21 = ($19|0)!=(0);
    75640   if (!($21)) {
    75641    break;
    75642   }
    75643   $22 = $3;
    75644   $23 = HEAP32[$4>>2]|0;
    75645   $24 = HEAP32[$5>>2]|0;
    75646   $25 = (($23) + ($24<<3)|0);
    75647   ;HEAP8[$vararg_buffer2>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$2+7>>0]|0;
    75648   ;HEAP32[$$byval_copy8>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$25+4>>2]|0;
    75649   _mrb_funcall($7,$22,$$byval_copy8,65727,1,$vararg_buffer2);
    75650   $26 = $3;
    75651   $27 = HEAP32[$4>>2]|0;
    75652   $28 = HEAP32[$5>>2]|0;
    75653   $29 = (($27) + ($28<<3)|0);
    75654   ;HEAP8[$vararg_buffer5>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer5+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer5+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer5+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer5+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer5+7>>0]=HEAP8[$2+7>>0]|0;
    75655   ;HEAP32[$$byval_copy9>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$29+4>>2]|0;
    75656   _mrb_funcall($8,$26,$$byval_copy9,65717,1,$vararg_buffer5);
    75657  }
    75658  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75659  STACKTOP = sp;return;
    75660 }
    75661 function _mrb_mod_prepend_features($0,$1,$2) {
    75662  $0 = $0|0;
    75663  $1 = $1|0;
    75664  $2 = $2|0;
    75665  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75666  sp = STACKTOP;
    75667  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    75668  $$byval_copy = sp + 24|0;
    75669  $vararg_buffer = sp;
    75670  $4 = sp + 8|0;
    75671  $3 = $1;
    75672  $5 = $3;
    75673  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    75674  _mrb_check_type($5,$$byval_copy,10);
    75675  $6 = $3;
    75676  HEAP32[$vararg_buffer>>2] = $4;
    75677  (_mrb_get_args($6,68805,$vararg_buffer)|0);
    75678  $7 = $3;
    75679  $8 = HEAP32[$4>>2]|0;
    75680  $9 = HEAP32[$2>>2]|0;
    75681  _mrb_prepend_module($7,$8,$9);
    75682  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75683  STACKTOP = sp;return;
    75684 }
    75685 function _mrb_mod_include($0,$1,$2) {
    75686  $0 = $0|0;
    75687  $1 = $1|0;
    75688  $2 = $2|0;
    75689  var $$byval_copy = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    75690  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    75691  sp = STACKTOP;
    75692  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    75693  $$byval_copy9 = sp + 72|0;
    75694  $$byval_copy8 = sp + 64|0;
    75695  $$byval_copy = sp + 56|0;
    75696  $vararg_buffer5 = sp + 16|0;
    75697  $vararg_buffer2 = sp + 8|0;
    75698  $vararg_buffer = sp;
    75699  $4 = sp + 48|0;
    75700  $5 = sp + 44|0;
    75701  $7 = sp + 32|0;
    75702  $8 = sp + 24|0;
    75703  $3 = $1;
    75704  $9 = $3;
    75705  HEAP32[$vararg_buffer>>2] = $4;
    75706  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    75707  HEAP32[$vararg_ptr1>>2] = $5;
    75708  (_mrb_get_args($9,68856,$vararg_buffer)|0);
    75709  $6 = 0;
    75710  while(1) {
    75711   $10 = $6;
    75712   $11 = HEAP32[$5>>2]|0;
    75713   $12 = ($10|0)<($11|0);
    75714   if (!($12)) {
    75715    break;
    75716   }
    75717   $13 = $3;
    75718   $14 = HEAP32[$4>>2]|0;
    75719   $15 = $6;
    75720   $16 = (($14) + ($15<<3)|0);
    75721   ;HEAP32[$$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;
    75722   _mrb_check_type($13,$$byval_copy,10);
    75723   $17 = $6;
    75724   $18 = (($17) + 1)|0;
    75725   $6 = $18;
    75726  }
    75727  while(1) {
    75728   $19 = HEAP32[$5>>2]|0;
    75729   $20 = (($19) + -1)|0;
    75730   HEAP32[$5>>2] = $20;
    75731   $21 = ($19|0)!=(0);
    75732   if (!($21)) {
    75733    break;
    75734   }
    75735   $22 = $3;
    75736   $23 = HEAP32[$4>>2]|0;
    75737   $24 = HEAP32[$5>>2]|0;
    75738   $25 = (($23) + ($24<<3)|0);
    75739   ;HEAP8[$vararg_buffer2>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$2+7>>0]|0;
    75740   ;HEAP32[$$byval_copy8>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$25+4>>2]|0;
    75741   _mrb_funcall($7,$22,$$byval_copy8,65752,1,$vararg_buffer2);
    75742   $26 = $3;
    75743   $27 = HEAP32[$4>>2]|0;
    75744   $28 = HEAP32[$5>>2]|0;
    75745   $29 = (($27) + ($28<<3)|0);
    75746   ;HEAP8[$vararg_buffer5>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer5+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer5+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer5+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer5+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer5+7>>0]=HEAP8[$2+7>>0]|0;
    75747   ;HEAP32[$$byval_copy9>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$29+4>>2]|0;
    75748   _mrb_funcall($8,$26,$$byval_copy9,65779,1,$vararg_buffer5);
    75749  }
    75750  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75751  STACKTOP = sp;return;
    75752 }
    75753 function _mrb_mod_include_p($0,$1,$2) {
    75754  $0 = $0|0;
    75755  $1 = $1|0;
    75756  $2 = $2|0;
    75757  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    75758  var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75759  sp = STACKTOP;
    75760  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    75761  $$byval_copy = sp + 24|0;
    75762  $vararg_buffer = sp;
    75763  $4 = sp + 8|0;
    75764  $3 = $1;
    75765  $6 = HEAP32[$2>>2]|0;
    75766  $5 = $6;
    75767  $7 = $3;
    75768  HEAP32[$vararg_buffer>>2] = $4;
    75769  (_mrb_get_args($7,68805,$vararg_buffer)|0);
    75770  $8 = $3;
    75771  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    75772  _mrb_check_type($8,$$byval_copy,10);
    75773  while(1) {
    75774   $9 = $5;
    75775   $10 = ($9|0)!=(0|0);
    75776   if (!($10)) {
    75777    label = 7;
    75778    break;
    75779   }
    75780   $11 = $5;
    75781   $12 = HEAP32[$11>>2]|0;
    75782   $13 = $12 & 255;
    75783   $14 = ($13|0)==(11);
    75784   if ($14) {
    75785    $15 = $5;
    75786    $16 = ((($15)) + 4|0);
    75787    $17 = HEAP32[$16>>2]|0;
    75788    $18 = HEAP32[$4>>2]|0;
    75789    $19 = ($17|0)==($18|0);
    75790    if ($19) {
    75791     label = 5;
    75792     break;
    75793    }
    75794   }
    75795   $20 = $5;
    75796   $21 = ((($20)) + 20|0);
    75797   $22 = HEAP32[$21>>2]|0;
    75798   $5 = $22;
    75799  }
    75800  if ((label|0) == 5) {
    75801   _mrb_true_value_815($0);
    75802   STACKTOP = sp;return;
    75803  }
    75804  else if ((label|0) == 7) {
    75805   _mrb_false_value_816($0);
    75806   STACKTOP = sp;return;
    75807  }
    75808 }
    75809 function _mrb_mod_append_features($0,$1,$2) {
    75810  $0 = $0|0;
    75811  $1 = $1|0;
    75812  $2 = $2|0;
    75813  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75814  sp = STACKTOP;
    75815  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    75816  $$byval_copy = sp + 24|0;
    75817  $vararg_buffer = sp;
    75818  $4 = sp + 8|0;
    75819  $3 = $1;
    75820  $5 = $3;
    75821  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    75822  _mrb_check_type($5,$$byval_copy,10);
    75823  $6 = $3;
    75824  HEAP32[$vararg_buffer>>2] = $4;
    75825  (_mrb_get_args($6,68805,$vararg_buffer)|0);
    75826  $7 = $3;
    75827  $8 = HEAP32[$4>>2]|0;
    75828  $9 = HEAP32[$2>>2]|0;
    75829  _mrb_include_module($7,$8,$9);
    75830  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75831  STACKTOP = sp;return;
    75832 }
    75833 function _mrb_mod_included_modules($0,$1,$2) {
    75834  $0 = $0|0;
    75835  $1 = $1|0;
    75836  $2 = $2|0;
    75837  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    75838  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    75839  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    75840  sp = STACKTOP;
    75841  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    75842  $$byval_copy1 = sp + 48|0;
    75843  $$byval_copy = sp + 40|0;
    75844  $4 = sp + 24|0;
    75845  $7 = sp + 8|0;
    75846  $8 = sp;
    75847  $3 = $1;
    75848  $9 = HEAP32[$2>>2]|0;
    75849  $5 = $9;
    75850  $10 = $5;
    75851  $6 = $10;
    75852  $11 = $6;
    75853  $12 = HEAP32[$11>>2]|0;
    75854  $13 = $12 >>> 11;
    75855  $14 = $13 & 524288;
    75856  $15 = ($14|0)!=(0);
    75857  L1: do {
    75858   if ($15) {
    75859    $16 = $6;
    75860    $17 = ((($16)) + 20|0);
    75861    $18 = HEAP32[$17>>2]|0;
    75862    $6 = $18;
    75863    while(1) {
    75864     $19 = $6;
    75865     $20 = HEAP32[$19>>2]|0;
    75866     $21 = $20 >>> 11;
    75867     $22 = $21 & 1048576;
    75868     $23 = ($22|0)!=(0);
    75869     $24 = $23 ^ 1;
    75870     if (!($24)) {
    75871      break L1;
    75872     }
    75873     $25 = $6;
    75874     $26 = ((($25)) + 20|0);
    75875     $27 = HEAP32[$26>>2]|0;
    75876     $6 = $27;
    75877    }
    75878   }
    75879  } while(0);
    75880  $28 = $3;
    75881  _mrb_ary_new($7,$28);
    75882  ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
    75883  while(1) {
    75884   $29 = $5;
    75885   $30 = ($29|0)!=(0|0);
    75886   if (!($30)) {
    75887    break;
    75888   }
    75889   $31 = $5;
    75890   $32 = $6;
    75891   $33 = ($31|0)!=($32|0);
    75892   if ($33) {
    75893    $34 = $5;
    75894    $35 = HEAP32[$34>>2]|0;
    75895    $36 = $35 & 255;
    75896    $37 = ($36|0)==(11);
    75897    if ($37) {
    75898     $38 = $5;
    75899     $39 = ((($38)) + 4|0);
    75900     $40 = HEAP32[$39>>2]|0;
    75901     $41 = HEAP32[$40>>2]|0;
    75902     $42 = $41 & 255;
    75903     $43 = ($42|0)==(10);
    75904     if ($43) {
    75905      $44 = $3;
    75906      $45 = $5;
    75907      $46 = ((($45)) + 4|0);
    75908      $47 = HEAP32[$46>>2]|0;
    75909      _mrb_obj_value_661($8,$47);
    75910      ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    75911      ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
    75912      _mrb_ary_push($44,$$byval_copy,$$byval_copy1);
    75913     }
    75914    }
    75915   }
    75916   $48 = $5;
    75917   $49 = ((($48)) + 20|0);
    75918   $50 = HEAP32[$49>>2]|0;
    75919   $5 = $50;
    75920  }
    75921  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    75922  STACKTOP = sp;return;
    75923 }
    75924 function _mrb_mod_initialize($0,$1,$2) {
    75925  $0 = $0|0;
    75926  $1 = $1|0;
    75927  $2 = $2|0;
    75928  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75929  sp = STACKTOP;
    75930  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    75931  $$byval_copy1 = sp + 48|0;
    75932  $$byval_copy = sp + 40|0;
    75933  $vararg_buffer = sp;
    75934  $4 = sp + 24|0;
    75935  $6 = sp + 8|0;
    75936  $3 = $1;
    75937  $7 = HEAP32[$2>>2]|0;
    75938  $5 = $7;
    75939  $8 = $3;
    75940  $9 = $5;
    75941  _boot_initmod($8,$9);
    75942  $10 = $3;
    75943  HEAP32[$vararg_buffer>>2] = $4;
    75944  (_mrb_get_args($10,66381,$vararg_buffer)|0);
    75945  $11 = ((($4)) + 4|0);
    75946  $12 = HEAP32[$11>>2]|0;
    75947  $13 = ($12|0)==(0);
    75948  if ($13) {
    75949   $14 = HEAP32[$4>>2]|0;
    75950   $15 = ($14|0)!=(0);
    75951   if (!($15)) {
    75952    ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75953    STACKTOP = sp;return;
    75954   }
    75955  }
    75956  $16 = $3;
    75957  $17 = $5;
    75958  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    75959  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    75960  _mrb_yield_with_class($6,$16,$$byval_copy,1,$2,$$byval_copy1,$17);
    75961  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    75962  STACKTOP = sp;return;
    75963 }
    75964 function _mrb_mod_instance_methods($0,$1,$2) {
    75965  $0 = $0|0;
    75966  $1 = $1|0;
    75967  $2 = $2|0;
    75968  var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75969  sp = STACKTOP;
    75970  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    75971  $vararg_buffer = sp;
    75972  $5 = sp + 12|0;
    75973  $3 = $1;
    75974  $6 = HEAP32[$2>>2]|0;
    75975  $4 = $6;
    75976  HEAP8[$5>>0] = 1;
    75977  $7 = $3;
    75978  HEAP32[$vararg_buffer>>2] = $5;
    75979  (_mrb_get_args($7,68724,$vararg_buffer)|0);
    75980  $8 = $3;
    75981  $9 = HEAP8[$5>>0]|0;
    75982  $10 = $4;
    75983  _mrb_class_instance_method_list($0,$8,$9,$10,0);
    75984  STACKTOP = sp;return;
    75985 }
    75986 function _mrb_mod_method_defined($0,$1,$2) {
    75987  $0 = $0|0;
    75988  $1 = $1|0;
    75989  $2 = $2|0;
    75990  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    75991  sp = STACKTOP;
    75992  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    75993  $vararg_buffer = sp;
    75994  $4 = sp + 4|0;
    75995  $3 = $1;
    75996  $5 = $3;
    75997  HEAP32[$vararg_buffer>>2] = $4;
    75998  (_mrb_get_args($5,68770,$vararg_buffer)|0);
    75999  $6 = $3;
    76000  $7 = HEAP32[$2>>2]|0;
    76001  $8 = HEAP32[$4>>2]|0;
    76002  $9 = (_mrb_obj_respond_to($6,$7,$8)|0);
    76003  _mrb_bool_value_793($0,$9);
    76004  STACKTOP = sp;return;
    76005 }
    76006 function _mrb_mod_dummy_visibility($0,$1,$2) {
    76007  $0 = $0|0;
    76008  $1 = $1|0;
    76009  $2 = $2|0;
    76010  var $3 = 0, label = 0, sp = 0;
    76011  sp = STACKTOP;
    76012  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    76013  $3 = $1;
    76014  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    76015  STACKTOP = sp;return;
    76016 }
    76017 function _mrb_mod_remove_cvar($0,$1,$2) {
    76018  $0 = $0|0;
    76019  $1 = $1|0;
    76020  $2 = $2|0;
    76021  var $$byval_copy = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
    76022  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
    76023  sp = STACKTOP;
    76024  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    76025  $$byval_copy9 = sp + 96|0;
    76026  $$byval_copy = sp + 88|0;
    76027  $vararg_buffer5 = sp + 24|0;
    76028  $vararg_buffer1 = sp + 8|0;
    76029  $vararg_buffer = sp;
    76030  $4 = sp + 72|0;
    76031  $5 = sp + 64|0;
    76032  $6 = sp + 56|0;
    76033  $7 = sp + 48|0;
    76034  $8 = sp + 40|0;
    76035  $3 = $1;
    76036  $9 = $3;
    76037  HEAP32[$vararg_buffer>>2] = $5;
    76038  (_mrb_get_args($9,68770,$vararg_buffer)|0);
    76039  $10 = $3;
    76040  $11 = HEAP32[$5>>2]|0;
    76041  _check_cv_name_sym($10,$11);
    76042  $12 = $3;
    76043  $13 = HEAP32[$5>>2]|0;
    76044  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    76045  _mrb_iv_remove($6,$12,$$byval_copy,$13);
    76046  ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
    76047  $14 = ((($4)) + 4|0);
    76048  $15 = HEAP32[$14>>2]|0;
    76049  $16 = ($15|0)==(5);
    76050  if (!($16)) {
    76051   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    76052   STACKTOP = sp;return;
    76053  }
    76054  $17 = $3;
    76055  $18 = HEAP32[$5>>2]|0;
    76056  ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;
    76057  $19 = (_mrb_cv_defined($17,$$byval_copy9,$18)|0);
    76058  $20 = ($19<<24>>24)!=(0);
    76059  $21 = $3;
    76060  $22 = HEAP32[$5>>2]|0;
    76061  $23 = $3;
    76062  $24 = HEAP32[$5>>2]|0;
    76063  if ($20) {
    76064   _mrb_sym2str($7,$23,$24);
    76065   ;HEAP8[$vararg_buffer1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$7+7>>0]|0;
    76066   $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
    76067   ;HEAP8[$vararg_ptr4>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_ptr4+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_ptr4+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_ptr4+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_ptr4+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_ptr4+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_ptr4+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_ptr4+7>>0]=HEAP8[$2+7>>0]|0;
    76068   _mrb_name_error($21,$22,66275,$vararg_buffer1);
    76069   // unreachable;
    76070  } else {
    76071   _mrb_sym2str($8,$23,$24);
    76072   ;HEAP8[$vararg_buffer5>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_buffer5+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_buffer5+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_buffer5+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_buffer5+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_buffer5+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_buffer5+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_buffer5+7>>0]=HEAP8[$8+7>>0]|0;
    76073   $vararg_ptr8 = ((($vararg_buffer5)) + 8|0);
    76074   ;HEAP8[$vararg_ptr8>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_ptr8+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_ptr8+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_ptr8+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_ptr8+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_ptr8+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_ptr8+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_ptr8+7>>0]=HEAP8[$2+7>>0]|0;
    76075   _mrb_name_error($21,$22,66299,$vararg_buffer5);
    76076   // unreachable;
    76077  }
    76078 }
    76079 function _mrb_mod_remove_method($0,$1,$2) {
    76080  $0 = $0|0;
    76081  $1 = $1|0;
    76082  $2 = $2|0;
    76083  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    76084  sp = STACKTOP;
    76085  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    76086  $$byval_copy = sp + 24|0;
    76087  $vararg_buffer = sp;
    76088  $4 = sp + 12|0;
    76089  $5 = sp + 8|0;
    76090  $3 = $1;
    76091  $6 = $3;
    76092  HEAP32[$vararg_buffer>>2] = $5;
    76093  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    76094  HEAP32[$vararg_ptr1>>2] = $4;
    76095  (_mrb_get_args($6,68856,$vararg_buffer)|0);
    76096  while(1) {
    76097   $7 = HEAP32[$4>>2]|0;
    76098   $8 = (($7) + -1)|0;
    76099   HEAP32[$4>>2] = $8;
    76100   $9 = ($7|0)!=(0);
    76101   if (!($9)) {
    76102    break;
    76103   }
    76104   $10 = $3;
    76105   $11 = HEAP32[$5>>2]|0;
    76106   $12 = HEAP32[$11>>2]|0;
    76107   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    76108   _remove_method($10,$$byval_copy,$12);
    76109   $13 = HEAP32[$5>>2]|0;
    76110   $14 = ((($13)) + 8|0);
    76111   HEAP32[$5>>2] = $14;
    76112  }
    76113  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    76114  STACKTOP = sp;return;
    76115 }
    76116 function _mrb_mod_attr_reader($0,$1,$2) {
    76117  $0 = $0|0;
    76118  $1 = $1|0;
    76119  $2 = $2|0;
    76120  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
    76121  var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
    76122  var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
    76123  var $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    76124  sp = STACKTOP;
    76125  STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
    76126  $$byval_copy5 = sp + 128|0;
    76127  $$byval_copy4 = sp + 120|0;
    76128  $$byval_copy3 = sp + 112|0;
    76129  $$byval_copy2 = sp + 104|0;
    76130  $$byval_copy = sp + 96|0;
    76131  $vararg_buffer = sp;
    76132  $5 = sp + 84|0;
    76133  $6 = sp + 80|0;
    76134  $9 = sp + 64|0;
    76135  $10 = sp + 56|0;
    76136  $13 = sp + 40|0;
    76137  $14 = sp + 32|0;
    76138  $15 = sp + 24|0;
    76139  $16 = sp + 16|0;
    76140  $17 = sp + 8|0;
    76141  $3 = $1;
    76142  $18 = HEAP32[$2>>2]|0;
    76143  $4 = $18;
    76144  $19 = $3;
    76145  HEAP32[$vararg_buffer>>2] = $5;
    76146  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    76147  HEAP32[$vararg_ptr1>>2] = $6;
    76148  (_mrb_get_args($19,68856,$vararg_buffer)|0);
    76149  $20 = $3;
    76150  $21 = (_mrb_gc_arena_save($20)|0);
    76151  $8 = $21;
    76152  $7 = 0;
    76153  while(1) {
    76154   $22 = $7;
    76155   $23 = HEAP32[$6>>2]|0;
    76156   $24 = ($22|0)<($23|0);
    76157   if (!($24)) {
    76158    break;
    76159   }
    76160   $25 = $3;
    76161   $26 = HEAP32[$5>>2]|0;
    76162   $27 = $7;
    76163   $28 = (($26) + ($27<<3)|0);
    76164   ;HEAP32[$$byval_copy>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$28+4>>2]|0;
    76165   $29 = (_to_sym($25,$$byval_copy)|0);
    76166   $11 = $29;
    76167   $30 = $3;
    76168   $31 = $11;
    76169   _mrb_sym2str($13,$30,$31);
    76170   ;HEAP32[$9>>2]=HEAP32[$13>>2]|0;HEAP32[$9+4>>2]=HEAP32[$13+4>>2]|0;
    76171   $32 = $3;
    76172   $33 = HEAP32[$9>>2]|0;
    76173   $34 = HEAP32[$33>>2]|0;
    76174   $35 = $34 >>> 11;
    76175   $36 = $35 & 8;
    76176   $37 = ($36|0)!=(0);
    76177   $38 = HEAP32[$9>>2]|0;
    76178   if ($37) {
    76179    $39 = HEAP32[$38>>2]|0;
    76180    $40 = $39 >>> 11;
    76181    $41 = $40 & 496;
    76182    $42 = $41 >> 4;
    76183    $46 = $42;
    76184   } else {
    76185    $43 = ((($38)) + 12|0);
    76186    $44 = HEAP32[$43>>2]|0;
    76187    $46 = $44;
    76188   }
    76189   $45 = (($46) + 1)|0;
    76190   _mrb_str_buf_new($14,$32,$45);
    76191   ;HEAP32[$10>>2]=HEAP32[$14>>2]|0;HEAP32[$10+4>>2]=HEAP32[$14+4>>2]|0;
    76192   $47 = $3;
    76193   ;HEAP32[$$byval_copy2>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$10+4>>2]|0;
    76194   _mrb_str_cat($15,$47,$$byval_copy2,66241,1);
    76195   $48 = $3;
    76196   ;HEAP32[$$byval_copy3>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$10+4>>2]|0;
    76197   ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
    76198   _mrb_str_cat_str($16,$48,$$byval_copy3,$$byval_copy4);
    76199   $49 = $3;
    76200   ;HEAP32[$$byval_copy5>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$10+4>>2]|0;
    76201   $50 = (_mrb_intern_str($49,$$byval_copy5)|0);
    76202   $12 = $50;
    76203   $51 = $3;
    76204   $52 = $12;
    76205   _mrb_iv_check($51,$52);
    76206   $53 = $12;
    76207   _mrb_symbol_value_663($17,$53);
    76208   ;HEAP32[$9>>2]=HEAP32[$17>>2]|0;HEAP32[$9+4>>2]=HEAP32[$17+4>>2]|0;
    76209   $54 = $3;
    76210   $55 = $4;
    76211   $56 = $11;
    76212   $57 = $3;
    76213   $58 = (_mrb_proc_new_cfunc_with_env($57,274,1,$9)|0);
    76214   _mrb_define_method_raw($54,$55,$56,$58);
    76215   $59 = $3;
    76216   $60 = $8;
    76217   _mrb_gc_arena_restore($59,$60);
    76218   $61 = $7;
    76219   $62 = (($61) + 1)|0;
    76220   $7 = $62;
    76221  }
    76222  _mrb_nil_value_689($0);
    76223  STACKTOP = sp;return;
    76224 }
    76225 function _mrb_mod_attr_writer($0,$1,$2) {
    76226  $0 = $0|0;
    76227  $1 = $1|0;
    76228  $2 = $2|0;
    76229  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
    76230  var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
    76231  var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
    76232  var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
    76233  var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    76234  sp = STACKTOP;
    76235  STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0);
    76236  $$byval_copy9 = sp + 192|0;
    76237  $$byval_copy8 = sp + 184|0;
    76238  $$byval_copy7 = sp + 176|0;
    76239  $$byval_copy6 = sp + 168|0;
    76240  $$byval_copy5 = sp + 160|0;
    76241  $$byval_copy4 = sp + 152|0;
    76242  $$byval_copy3 = sp + 144|0;
    76243  $$byval_copy2 = sp + 136|0;
    76244  $$byval_copy = sp + 128|0;
    76245  $vararg_buffer = sp;
    76246  $5 = sp + 116|0;
    76247  $6 = sp + 112|0;
    76248  $9 = sp + 96|0;
    76249  $10 = sp + 88|0;
    76250  $11 = sp + 80|0;
    76251  $14 = sp + 64|0;
    76252  $15 = sp + 56|0;
    76253  $16 = sp + 48|0;
    76254  $17 = sp + 40|0;
    76255  $18 = sp + 32|0;
    76256  $19 = sp + 24|0;
    76257  $20 = sp + 16|0;
    76258  $21 = sp + 8|0;
    76259  $3 = $1;
    76260  $22 = HEAP32[$2>>2]|0;
    76261  $4 = $22;
    76262  $23 = $3;
    76263  HEAP32[$vararg_buffer>>2] = $5;
    76264  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    76265  HEAP32[$vararg_ptr1>>2] = $6;
    76266  (_mrb_get_args($23,68856,$vararg_buffer)|0);
    76267  $24 = $3;
    76268  $25 = (_mrb_gc_arena_save($24)|0);
    76269  $8 = $25;
    76270  $7 = 0;
    76271  while(1) {
    76272   $26 = $7;
    76273   $27 = HEAP32[$6>>2]|0;
    76274   $28 = ($26|0)<($27|0);
    76275   if (!($28)) {
    76276    break;
    76277   }
    76278   $29 = $3;
    76279   $30 = HEAP32[$5>>2]|0;
    76280   $31 = $7;
    76281   $32 = (($30) + ($31<<3)|0);
    76282   ;HEAP32[$$byval_copy>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$32+4>>2]|0;
    76283   $33 = (_to_sym($29,$$byval_copy)|0);
    76284   $12 = $33;
    76285   $34 = $3;
    76286   $35 = $12;
    76287   _mrb_sym2str($14,$34,$35);
    76288   ;HEAP32[$9>>2]=HEAP32[$14>>2]|0;HEAP32[$9+4>>2]=HEAP32[$14+4>>2]|0;
    76289   $36 = $3;
    76290   $37 = HEAP32[$9>>2]|0;
    76291   $38 = HEAP32[$37>>2]|0;
    76292   $39 = $38 >>> 11;
    76293   $40 = $39 & 8;
    76294   $41 = ($40|0)!=(0);
    76295   $42 = HEAP32[$9>>2]|0;
    76296   if ($41) {
    76297    $43 = HEAP32[$42>>2]|0;
    76298    $44 = $43 >>> 11;
    76299    $45 = $44 & 496;
    76300    $46 = $45 >> 4;
    76301    $50 = $46;
    76302   } else {
    76303    $47 = ((($42)) + 12|0);
    76304    $48 = HEAP32[$47>>2]|0;
    76305    $50 = $48;
    76306   }
    76307   $49 = (($50) + 1)|0;
    76308   _mrb_str_buf_new($15,$36,$49);
    76309   ;HEAP32[$10>>2]=HEAP32[$15>>2]|0;HEAP32[$10+4>>2]=HEAP32[$15+4>>2]|0;
    76310   $51 = $3;
    76311   ;HEAP32[$$byval_copy2>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$10+4>>2]|0;
    76312   _mrb_str_cat($16,$51,$$byval_copy2,66241,1);
    76313   $52 = $3;
    76314   ;HEAP32[$$byval_copy3>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$10+4>>2]|0;
    76315   ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
    76316   _mrb_str_cat_str($17,$52,$$byval_copy3,$$byval_copy4);
    76317   $53 = $3;
    76318   ;HEAP32[$$byval_copy5>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$10+4>>2]|0;
    76319   $54 = (_mrb_intern_str($53,$$byval_copy5)|0);
    76320   $13 = $54;
    76321   $55 = $3;
    76322   $56 = $13;
    76323   _mrb_iv_check($55,$56);
    76324   $57 = $13;
    76325   _mrb_symbol_value_663($18,$57);
    76326   ;HEAP32[$11>>2]=HEAP32[$18>>2]|0;HEAP32[$11+4>>2]=HEAP32[$18+4>>2]|0;
    76327   $58 = $3;
    76328   $59 = HEAP32[$10>>2]|0;
    76329   $60 = HEAP32[$59>>2]|0;
    76330   $61 = $60 >>> 11;
    76331   $62 = $61 & 8;
    76332   $63 = ($62|0)!=(0);
    76333   $64 = HEAP32[$10>>2]|0;
    76334   if ($63) {
    76335    $65 = HEAP32[$64>>2]|0;
    76336    $66 = $65 >>> 11;
    76337    $67 = $66 & 496;
    76338    $68 = $67 >> 4;
    76339    $71 = $68;
    76340   } else {
    76341    $69 = ((($64)) + 12|0);
    76342    $70 = HEAP32[$69>>2]|0;
    76343    $71 = $70;
    76344   }
    76345   _mrb_str_buf_new($19,$58,$71);
    76346   ;HEAP32[$10>>2]=HEAP32[$19>>2]|0;HEAP32[$10+4>>2]=HEAP32[$19+4>>2]|0;
    76347   $72 = $3;
    76348   ;HEAP32[$$byval_copy6>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$10+4>>2]|0;
    76349   ;HEAP32[$$byval_copy7>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$9+4>>2]|0;
    76350   _mrb_str_cat_str($20,$72,$$byval_copy6,$$byval_copy7);
    76351   $73 = $3;
    76352   ;HEAP32[$$byval_copy8>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$10+4>>2]|0;
    76353   _mrb_str_cat($21,$73,$$byval_copy8,66243,1);
    76354   $74 = $3;
    76355   ;HEAP32[$$byval_copy9>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$10+4>>2]|0;
    76356   $75 = (_mrb_intern_str($74,$$byval_copy9)|0);
    76357   $12 = $75;
    76358   $76 = $3;
    76359   $77 = $4;
    76360   $78 = $12;
    76361   $79 = $3;
    76362   $80 = (_mrb_proc_new_cfunc_with_env($79,275,1,$11)|0);
    76363   _mrb_define_method_raw($76,$77,$78,$80);
    76364   $81 = $3;
    76365   $82 = $8;
    76366   _mrb_gc_arena_restore($81,$82);
    76367   $83 = $7;
    76368   $84 = (($83) + 1)|0;
    76369   $7 = $84;
    76370  }
    76371  _mrb_nil_value_689($0);
    76372  STACKTOP = sp;return;
    76373 }
    76374 function _mrb_mod_to_s($0,$1,$2) {
    76375  $0 = $0|0;
    76376  $1 = $1|0;
    76377  $2 = $2|0;
    76378  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
    76379  var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
    76380  var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    76381  var $9 = 0, label = 0, sp = 0;
    76382  sp = STACKTOP;
    76383  STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0);
    76384  $$byval_copy13 = sp + 232|0;
    76385  $$byval_copy12 = sp + 224|0;
    76386  $$byval_copy11 = sp + 216|0;
    76387  $$byval_copy10 = sp + 208|0;
    76388  $$byval_copy9 = sp + 200|0;
    76389  $$byval_copy8 = sp + 192|0;
    76390  $$byval_copy7 = sp + 184|0;
    76391  $$byval_copy6 = sp + 176|0;
    76392  $$byval_copy5 = sp + 168|0;
    76393  $$byval_copy4 = sp + 160|0;
    76394  $$byval_copy3 = sp + 152|0;
    76395  $$byval_copy2 = sp + 144|0;
    76396  $$byval_copy1 = sp + 136|0;
    76397  $$byval_copy = sp + 128|0;
    76398  $4 = sp + 112|0;
    76399  $5 = sp + 104|0;
    76400  $6 = sp + 96|0;
    76401  $7 = sp + 88|0;
    76402  $8 = sp + 80|0;
    76403  $9 = sp + 72|0;
    76404  $10 = sp + 64|0;
    76405  $12 = sp + 48|0;
    76406  $13 = sp + 40|0;
    76407  $14 = sp + 32|0;
    76408  $15 = sp + 24|0;
    76409  $16 = sp + 16|0;
    76410  $17 = sp + 8|0;
    76411  $18 = sp;
    76412  $3 = $1;
    76413  $19 = ((($2)) + 4|0);
    76414  $20 = HEAP32[$19>>2]|0;
    76415  $21 = ($20|0)==(12);
    76416  $22 = $3;
    76417  if ($21) {
    76418   $23 = $3;
    76419   $24 = (_mrb_intern_static($23,68237,12)|0);
    76420   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    76421   _mrb_iv_get($5,$22,$$byval_copy,$24);
    76422   $25 = $3;
    76423   _mrb_str_new_static($6,$25,65531,8);
    76424   ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
    76425   $26 = ((($5)) + 4|0);
    76426   $27 = HEAP32[$26>>2]|0;
    76427   switch ($27|0) {
    76428   case 12: case 10: case 9:  {
    76429    $28 = $3;
    76430    $29 = $3;
    76431    ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
    76432    _mrb_inspect($7,$29,$$byval_copy1);
    76433    ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    76434    ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
    76435    _mrb_str_cat_str($8,$28,$$byval_copy2,$$byval_copy3);
    76436    break;
    76437   }
    76438   default: {
    76439    $30 = $3;
    76440    $31 = $3;
    76441    ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
    76442    _mrb_any_to_s($9,$31,$$byval_copy4);
    76443    ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;
    76444    ;HEAP32[$$byval_copy6>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$9+4>>2]|0;
    76445    _mrb_str_cat_str($10,$30,$$byval_copy5,$$byval_copy6);
    76446   }
    76447   }
    76448   $32 = $3;
    76449   ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0;
    76450   _mrb_str_cat($0,$32,$$byval_copy7,65540,1);
    76451   STACKTOP = sp;return;
    76452  }
    76453  _mrb_str_buf_new($13,$22,32);
    76454  ;HEAP32[$4>>2]=HEAP32[$13>>2]|0;HEAP32[$4+4>>2]=HEAP32[$13+4>>2]|0;
    76455  $33 = HEAP32[$2>>2]|0;
    76456  $11 = $33;
    76457  $34 = $3;
    76458  $35 = $11;
    76459  _mrb_class_path($14,$34,$35);
    76460  ;HEAP32[$12>>2]=HEAP32[$14>>2]|0;HEAP32[$12+4>>2]=HEAP32[$14+4>>2]|0;
    76461  $36 = ((($12)) + 4|0);
    76462  $37 = HEAP32[$36>>2]|0;
    76463  $38 = ($37|0)==(0);
    76464  if ($38) {
    76465   $39 = HEAP32[$12>>2]|0;
    76466   $40 = ($39|0)!=(0);
    76467   if (!($40)) {
    76468    $41 = ((($2)) + 4|0);
    76469    $42 = HEAP32[$41>>2]|0;
    76470    switch ($42|0) {
    76471    case 9:  {
    76472     $43 = $3;
    76473     ;HEAP32[$$byval_copy8>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$4+4>>2]|0;
    76474     _mrb_str_cat($15,$43,$$byval_copy8,65531,8);
    76475     break;
    76476    }
    76477    case 10:  {
    76478     $44 = $3;
    76479     ;HEAP32[$$byval_copy9>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$4+4>>2]|0;
    76480     _mrb_str_cat($16,$44,$$byval_copy9,66221,9);
    76481     break;
    76482    }
    76483    default: {
    76484     $45 = $3;
    76485     ;HEAP32[$$byval_copy10>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$4+4>>2]|0;
    76486     _mrb_str_cat($17,$45,$$byval_copy10,66231,9);
    76487    }
    76488    }
    76489    $46 = $3;
    76490    $47 = $3;
    76491    $48 = $11;
    76492    _mrb_ptr_to_str($18,$47,$48);
    76493    ;HEAP32[$$byval_copy11>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$4+4>>2]|0;
    76494    ;HEAP32[$$byval_copy12>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$18+4>>2]|0;
    76495    _mrb_str_concat($46,$$byval_copy11,$$byval_copy12);
    76496    $49 = $3;
    76497    ;HEAP32[$$byval_copy13>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$4+4>>2]|0;
    76498    _mrb_str_cat($0,$49,$$byval_copy13,65540,1);
    76499    STACKTOP = sp;return;
    76500   }
    76501  }
    76502  ;HEAP32[$0>>2]=HEAP32[$12>>2]|0;HEAP32[$0+4>>2]=HEAP32[$12+4>>2]|0;
    76503  STACKTOP = sp;return;
    76504 }
    76505 function _mrb_mod_alias($0,$1,$2) {
    76506  $0 = $0|0;
    76507  $1 = $1|0;
    76508  $2 = $2|0;
    76509  var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    76510  sp = STACKTOP;
    76511  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    76512  $vararg_buffer = sp;
    76513  $5 = sp + 12|0;
    76514  $6 = sp + 8|0;
    76515  $3 = $1;
    76516  $7 = HEAP32[$2>>2]|0;
    76517  $4 = $7;
    76518  $8 = $3;
    76519  HEAP32[$vararg_buffer>>2] = $5;
    76520  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    76521  HEAP32[$vararg_ptr1>>2] = $6;
    76522  (_mrb_get_args($8,66218,$vararg_buffer)|0);
    76523  $9 = $3;
    76524  $10 = $4;
    76525  $11 = HEAP32[$5>>2]|0;
    76526  $12 = HEAP32[$6>>2]|0;
    76527  _mrb_alias_method($9,$10,$11,$12);
    76528  _mrb_nil_value_689($0);
    76529  STACKTOP = sp;return;
    76530 }
    76531 function _mrb_mod_ancestors($0,$1,$2) {
    76532  $0 = $0|0;
    76533  $1 = $1|0;
    76534  $2 = $2|0;
    76535  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    76536  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    76537  sp = STACKTOP;
    76538  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    76539  $$byval_copy3 = sp + 72|0;
    76540  $$byval_copy2 = sp + 64|0;
    76541  $$byval_copy1 = sp + 56|0;
    76542  $$byval_copy = sp + 48|0;
    76543  $4 = sp + 32|0;
    76544  $6 = sp + 16|0;
    76545  $7 = sp + 8|0;
    76546  $8 = sp;
    76547  $3 = $1;
    76548  $9 = HEAP32[$2>>2]|0;
    76549  $5 = $9;
    76550  $10 = $3;
    76551  _mrb_ary_new($6,$10);
    76552  ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
    76553  while(1) {
    76554   $11 = $5;
    76555   $12 = ($11|0)!=(0|0);
    76556   if (!($12)) {
    76557    break;
    76558   }
    76559   $13 = $5;
    76560   $14 = HEAP32[$13>>2]|0;
    76561   $15 = $14 & 255;
    76562   $16 = ($15|0)==(11);
    76563   if ($16) {
    76564    $17 = $3;
    76565    $18 = $5;
    76566    $19 = ((($18)) + 4|0);
    76567    $20 = HEAP32[$19>>2]|0;
    76568    _mrb_obj_value_661($7,$20);
    76569    ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    76570    ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
    76571    _mrb_ary_push($17,$$byval_copy,$$byval_copy1);
    76572   } else {
    76573    $21 = $5;
    76574    $22 = HEAP32[$21>>2]|0;
    76575    $23 = $22 >>> 11;
    76576    $24 = $23 & 524288;
    76577    $25 = ($24|0)!=(0);
    76578    if (!($25)) {
    76579     $26 = $3;
    76580     $27 = $5;
    76581     _mrb_obj_value_661($8,$27);
    76582     ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    76583     ;HEAP32[$$byval_copy3>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$8+4>>2]|0;
    76584     _mrb_ary_push($26,$$byval_copy2,$$byval_copy3);
    76585    }
    76586   }
    76587   $28 = $5;
    76588   $29 = ((($28)) + 20|0);
    76589   $30 = HEAP32[$29>>2]|0;
    76590   $5 = $30;
    76591  }
    76592  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    76593  STACKTOP = sp;return;
    76594 }
    76595 function _mrb_mod_undef($0,$1,$2) {
    76596  $0 = $0|0;
    76597  $1 = $1|0;
    76598  $2 = $2|0;
    76599  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    76600  sp = STACKTOP;
    76601  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    76602  $vararg_buffer = sp;
    76603  $5 = sp + 12|0;
    76604  $6 = sp + 8|0;
    76605  $3 = $1;
    76606  $7 = HEAP32[$2>>2]|0;
    76607  $4 = $7;
    76608  $8 = $3;
    76609  HEAP32[$vararg_buffer>>2] = $6;
    76610  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    76611  HEAP32[$vararg_ptr1>>2] = $5;
    76612  (_mrb_get_args($8,68856,$vararg_buffer)|0);
    76613  while(1) {
    76614   $9 = HEAP32[$5>>2]|0;
    76615   $10 = (($9) + -1)|0;
    76616   HEAP32[$5>>2] = $10;
    76617   $11 = ($9|0)!=(0);
    76618   if (!($11)) {
    76619    break;
    76620   }
    76621   $12 = $3;
    76622   $13 = $4;
    76623   $14 = HEAP32[$6>>2]|0;
    76624   $15 = HEAP32[$14>>2]|0;
    76625   _undef_method($12,$13,$15);
    76626   $16 = HEAP32[$6>>2]|0;
    76627   $17 = ((($16)) + 8|0);
    76628   HEAP32[$6>>2] = $17;
    76629  }
    76630  _mrb_nil_value_689($0);
    76631  STACKTOP = sp;return;
    76632 }
    76633 function _mrb_mod_const_defined($0,$1,$2) {
    76634  $0 = $0|0;
    76635  $1 = $1|0;
    76636  $2 = $2|0;
    76637  var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    76638  sp = STACKTOP;
    76639  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    76640  $$byval_copy = sp + 16|0;
    76641  $vararg_buffer = sp;
    76642  $4 = sp + 8|0;
    76643  $5 = sp + 24|0;
    76644  $3 = $1;
    76645  HEAP8[$5>>0] = 1;
    76646  $6 = $3;
    76647  HEAP32[$vararg_buffer>>2] = $4;
    76648  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    76649  HEAP32[$vararg_ptr1>>2] = $5;
    76650  (_mrb_get_args($6,66214,$vararg_buffer)|0);
    76651  $7 = $3;
    76652  $8 = HEAP32[$4>>2]|0;
    76653  _check_const_name_sym($7,$8);
    76654  $9 = $3;
    76655  $10 = HEAP32[$4>>2]|0;
    76656  $11 = HEAP8[$5>>0]|0;
    76657  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    76658  _const_defined($0,$9,$$byval_copy,$10,$11);
    76659  STACKTOP = sp;return;
    76660 }
    76661 function _mrb_mod_const_get($0,$1,$2) {
    76662  $0 = $0|0;
    76663  $1 = $1|0;
    76664  $2 = $2|0;
    76665  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    76666  sp = STACKTOP;
    76667  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    76668  $$byval_copy = sp + 16|0;
    76669  $vararg_buffer = sp;
    76670  $4 = sp + 4|0;
    76671  $3 = $1;
    76672  $5 = $3;
    76673  HEAP32[$vararg_buffer>>2] = $4;
    76674  (_mrb_get_args($5,68770,$vararg_buffer)|0);
    76675  $6 = $3;
    76676  $7 = HEAP32[$4>>2]|0;
    76677  _check_const_name_sym($6,$7);
    76678  $8 = $3;
    76679  $9 = HEAP32[$4>>2]|0;
    76680  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    76681  _mrb_const_get($0,$8,$$byval_copy,$9);
    76682  STACKTOP = sp;return;
    76683 }
    76684 function _mrb_mod_const_set($0,$1,$2) {
    76685  $0 = $0|0;
    76686  $1 = $1|0;
    76687  $2 = $2|0;
    76688  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    76689  sp = STACKTOP;
    76690  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    76691  $$byval_copy2 = sp + 32|0;
    76692  $$byval_copy = sp + 24|0;
    76693  $vararg_buffer = sp;
    76694  $4 = sp + 16|0;
    76695  $5 = sp + 8|0;
    76696  $3 = $1;
    76697  $6 = $3;
    76698  HEAP32[$vararg_buffer>>2] = $4;
    76699  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    76700  HEAP32[$vararg_ptr1>>2] = $5;
    76701  (_mrb_get_args($6,68807,$vararg_buffer)|0);
    76702  $7 = $3;
    76703  $8 = HEAP32[$4>>2]|0;
    76704  _check_const_name_sym($7,$8);
    76705  $9 = $3;
    76706  $10 = HEAP32[$4>>2]|0;
    76707  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    76708  ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
    76709  _mrb_const_set($9,$$byval_copy,$10,$$byval_copy2);
    76710  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    76711  STACKTOP = sp;return;
    76712 }
    76713 function _mrb_mod_remove_const($0,$1,$2) {
    76714  $0 = $0|0;
    76715  $1 = $1|0;
    76716  $2 = $2|0;
    76717  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
    76718  var label = 0, sp = 0;
    76719  sp = STACKTOP;
    76720  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    76721  $$byval_copy = sp + 48|0;
    76722  $vararg_buffer1 = sp + 8|0;
    76723  $vararg_buffer = sp;
    76724  $4 = sp + 40|0;
    76725  $5 = sp + 32|0;
    76726  $6 = sp + 24|0;
    76727  $7 = sp + 16|0;
    76728  $3 = $1;
    76729  $8 = $3;
    76730  HEAP32[$vararg_buffer>>2] = $4;
    76731  (_mrb_get_args($8,68770,$vararg_buffer)|0);
    76732  $9 = $3;
    76733  $10 = HEAP32[$4>>2]|0;
    76734  _check_const_name_sym($9,$10);
    76735  $11 = $3;
    76736  $12 = HEAP32[$4>>2]|0;
    76737  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    76738  _mrb_iv_remove($6,$11,$$byval_copy,$12);
    76739  ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
    76740  $13 = ((($5)) + 4|0);
    76741  $14 = HEAP32[$13>>2]|0;
    76742  $15 = ($14|0)==(5);
    76743  if ($15) {
    76744   $16 = $3;
    76745   $17 = HEAP32[$4>>2]|0;
    76746   $18 = $3;
    76747   $19 = HEAP32[$4>>2]|0;
    76748   _mrb_sym2str($7,$18,$19);
    76749   ;HEAP8[$vararg_buffer1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$7+7>>0]|0;
    76750   _mrb_name_error($16,$17,66167,$vararg_buffer1);
    76751   // unreachable;
    76752  } else {
    76753   ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    76754   STACKTOP = sp;return;
    76755  }
    76756 }
    76757 function _mrb_mod_const_missing($0,$1,$2) {
    76758  $0 = $0|0;
    76759  $1 = $1|0;
    76760  $2 = $2|0;
    76761  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, label = 0;
    76762  var sp = 0;
    76763  sp = STACKTOP;
    76764  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    76765  $vararg_buffer5 = sp + 24|0;
    76766  $vararg_buffer1 = sp + 8|0;
    76767  $vararg_buffer = sp;
    76768  $4 = sp + 48|0;
    76769  $5 = sp + 40|0;
    76770  $6 = sp + 32|0;
    76771  $3 = $1;
    76772  $7 = $3;
    76773  HEAP32[$vararg_buffer>>2] = $4;
    76774  (_mrb_get_args($7,68770,$vararg_buffer)|0);
    76775  $8 = HEAP32[$2>>2]|0;
    76776  $9 = (_mrb_class_real($8)|0);
    76777  $10 = $3;
    76778  $11 = ((($10)) + 32|0);
    76779  $12 = HEAP32[$11>>2]|0;
    76780  $13 = ($9|0)!=($12|0);
    76781  $14 = $3;
    76782  $15 = HEAP32[$4>>2]|0;
    76783  $16 = $3;
    76784  $17 = HEAP32[$4>>2]|0;
    76785  if ($13) {
    76786   _mrb_sym2str($5,$16,$17);
    76787   ;HEAP8[$vararg_buffer1>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$2+7>>0]|0;
    76788   $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
    76789   ;HEAP8[$vararg_ptr4>>0]=HEAP8[$5>>0]|0;HEAP8[$vararg_ptr4+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$vararg_ptr4+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$vararg_ptr4+3>>0]=HEAP8[$5+3>>0]|0;HEAP8[$vararg_ptr4+4>>0]=HEAP8[$5+4>>0]|0;HEAP8[$vararg_ptr4+5>>0]=HEAP8[$5+5>>0]|0;HEAP8[$vararg_ptr4+6>>0]=HEAP8[$5+6>>0]|0;HEAP8[$vararg_ptr4+7>>0]=HEAP8[$5+7>>0]|0;
    76790   _mrb_name_error($14,$15,66111,$vararg_buffer1);
    76791   // unreachable;
    76792  } else {
    76793   _mrb_sym2str($6,$16,$17);
    76794   ;HEAP8[$vararg_buffer5>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer5+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer5+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer5+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer5+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer5+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer5+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer5+7>>0]=HEAP8[$6+7>>0]|0;
    76795   _mrb_name_error($14,$15,66141,$vararg_buffer5);
    76796   // unreachable;
    76797  }
    76798 }
    76799 function _mod_define_method($0,$1,$2) {
    76800  $0 = $0|0;
    76801  $1 = $1|0;
    76802  $2 = $2|0;
    76803  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    76804  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    76805  sp = STACKTOP;
    76806  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    76807  $vararg_buffer = sp;
    76808  $6 = sp + 16|0;
    76809  $7 = sp + 8|0;
    76810  $3 = $1;
    76811  $8 = HEAP32[$2>>2]|0;
    76812  $4 = $8;
    76813  $9 = $3;
    76814  HEAP32[$vararg_buffer>>2] = $6;
    76815  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    76816  HEAP32[$vararg_ptr1>>2] = $7;
    76817  (_mrb_get_args($9,68706,$vararg_buffer)|0);
    76818  $10 = ((($7)) + 4|0);
    76819  $11 = HEAP32[$10>>2]|0;
    76820  $12 = ($11|0)==(0);
    76821  if ($12) {
    76822   $13 = HEAP32[$7>>2]|0;
    76823   $14 = ($13|0)!=(0);
    76824   if (!($14)) {
    76825    $15 = $3;
    76826    $16 = $3;
    76827    $17 = (_mrb_class_get($16,69160)|0);
    76828    _mrb_raise($15,$17,68709);
    76829    // unreachable;
    76830   }
    76831  }
    76832  $18 = $3;
    76833  $19 = $3;
    76834  $20 = ((($19)) + 44|0);
    76835  $21 = HEAP32[$20>>2]|0;
    76836  $22 = (_mrb_obj_alloc($18,13,$21)|0);
    76837  $5 = $22;
    76838  $23 = $5;
    76839  $24 = HEAP32[$7>>2]|0;
    76840  _mrb_proc_copy($23,$24);
    76841  $25 = $5;
    76842  $26 = HEAP32[$25>>2]|0;
    76843  $27 = $26 >>> 11;
    76844  $28 = $27 | 256;
    76845  $29 = HEAP32[$25>>2]|0;
    76846  $30 = $28 & 2097151;
    76847  $31 = $30 << 11;
    76848  $32 = $29 & 2047;
    76849  $33 = $32 | $31;
    76850  HEAP32[$25>>2] = $33;
    76851  $34 = $3;
    76852  $35 = $4;
    76853  $36 = HEAP32[$6>>2]|0;
    76854  $37 = $5;
    76855  _mrb_define_method_raw($34,$35,$36,$37);
    76856  $38 = HEAP32[$6>>2]|0;
    76857  _mrb_symbol_value_663($0,$38);
    76858  STACKTOP = sp;return;
    76859 }
    76860 function _mrb_mod_eqq($0,$1,$2) {
    76861  $0 = $0|0;
    76862  $1 = $1|0;
    76863  $2 = $2|0;
    76864  var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    76865  sp = STACKTOP;
    76866  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    76867  $$byval_copy = sp + 24|0;
    76868  $vararg_buffer = sp;
    76869  $4 = sp + 8|0;
    76870  $3 = $1;
    76871  $6 = $3;
    76872  HEAP32[$vararg_buffer>>2] = $4;
    76873  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    76874  $7 = $3;
    76875  $8 = HEAP32[$2>>2]|0;
    76876  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    76877  $9 = (_mrb_obj_is_kind_of($7,$$byval_copy,$8)|0);
    76878  $5 = $9;
    76879  $10 = $5;
    76880  _mrb_bool_value_793($0,$10);
    76881  STACKTOP = sp;return;
    76882 }
    76883 function _mrb_mod_s_constants($0,$1,$2) {
    76884  $0 = $0|0;
    76885  $1 = $1|0;
    76886  $2 = $2|0;
    76887  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    76888  sp = STACKTOP;
    76889  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    76890  $3 = $1;
    76891  $4 = $3;
    76892  $5 = $3;
    76893  $6 = (_mrb_class_get($5,65108)|0);
    76894  _mrb_raise($4,$6,66078);
    76895  // unreachable;
    76896 }
    76897 function _mrb_bool_value_793($0,$1) {
    76898  $0 = $0|0;
    76899  $1 = $1|0;
    76900  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    76901  sp = STACKTOP;
    76902  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    76903  $3 = sp;
    76904  $2 = $1;
    76905  $4 = $2;
    76906  $5 = $4&255;
    76907  $6 = ($5|0)!=(0);
    76908  $7 = $6 ? 2 : 0;
    76909  $8 = ((($3)) + 4|0);
    76910  HEAP32[$8>>2] = $7;
    76911  HEAP32[$3>>2] = 1;
    76912  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    76913  STACKTOP = sp;return;
    76914 }
    76915 function _check_const_name_sym($0,$1) {
    76916  $0 = $0|0;
    76917  $1 = $1|0;
    76918  var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    76919  sp = STACKTOP;
    76920  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    76921  $$byval_copy = sp + 16|0;
    76922  $4 = sp;
    76923  $2 = $0;
    76924  $3 = $1;
    76925  $5 = $2;
    76926  $6 = $2;
    76927  $7 = $3;
    76928  _mrb_sym2str($4,$6,$7);
    76929  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    76930  _check_const_name_str($5,$$byval_copy);
    76931  STACKTOP = sp;return;
    76932 }
    76933 function _check_const_name_str($0,$1) {
    76934  $0 = $0|0;
    76935  $1 = $1|0;
    76936  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    76937  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    76938  sp = STACKTOP;
    76939  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    76940  $$byval_copy = sp + 16|0;
    76941  $vararg_buffer = sp;
    76942  $2 = $0;
    76943  $3 = HEAP32[$1>>2]|0;
    76944  $4 = HEAP32[$3>>2]|0;
    76945  $5 = $4 >>> 11;
    76946  $6 = $5 & 8;
    76947  $7 = ($6|0)!=(0);
    76948  $8 = HEAP32[$1>>2]|0;
    76949  if ($7) {
    76950   $9 = HEAP32[$8>>2]|0;
    76951   $10 = $9 >>> 11;
    76952   $11 = $10 & 496;
    76953   $12 = $11 >> 4;
    76954   $16 = $12;
    76955  } else {
    76956   $13 = ((($8)) + 12|0);
    76957   $14 = HEAP32[$13>>2]|0;
    76958   $16 = $14;
    76959  }
    76960  $15 = ($16|0)<(1);
    76961  if (!($15)) {
    76962   $17 = HEAP32[$1>>2]|0;
    76963   $18 = HEAP32[$17>>2]|0;
    76964   $19 = $18 >>> 11;
    76965   $20 = $19 & 8;
    76966   $21 = ($20|0)!=(0);
    76967   $22 = HEAP32[$1>>2]|0;
    76968   $23 = ((($22)) + 12|0);
    76969   if ($21) {
    76970    $27 = $23;
    76971   } else {
    76972    $24 = ((($23)) + 8|0);
    76973    $25 = HEAP32[$24>>2]|0;
    76974    $27 = $25;
    76975   }
    76976   $26 = HEAP8[$27>>0]|0;
    76977   $28 = $26 << 24 >> 24;
    76978   $29 = (($28) - 65)|0;
    76979   $30 = ($29>>>0)<(26);
    76980   if ($30) {
    76981    STACKTOP = sp;return;
    76982   }
    76983  }
    76984  $31 = $2;
    76985  $32 = $2;
    76986  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    76987  $33 = (_mrb_intern_str($32,$$byval_copy)|0);
    76988  ;HEAP8[$vararg_buffer>>0]=HEAP8[$1>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$1+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$1+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$1+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$1+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$1+7>>0]|0;
    76989  _mrb_name_error($31,$33,66191,$vararg_buffer);
    76990  // unreachable;
    76991 }
    76992 function _const_defined($0,$1,$2,$3,$4) {
    76993  $0 = $0|0;
    76994  $1 = $1|0;
    76995  $2 = $2|0;
    76996  $3 = $3|0;
    76997  $4 = $4|0;
    76998  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    76999  sp = STACKTOP;
    77000  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    77001  $$byval_copy1 = sp + 16|0;
    77002  $$byval_copy = sp + 8|0;
    77003  $5 = $1;
    77004  $6 = $3;
    77005  $7 = $4;
    77006  $8 = $7;
    77007  $9 = ($8<<24>>24)!=(0);
    77008  $10 = $5;
    77009  $11 = $6;
    77010  if ($9) {
    77011   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    77012   $12 = (_mrb_const_defined($10,$$byval_copy,$11)|0);
    77013   _mrb_bool_value_793($0,$12);
    77014   STACKTOP = sp;return;
    77015  } else {
    77016   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    77017   $13 = (_mrb_const_defined_at($10,$$byval_copy1,$11)|0);
    77018   _mrb_bool_value_793($0,$13);
    77019   STACKTOP = sp;return;
    77020  }
    77021 }
    77022 function _attr_writer($0,$1,$2) {
    77023  $0 = $0|0;
    77024  $1 = $1|0;
    77025  $2 = $2|0;
    77026  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    77027  sp = STACKTOP;
    77028  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    77029  $$byval_copy2 = sp + 48|0;
    77030  $$byval_copy1 = sp + 40|0;
    77031  $$byval_copy = sp + 32|0;
    77032  $vararg_buffer = sp;
    77033  $4 = sp + 16|0;
    77034  $5 = sp + 8|0;
    77035  $3 = $1;
    77036  $6 = $3;
    77037  _mrb_proc_cfunc_env_get($4,$6,0);
    77038  $7 = $3;
    77039  HEAP32[$vararg_buffer>>2] = $5;
    77040  (_mrb_get_args($7,69199,$vararg_buffer)|0);
    77041  $8 = $3;
    77042  $9 = $3;
    77043  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    77044  $10 = (_to_sym($9,$$byval_copy)|0);
    77045  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    77046  ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
    77047  _mrb_iv_set($8,$$byval_copy1,$10,$$byval_copy2);
    77048  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    77049  STACKTOP = sp;return;
    77050 }
    77051 function _attr_reader($0,$1,$2) {
    77052  $0 = $0|0;
    77053  $1 = $1|0;
    77054  $2 = $2|0;
    77055  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    77056  sp = STACKTOP;
    77057  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    77058  $$byval_copy1 = sp + 24|0;
    77059  $$byval_copy = sp + 16|0;
    77060  $4 = sp;
    77061  $3 = $1;
    77062  $5 = $3;
    77063  _mrb_proc_cfunc_env_get($4,$5,0);
    77064  $6 = $3;
    77065  $7 = $3;
    77066  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    77067  $8 = (_to_sym($7,$$byval_copy)|0);
    77068  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    77069  _mrb_iv_get($0,$6,$$byval_copy1,$8);
    77070  STACKTOP = sp;return;
    77071 }
    77072 function _remove_method($0,$1,$2) {
    77073  $0 = $0|0;
    77074  $1 = $1|0;
    77075  $2 = $2|0;
    77076  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    77077  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
    77078  sp = STACKTOP;
    77079  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    77080  $$byval_copy = sp + 72|0;
    77081  $vararg_buffer1 = sp + 8|0;
    77082  $vararg_buffer = sp;
    77083  $8 = sp + 40|0;
    77084  $9 = sp + 32|0;
    77085  $10 = sp + 24|0;
    77086  $3 = $0;
    77087  $4 = $2;
    77088  $11 = HEAP32[$1>>2]|0;
    77089  $5 = $11;
    77090  $12 = $5;
    77091  $13 = (_find_origin($12)|0);
    77092  $14 = ((($13)) + 16|0);
    77093  $15 = HEAP32[$14>>2]|0;
    77094  $6 = $15;
    77095  $16 = $6;
    77096  $17 = ($16|0)!=(0|0);
    77097  if ($17) {
    77098   $18 = $3;
    77099   $19 = $6;
    77100   $20 = $4;
    77101   $21 = (_kh_get_mt($18,$19,$20)|0);
    77102   $7 = $21;
    77103   $22 = $7;
    77104   $23 = $6;
    77105   $24 = HEAP32[$23>>2]|0;
    77106   $25 = ($22|0)!=($24|0);
    77107   if ($25) {
    77108    $26 = $3;
    77109    $27 = $6;
    77110    $28 = $7;
    77111    _kh_del_mt($26,$27,$28);
    77112    $29 = $3;
    77113    $30 = $4;
    77114    _mrb_symbol_value_663($8,$30);
    77115    ;HEAP8[$vararg_buffer>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$8+7>>0]|0;
    77116    ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    77117    _mrb_funcall($9,$29,$$byval_copy,65927,1,$vararg_buffer);
    77118    STACKTOP = sp;return;
    77119   }
    77120  }
    77121  $31 = $3;
    77122  $32 = $4;
    77123  $33 = $3;
    77124  $34 = $4;
    77125  _mrb_sym2str($10,$33,$34);
    77126  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$10+7>>0]|0;
    77127  $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
    77128  ;HEAP8[$vararg_ptr4>>0]=HEAP8[$1>>0]|0;HEAP8[$vararg_ptr4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$vararg_ptr4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$vararg_ptr4+3>>0]=HEAP8[$1+3>>0]|0;HEAP8[$vararg_ptr4+4>>0]=HEAP8[$1+4>>0]|0;HEAP8[$vararg_ptr4+5>>0]=HEAP8[$1+5>>0]|0;HEAP8[$vararg_ptr4+6>>0]=HEAP8[$1+6>>0]|0;HEAP8[$vararg_ptr4+7>>0]=HEAP8[$1+7>>0]|0;
    77129  _mrb_name_error($31,$32,66245,$vararg_buffer1);
    77130  // unreachable;
    77131 }
    77132 function _check_cv_name_sym($0,$1) {
    77133  $0 = $0|0;
    77134  $1 = $1|0;
    77135  var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    77136  sp = STACKTOP;
    77137  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    77138  $$byval_copy = sp + 16|0;
    77139  $4 = sp;
    77140  $2 = $0;
    77141  $3 = $1;
    77142  $5 = $2;
    77143  $6 = $2;
    77144  $7 = $3;
    77145  _mrb_sym2str($4,$6,$7);
    77146  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    77147  _check_cv_name_str($5,$$byval_copy);
    77148  STACKTOP = sp;return;
    77149 }
    77150 function _check_cv_name_str($0,$1) {
    77151  $0 = $0|0;
    77152  $1 = $1|0;
    77153  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    77154  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    77155  var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    77156  sp = STACKTOP;
    77157  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    77158  $$byval_copy = sp + 24|0;
    77159  $vararg_buffer = sp;
    77160  $2 = $0;
    77161  $5 = HEAP32[$1>>2]|0;
    77162  $6 = HEAP32[$5>>2]|0;
    77163  $7 = $6 >>> 11;
    77164  $8 = $7 & 8;
    77165  $9 = ($8|0)!=(0);
    77166  $10 = HEAP32[$1>>2]|0;
    77167  $11 = ((($10)) + 12|0);
    77168  if ($9) {
    77169   $14 = $11;
    77170  } else {
    77171   $12 = ((($11)) + 8|0);
    77172   $13 = HEAP32[$12>>2]|0;
    77173   $14 = $13;
    77174  }
    77175  $3 = $14;
    77176  $15 = HEAP32[$1>>2]|0;
    77177  $16 = HEAP32[$15>>2]|0;
    77178  $17 = $16 >>> 11;
    77179  $18 = $17 & 8;
    77180  $19 = ($18|0)!=(0);
    77181  $20 = HEAP32[$1>>2]|0;
    77182  if ($19) {
    77183   $21 = HEAP32[$20>>2]|0;
    77184   $22 = $21 >>> 11;
    77185   $23 = $22 & 496;
    77186   $24 = $23 >> 4;
    77187   $27 = $24;
    77188  } else {
    77189   $25 = ((($20)) + 12|0);
    77190   $26 = HEAP32[$25>>2]|0;
    77191   $27 = $26;
    77192  }
    77193  $4 = $27;
    77194  $28 = $4;
    77195  $29 = ($28|0)<(3);
    77196  if (!($29)) {
    77197   $30 = $3;
    77198   $31 = HEAP8[$30>>0]|0;
    77199   $32 = $31 << 24 >> 24;
    77200   $33 = ($32|0)==(64);
    77201   if ($33) {
    77202    $34 = $3;
    77203    $35 = ((($34)) + 1|0);
    77204    $36 = HEAP8[$35>>0]|0;
    77205    $37 = $36 << 24 >> 24;
    77206    $38 = ($37|0)==(64);
    77207    if ($38) {
    77208     STACKTOP = sp;return;
    77209    }
    77210   }
    77211  }
    77212  $39 = $2;
    77213  $40 = $2;
    77214  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    77215  $41 = (_mrb_intern_str($40,$$byval_copy)|0);
    77216  ;HEAP8[$vararg_buffer>>0]=HEAP8[$1>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$1+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$1+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$1+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$1+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$1+7>>0]|0;
    77217  _mrb_name_error($39,$41,66336,$vararg_buffer);
    77218  // unreachable;
    77219 }
    77220 function _mrb_true_value_815($0) {
    77221  $0 = $0|0;
    77222  var $1 = 0, $2 = 0, label = 0, sp = 0;
    77223  sp = STACKTOP;
    77224  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    77225  $1 = sp;
    77226  $2 = ((($1)) + 4|0);
    77227  HEAP32[$2>>2] = 2;
    77228  HEAP32[$1>>2] = 1;
    77229  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    77230  STACKTOP = sp;return;
    77231 }
    77232 function _mrb_false_value_816($0) {
    77233  $0 = $0|0;
    77234  var $1 = 0, $2 = 0, label = 0, sp = 0;
    77235  sp = STACKTOP;
    77236  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    77237  $1 = sp;
    77238  $2 = ((($1)) + 4|0);
    77239  HEAP32[$2>>2] = 0;
    77240  HEAP32[$1>>2] = 1;
    77241  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    77242  STACKTOP = sp;return;
    77243 }
    77244 function _mrb_codedump_all($0,$1) {
    77245  $0 = $0|0;
    77246  $1 = $1|0;
    77247  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    77248  sp = STACKTOP;
    77249  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    77250  $2 = $0;
    77251  $3 = $1;
    77252  $4 = $2;
    77253  $5 = $3;
    77254  $6 = ((($5)) + 12|0);
    77255  $7 = HEAP32[$6>>2]|0;
    77256  _codedump_recur($4,$7);
    77257  STACKTOP = sp;return;
    77258 }
    77259 function _codedump_recur($0,$1) {
    77260  $0 = $0|0;
    77261  $1 = $1|0;
    77262  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    77263  var sp = 0;
    77264  sp = STACKTOP;
    77265  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    77266  $2 = $0;
    77267  $3 = $1;
    77268  $5 = $2;
    77269  $6 = $3;
    77270  _codedump($5,$6);
    77271  $4 = 0;
    77272  while(1) {
    77273   $7 = $4;
    77274   $8 = $3;
    77275   $9 = ((($8)) + 52|0);
    77276   $10 = HEAP32[$9>>2]|0;
    77277   $11 = ($7>>>0)<($10>>>0);
    77278   if (!($11)) {
    77279    break;
    77280   }
    77281   $12 = $2;
    77282   $13 = $3;
    77283   $14 = ((($13)) + 20|0);
    77284   $15 = HEAP32[$14>>2]|0;
    77285   $16 = $4;
    77286   $17 = (($15) + ($16<<2)|0);
    77287   $18 = HEAP32[$17>>2]|0;
    77288   _codedump_recur($12,$18);
    77289   $19 = $4;
    77290   $20 = (($19) + 1)|0;
    77291   $4 = $20;
    77292  }
    77293  STACKTOP = sp;return;
    77294 }
    77295 function _codedump($0,$1) {
    77296  $0 = $0|0;
    77297  $1 = $1|0;
    77298  var $$byval_copy = 0, $$byval_copy321 = 0, $$byval_copy322 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $102 = 0;
    77299  var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
    77300  var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
    77301  var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
    77302  var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
    77303  var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
    77304  var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
    77305  var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
    77306  var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0;
    77307  var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0;
    77308  var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0;
    77309  var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0;
    77310  var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0;
    77311  var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0;
    77312  var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0;
    77313  var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0;
    77314  var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0;
    77315  var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0;
    77316  var $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0;
    77317  var $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0;
    77318  var $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0;
    77319  var $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0;
    77320  var $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0;
    77321  var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0;
    77322  var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0;
    77323  var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0;
    77324  var $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0;
    77325  var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0;
    77326  var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0;
    77327  var $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0;
    77328  var $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0;
    77329  var $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0;
    77330  var $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0;
    77331  var $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0;
    77332  var $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0;
    77333  var $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0;
    77334  var $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0;
    77335  var $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0;
    77336  var $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0;
    77337  var $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0;
    77338  var $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0;
    77339  var $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0;
    77340  var $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0;
    77341  var $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0;
    77342  var $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0;
    77343  var $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0;
    77344  var $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0;
    77345  var $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0;
    77346  var $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0;
    77347  var $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0;
    77348  var $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $vararg_buffer = 0, $vararg_buffer100 = 0, $vararg_buffer103 = 0, $vararg_buffer107 = 0, $vararg_buffer11 = 0, $vararg_buffer111 = 0;
    77349  var $vararg_buffer116 = 0, $vararg_buffer121 = 0, $vararg_buffer126 = 0, $vararg_buffer130 = 0, $vararg_buffer137 = 0, $vararg_buffer14 = 0, $vararg_buffer146 = 0, $vararg_buffer149 = 0, $vararg_buffer151 = 0, $vararg_buffer153 = 0, $vararg_buffer155 = 0, $vararg_buffer162 = 0, $vararg_buffer167 = 0, $vararg_buffer17 = 0, $vararg_buffer172 = 0, $vararg_buffer176 = 0, $vararg_buffer181 = 0, $vararg_buffer186 = 0, $vararg_buffer19 = 0, $vararg_buffer191 = 0;
    77350  var $vararg_buffer196 = 0, $vararg_buffer201 = 0, $vararg_buffer206 = 0, $vararg_buffer211 = 0, $vararg_buffer216 = 0, $vararg_buffer221 = 0, $vararg_buffer226 = 0, $vararg_buffer23 = 0, $vararg_buffer231 = 0, $vararg_buffer233 = 0, $vararg_buffer238 = 0, $vararg_buffer242 = 0, $vararg_buffer246 = 0, $vararg_buffer251 = 0, $vararg_buffer256 = 0, $vararg_buffer261 = 0, $vararg_buffer265 = 0, $vararg_buffer270 = 0, $vararg_buffer273 = 0, $vararg_buffer277 = 0;
    77351  var $vararg_buffer28 = 0, $vararg_buffer281 = 0, $vararg_buffer285 = 0, $vararg_buffer289 = 0, $vararg_buffer292 = 0, $vararg_buffer295 = 0, $vararg_buffer298 = 0, $vararg_buffer301 = 0, $vararg_buffer304 = 0, $vararg_buffer307 = 0, $vararg_buffer310 = 0, $vararg_buffer313 = 0, $vararg_buffer319 = 0, $vararg_buffer32 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer42 = 0, $vararg_buffer45 = 0, $vararg_buffer48 = 0, $vararg_buffer52 = 0;
    77352  var $vararg_buffer56 = 0, $vararg_buffer6 = 0, $vararg_buffer60 = 0, $vararg_buffer64 = 0, $vararg_buffer69 = 0, $vararg_buffer74 = 0, $vararg_buffer78 = 0, $vararg_buffer82 = 0, $vararg_buffer87 = 0, $vararg_buffer9 = 0, $vararg_buffer92 = 0, $vararg_buffer96 = 0, $vararg_ptr1 = 0, $vararg_ptr106 = 0, $vararg_ptr110 = 0, $vararg_ptr114 = 0, $vararg_ptr115 = 0, $vararg_ptr119 = 0, $vararg_ptr120 = 0, $vararg_ptr124 = 0;
    77353  var $vararg_ptr125 = 0, $vararg_ptr129 = 0, $vararg_ptr133 = 0, $vararg_ptr134 = 0, $vararg_ptr135 = 0, $vararg_ptr136 = 0, $vararg_ptr140 = 0, $vararg_ptr141 = 0, $vararg_ptr142 = 0, $vararg_ptr143 = 0, $vararg_ptr144 = 0, $vararg_ptr145 = 0, $vararg_ptr158 = 0, $vararg_ptr159 = 0, $vararg_ptr160 = 0, $vararg_ptr161 = 0, $vararg_ptr165 = 0, $vararg_ptr166 = 0, $vararg_ptr170 = 0, $vararg_ptr171 = 0;
    77354  var $vararg_ptr175 = 0, $vararg_ptr179 = 0, $vararg_ptr180 = 0, $vararg_ptr184 = 0, $vararg_ptr185 = 0, $vararg_ptr189 = 0, $vararg_ptr190 = 0, $vararg_ptr194 = 0, $vararg_ptr195 = 0, $vararg_ptr199 = 0, $vararg_ptr2 = 0, $vararg_ptr200 = 0, $vararg_ptr204 = 0, $vararg_ptr205 = 0, $vararg_ptr209 = 0, $vararg_ptr210 = 0, $vararg_ptr214 = 0, $vararg_ptr215 = 0, $vararg_ptr219 = 0, $vararg_ptr22 = 0;
    77355  var $vararg_ptr220 = 0, $vararg_ptr224 = 0, $vararg_ptr225 = 0, $vararg_ptr229 = 0, $vararg_ptr230 = 0, $vararg_ptr236 = 0, $vararg_ptr237 = 0, $vararg_ptr241 = 0, $vararg_ptr245 = 0, $vararg_ptr249 = 0, $vararg_ptr250 = 0, $vararg_ptr254 = 0, $vararg_ptr255 = 0, $vararg_ptr259 = 0, $vararg_ptr26 = 0, $vararg_ptr260 = 0, $vararg_ptr264 = 0, $vararg_ptr268 = 0, $vararg_ptr269 = 0, $vararg_ptr27 = 0;
    77356  var $vararg_ptr276 = 0, $vararg_ptr280 = 0, $vararg_ptr284 = 0, $vararg_ptr288 = 0, $vararg_ptr3 = 0, $vararg_ptr31 = 0, $vararg_ptr316 = 0, $vararg_ptr317 = 0, $vararg_ptr318 = 0, $vararg_ptr35 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr51 = 0, $vararg_ptr55 = 0, $vararg_ptr59 = 0, $vararg_ptr63 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr72 = 0, $vararg_ptr73 = 0;
    77357  var $vararg_ptr77 = 0, $vararg_ptr81 = 0, $vararg_ptr85 = 0, $vararg_ptr86 = 0, $vararg_ptr90 = 0, $vararg_ptr91 = 0, $vararg_ptr95 = 0, $vararg_ptr99 = 0, label = 0, sp = 0;
    77358  sp = STACKTOP;
    77359  STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0);
    77360  $$byval_copy322 = sp + 1024|0;
    77361  $$byval_copy321 = sp + 1016|0;
    77362  $$byval_copy = sp + 1008|0;
    77363  $vararg_buffer319 = sp + 904|0;
    77364  $vararg_buffer313 = sp + 888|0;
    77365  $vararg_buffer310 = sp + 880|0;
    77366  $vararg_buffer307 = sp + 872|0;
    77367  $vararg_buffer304 = sp + 864|0;
    77368  $vararg_buffer301 = sp + 856|0;
    77369  $vararg_buffer298 = sp + 848|0;
    77370  $vararg_buffer295 = sp + 840|0;
    77371  $vararg_buffer292 = sp + 832|0;
    77372  $vararg_buffer289 = sp + 824|0;
    77373  $vararg_buffer285 = sp + 816|0;
    77374  $vararg_buffer281 = sp + 808|0;
    77375  $vararg_buffer277 = sp + 800|0;
    77376  $vararg_buffer273 = sp + 792|0;
    77377  $vararg_buffer270 = sp + 784|0;
    77378  $vararg_buffer265 = sp + 768|0;
    77379  $vararg_buffer261 = sp + 760|0;
    77380  $vararg_buffer256 = sp + 744|0;
    77381  $vararg_buffer251 = sp + 728|0;
    77382  $vararg_buffer246 = sp + 712|0;
    77383  $vararg_buffer242 = sp + 704|0;
    77384  $vararg_buffer238 = sp + 696|0;
    77385  $vararg_buffer233 = sp + 680|0;
    77386  $vararg_buffer231 = sp + 672|0;
    77387  $vararg_buffer226 = sp + 656|0;
    77388  $vararg_buffer221 = sp + 640|0;
    77389  $vararg_buffer216 = sp + 624|0;
    77390  $vararg_buffer211 = sp + 608|0;
    77391  $vararg_buffer206 = sp + 592|0;
    77392  $vararg_buffer201 = sp + 576|0;
    77393  $vararg_buffer196 = sp + 560|0;
    77394  $vararg_buffer191 = sp + 544|0;
    77395  $vararg_buffer186 = sp + 528|0;
    77396  $vararg_buffer181 = sp + 512|0;
    77397  $vararg_buffer176 = sp + 496|0;
    77398  $vararg_buffer172 = sp + 488|0;
    77399  $vararg_buffer167 = sp + 472|0;
    77400  $vararg_buffer162 = sp + 456|0;
    77401  $vararg_buffer155 = sp + 432|0;
    77402  $vararg_buffer153 = sp + 424|0;
    77403  $vararg_buffer151 = sp + 416|0;
    77404  $vararg_buffer149 = sp + 408|0;
    77405  $vararg_buffer146 = sp + 400|0;
    77406  $vararg_buffer137 = sp + 368|0;
    77407  $vararg_buffer130 = sp + 344|0;
    77408  $vararg_buffer126 = sp + 336|0;
    77409  $vararg_buffer121 = sp + 320|0;
    77410  $vararg_buffer116 = sp + 304|0;
    77411  $vararg_buffer111 = sp + 288|0;
    77412  $vararg_buffer107 = sp + 280|0;
    77413  $vararg_buffer103 = sp + 272|0;
    77414  $vararg_buffer100 = sp + 264|0;
    77415  $vararg_buffer96 = sp + 256|0;
    77416  $vararg_buffer92 = sp + 248|0;
    77417  $vararg_buffer87 = sp + 232|0;
    77418  $vararg_buffer82 = sp + 216|0;
    77419  $vararg_buffer78 = sp + 208|0;
    77420  $vararg_buffer74 = sp + 200|0;
    77421  $vararg_buffer69 = sp + 184|0;
    77422  $vararg_buffer64 = sp + 168|0;
    77423  $vararg_buffer60 = sp + 160|0;
    77424  $vararg_buffer56 = sp + 152|0;
    77425  $vararg_buffer52 = sp + 144|0;
    77426  $vararg_buffer48 = sp + 136|0;
    77427  $vararg_buffer45 = sp + 128|0;
    77428  $vararg_buffer42 = sp + 120|0;
    77429  $vararg_buffer39 = sp + 112|0;
    77430  $vararg_buffer36 = sp + 104|0;
    77431  $vararg_buffer32 = sp + 96|0;
    77432  $vararg_buffer28 = sp + 88|0;
    77433  $vararg_buffer23 = sp + 72|0;
    77434  $vararg_buffer19 = sp + 64|0;
    77435  $vararg_buffer17 = sp + 56|0;
    77436  $vararg_buffer14 = sp + 48|0;
    77437  $vararg_buffer11 = sp + 40|0;
    77438  $vararg_buffer9 = sp + 32|0;
    77439  $vararg_buffer6 = sp + 24|0;
    77440  $vararg_buffer = sp;
    77441  $10 = sp + 968|0;
    77442  $11 = sp + 960|0;
    77443  $12 = sp + 952|0;
    77444  $13 = sp + 944|0;
    77445  $14 = sp + 936|0;
    77446  $15 = sp + 928|0;
    77447  $16 = sp + 920|0;
    77448  $17 = sp + 912|0;
    77449  $2 = $0;
    77450  $3 = $1;
    77451  $7 = 0;
    77452  $18 = $3;
    77453  $19 = ($18|0)!=(0|0);
    77454  if (!($19)) {
    77455   STACKTOP = sp;return;
    77456  }
    77457  $20 = $3;
    77458  $21 = $3;
    77459  $22 = ((($21)) + 2|0);
    77460  $23 = HEAP16[$22>>1]|0;
    77461  $24 = $23&65535;
    77462  $25 = $3;
    77463  $26 = HEAP16[$25>>1]|0;
    77464  $27 = $26&65535;
    77465  $28 = $3;
    77466  $29 = ((($28)) + 44|0);
    77467  $30 = HEAP32[$29>>2]|0;
    77468  $31 = $3;
    77469  $32 = ((($31)) + 48|0);
    77470  $33 = HEAP32[$32>>2]|0;
    77471  $34 = $3;
    77472  $35 = ((($34)) + 52|0);
    77473  $36 = HEAP32[$35>>2]|0;
    77474  HEAP32[$vararg_buffer>>2] = $20;
    77475  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    77476  HEAP32[$vararg_ptr1>>2] = $24;
    77477  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    77478  HEAP32[$vararg_ptr2>>2] = $27;
    77479  $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
    77480  HEAP32[$vararg_ptr3>>2] = $30;
    77481  $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
    77482  HEAP32[$vararg_ptr4>>2] = $33;
    77483  $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
    77484  HEAP32[$vararg_ptr5>>2] = $36;
    77485  (_printf(66391,$vararg_buffer)|0);
    77486  $4 = 0;
    77487  while(1) {
    77488   $37 = $4;
    77489   $38 = $3;
    77490   $39 = ((($38)) + 40|0);
    77491   $40 = HEAP32[$39>>2]|0;
    77492   $41 = ($37|0)<($40|0);
    77493   if (!($41)) {
    77494    break;
    77495   }
    77496   $42 = $2;
    77497   $43 = (_mrb_gc_arena_save($42)|0);
    77498   $5 = $43;
    77499   $44 = $3;
    77500   $45 = $4;
    77501   $46 = (_mrb_debug_get_filename($44,$45)|0);
    77502   $8 = $46;
    77503   $47 = $8;
    77504   $48 = ($47|0)!=(0|0);
    77505   if ($48) {
    77506    $49 = $7;
    77507    $50 = $8;
    77508    $51 = ($49|0)!=($50|0);
    77509    if ($51) {
    77510     $52 = $8;
    77511     HEAP32[$vararg_buffer6>>2] = $52;
    77512     (_printf(66445,$vararg_buffer6)|0);
    77513     $53 = $8;
    77514     $7 = $53;
    77515    }
    77516   }
    77517   $54 = $3;
    77518   $55 = $4;
    77519   $56 = (_mrb_debug_get_line($54,$55)|0);
    77520   $9 = $56;
    77521   $57 = $9;
    77522   $58 = ($57|0)<(0);
    77523   if ($58) {
    77524    (_printf(66455,$vararg_buffer9)|0);
    77525   } else {
    77526    $59 = $9;
    77527    HEAP32[$vararg_buffer11>>2] = $59;
    77528    (_printf(66462,$vararg_buffer11)|0);
    77529   }
    77530   $60 = $4;
    77531   HEAP32[$vararg_buffer14>>2] = $60;
    77532   (_printf(66467,$vararg_buffer14)|0);
    77533   $61 = $3;
    77534   $62 = ((($61)) + 8|0);
    77535   $63 = HEAP32[$62>>2]|0;
    77536   $64 = $4;
    77537   $65 = (($63) + ($64<<2)|0);
    77538   $66 = HEAP32[$65>>2]|0;
    77539   $6 = $66;
    77540   $67 = $6;
    77541   $68 = $67 & 127;
    77542   do {
    77543    switch ($68|0) {
    77544    case 0:  {
    77545     (_printf(66473,$vararg_buffer17)|0);
    77546     break;
    77547    }
    77548    case 1:  {
    77549     $69 = $6;
    77550     $70 = $69 >>> 23;
    77551     $71 = $70 & 511;
    77552     $72 = $6;
    77553     $73 = $72 >>> 14;
    77554     $74 = $73 & 511;
    77555     HEAP32[$vararg_buffer19>>2] = $71;
    77556     $vararg_ptr22 = ((($vararg_buffer19)) + 4|0);
    77557     HEAP32[$vararg_ptr22>>2] = $74;
    77558     (_printf(66481,$vararg_buffer19)|0);
    77559     $75 = $2;
    77560     $76 = $3;
    77561     $77 = $6;
    77562     _print_lv($75,$76,$77,3);
    77563     break;
    77564    }
    77565    case 2:  {
    77566     $78 = $3;
    77567     $79 = ((($78)) + 12|0);
    77568     $80 = HEAP32[$79>>2]|0;
    77569     $81 = $6;
    77570     $82 = $81 >>> 7;
    77571     $83 = $82 & 65535;
    77572     $84 = (($80) + ($83<<3)|0);
    77573     ;HEAP32[$10>>2]=HEAP32[$84>>2]|0;HEAP32[$10+4>>2]=HEAP32[$84+4>>2]|0;
    77574     $85 = $2;
    77575     ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    77576     _mrb_inspect($11,$85,$$byval_copy);
    77577     $86 = $6;
    77578     $87 = $86 >>> 23;
    77579     $88 = $87 & 511;
    77580     $89 = $6;
    77581     $90 = $89 >>> 7;
    77582     $91 = $90 & 65535;
    77583     $92 = HEAP32[$11>>2]|0;
    77584     $93 = HEAP32[$92>>2]|0;
    77585     $94 = $93 >>> 11;
    77586     $95 = $94 & 8;
    77587     $96 = ($95|0)!=(0);
    77588     $97 = HEAP32[$11>>2]|0;
    77589     $98 = ((($97)) + 12|0);
    77590     if ($96) {
    77591      $101 = $98;
    77592     } else {
    77593      $99 = ((($98)) + 8|0);
    77594      $100 = HEAP32[$99>>2]|0;
    77595      $101 = $100;
    77596     }
    77597     HEAP32[$vararg_buffer23>>2] = $88;
    77598     $vararg_ptr26 = ((($vararg_buffer23)) + 4|0);
    77599     HEAP32[$vararg_ptr26>>2] = $91;
    77600     $vararg_ptr27 = ((($vararg_buffer23)) + 8|0);
    77601     HEAP32[$vararg_ptr27>>2] = $101;
    77602     (_printf(66498,$vararg_buffer23)|0);
    77603     $102 = $2;
    77604     $103 = $3;
    77605     $104 = $6;
    77606     _print_lv($102,$103,$104,1);
    77607     break;
    77608    }
    77609    case 3:  {
    77610     $105 = $6;
    77611     $106 = $105 >>> 23;
    77612     $107 = $106 & 511;
    77613     $108 = $6;
    77614     $109 = $108 >>> 7;
    77615     $110 = $109 & 65535;
    77616     $111 = (($110) - 32767)|0;
    77617     HEAP32[$vararg_buffer28>>2] = $107;
    77618     $vararg_ptr31 = ((($vararg_buffer28)) + 4|0);
    77619     HEAP32[$vararg_ptr31>>2] = $111;
    77620     (_printf(66522,$vararg_buffer28)|0);
    77621     $112 = $2;
    77622     $113 = $3;
    77623     $114 = $6;
    77624     _print_lv($112,$113,$114,1);
    77625     break;
    77626    }
    77627    case 4:  {
    77628     $115 = $6;
    77629     $116 = $115 >>> 23;
    77630     $117 = $116 & 511;
    77631     $118 = $2;
    77632     $119 = $3;
    77633     $120 = ((($119)) + 16|0);
    77634     $121 = HEAP32[$120>>2]|0;
    77635     $122 = $6;
    77636     $123 = $122 >>> 7;
    77637     $124 = $123 & 65535;
    77638     $125 = (($121) + ($124<<2)|0);
    77639     $126 = HEAP32[$125>>2]|0;
    77640     $127 = (_mrb_sym2name($118,$126)|0);
    77641     HEAP32[$vararg_buffer32>>2] = $117;
    77642     $vararg_ptr35 = ((($vararg_buffer32)) + 4|0);
    77643     HEAP32[$vararg_ptr35>>2] = $127;
    77644     (_printf(66539,$vararg_buffer32)|0);
    77645     $128 = $2;
    77646     $129 = $3;
    77647     $130 = $6;
    77648     _print_lv($128,$129,$130,1);
    77649     break;
    77650    }
    77651    case 5:  {
    77652     $131 = $6;
    77653     $132 = $131 >>> 23;
    77654     $133 = $132 & 511;
    77655     HEAP32[$vararg_buffer36>>2] = $133;
    77656     (_printf(66558,$vararg_buffer36)|0);
    77657     $134 = $2;
    77658     $135 = $3;
    77659     $136 = $6;
    77660     _print_lv($134,$135,$136,1);
    77661     break;
    77662    }
    77663    case 6:  {
    77664     $137 = $6;
    77665     $138 = $137 >>> 23;
    77666     $139 = $138 & 511;
    77667     HEAP32[$vararg_buffer39>>2] = $139;
    77668     (_printf(66575,$vararg_buffer39)|0);
    77669     $140 = $2;
    77670     $141 = $3;
    77671     $142 = $6;
    77672     _print_lv($140,$141,$142,1);
    77673     break;
    77674    }
    77675    case 7:  {
    77676     $143 = $6;
    77677     $144 = $143 >>> 23;
    77678     $145 = $144 & 511;
    77679     HEAP32[$vararg_buffer42>>2] = $145;
    77680     (_printf(66593,$vararg_buffer42)|0);
    77681     $146 = $2;
    77682     $147 = $3;
    77683     $148 = $6;
    77684     _print_lv($146,$147,$148,1);
    77685     break;
    77686    }
    77687    case 8:  {
    77688     $149 = $6;
    77689     $150 = $149 >>> 23;
    77690     $151 = $150 & 511;
    77691     HEAP32[$vararg_buffer45>>2] = $151;
    77692     (_printf(66608,$vararg_buffer45)|0);
    77693     $152 = $2;
    77694     $153 = $3;
    77695     $154 = $6;
    77696     _print_lv($152,$153,$154,1);
    77697     break;
    77698    }
    77699    case 9:  {
    77700     $155 = $6;
    77701     $156 = $155 >>> 23;
    77702     $157 = $156 & 511;
    77703     $158 = $2;
    77704     $159 = $3;
    77705     $160 = ((($159)) + 16|0);
    77706     $161 = HEAP32[$160>>2]|0;
    77707     $162 = $6;
    77708     $163 = $162 >>> 7;
    77709     $164 = $163 & 65535;
    77710     $165 = (($161) + ($164<<2)|0);
    77711     $166 = HEAP32[$165>>2]|0;
    77712     $167 = (_mrb_sym2name($158,$166)|0);
    77713     HEAP32[$vararg_buffer48>>2] = $157;
    77714     $vararg_ptr51 = ((($vararg_buffer48)) + 4|0);
    77715     HEAP32[$vararg_ptr51>>2] = $167;
    77716     (_printf(66623,$vararg_buffer48)|0);
    77717     $168 = $2;
    77718     $169 = $3;
    77719     $170 = $6;
    77720     _print_lv($168,$169,$170,1);
    77721     break;
    77722    }
    77723    case 10:  {
    77724     $171 = $2;
    77725     $172 = $3;
    77726     $173 = ((($172)) + 16|0);
    77727     $174 = HEAP32[$173>>2]|0;
    77728     $175 = $6;
    77729     $176 = $175 >>> 7;
    77730     $177 = $176 & 65535;
    77731     $178 = (($174) + ($177<<2)|0);
    77732     $179 = HEAP32[$178>>2]|0;
    77733     $180 = (_mrb_sym2name($171,$179)|0);
    77734     $181 = $6;
    77735     $182 = $181 >>> 23;
    77736     $183 = $182 & 511;
    77737     HEAP32[$vararg_buffer52>>2] = $180;
    77738     $vararg_ptr55 = ((($vararg_buffer52)) + 4|0);
    77739     HEAP32[$vararg_ptr55>>2] = $183;
    77740     (_printf(66644,$vararg_buffer52)|0);
    77741     $184 = $2;
    77742     $185 = $3;
    77743     $186 = $6;
    77744     _print_lv($184,$185,$186,1);
    77745     break;
    77746    }
    77747    case 17:  {
    77748     $187 = $6;
    77749     $188 = $187 >>> 23;
    77750     $189 = $188 & 511;
    77751     $190 = $2;
    77752     $191 = $3;
    77753     $192 = ((($191)) + 16|0);
    77754     $193 = HEAP32[$192>>2]|0;
    77755     $194 = $6;
    77756     $195 = $194 >>> 7;
    77757     $196 = $195 & 65535;
    77758     $197 = (($193) + ($196<<2)|0);
    77759     $198 = HEAP32[$197>>2]|0;
    77760     $199 = (_mrb_sym2name($190,$198)|0);
    77761     HEAP32[$vararg_buffer56>>2] = $189;
    77762     $vararg_ptr59 = ((($vararg_buffer56)) + 4|0);
    77763     HEAP32[$vararg_ptr59>>2] = $199;
    77764     (_printf(66666,$vararg_buffer56)|0);
    77765     $200 = $2;
    77766     $201 = $3;
    77767     $202 = $6;
    77768     _print_lv($200,$201,$202,1);
    77769     break;
    77770    }
    77771    case 18:  {
    77772     $203 = $2;
    77773     $204 = $3;
    77774     $205 = ((($204)) + 16|0);
    77775     $206 = HEAP32[$205>>2]|0;
    77776     $207 = $6;
    77777     $208 = $207 >>> 7;
    77778     $209 = $208 & 65535;
    77779     $210 = (($206) + ($209<<2)|0);
    77780     $211 = HEAP32[$210>>2]|0;
    77781     $212 = (_mrb_sym2name($203,$211)|0);
    77782     $213 = $6;
    77783     $214 = $213 >>> 23;
    77784     $215 = $214 & 511;
    77785     HEAP32[$vararg_buffer60>>2] = $212;
    77786     $vararg_ptr63 = ((($vararg_buffer60)) + 4|0);
    77787     HEAP32[$vararg_ptr63>>2] = $215;
    77788     (_printf(66686,$vararg_buffer60)|0);
    77789     $216 = $2;
    77790     $217 = $3;
    77791     $218 = $6;
    77792     _print_lv($216,$217,$218,1);
    77793     break;
    77794    }
    77795    case 19:  {
    77796     $219 = $6;
    77797     $220 = $219 >>> 23;
    77798     $221 = $220 & 511;
    77799     $222 = $6;
    77800     $223 = $222 >>> 23;
    77801     $224 = $223 & 511;
    77802     $225 = $2;
    77803     $226 = $3;
    77804     $227 = ((($226)) + 16|0);
    77805     $228 = HEAP32[$227>>2]|0;
    77806     $229 = $6;
    77807     $230 = $229 >>> 7;
    77808     $231 = $230 & 65535;
    77809     $232 = (($228) + ($231<<2)|0);
    77810     $233 = HEAP32[$232>>2]|0;
    77811     $234 = (_mrb_sym2name($225,$233)|0);
    77812     HEAP32[$vararg_buffer64>>2] = $221;
    77813     $vararg_ptr67 = ((($vararg_buffer64)) + 4|0);
    77814     HEAP32[$vararg_ptr67>>2] = $224;
    77815     $vararg_ptr68 = ((($vararg_buffer64)) + 8|0);
    77816     HEAP32[$vararg_ptr68>>2] = $234;
    77817     (_printf(66707,$vararg_buffer64)|0);
    77818     $235 = $2;
    77819     $236 = $3;
    77820     $237 = $6;
    77821     _print_lv($235,$236,$237,3);
    77822     break;
    77823    }
    77824    case 20:  {
    77825     $238 = $6;
    77826     $239 = $238 >>> 23;
    77827     $240 = $239 & 511;
    77828     $241 = (($240) + 1)|0;
    77829     $242 = $2;
    77830     $243 = $3;
    77831     $244 = ((($243)) + 16|0);
    77832     $245 = HEAP32[$244>>2]|0;
    77833     $246 = $6;
    77834     $247 = $246 >>> 7;
    77835     $248 = $247 & 65535;
    77836     $249 = (($245) + ($248<<2)|0);
    77837     $250 = HEAP32[$249>>2]|0;
    77838     $251 = (_mrb_sym2name($242,$250)|0);
    77839     $252 = $6;
    77840     $253 = $252 >>> 23;
    77841     $254 = $253 & 511;
    77842     HEAP32[$vararg_buffer69>>2] = $241;
    77843     $vararg_ptr72 = ((($vararg_buffer69)) + 4|0);
    77844     HEAP32[$vararg_ptr72>>2] = $251;
    77845     $vararg_ptr73 = ((($vararg_buffer69)) + 8|0);
    77846     HEAP32[$vararg_ptr73>>2] = $254;
    77847     (_printf(66731,$vararg_buffer69)|0);
    77848     $255 = $2;
    77849     $256 = $3;
    77850     $257 = $6;
    77851     _print_lv($255,$256,$257,1);
    77852     break;
    77853    }
    77854    case 13:  {
    77855     $258 = $6;
    77856     $259 = $258 >>> 23;
    77857     $260 = $259 & 511;
    77858     $261 = $2;
    77859     $262 = $3;
    77860     $263 = ((($262)) + 16|0);
    77861     $264 = HEAP32[$263>>2]|0;
    77862     $265 = $6;
    77863     $266 = $265 >>> 7;
    77864     $267 = $266 & 65535;
    77865     $268 = (($264) + ($267<<2)|0);
    77866     $269 = HEAP32[$268>>2]|0;
    77867     $270 = (_mrb_sym2name($261,$269)|0);
    77868     HEAP32[$vararg_buffer74>>2] = $260;
    77869     $vararg_ptr77 = ((($vararg_buffer74)) + 4|0);
    77870     HEAP32[$vararg_ptr77>>2] = $270;
    77871     (_printf(66755,$vararg_buffer74)|0);
    77872     $271 = $2;
    77873     $272 = $3;
    77874     $273 = $6;
    77875     _print_lv($271,$272,$273,1);
    77876     break;
    77877    }
    77878    case 14:  {
    77879     $274 = $2;
    77880     $275 = $3;
    77881     $276 = ((($275)) + 16|0);
    77882     $277 = HEAP32[$276>>2]|0;
    77883     $278 = $6;
    77884     $279 = $278 >>> 7;
    77885     $280 = $279 & 65535;
    77886     $281 = (($277) + ($280<<2)|0);
    77887     $282 = HEAP32[$281>>2]|0;
    77888     $283 = (_mrb_sym2name($274,$282)|0);
    77889     $284 = $6;
    77890     $285 = $284 >>> 23;
    77891     $286 = $285 & 511;
    77892     HEAP32[$vararg_buffer78>>2] = $283;
    77893     $vararg_ptr81 = ((($vararg_buffer78)) + 4|0);
    77894     HEAP32[$vararg_ptr81>>2] = $286;
    77895     (_printf(66771,$vararg_buffer78)|0);
    77896     $287 = $2;
    77897     $288 = $3;
    77898     $289 = $6;
    77899     _print_lv($287,$288,$289,1);
    77900     break;
    77901    }
    77902    case 21:  {
    77903     $290 = $6;
    77904     $291 = $290 >>> 23;
    77905     $292 = $291 & 511;
    77906     $293 = $6;
    77907     $294 = $293 >>> 14;
    77908     $295 = $294 & 511;
    77909     $296 = $6;
    77910     $297 = $296 >>> 7;
    77911     $298 = $297 & 127;
    77912     HEAP32[$vararg_buffer82>>2] = $292;
    77913     $vararg_ptr85 = ((($vararg_buffer82)) + 4|0);
    77914     HEAP32[$vararg_ptr85>>2] = $295;
    77915     $vararg_ptr86 = ((($vararg_buffer82)) + 8|0);
    77916     HEAP32[$vararg_ptr86>>2] = $298;
    77917     (_printf(66787,$vararg_buffer82)|0);
    77918     $299 = $2;
    77919     $300 = $3;
    77920     $301 = $6;
    77921     _print_lv($299,$300,$301,1);
    77922     break;
    77923    }
    77924    case 22:  {
    77925     $302 = $6;
    77926     $303 = $302 >>> 23;
    77927     $304 = $303 & 511;
    77928     $305 = $6;
    77929     $306 = $305 >>> 14;
    77930     $307 = $306 & 511;
    77931     $308 = $6;
    77932     $309 = $308 >>> 7;
    77933     $310 = $309 & 127;
    77934     HEAP32[$vararg_buffer87>>2] = $304;
    77935     $vararg_ptr90 = ((($vararg_buffer87)) + 4|0);
    77936     HEAP32[$vararg_ptr90>>2] = $307;
    77937     $vararg_ptr91 = ((($vararg_buffer87)) + 8|0);
    77938     HEAP32[$vararg_ptr91>>2] = $310;
    77939     (_printf(66809,$vararg_buffer87)|0);
    77940     $311 = $2;
    77941     $312 = $3;
    77942     $313 = $6;
    77943     _print_lv($311,$312,$313,1);
    77944     break;
    77945    }
    77946    case 15:  {
    77947     $314 = $6;
    77948     $315 = $314 >>> 23;
    77949     $316 = $315 & 511;
    77950     $317 = $2;
    77951     $318 = $3;
    77952     $319 = ((($318)) + 16|0);
    77953     $320 = HEAP32[$319>>2]|0;
    77954     $321 = $6;
    77955     $322 = $321 >>> 7;
    77956     $323 = $322 & 65535;
    77957     $324 = (($320) + ($323<<2)|0);
    77958     $325 = HEAP32[$324>>2]|0;
    77959     $326 = (_mrb_sym2name($317,$325)|0);
    77960     HEAP32[$vararg_buffer92>>2] = $316;
    77961     $vararg_ptr95 = ((($vararg_buffer92)) + 4|0);
    77962     HEAP32[$vararg_ptr95>>2] = $326;
    77963     (_printf(66831,$vararg_buffer92)|0);
    77964     $327 = $2;
    77965     $328 = $3;
    77966     $329 = $6;
    77967     _print_lv($327,$328,$329,1);
    77968     break;
    77969    }
    77970    case 16:  {
    77971     $330 = $2;
    77972     $331 = $3;
    77973     $332 = ((($331)) + 16|0);
    77974     $333 = HEAP32[$332>>2]|0;
    77975     $334 = $6;
    77976     $335 = $334 >>> 7;
    77977     $336 = $335 & 65535;
    77978     $337 = (($333) + ($336<<2)|0);
    77979     $338 = HEAP32[$337>>2]|0;
    77980     $339 = (_mrb_sym2name($330,$338)|0);
    77981     $340 = $6;
    77982     $341 = $340 >>> 23;
    77983     $342 = $341 & 511;
    77984     HEAP32[$vararg_buffer96>>2] = $339;
    77985     $vararg_ptr99 = ((($vararg_buffer96)) + 4|0);
    77986     HEAP32[$vararg_ptr99>>2] = $342;
    77987     (_printf(66847,$vararg_buffer96)|0);
    77988     $343 = $2;
    77989     $344 = $3;
    77990     $345 = $6;
    77991     _print_lv($343,$344,$345,1);
    77992     break;
    77993    }
    77994    case 23:  {
    77995     $346 = $4;
    77996     $347 = $6;
    77997     $348 = $347 >>> 7;
    77998     $349 = $348 & 65535;
    77999     $350 = (($349) - 32767)|0;
    78000     $351 = (($346) + ($350))|0;
    78001     HEAP32[$vararg_buffer100>>2] = $351;
    78002     (_printf(66863,$vararg_buffer100)|0);
    78003     break;
    78004    }
    78005    case 24:  {
    78006     $352 = $6;
    78007     $353 = $352 >>> 23;
    78008     $354 = $353 & 511;
    78009     $355 = $4;
    78010     $356 = $6;
    78011     $357 = $356 >>> 7;
    78012     $358 = $357 & 65535;
    78013     $359 = (($358) - 32767)|0;
    78014     $360 = (($355) + ($359))|0;
    78015     HEAP32[$vararg_buffer103>>2] = $354;
    78016     $vararg_ptr106 = ((($vararg_buffer103)) + 4|0);
    78017     HEAP32[$vararg_ptr106>>2] = $360;
    78018     (_printf(66876,$vararg_buffer103)|0);
    78019     break;
    78020    }
    78021    case 25:  {
    78022     $361 = $6;
    78023     $362 = $361 >>> 23;
    78024     $363 = $362 & 511;
    78025     $364 = $4;
    78026     $365 = $6;
    78027     $366 = $365 >>> 7;
    78028     $367 = $366 & 65535;
    78029     $368 = (($367) - 32767)|0;
    78030     $369 = (($364) + ($368))|0;
    78031     HEAP32[$vararg_buffer107>>2] = $363;
    78032     $vararg_ptr110 = ((($vararg_buffer107)) + 4|0);
    78033     HEAP32[$vararg_ptr110>>2] = $369;
    78034     (_printf(66895,$vararg_buffer107)|0);
    78035     break;
    78036    }
    78037    case 32:  {
    78038     $370 = $6;
    78039     $371 = $370 >>> 23;
    78040     $372 = $371 & 511;
    78041     $373 = $2;
    78042     $374 = $3;
    78043     $375 = ((($374)) + 16|0);
    78044     $376 = HEAP32[$375>>2]|0;
    78045     $377 = $6;
    78046     $378 = $377 >>> 14;
    78047     $379 = $378 & 511;
    78048     $380 = (($376) + ($379<<2)|0);
    78049     $381 = HEAP32[$380>>2]|0;
    78050     $382 = (_mrb_sym2name($373,$381)|0);
    78051     $383 = $6;
    78052     $384 = $383 >>> 7;
    78053     $385 = $384 & 127;
    78054     HEAP32[$vararg_buffer111>>2] = $372;
    78055     $vararg_ptr114 = ((($vararg_buffer111)) + 4|0);
    78056     HEAP32[$vararg_ptr114>>2] = $382;
    78057     $vararg_ptr115 = ((($vararg_buffer111)) + 8|0);
    78058     HEAP32[$vararg_ptr115>>2] = $385;
    78059     (_printf(66915,$vararg_buffer111)|0);
    78060     break;
    78061    }
    78062    case 33:  {
    78063     $386 = $6;
    78064     $387 = $386 >>> 23;
    78065     $388 = $387 & 511;
    78066     $389 = $2;
    78067     $390 = $3;
    78068     $391 = ((($390)) + 16|0);
    78069     $392 = HEAP32[$391>>2]|0;
    78070     $393 = $6;
    78071     $394 = $393 >>> 14;
    78072     $395 = $394 & 511;
    78073     $396 = (($392) + ($395<<2)|0);
    78074     $397 = HEAP32[$396>>2]|0;
    78075     $398 = (_mrb_sym2name($389,$397)|0);
    78076     $399 = $6;
    78077     $400 = $399 >>> 7;
    78078     $401 = $400 & 127;
    78079     HEAP32[$vararg_buffer116>>2] = $388;
    78080     $vararg_ptr119 = ((($vararg_buffer116)) + 4|0);
    78081     HEAP32[$vararg_ptr119>>2] = $398;
    78082     $vararg_ptr120 = ((($vararg_buffer116)) + 8|0);
    78083     HEAP32[$vararg_ptr120>>2] = $401;
    78084     (_printf(66935,$vararg_buffer116)|0);
    78085     break;
    78086    }
    78087    case 42:  {
    78088     $402 = $6;
    78089     $403 = $402 >>> 23;
    78090     $404 = $403 & 511;
    78091     $405 = $2;
    78092     $406 = $3;
    78093     $407 = ((($406)) + 16|0);
    78094     $408 = HEAP32[$407>>2]|0;
    78095     $409 = $6;
    78096     $410 = $409 >>> 14;
    78097     $411 = $410 & 511;
    78098     $412 = (($408) + ($411<<2)|0);
    78099     $413 = HEAP32[$412>>2]|0;
    78100     $414 = (_mrb_sym2name($405,$413)|0);
    78101     $415 = $6;
    78102     $416 = $415 >>> 7;
    78103     $417 = $416 & 127;
    78104     HEAP32[$vararg_buffer121>>2] = $404;
    78105     $vararg_ptr124 = ((($vararg_buffer121)) + 4|0);
    78106     HEAP32[$vararg_ptr124>>2] = $414;
    78107     $vararg_ptr125 = ((($vararg_buffer121)) + 8|0);
    78108     HEAP32[$vararg_ptr125>>2] = $417;
    78109     (_printf(66956,$vararg_buffer121)|0);
    78110     break;
    78111    }
    78112    case 36:  {
    78113     $418 = $6;
    78114     $419 = $418 >>> 23;
    78115     $420 = $419 & 511;
    78116     $421 = $6;
    78117     $422 = $421 >>> 7;
    78118     $423 = $422 & 127;
    78119     HEAP32[$vararg_buffer126>>2] = $420;
    78120     $vararg_ptr129 = ((($vararg_buffer126)) + 4|0);
    78121     HEAP32[$vararg_ptr129>>2] = $423;
    78122     (_printf(66980,$vararg_buffer126)|0);
    78123     break;
    78124    }
    78125    case 37:  {
    78126     $424 = $6;
    78127     $425 = $424 >>> 23;
    78128     $426 = $425 & 511;
    78129     $427 = $6;
    78130     $428 = $427 >>> 7;
    78131     $429 = $428 & 65535;
    78132     $430 = $429 >> 10;
    78133     $431 = $430 & 63;
    78134     $432 = $6;
    78135     $433 = $432 >>> 7;
    78136     $434 = $433 & 65535;
    78137     $435 = $434 >> 9;
    78138     $436 = $435 & 1;
    78139     $437 = $6;
    78140     $438 = $437 >>> 7;
    78141     $439 = $438 & 65535;
    78142     $440 = $439 >> 4;
    78143     $441 = $440 & 31;
    78144     $442 = $6;
    78145     $443 = $442 >>> 7;
    78146     $444 = $443 & 65535;
    78147     $445 = $444 >> 0;
    78148     $446 = $445 & 15;
    78149     HEAP32[$vararg_buffer130>>2] = $426;
    78150     $vararg_ptr133 = ((($vararg_buffer130)) + 4|0);
    78151     HEAP32[$vararg_ptr133>>2] = $431;
    78152     $vararg_ptr134 = ((($vararg_buffer130)) + 8|0);
    78153     HEAP32[$vararg_ptr134>>2] = $436;
    78154     $vararg_ptr135 = ((($vararg_buffer130)) + 12|0);
    78155     HEAP32[$vararg_ptr135>>2] = $441;
    78156     $vararg_ptr136 = ((($vararg_buffer130)) + 16|0);
    78157     HEAP32[$vararg_ptr136>>2] = $446;
    78158     (_printf(66997,$vararg_buffer130)|0);
    78159     $447 = $2;
    78160     $448 = $3;
    78161     $449 = $6;
    78162     _print_lv($447,$448,$449,1);
    78163     break;
    78164    }
    78165    case 38:  {
    78166     $450 = $6;
    78167     $451 = $450 >>> 7;
    78168     $452 = $451 & 33554431;
    78169     $453 = $452 >> 18;
    78170     $454 = $453 & 31;
    78171     $455 = $6;
    78172     $456 = $455 >>> 7;
    78173     $457 = $456 & 33554431;
    78174     $458 = $457 >> 13;
    78175     $459 = $458 & 31;
    78176     $460 = $6;
    78177     $461 = $460 >>> 7;
    78178     $462 = $461 & 33554431;
    78179     $463 = $462 >> 12;
    78180     $464 = $463 & 1;
    78181     $465 = $6;
    78182     $466 = $465 >>> 7;
    78183     $467 = $466 & 33554431;
    78184     $468 = $467 >> 7;
    78185     $469 = $468 & 31;
    78186     $470 = $6;
    78187     $471 = $470 >>> 7;
    78188     $472 = $471 & 33554431;
    78189     $473 = $472 >> 2;
    78190     $474 = $473 & 31;
    78191     $475 = $6;
    78192     $476 = $475 >>> 7;
    78193     $477 = $476 & 33554431;
    78194     $478 = $477 >> 1;
    78195     $479 = $478 & 1;
    78196     $480 = $6;
    78197     $481 = $480 >>> 7;
    78198     $482 = $481 & 33554431;
    78199     $483 = $482 & 1;
    78200     HEAP32[$vararg_buffer137>>2] = $454;
    78201     $vararg_ptr140 = ((($vararg_buffer137)) + 4|0);
    78202     HEAP32[$vararg_ptr140>>2] = $459;
    78203     $vararg_ptr141 = ((($vararg_buffer137)) + 8|0);
    78204     HEAP32[$vararg_ptr141>>2] = $464;
    78205     $vararg_ptr142 = ((($vararg_buffer137)) + 12|0);
    78206     HEAP32[$vararg_ptr142>>2] = $469;
    78207     $vararg_ptr143 = ((($vararg_buffer137)) + 16|0);
    78208     HEAP32[$vararg_ptr143>>2] = $474;
    78209     $vararg_ptr144 = ((($vararg_buffer137)) + 20|0);
    78210     HEAP32[$vararg_ptr144>>2] = $479;
    78211     $vararg_ptr145 = ((($vararg_buffer137)) + 24|0);
    78212     HEAP32[$vararg_ptr145>>2] = $483;
    78213     (_printf(67023,$vararg_buffer137)|0);
    78214     break;
    78215    }
    78216    case 41:  {
    78217     $484 = $6;
    78218     $485 = $484 >>> 23;
    78219     $486 = $485 & 511;
    78220     HEAP32[$vararg_buffer146>>2] = $486;
    78221     (_printf(67054,$vararg_buffer146)|0);
    78222     $487 = $6;
    78223     $488 = $487 >>> 14;
    78224     $489 = $488 & 511;
    78225     switch ($489|0) {
    78226     case 2: case 0:  {
    78227      (_printf(67068,$vararg_buffer149)|0);
    78228      break;
    78229     }
    78230     case 1:  {
    78231      (_printf(67077,$vararg_buffer151)|0);
    78232      break;
    78233     }
    78234     default: {
    78235      (_printf(67085,$vararg_buffer153)|0);
    78236     }
    78237     }
    78238     $490 = $2;
    78239     $491 = $3;
    78240     $492 = $6;
    78241     _print_lv($490,$491,$492,1);
    78242     break;
    78243    }
    78244    case 43:  {
    78245     $493 = $6;
    78246     $494 = $493 >>> 23;
    78247     $495 = $494 & 511;
    78248     $496 = $6;
    78249     $497 = $496 >>> 7;
    78250     $498 = $497 & 65535;
    78251     $499 = $498 >> 10;
    78252     $500 = $499 & 63;
    78253     $501 = $6;
    78254     $502 = $501 >>> 7;
    78255     $503 = $502 & 65535;
    78256     $504 = $503 >> 9;
    78257     $505 = $504 & 1;
    78258     $506 = $6;
    78259     $507 = $506 >>> 7;
    78260     $508 = $507 & 65535;
    78261     $509 = $508 >> 4;
    78262     $510 = $509 & 31;
    78263     $511 = $6;
    78264     $512 = $511 >>> 7;
    78265     $513 = $512 & 65535;
    78266     $514 = $513 >> 0;
    78267     $515 = $514 & 15;
    78268     HEAP32[$vararg_buffer155>>2] = $495;
    78269     $vararg_ptr158 = ((($vararg_buffer155)) + 4|0);
    78270     HEAP32[$vararg_ptr158>>2] = $500;
    78271     $vararg_ptr159 = ((($vararg_buffer155)) + 8|0);
    78272     HEAP32[$vararg_ptr159>>2] = $505;
    78273     $vararg_ptr160 = ((($vararg_buffer155)) + 12|0);
    78274     HEAP32[$vararg_ptr160>>2] = $510;
    78275     $vararg_ptr161 = ((($vararg_buffer155)) + 16|0);
    78276     HEAP32[$vararg_ptr161>>2] = $515;
    78277     (_printf(67094,$vararg_buffer155)|0);
    78278     $516 = $2;
    78279     $517 = $3;
    78280     $518 = $6;
    78281     _print_lv($516,$517,$518,1);
    78282     break;
    78283    }
    78284    case 64:  {
    78285     $519 = $6;
    78286     $520 = $519 >>> 23;
    78287     $521 = $520 & 511;
    78288     $522 = $6;
    78289     $523 = $522 >>> 9;
    78290     $524 = $523 & 16383;
    78291     $525 = (($524) + 1)|0;
    78292     $526 = $6;
    78293     $527 = $526 >>> 7;
    78294     $528 = $527 & 3;
    78295     HEAP32[$vararg_buffer162>>2] = $521;
    78296     $vararg_ptr165 = ((($vararg_buffer162)) + 4|0);
    78297     HEAP32[$vararg_ptr165>>2] = $525;
    78298     $vararg_ptr166 = ((($vararg_buffer162)) + 8|0);
    78299     HEAP32[$vararg_ptr166>>2] = $528;
    78300     (_printf(67121,$vararg_buffer162)|0);
    78301     $529 = $2;
    78302     $530 = $3;
    78303     $531 = $6;
    78304     _print_lv($529,$530,$531,1);
    78305     break;
    78306    }
    78307    case 65:  {
    78308     $532 = $6;
    78309     $533 = $532 >>> 23;
    78310     $534 = $533 & 511;
    78311     $535 = $6;
    78312     $536 = $535 >>> 14;
    78313     $537 = $536 & 511;
    78314     $538 = $6;
    78315     $539 = $538 >>> 7;
    78316     $540 = $539 & 127;
    78317     HEAP32[$vararg_buffer167>>2] = $534;
    78318     $vararg_ptr170 = ((($vararg_buffer167)) + 4|0);
    78319     HEAP32[$vararg_ptr170>>2] = $537;
    78320     $vararg_ptr171 = ((($vararg_buffer167)) + 8|0);
    78321     HEAP32[$vararg_ptr171>>2] = $540;
    78322     (_printf(67145,$vararg_buffer167)|0);
    78323     $541 = $2;
    78324     $542 = $3;
    78325     $543 = $6;
    78326     _print_lv($541,$542,$543,3);
    78327     break;
    78328    }
    78329    case 70:  {
    78330     $544 = $6;
    78331     $545 = $544 >>> 23;
    78332     $546 = $545 & 511;
    78333     $547 = $2;
    78334     $548 = $3;
    78335     $549 = ((($548)) + 16|0);
    78336     $550 = HEAP32[$549>>2]|0;
    78337     $551 = $6;
    78338     $552 = $551 >>> 14;
    78339     $553 = $552 & 511;
    78340     $554 = (($550) + ($553<<2)|0);
    78341     $555 = HEAP32[$554>>2]|0;
    78342     $556 = (_mrb_sym2name($547,$555)|0);
    78343     HEAP32[$vararg_buffer172>>2] = $546;
    78344     $vararg_ptr175 = ((($vararg_buffer172)) + 4|0);
    78345     HEAP32[$vararg_ptr175>>2] = $556;
    78346     (_printf(67165,$vararg_buffer172)|0);
    78347     $557 = $2;
    78348     $558 = $3;
    78349     $559 = $6;
    78350     _print_lv($557,$558,$559,1);
    78351     break;
    78352    }
    78353    case 44:  {
    78354     $560 = $6;
    78355     $561 = $560 >>> 23;
    78356     $562 = $561 & 511;
    78357     $563 = $2;
    78358     $564 = $3;
    78359     $565 = ((($564)) + 16|0);
    78360     $566 = HEAP32[$565>>2]|0;
    78361     $567 = $6;
    78362     $568 = $567 >>> 14;
    78363     $569 = $568 & 511;
    78364     $570 = (($566) + ($569<<2)|0);
    78365     $571 = HEAP32[$570>>2]|0;
    78366     $572 = (_mrb_sym2name($563,$571)|0);
    78367     $573 = $6;
    78368     $574 = $573 >>> 7;
    78369     $575 = $574 & 127;
    78370     HEAP32[$vararg_buffer176>>2] = $562;
    78371     $vararg_ptr179 = ((($vararg_buffer176)) + 4|0);
    78372     HEAP32[$vararg_ptr179>>2] = $572;
    78373     $vararg_ptr180 = ((($vararg_buffer176)) + 8|0);
    78374     HEAP32[$vararg_ptr180>>2] = $575;
    78375     (_printf(67183,$vararg_buffer176)|0);
    78376     break;
    78377    }
    78378    case 45:  {
    78379     $576 = $6;
    78380     $577 = $576 >>> 23;
    78381     $578 = $577 & 511;
    78382     $579 = $2;
    78383     $580 = $3;
    78384     $581 = ((($580)) + 16|0);
    78385     $582 = HEAP32[$581>>2]|0;
    78386     $583 = $6;
    78387     $584 = $583 >>> 14;
    78388     $585 = $584 & 511;
    78389     $586 = (($582) + ($585<<2)|0);
    78390     $587 = HEAP32[$586>>2]|0;
    78391     $588 = (_mrb_sym2name($579,$587)|0);
    78392     $589 = $6;
    78393     $590 = $589 >>> 7;
    78394     $591 = $590 & 127;
    78395     HEAP32[$vararg_buffer181>>2] = $578;
    78396     $vararg_ptr184 = ((($vararg_buffer181)) + 4|0);
    78397     HEAP32[$vararg_ptr184>>2] = $588;
    78398     $vararg_ptr185 = ((($vararg_buffer181)) + 8|0);
    78399     HEAP32[$vararg_ptr185>>2] = $591;
    78400     (_printf(67202,$vararg_buffer181)|0);
    78401     break;
    78402    }
    78403    case 46:  {
    78404     $592 = $6;
    78405     $593 = $592 >>> 23;
    78406     $594 = $593 & 511;
    78407     $595 = $2;
    78408     $596 = $3;
    78409     $597 = ((($596)) + 16|0);
    78410     $598 = HEAP32[$597>>2]|0;
    78411     $599 = $6;
    78412     $600 = $599 >>> 14;
    78413     $601 = $600 & 511;
    78414     $602 = (($598) + ($601<<2)|0);
    78415     $603 = HEAP32[$602>>2]|0;
    78416     $604 = (_mrb_sym2name($595,$603)|0);
    78417     $605 = $6;
    78418     $606 = $605 >>> 7;
    78419     $607 = $606 & 127;
    78420     HEAP32[$vararg_buffer186>>2] = $594;
    78421     $vararg_ptr189 = ((($vararg_buffer186)) + 4|0);
    78422     HEAP32[$vararg_ptr189>>2] = $604;
    78423     $vararg_ptr190 = ((($vararg_buffer186)) + 8|0);
    78424     HEAP32[$vararg_ptr190>>2] = $607;
    78425     (_printf(67222,$vararg_buffer186)|0);
    78426     break;
    78427    }
    78428    case 47:  {
    78429     $608 = $6;
    78430     $609 = $608 >>> 23;
    78431     $610 = $609 & 511;
    78432     $611 = $2;
    78433     $612 = $3;
    78434     $613 = ((($612)) + 16|0);
    78435     $614 = HEAP32[$613>>2]|0;
    78436     $615 = $6;
    78437     $616 = $615 >>> 14;
    78438     $617 = $616 & 511;
    78439     $618 = (($614) + ($617<<2)|0);
    78440     $619 = HEAP32[$618>>2]|0;
    78441     $620 = (_mrb_sym2name($611,$619)|0);
    78442     $621 = $6;
    78443     $622 = $621 >>> 7;
    78444     $623 = $622 & 127;
    78445     HEAP32[$vararg_buffer191>>2] = $610;
    78446     $vararg_ptr194 = ((($vararg_buffer191)) + 4|0);
    78447     HEAP32[$vararg_ptr194>>2] = $620;
    78448     $vararg_ptr195 = ((($vararg_buffer191)) + 8|0);
    78449     HEAP32[$vararg_ptr195>>2] = $623;
    78450     (_printf(67241,$vararg_buffer191)|0);
    78451     break;
    78452    }
    78453    case 48:  {
    78454     $624 = $6;
    78455     $625 = $624 >>> 23;
    78456     $626 = $625 & 511;
    78457     $627 = $2;
    78458     $628 = $3;
    78459     $629 = ((($628)) + 16|0);
    78460     $630 = HEAP32[$629>>2]|0;
    78461     $631 = $6;
    78462     $632 = $631 >>> 14;
    78463     $633 = $632 & 511;
    78464     $634 = (($630) + ($633<<2)|0);
    78465     $635 = HEAP32[$634>>2]|0;
    78466     $636 = (_mrb_sym2name($627,$635)|0);
    78467     $637 = $6;
    78468     $638 = $637 >>> 7;
    78469     $639 = $638 & 127;
    78470     HEAP32[$vararg_buffer196>>2] = $626;
    78471     $vararg_ptr199 = ((($vararg_buffer196)) + 4|0);
    78472     HEAP32[$vararg_ptr199>>2] = $636;
    78473     $vararg_ptr200 = ((($vararg_buffer196)) + 8|0);
    78474     HEAP32[$vararg_ptr200>>2] = $639;
    78475     (_printf(67261,$vararg_buffer196)|0);
    78476     break;
    78477    }
    78478    case 49:  {
    78479     $640 = $6;
    78480     $641 = $640 >>> 23;
    78481     $642 = $641 & 511;
    78482     $643 = $2;
    78483     $644 = $3;
    78484     $645 = ((($644)) + 16|0);
    78485     $646 = HEAP32[$645>>2]|0;
    78486     $647 = $6;
    78487     $648 = $647 >>> 14;
    78488     $649 = $648 & 511;
    78489     $650 = (($646) + ($649<<2)|0);
    78490     $651 = HEAP32[$650>>2]|0;
    78491     $652 = (_mrb_sym2name($643,$651)|0);
    78492     $653 = $6;
    78493     $654 = $653 >>> 7;
    78494     $655 = $654 & 127;
    78495     HEAP32[$vararg_buffer201>>2] = $642;
    78496     $vararg_ptr204 = ((($vararg_buffer201)) + 4|0);
    78497     HEAP32[$vararg_ptr204>>2] = $652;
    78498     $vararg_ptr205 = ((($vararg_buffer201)) + 8|0);
    78499     HEAP32[$vararg_ptr205>>2] = $655;
    78500     (_printf(67280,$vararg_buffer201)|0);
    78501     break;
    78502    }
    78503    case 51:  {
    78504     $656 = $6;
    78505     $657 = $656 >>> 23;
    78506     $658 = $657 & 511;
    78507     $659 = $2;
    78508     $660 = $3;
    78509     $661 = ((($660)) + 16|0);
    78510     $662 = HEAP32[$661>>2]|0;
    78511     $663 = $6;
    78512     $664 = $663 >>> 14;
    78513     $665 = $664 & 511;
    78514     $666 = (($662) + ($665<<2)|0);
    78515     $667 = HEAP32[$666>>2]|0;
    78516     $668 = (_mrb_sym2name($659,$667)|0);
    78517     $669 = $6;
    78518     $670 = $669 >>> 7;
    78519     $671 = $670 & 127;
    78520     HEAP32[$vararg_buffer206>>2] = $658;
    78521     $vararg_ptr209 = ((($vararg_buffer206)) + 4|0);
    78522     HEAP32[$vararg_ptr209>>2] = $668;
    78523     $vararg_ptr210 = ((($vararg_buffer206)) + 8|0);
    78524     HEAP32[$vararg_ptr210>>2] = $671;
    78525     (_printf(67299,$vararg_buffer206)|0);
    78526     break;
    78527    }
    78528    case 52:  {
    78529     $672 = $6;
    78530     $673 = $672 >>> 23;
    78531     $674 = $673 & 511;
    78532     $675 = $2;
    78533     $676 = $3;
    78534     $677 = ((($676)) + 16|0);
    78535     $678 = HEAP32[$677>>2]|0;
    78536     $679 = $6;
    78537     $680 = $679 >>> 14;
    78538     $681 = $680 & 511;
    78539     $682 = (($678) + ($681<<2)|0);
    78540     $683 = HEAP32[$682>>2]|0;
    78541     $684 = (_mrb_sym2name($675,$683)|0);
    78542     $685 = $6;
    78543     $686 = $685 >>> 7;
    78544     $687 = $686 & 127;
    78545     HEAP32[$vararg_buffer211>>2] = $674;
    78546     $vararg_ptr214 = ((($vararg_buffer211)) + 4|0);
    78547     HEAP32[$vararg_ptr214>>2] = $684;
    78548     $vararg_ptr215 = ((($vararg_buffer211)) + 8|0);
    78549     HEAP32[$vararg_ptr215>>2] = $687;
    78550     (_printf(67317,$vararg_buffer211)|0);
    78551     break;
    78552    }
    78553    case 53:  {
    78554     $688 = $6;
    78555     $689 = $688 >>> 23;
    78556     $690 = $689 & 511;
    78557     $691 = $2;
    78558     $692 = $3;
    78559     $693 = ((($692)) + 16|0);
    78560     $694 = HEAP32[$693>>2]|0;
    78561     $695 = $6;
    78562     $696 = $695 >>> 14;
    78563     $697 = $696 & 511;
    78564     $698 = (($694) + ($697<<2)|0);
    78565     $699 = HEAP32[$698>>2]|0;
    78566     $700 = (_mrb_sym2name($691,$699)|0);
    78567     $701 = $6;
    78568     $702 = $701 >>> 7;
    78569     $703 = $702 & 127;
    78570     HEAP32[$vararg_buffer216>>2] = $690;
    78571     $vararg_ptr219 = ((($vararg_buffer216)) + 4|0);
    78572     HEAP32[$vararg_ptr219>>2] = $700;
    78573     $vararg_ptr220 = ((($vararg_buffer216)) + 8|0);
    78574     HEAP32[$vararg_ptr220>>2] = $703;
    78575     (_printf(67335,$vararg_buffer216)|0);
    78576     break;
    78577    }
    78578    case 54:  {
    78579     $704 = $6;
    78580     $705 = $704 >>> 23;
    78581     $706 = $705 & 511;
    78582     $707 = $2;
    78583     $708 = $3;
    78584     $709 = ((($708)) + 16|0);
    78585     $710 = HEAP32[$709>>2]|0;
    78586     $711 = $6;
    78587     $712 = $711 >>> 14;
    78588     $713 = $712 & 511;
    78589     $714 = (($710) + ($713<<2)|0);
    78590     $715 = HEAP32[$714>>2]|0;
    78591     $716 = (_mrb_sym2name($707,$715)|0);
    78592     $717 = $6;
    78593     $718 = $717 >>> 7;
    78594     $719 = $718 & 127;
    78595     HEAP32[$vararg_buffer221>>2] = $706;
    78596     $vararg_ptr224 = ((($vararg_buffer221)) + 4|0);
    78597     HEAP32[$vararg_ptr224>>2] = $716;
    78598     $vararg_ptr225 = ((($vararg_buffer221)) + 8|0);
    78599     HEAP32[$vararg_ptr225>>2] = $719;
    78600     (_printf(67353,$vararg_buffer221)|0);
    78601     break;
    78602    }
    78603    case 50:  {
    78604     $720 = $6;
    78605     $721 = $720 >>> 23;
    78606     $722 = $721 & 511;
    78607     $723 = $2;
    78608     $724 = $3;
    78609     $725 = ((($724)) + 16|0);
    78610     $726 = HEAP32[$725>>2]|0;
    78611     $727 = $6;
    78612     $728 = $727 >>> 14;
    78613     $729 = $728 & 511;
    78614     $730 = (($726) + ($729<<2)|0);
    78615     $731 = HEAP32[$730>>2]|0;
    78616     $732 = (_mrb_sym2name($723,$731)|0);
    78617     $733 = $6;
    78618     $734 = $733 >>> 7;
    78619     $735 = $734 & 127;
    78620     HEAP32[$vararg_buffer226>>2] = $722;
    78621     $vararg_ptr229 = ((($vararg_buffer226)) + 4|0);
    78622     HEAP32[$vararg_ptr229>>2] = $732;
    78623     $vararg_ptr230 = ((($vararg_buffer226)) + 8|0);
    78624     HEAP32[$vararg_ptr230>>2] = $735;
    78625     (_printf(67371,$vararg_buffer226)|0);
    78626     break;
    78627    }
    78628    case 74:  {
    78629     (_printf(67389,$vararg_buffer231)|0);
    78630     break;
    78631    }
    78632    case 55:  {
    78633     $736 = $6;
    78634     $737 = $736 >>> 23;
    78635     $738 = $737 & 511;
    78636     $739 = $6;
    78637     $740 = $739 >>> 14;
    78638     $741 = $740 & 511;
    78639     $742 = $6;
    78640     $743 = $742 >>> 7;
    78641     $744 = $743 & 127;
    78642     HEAP32[$vararg_buffer233>>2] = $738;
    78643     $vararg_ptr236 = ((($vararg_buffer233)) + 4|0);
    78644     HEAP32[$vararg_ptr236>>2] = $741;
    78645     $vararg_ptr237 = ((($vararg_buffer233)) + 8|0);
    78646     HEAP32[$vararg_ptr237>>2] = $744;
    78647     (_printf(67398,$vararg_buffer233)|0);
    78648     $745 = $2;
    78649     $746 = $3;
    78650     $747 = $6;
    78651     _print_lv($745,$746,$747,3);
    78652     break;
    78653    }
    78654    case 56:  {
    78655     $748 = $6;
    78656     $749 = $748 >>> 23;
    78657     $750 = $749 & 511;
    78658     $751 = $6;
    78659     $752 = $751 >>> 14;
    78660     $753 = $752 & 511;
    78661     HEAP32[$vararg_buffer238>>2] = $750;
    78662     $vararg_ptr241 = ((($vararg_buffer238)) + 4|0);
    78663     HEAP32[$vararg_ptr241>>2] = $753;
    78664     (_printf(67418,$vararg_buffer238)|0);
    78665     $754 = $2;
    78666     $755 = $3;
    78667     $756 = $6;
    78668     _print_lv($754,$755,$756,3);
    78669     break;
    78670    }
    78671    case 57:  {
    78672     $757 = $6;
    78673     $758 = $757 >>> 23;
    78674     $759 = $758 & 511;
    78675     $760 = $6;
    78676     $761 = $760 >>> 14;
    78677     $762 = $761 & 511;
    78678     HEAP32[$vararg_buffer242>>2] = $759;
    78679     $vararg_ptr245 = ((($vararg_buffer242)) + 4|0);
    78680     HEAP32[$vararg_ptr245>>2] = $762;
    78681     (_printf(67437,$vararg_buffer242)|0);
    78682     $763 = $2;
    78683     $764 = $3;
    78684     $765 = $6;
    78685     _print_lv($763,$764,$765,3);
    78686     break;
    78687    }
    78688    case 58:  {
    78689     $766 = $6;
    78690     $767 = $766 >>> 23;
    78691     $768 = $767 & 511;
    78692     $769 = $6;
    78693     $770 = $769 >>> 14;
    78694     $771 = $770 & 511;
    78695     $772 = $6;
    78696     $773 = $772 >>> 7;
    78697     $774 = $773 & 127;
    78698     HEAP32[$vararg_buffer246>>2] = $768;
    78699     $vararg_ptr249 = ((($vararg_buffer246)) + 4|0);
    78700     HEAP32[$vararg_ptr249>>2] = $771;
    78701     $vararg_ptr250 = ((($vararg_buffer246)) + 8|0);
    78702     HEAP32[$vararg_ptr250>>2] = $774;
    78703     (_printf(67457,$vararg_buffer246)|0);
    78704     $775 = $2;
    78705     $776 = $3;
    78706     $777 = $6;
    78707     _print_lv($775,$776,$777,3);
    78708     break;
    78709    }
    78710    case 60:  {
    78711     $778 = $6;
    78712     $779 = $778 >>> 23;
    78713     $780 = $779 & 511;
    78714     $781 = $6;
    78715     $782 = $781 >>> 14;
    78716     $783 = $782 & 511;
    78717     $784 = $6;
    78718     $785 = $784 >>> 7;
    78719     $786 = $785 & 127;
    78720     HEAP32[$vararg_buffer251>>2] = $780;
    78721     $vararg_ptr254 = ((($vararg_buffer251)) + 4|0);
    78722     HEAP32[$vararg_ptr254>>2] = $783;
    78723     $vararg_ptr255 = ((($vararg_buffer251)) + 8|0);
    78724     HEAP32[$vararg_ptr255>>2] = $786;
    78725     (_printf(67476,$vararg_buffer251)|0);
    78726     $787 = $2;
    78727     $788 = $3;
    78728     $789 = $6;
    78729     _print_lv($787,$788,$789,1);
    78730     break;
    78731    }
    78732    case 61:  {
    78733     $790 = $3;
    78734     $791 = ((($790)) + 12|0);
    78735     $792 = HEAP32[$791>>2]|0;
    78736     $793 = $6;
    78737     $794 = $793 >>> 7;
    78738     $795 = $794 & 65535;
    78739     $796 = (($792) + ($795<<3)|0);
    78740     ;HEAP32[$12>>2]=HEAP32[$796>>2]|0;HEAP32[$12+4>>2]=HEAP32[$796+4>>2]|0;
    78741     $797 = $2;
    78742     $798 = $2;
    78743     $799 = HEAP32[$12>>2]|0;
    78744     $800 = HEAP32[$799>>2]|0;
    78745     $801 = $800 >>> 11;
    78746     $802 = $801 & 8;
    78747     $803 = ($802|0)!=(0);
    78748     $804 = HEAP32[$12>>2]|0;
    78749     $805 = ((($804)) + 12|0);
    78750     if ($803) {
    78751      $820 = $805;
    78752     } else {
    78753      $806 = ((($805)) + 8|0);
    78754      $807 = HEAP32[$806>>2]|0;
    78755      $820 = $807;
    78756     }
    78757     $808 = HEAP32[$12>>2]|0;
    78758     $809 = HEAP32[$808>>2]|0;
    78759     $810 = $809 >>> 11;
    78760     $811 = $810 & 8;
    78761     $812 = ($811|0)!=(0);
    78762     $813 = HEAP32[$12>>2]|0;
    78763     if ($812) {
    78764      $814 = HEAP32[$813>>2]|0;
    78765      $815 = $814 >>> 11;
    78766      $816 = $815 & 496;
    78767      $817 = $816 >> 4;
    78768      $821 = $817;
    78769     } else {
    78770      $818 = ((($813)) + 12|0);
    78771      $819 = HEAP32[$818>>2]|0;
    78772      $821 = $819;
    78773     }
    78774     _mrb_str_new($14,$798,$820,$821);
    78775     ;HEAP32[$$byval_copy321>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy321+4>>2]=HEAP32[$14+4>>2]|0;
    78776     _mrb_str_dump($13,$797,$$byval_copy321);
    78777     $822 = $6;
    78778     $823 = $822 >>> 23;
    78779     $824 = $823 & 511;
    78780     $825 = $6;
    78781     $826 = $825 >>> 7;
    78782     $827 = $826 & 65535;
    78783     $828 = HEAP32[$13>>2]|0;
    78784     $829 = HEAP32[$828>>2]|0;
    78785     $830 = $829 >>> 11;
    78786     $831 = $830 & 8;
    78787     $832 = ($831|0)!=(0);
    78788     $833 = HEAP32[$13>>2]|0;
    78789     $834 = ((($833)) + 12|0);
    78790     if ($832) {
    78791      $837 = $834;
    78792     } else {
    78793      $835 = ((($834)) + 8|0);
    78794      $836 = HEAP32[$835>>2]|0;
    78795      $837 = $836;
    78796     }
    78797     HEAP32[$vararg_buffer256>>2] = $824;
    78798     $vararg_ptr259 = ((($vararg_buffer256)) + 4|0);
    78799     HEAP32[$vararg_ptr259>>2] = $827;
    78800     $vararg_ptr260 = ((($vararg_buffer256)) + 8|0);
    78801     HEAP32[$vararg_ptr260>>2] = $837;
    78802     (_printf(67495,$vararg_buffer256)|0);
    78803     $838 = $2;
    78804     $839 = $3;
    78805     $840 = $6;
    78806     _print_lv($838,$839,$840,1);
    78807     break;
    78808    }
    78809    case 62:  {
    78810     $841 = $6;
    78811     $842 = $841 >>> 23;
    78812     $843 = $842 & 511;
    78813     $844 = $6;
    78814     $845 = $844 >>> 14;
    78815     $846 = $845 & 511;
    78816     HEAP32[$vararg_buffer261>>2] = $843;
    78817     $vararg_ptr264 = ((($vararg_buffer261)) + 4|0);
    78818     HEAP32[$vararg_ptr264>>2] = $846;
    78819     (_printf(67520,$vararg_buffer261)|0);
    78820     $847 = $2;
    78821     $848 = $3;
    78822     $849 = $6;
    78823     _print_lv($847,$848,$849,3);
    78824     break;
    78825    }
    78826    case 63:  {
    78827     $850 = $6;
    78828     $851 = $850 >>> 23;
    78829     $852 = $851 & 511;
    78830     $853 = $6;
    78831     $854 = $853 >>> 14;
    78832     $855 = $854 & 511;
    78833     $856 = $6;
    78834     $857 = $856 >>> 7;
    78835     $858 = $857 & 127;
    78836     HEAP32[$vararg_buffer265>>2] = $852;
    78837     $vararg_ptr268 = ((($vararg_buffer265)) + 4|0);
    78838     HEAP32[$vararg_ptr268>>2] = $855;
    78839     $vararg_ptr269 = ((($vararg_buffer265)) + 8|0);
    78840     HEAP32[$vararg_ptr269>>2] = $858;
    78841     (_printf(67539,$vararg_buffer265)|0);
    78842     $859 = $2;
    78843     $860 = $3;
    78844     $861 = $6;
    78845     _print_lv($859,$860,$861,3);
    78846     break;
    78847    }
    78848    case 66:  {
    78849     $862 = $6;
    78850     $863 = $862 >>> 23;
    78851     $864 = $863 & 511;
    78852     HEAP32[$vararg_buffer270>>2] = $864;
    78853     (_printf(67558,$vararg_buffer270)|0);
    78854     $865 = $2;
    78855     $866 = $3;
    78856     $867 = $6;
    78857     _print_lv($865,$866,$867,1);
    78858     break;
    78859    }
    78860    case 67:  {
    78861     $868 = $6;
    78862     $869 = $868 >>> 23;
    78863     $870 = $869 & 511;
    78864     $871 = $2;
    78865     $872 = $3;
    78866     $873 = ((($872)) + 16|0);
    78867     $874 = HEAP32[$873>>2]|0;
    78868     $875 = $6;
    78869     $876 = $875 >>> 14;
    78870     $877 = $876 & 511;
    78871     $878 = (($874) + ($877<<2)|0);
    78872     $879 = HEAP32[$878>>2]|0;
    78873     $880 = (_mrb_sym2name($871,$879)|0);
    78874     HEAP32[$vararg_buffer273>>2] = $870;
    78875     $vararg_ptr276 = ((($vararg_buffer273)) + 4|0);
    78876     HEAP32[$vararg_ptr276>>2] = $880;
    78877     (_printf(67574,$vararg_buffer273)|0);
    78878     $881 = $2;
    78879     $882 = $3;
    78880     $883 = $6;
    78881     _print_lv($881,$882,$883,1);
    78882     break;
    78883    }
    78884    case 68:  {
    78885     $884 = $6;
    78886     $885 = $884 >>> 23;
    78887     $886 = $885 & 511;
    78888     $887 = $2;
    78889     $888 = $3;
    78890     $889 = ((($888)) + 16|0);
    78891     $890 = HEAP32[$889>>2]|0;
    78892     $891 = $6;
    78893     $892 = $891 >>> 14;
    78894     $893 = $892 & 511;
    78895     $894 = (($890) + ($893<<2)|0);
    78896     $895 = HEAP32[$894>>2]|0;
    78897     $896 = (_mrb_sym2name($887,$895)|0);
    78898     HEAP32[$vararg_buffer277>>2] = $886;
    78899     $vararg_ptr280 = ((($vararg_buffer277)) + 4|0);
    78900     HEAP32[$vararg_ptr280>>2] = $896;
    78901     (_printf(67591,$vararg_buffer277)|0);
    78902     $897 = $2;
    78903     $898 = $3;
    78904     $899 = $6;
    78905     _print_lv($897,$898,$899,1);
    78906     break;
    78907    }
    78908    case 69:  {
    78909     $900 = $6;
    78910     $901 = $900 >>> 23;
    78911     $902 = $901 & 511;
    78912     $903 = $6;
    78913     $904 = $903 >>> 7;
    78914     $905 = $904 & 65535;
    78915     $906 = (($905) + 1)|0;
    78916     HEAP32[$vararg_buffer281>>2] = $902;
    78917     $vararg_ptr284 = ((($vararg_buffer281)) + 4|0);
    78918     HEAP32[$vararg_ptr284>>2] = $906;
    78919     (_printf(67609,$vararg_buffer281)|0);
    78920     $907 = $2;
    78921     $908 = $3;
    78922     $909 = $6;
    78923     _print_lv($907,$908,$909,1);
    78924     break;
    78925    }
    78926    case 71:  {
    78927     $910 = $6;
    78928     $911 = $910 >>> 23;
    78929     $912 = $911 & 511;
    78930     $913 = $6;
    78931     $914 = $913 >>> 14;
    78932     $915 = $914 & 511;
    78933     HEAP32[$vararg_buffer285>>2] = $912;
    78934     $vararg_ptr288 = ((($vararg_buffer285)) + 4|0);
    78935     HEAP32[$vararg_ptr288>>2] = $915;
    78936     (_printf(67628,$vararg_buffer285)|0);
    78937     $916 = $2;
    78938     $917 = $3;
    78939     $918 = $6;
    78940     _print_lv($916,$917,$918,3);
    78941     break;
    78942    }
    78943    case 72:  {
    78944     $919 = $6;
    78945     $920 = $919 >>> 23;
    78946     $921 = $920 & 511;
    78947     HEAP32[$vararg_buffer289>>2] = $921;
    78948     (_printf(67647,$vararg_buffer289)|0);
    78949     $922 = $2;
    78950     $923 = $3;
    78951     $924 = $6;
    78952     _print_lv($922,$923,$924,1);
    78953     break;
    78954    }
    78955    case 75:  {
    78956     $925 = $3;
    78957     $926 = ((($925)) + 12|0);
    78958     $927 = HEAP32[$926>>2]|0;
    78959     $928 = $6;
    78960     $929 = $928 >>> 7;
    78961     $930 = $929 & 65535;
    78962     $931 = (($927) + ($930<<3)|0);
    78963     ;HEAP32[$15>>2]=HEAP32[$931>>2]|0;HEAP32[$15+4>>2]=HEAP32[$931+4>>2]|0;
    78964     $932 = $2;
    78965     $933 = $2;
    78966     $934 = HEAP32[$15>>2]|0;
    78967     $935 = HEAP32[$934>>2]|0;
    78968     $936 = $935 >>> 11;
    78969     $937 = $936 & 8;
    78970     $938 = ($937|0)!=(0);
    78971     $939 = HEAP32[$15>>2]|0;
    78972     $940 = ((($939)) + 12|0);
    78973     if ($938) {
    78974      $955 = $940;
    78975     } else {
    78976      $941 = ((($940)) + 8|0);
    78977      $942 = HEAP32[$941>>2]|0;
    78978      $955 = $942;
    78979     }
    78980     $943 = HEAP32[$15>>2]|0;
    78981     $944 = HEAP32[$943>>2]|0;
    78982     $945 = $944 >>> 11;
    78983     $946 = $945 & 8;
    78984     $947 = ($946|0)!=(0);
    78985     $948 = HEAP32[$15>>2]|0;
    78986     if ($947) {
    78987      $949 = HEAP32[$948>>2]|0;
    78988      $950 = $949 >>> 11;
    78989      $951 = $950 & 496;
    78990      $952 = $951 >> 4;
    78991      $956 = $952;
    78992     } else {
    78993      $953 = ((($948)) + 12|0);
    78994      $954 = HEAP32[$953>>2]|0;
    78995      $956 = $954;
    78996     }
    78997     _mrb_str_new($17,$933,$955,$956);
    78998     ;HEAP32[$$byval_copy322>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy322+4>>2]=HEAP32[$17+4>>2]|0;
    78999     _mrb_str_dump($16,$932,$$byval_copy322);
    79000     $957 = HEAP32[$16>>2]|0;
    79001     $958 = HEAP32[$957>>2]|0;
    79002     $959 = $958 >>> 11;
    79003     $960 = $959 & 8;
    79004     $961 = ($960|0)!=(0);
    79005     $962 = HEAP32[$16>>2]|0;
    79006     $963 = ((($962)) + 12|0);
    79007     if ($961) {
    79008      $966 = $963;
    79009     } else {
    79010      $964 = ((($963)) + 8|0);
    79011      $965 = HEAP32[$964>>2]|0;
    79012      $966 = $965;
    79013     }
    79014     HEAP32[$vararg_buffer292>>2] = $966;
    79015     (_printf(67663,$vararg_buffer292)|0);
    79016     break;
    79017    }
    79018    case 30:  {
    79019     $967 = $6;
    79020     $968 = $967 >>> 7;
    79021     $969 = $968 & 65535;
    79022     $970 = (($969) + 1)|0;
    79023     HEAP32[$vararg_buffer295>>2] = $970;
    79024     (_printf(67674,$vararg_buffer295)|0);
    79025     break;
    79026    }
    79027    case 26:  {
    79028     $971 = $4;
    79029     $972 = $6;
    79030     $973 = $972 >>> 7;
    79031     $974 = $973 & 65535;
    79032     $975 = (($974) - 32767)|0;
    79033     $976 = (($971) + ($975))|0;
    79034     HEAP32[$vararg_buffer298>>2] = $976;
    79035     (_printf(67692,$vararg_buffer298)|0);
    79036     break;
    79037    }
    79038    case 27:  {
    79039     $977 = $6;
    79040     $978 = $977 >>> 23;
    79041     $979 = $978 & 511;
    79042     HEAP32[$vararg_buffer301>>2] = $979;
    79043     (_printf(67707,$vararg_buffer301)|0);
    79044     $980 = $2;
    79045     $981 = $3;
    79046     $982 = $6;
    79047     _print_lv($980,$981,$982,1);
    79048     break;
    79049    }
    79050    case 29:  {
    79051     $983 = $6;
    79052     $984 = $983 >>> 23;
    79053     $985 = $984 & 511;
    79054     HEAP32[$vararg_buffer304>>2] = $985;
    79055     (_printf(67723,$vararg_buffer304)|0);
    79056     $986 = $2;
    79057     $987 = $3;
    79058     $988 = $6;
    79059     _print_lv($986,$987,$988,1);
    79060     break;
    79061    }
    79062    case 28:  {
    79063     $989 = $6;
    79064     $990 = $989 >>> 23;
    79065     $991 = $990 & 511;
    79066     HEAP32[$vararg_buffer307>>2] = $991;
    79067     (_printf(67738,$vararg_buffer307)|0);
    79068     $992 = $2;
    79069     $993 = $3;
    79070     $994 = $6;
    79071     _print_lv($992,$993,$994,1);
    79072     break;
    79073    }
    79074    case 31:  {
    79075     $995 = $6;
    79076     $996 = $995 >>> 23;
    79077     $997 = $996 & 511;
    79078     HEAP32[$vararg_buffer310>>2] = $997;
    79079     (_printf(67753,$vararg_buffer310)|0);
    79080     break;
    79081    }
    79082    default: {
    79083     $998 = $6;
    79084     $999 = $998 & 127;
    79085     $1000 = $6;
    79086     $1001 = $1000 >>> 23;
    79087     $1002 = $1001 & 511;
    79088     $1003 = $6;
    79089     $1004 = $1003 >>> 14;
    79090     $1005 = $1004 & 511;
    79091     $1006 = $6;
    79092     $1007 = $1006 >>> 7;
    79093     $1008 = $1007 & 127;
    79094     HEAP32[$vararg_buffer313>>2] = $999;
    79095     $vararg_ptr316 = ((($vararg_buffer313)) + 4|0);
    79096     HEAP32[$vararg_ptr316>>2] = $1002;
    79097     $vararg_ptr317 = ((($vararg_buffer313)) + 8|0);
    79098     HEAP32[$vararg_ptr317>>2] = $1005;
    79099     $vararg_ptr318 = ((($vararg_buffer313)) + 12|0);
    79100     HEAP32[$vararg_ptr318>>2] = $1008;
    79101     (_printf(67765,$vararg_buffer313)|0);
    79102    }
    79103    }
    79104   } while(0);
    79105   $1009 = $2;
    79106   $1010 = $5;
    79107   _mrb_gc_arena_restore($1009,$1010);
    79108   $1011 = $4;
    79109   $1012 = (($1011) + 1)|0;
    79110   $4 = $1012;
    79111  }
    79112  (_printf(67789,$vararg_buffer319)|0);
    79113  STACKTOP = sp;return;
    79114 }
    79115 function _print_lv($0,$1,$2,$3) {
    79116  $0 = $0|0;
    79117  $1 = $1|0;
    79118  $2 = $2|0;
    79119  $3 = $3|0;
    79120  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    79121  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    79122  var $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0;
    79123  sp = STACKTOP;
    79124  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    79125  $vararg_buffer3 = sp + 16|0;
    79126  $vararg_buffer1 = sp + 8|0;
    79127  $vararg_buffer = sp;
    79128  $4 = $0;
    79129  $5 = $1;
    79130  $6 = $2;
    79131  $7 = $3;
    79132  $8 = 0;
    79133  $9 = $5;
    79134  $10 = ((($9)) + 24|0);
    79135  $11 = HEAP32[$10>>2]|0;
    79136  $12 = ($11|0)!=(0|0);
    79137  do {
    79138   if ($12) {
    79139    $13 = $7;
    79140    $14 = $13 & 1;
    79141    $15 = ($14|0)!=(0);
    79142    if ($15) {
    79143     $16 = $6;
    79144     $17 = $16 >>> 23;
    79145     $18 = $17 & 511;
    79146     $19 = $5;
    79147     $20 = HEAP16[$19>>1]|0;
    79148     $21 = $20&65535;
    79149     $22 = ($18|0)>=($21|0);
    79150     if ($22) {
    79151      label = 4;
    79152     }
    79153    } else {
    79154     label = 4;
    79155    }
    79156    if ((label|0) == 4) {
    79157     $23 = $7;
    79158     $24 = $23 & 2;
    79159     $25 = ($24|0)!=(0);
    79160     if (!($25)) {
    79161      break;
    79162     }
    79163     $26 = $6;
    79164     $27 = $26 >>> 14;
    79165     $28 = $27 & 511;
    79166     $29 = $5;
    79167     $30 = HEAP16[$29>>1]|0;
    79168     $31 = $30&65535;
    79169     $32 = ($28|0)>=($31|0);
    79170     if ($32) {
    79171      break;
    79172     }
    79173    }
    79174    (_printf(67791,$vararg_buffer1)|0);
    79175    $33 = $7;
    79176    $34 = $33 & 1;
    79177    $35 = ($34|0)!=(0);
    79178    if ($35) {
    79179     $36 = $4;
    79180     $37 = $5;
    79181     $38 = $6;
    79182     $39 = $38 >>> 23;
    79183     $40 = $39 & 511;
    79184     $41 = (_print_r($36,$37,$40,0)|0);
    79185     $8 = $41;
    79186    }
    79187    $42 = $7;
    79188    $43 = $42 & 2;
    79189    $44 = ($43|0)!=(0);
    79190    if ($44) {
    79191     $45 = $4;
    79192     $46 = $5;
    79193     $47 = $6;
    79194     $48 = $47 >>> 14;
    79195     $49 = $48 & 511;
    79196     $50 = $8;
    79197     (_print_r($45,$46,$49,$50)|0);
    79198    }
    79199    (_printf(67789,$vararg_buffer3)|0);
    79200    STACKTOP = sp;return;
    79201   }
    79202  } while(0);
    79203  (_printf(67789,$vararg_buffer)|0);
    79204  STACKTOP = sp;return;
    79205 }
    79206 function _print_r($0,$1,$2,$3) {
    79207  $0 = $0|0;
    79208  $1 = $1|0;
    79209  $2 = $2|0;
    79210  $3 = $3|0;
    79211  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    79212  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    79213  var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
    79214  sp = STACKTOP;
    79215  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    79216  $vararg_buffer1 = sp + 8|0;
    79217  $vararg_buffer = sp;
    79218  $5 = $0;
    79219  $6 = $1;
    79220  $7 = $2;
    79221  $8 = $3;
    79222  $11 = $7;
    79223  $12 = ($11|0)==(0);
    79224  if ($12) {
    79225   $4 = 0;
    79226   $43 = $4;
    79227   STACKTOP = sp;return ($43|0);
    79228  }
    79229  $9 = 0;
    79230  while(1) {
    79231   $13 = $9;
    79232   $14 = (($13) + 1)|0;
    79233   $15 = $6;
    79234   $16 = HEAP16[$15>>1]|0;
    79235   $17 = $16&65535;
    79236   $18 = ($14>>>0)<($17>>>0);
    79237   if (!($18)) {
    79238    label = 10;
    79239    break;
    79240   }
    79241   $19 = $6;
    79242   $20 = ((($19)) + 24|0);
    79243   $21 = HEAP32[$20>>2]|0;
    79244   $22 = $9;
    79245   $23 = (($21) + ($22<<3)|0);
    79246   $24 = ((($23)) + 4|0);
    79247   $25 = HEAP16[$24>>1]|0;
    79248   $26 = $25&65535;
    79249   $27 = $7;
    79250   $28 = ($26|0)==($27|0);
    79251   if ($28) {
    79252    break;
    79253   }
    79254   $41 = $9;
    79255   $42 = (($41) + 1)|0;
    79256   $9 = $42;
    79257  }
    79258  if ((label|0) == 10) {
    79259   $4 = 0;
    79260   $43 = $4;
    79261   STACKTOP = sp;return ($43|0);
    79262  }
    79263  $29 = $6;
    79264  $30 = ((($29)) + 24|0);
    79265  $31 = HEAP32[$30>>2]|0;
    79266  $32 = $9;
    79267  $33 = (($31) + ($32<<3)|0);
    79268  $34 = HEAP32[$33>>2]|0;
    79269  $10 = $34;
    79270  $35 = $8;
    79271  $36 = ($35|0)!=(0);
    79272  if ($36) {
    79273   (_printf(67795,$vararg_buffer)|0);
    79274  }
    79275  $37 = $7;
    79276  $38 = $5;
    79277  $39 = $10;
    79278  $40 = (_mrb_sym2name($38,$39)|0);
    79279  HEAP32[$vararg_buffer1>>2] = $37;
    79280  $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
    79281  HEAP32[$vararg_ptr3>>2] = $40;
    79282  (_printf(67797,$vararg_buffer1)|0);
    79283  $4 = 1;
    79284  $43 = $4;
    79285  STACKTOP = sp;return ($43|0);
    79286 }
    79287 function _calc_crc_16_ccitt($0,$1,$2) {
    79288  $0 = $0|0;
    79289  $1 = $1|0;
    79290  $2 = $2|0;
    79291  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    79292  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    79293  sp = STACKTOP;
    79294  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    79295  $3 = $0;
    79296  $4 = $1;
    79297  $5 = $2;
    79298  $9 = $5;
    79299  $10 = $9&65535;
    79300  $11 = $10 << 8;
    79301  $8 = $11;
    79302  $6 = 0;
    79303  while(1) {
    79304   $12 = $6;
    79305   $13 = $4;
    79306   $14 = ($12>>>0)<($13>>>0);
    79307   if (!($14)) {
    79308    break;
    79309   }
    79310   $15 = $3;
    79311   $16 = ((($15)) + 1|0);
    79312   $3 = $16;
    79313   $17 = HEAP8[$15>>0]|0;
    79314   $18 = $17&255;
    79315   $19 = $8;
    79316   $20 = $19 | $18;
    79317   $8 = $20;
    79318   $7 = 0;
    79319   while(1) {
    79320    $21 = $7;
    79321    $22 = ($21>>>0)<(8);
    79322    if (!($22)) {
    79323     break;
    79324    }
    79325    $23 = $8;
    79326    $24 = $23 << 1;
    79327    $8 = $24;
    79328    $25 = $8;
    79329    $26 = $25 & 16777216;
    79330    $27 = ($26|0)!=(0);
    79331    if ($27) {
    79332     $28 = $8;
    79333     $29 = $28 ^ 17834240;
    79334     $8 = $29;
    79335    }
    79336    $30 = $7;
    79337    $31 = (($30) + 1)|0;
    79338    $7 = $31;
    79339   }
    79340   $32 = $6;
    79341   $33 = (($32) + 1)|0;
    79342   $6 = $33;
    79343  }
    79344  $34 = $8;
    79345  $35 = $34 >>> 8;
    79346  $36 = $35&65535;
    79347  STACKTOP = sp;return ($36|0);
    79348 }
    79349 function _mrb_debug_get_filename($0,$1) {
    79350  $0 = $0|0;
    79351  $1 = $1|0;
    79352  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    79353  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    79354  sp = STACKTOP;
    79355  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    79356  $3 = $0;
    79357  $4 = $1;
    79358  $6 = $3;
    79359  $7 = ($6|0)!=(0|0);
    79360  if ($7) {
    79361   $8 = $4;
    79362   $9 = $3;
    79363   $10 = ((($9)) + 40|0);
    79364   $11 = HEAP32[$10>>2]|0;
    79365   $12 = ($8>>>0)<($11>>>0);
    79366   if ($12) {
    79367    $5 = 0;
    79368    $13 = $3;
    79369    $14 = ((($13)) + 36|0);
    79370    $15 = HEAP32[$14>>2]|0;
    79371    $16 = ($15|0)!=(0|0);
    79372    $17 = $3;
    79373    if (!($16)) {
    79374     $18 = ((($17)) + 28|0);
    79375     $19 = HEAP32[$18>>2]|0;
    79376     $2 = $19;
    79377     $28 = $2;
    79378     STACKTOP = sp;return ($28|0);
    79379    }
    79380    $20 = ((($17)) + 36|0);
    79381    $21 = HEAP32[$20>>2]|0;
    79382    $22 = $4;
    79383    $23 = (_get_file($21,$22)|0);
    79384    $5 = $23;
    79385    $24 = ($23|0)!=(0|0);
    79386    if ($24) {
    79387     $25 = $5;
    79388     $26 = ((($25)) + 4|0);
    79389     $27 = HEAP32[$26>>2]|0;
    79390     $2 = $27;
    79391     $28 = $2;
    79392     STACKTOP = sp;return ($28|0);
    79393    }
    79394   }
    79395  }
    79396  $2 = 0;
    79397  $28 = $2;
    79398  STACKTOP = sp;return ($28|0);
    79399 }
    79400 function _get_file($0,$1) {
    79401  $0 = $0|0;
    79402  $1 = $1|0;
    79403  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    79404  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0;
    79405  var $8 = 0, $9 = 0, label = 0, sp = 0;
    79406  sp = STACKTOP;
    79407  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    79408  $3 = $0;
    79409  $4 = $1;
    79410  $9 = $4;
    79411  $10 = $3;
    79412  $11 = HEAP32[$10>>2]|0;
    79413  $12 = ($9>>>0)>=($11>>>0);
    79414  if ($12) {
    79415   $2 = 0;
    79416   $43 = $2;
    79417   STACKTOP = sp;return ($43|0);
    79418  }
    79419  $13 = $3;
    79420  $14 = ((($13)) + 8|0);
    79421  $15 = HEAP32[$14>>2]|0;
    79422  $5 = $15;
    79423  $16 = $3;
    79424  $17 = ((($16)) + 4|0);
    79425  $18 = HEAP16[$17>>1]|0;
    79426  $19 = $18&65535;
    79427  $6 = $19;
    79428  while(1) {
    79429   $20 = $6;
    79430   $21 = ($20|0)>(0);
    79431   if (!($21)) {
    79432    break;
    79433   }
    79434   $22 = $6;
    79435   $23 = (($22|0) / 2)&-1;
    79436   $7 = $23;
    79437   $24 = $5;
    79438   $25 = $7;
    79439   $26 = (($24) + ($25<<2)|0);
    79440   $8 = $26;
    79441   $27 = $4;
    79442   $28 = $8;
    79443   $29 = HEAP32[$28>>2]|0;
    79444   $30 = HEAP32[$29>>2]|0;
    79445   $31 = ($27>>>0)<($30>>>0);
    79446   if ($31) {
    79447    $38 = $7;
    79448    $6 = $38;
    79449    continue;
    79450   } else {
    79451    $32 = $8;
    79452    $33 = ((($32)) + 4|0);
    79453    $5 = $33;
    79454    $34 = $7;
    79455    $35 = (($34) + 1)|0;
    79456    $36 = $6;
    79457    $37 = (($36) - ($35))|0;
    79458    $6 = $37;
    79459    continue;
    79460   }
    79461  }
    79462  $39 = $5;
    79463  $40 = ((($39)) + -4|0);
    79464  $5 = $40;
    79465  $41 = $5;
    79466  $42 = HEAP32[$41>>2]|0;
    79467  $2 = $42;
    79468  $43 = $2;
    79469  STACKTOP = sp;return ($43|0);
    79470 }
    79471 function _mrb_debug_get_line($0,$1) {
    79472  $0 = $0|0;
    79473  $1 = $1|0;
    79474  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    79475  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    79476  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    79477  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0;
    79478  var label = 0, sp = 0;
    79479  sp = STACKTOP;
    79480  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    79481  $3 = $0;
    79482  $4 = $1;
    79483  $10 = $3;
    79484  $11 = ($10|0)!=(0|0);
    79485  L1: do {
    79486   if ($11) {
    79487    $12 = $4;
    79488    $13 = $3;
    79489    $14 = ((($13)) + 40|0);
    79490    $15 = HEAP32[$14>>2]|0;
    79491    $16 = ($12>>>0)<($15>>>0);
    79492    if ($16) {
    79493     $5 = 0;
    79494     $17 = $3;
    79495     $18 = ((($17)) + 36|0);
    79496     $19 = HEAP32[$18>>2]|0;
    79497     $20 = ($19|0)!=(0|0);
    79498     $21 = $3;
    79499     if (!($20)) {
    79500      $22 = ((($21)) + 32|0);
    79501      $23 = HEAP32[$22>>2]|0;
    79502      $24 = ($23|0)!=(0|0);
    79503      if ($24) {
    79504       $25 = $3;
    79505       $26 = ((($25)) + 32|0);
    79506       $27 = HEAP32[$26>>2]|0;
    79507       $28 = $4;
    79508       $29 = (($27) + ($28<<1)|0);
    79509       $30 = HEAP16[$29>>1]|0;
    79510       $31 = $30&65535;
    79511       $32 = $31;
    79512      } else {
    79513       $32 = -1;
    79514      }
    79515      $2 = $32;
    79516      $81 = $2;
    79517      STACKTOP = sp;return ($81|0);
    79518     }
    79519     $33 = ((($21)) + 36|0);
    79520     $34 = HEAP32[$33>>2]|0;
    79521     $35 = $4;
    79522     $36 = (_get_file($34,$35)|0);
    79523     $5 = $36;
    79524     $37 = ($36|0)!=(0|0);
    79525     if ($37) {
    79526      $38 = $5;
    79527      $39 = ((($38)) + 16|0);
    79528      $40 = HEAP32[$39>>2]|0;
    79529      switch ($40|0) {
    79530      case 0:  {
    79531       $41 = $5;
    79532       $42 = ((($41)) + 20|0);
    79533       $43 = HEAP32[$42>>2]|0;
    79534       $44 = $4;
    79535       $45 = $5;
    79536       $46 = HEAP32[$45>>2]|0;
    79537       $47 = (($44) - ($46))|0;
    79538       $48 = (($43) + ($47<<1)|0);
    79539       $49 = HEAP16[$48>>1]|0;
    79540       $50 = $49&65535;
    79541       $2 = $50;
    79542       $81 = $2;
    79543       STACKTOP = sp;return ($81|0);
    79544       break;
    79545      }
    79546      case 1:  {
    79547       break;
    79548      }
    79549      default: {
    79550       break L1;
    79551      }
    79552      }
    79553      $51 = $5;
    79554      $52 = ((($51)) + 20|0);
    79555      $53 = HEAP32[$52>>2]|0;
    79556      $6 = $53;
    79557      $54 = $5;
    79558      $55 = ((($54)) + 12|0);
    79559      $56 = HEAP32[$55>>2]|0;
    79560      $7 = $56;
    79561      while(1) {
    79562       $57 = $7;
    79563       $58 = ($57>>>0)>(0);
    79564       if (!($58)) {
    79565        break;
    79566       }
    79567       $59 = $7;
    79568       $60 = (($59>>>0) / 2)&-1;
    79569       $8 = $60;
    79570       $61 = $6;
    79571       $62 = $8;
    79572       $63 = (($61) + ($62<<3)|0);
    79573       $9 = $63;
    79574       $64 = $4;
    79575       $65 = $9;
    79576       $66 = HEAP32[$65>>2]|0;
    79577       $67 = ($64>>>0)<($66>>>0);
    79578       if ($67) {
    79579        $74 = $8;
    79580        $7 = $74;
    79581        continue;
    79582       } else {
    79583        $68 = $9;
    79584        $69 = ((($68)) + 8|0);
    79585        $6 = $69;
    79586        $70 = $8;
    79587        $71 = (($70) + 1)|0;
    79588        $72 = $7;
    79589        $73 = (($72) - ($71))|0;
    79590        $7 = $73;
    79591        continue;
    79592       }
    79593      }
    79594      $75 = $6;
    79595      $76 = ((($75)) + -8|0);
    79596      $6 = $76;
    79597      $77 = $6;
    79598      $78 = ((($77)) + 4|0);
    79599      $79 = HEAP16[$78>>1]|0;
    79600      $80 = $79&65535;
    79601      $2 = $80;
    79602      $81 = $2;
    79603      STACKTOP = sp;return ($81|0);
    79604     }
    79605    }
    79606   }
    79607  } while(0);
    79608  $2 = -1;
    79609  $81 = $2;
    79610  STACKTOP = sp;return ($81|0);
    79611 }
    79612 function _mrb_debug_info_alloc($0,$1) {
    79613  $0 = $0|0;
    79614  $1 = $1|0;
    79615  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    79616  sp = STACKTOP;
    79617  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    79618  $2 = $0;
    79619  $3 = $1;
    79620  $5 = $2;
    79621  $6 = (_mrb_malloc($5,12)|0);
    79622  $4 = $6;
    79623  $7 = $4;
    79624  ;HEAP32[$7>>2]=HEAP32[74868>>2]|0;HEAP32[$7+4>>2]=HEAP32[74868+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[74868+8>>2]|0;
    79625  $8 = $4;
    79626  $9 = $3;
    79627  $10 = ((($9)) + 36|0);
    79628  HEAP32[$10>>2] = $8;
    79629  $11 = $4;
    79630  STACKTOP = sp;return ($11|0);
    79631 }
    79632 function _mrb_debug_info_append_file($0,$1,$2,$3) {
    79633  $0 = $0|0;
    79634  $1 = $1|0;
    79635  $2 = $2|0;
    79636  $3 = $3|0;
    79637  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    79638  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    79639  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    79640  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    79641  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    79642  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
    79643  var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
    79644  var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
    79645  var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
    79646  var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
    79647  var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    79648  sp = STACKTOP;
    79649  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    79650  $13 = sp + 12|0;
    79651  $16 = sp;
    79652  $5 = $0;
    79653  $6 = $1;
    79654  $7 = $2;
    79655  $8 = $3;
    79656  $17 = $6;
    79657  $18 = ((($17)) + 36|0);
    79658  $19 = HEAP32[$18>>2]|0;
    79659  $20 = ($19|0)!=(0|0);
    79660  if (!($20)) {
    79661   $4 = 0;
    79662   $213 = $4;
    79663   STACKTOP = sp;return ($213|0);
    79664  }
    79665  $21 = $6;
    79666  $22 = ((($21)) + 36|0);
    79667  $23 = HEAP32[$22>>2]|0;
    79668  $9 = $23;
    79669  $24 = $9;
    79670  $25 = ((($24)) + 4|0);
    79671  $26 = HEAP16[$25>>1]|0;
    79672  $27 = $26&65535;
    79673  $28 = ($27|0)>(0);
    79674  if ($28) {
    79675   $29 = $6;
    79676   $30 = ((($29)) + 28|0);
    79677   $31 = HEAP32[$30>>2]|0;
    79678   $32 = $9;
    79679   $33 = ((($32)) + 8|0);
    79680   $34 = HEAP32[$33>>2]|0;
    79681   $35 = $9;
    79682   $36 = ((($35)) + 4|0);
    79683   $37 = HEAP16[$36>>1]|0;
    79684   $38 = $37&65535;
    79685   $39 = (($38) - 1)|0;
    79686   $40 = (($34) + ($39<<2)|0);
    79687   $41 = HEAP32[$40>>2]|0;
    79688   $42 = ((($41)) + 4|0);
    79689   $43 = HEAP32[$42>>2]|0;
    79690   $44 = (_strcmp($31,$43)|0);
    79691   $45 = ($44|0)==(0);
    79692   if ($45) {
    79693    $4 = 0;
    79694    $213 = $4;
    79695    STACKTOP = sp;return ($213|0);
    79696   }
    79697  }
    79698  $46 = $5;
    79699  $47 = (_mrb_malloc($46,24)|0);
    79700  $10 = $47;
    79701  $48 = $9;
    79702  $49 = ((($48)) + 8|0);
    79703  $50 = HEAP32[$49>>2]|0;
    79704  $51 = ($50|0)!=(0|0);
    79705  $52 = $5;
    79706  if ($51) {
    79707   $53 = $9;
    79708   $54 = ((($53)) + 8|0);
    79709   $55 = HEAP32[$54>>2]|0;
    79710   $56 = $9;
    79711   $57 = ((($56)) + 4|0);
    79712   $58 = HEAP16[$57>>1]|0;
    79713   $59 = $58&65535;
    79714   $60 = (($59) + 1)|0;
    79715   $61 = $60<<2;
    79716   $62 = (_mrb_realloc($52,$55,$61)|0);
    79717   $66 = $62;
    79718  } else {
    79719   $63 = (_mrb_malloc($52,4)|0);
    79720   $66 = $63;
    79721  }
    79722  $64 = $9;
    79723  $65 = ((($64)) + 8|0);
    79724  HEAP32[$65>>2] = $66;
    79725  $67 = $10;
    79726  $68 = $9;
    79727  $69 = ((($68)) + 8|0);
    79728  $70 = HEAP32[$69>>2]|0;
    79729  $71 = $9;
    79730  $72 = ((($71)) + 4|0);
    79731  $73 = HEAP16[$72>>1]|0;
    79732  $74 = (($73) + 1)<<16>>16;
    79733  HEAP16[$72>>1] = $74;
    79734  $75 = $73&65535;
    79735  $76 = (($70) + ($75<<2)|0);
    79736  HEAP32[$76>>2] = $67;
    79737  $77 = $8;
    79738  $78 = $7;
    79739  $79 = (($77) - ($78))|0;
    79740  $11 = $79;
    79741  $80 = $7;
    79742  $81 = $10;
    79743  HEAP32[$81>>2] = $80;
    79744  $82 = $8;
    79745  $83 = $9;
    79746  HEAP32[$83>>2] = $82;
    79747  $84 = $6;
    79748  $85 = ((($84)) + 28|0);
    79749  $86 = HEAP32[$85>>2]|0;
    79750  $87 = (_strlen($86)|0);
    79751  $12 = $87;
    79752  $88 = $5;
    79753  $89 = $6;
    79754  $90 = ((($89)) + 28|0);
    79755  $91 = HEAP32[$90>>2]|0;
    79756  $92 = $12;
    79757  $93 = (_mrb_intern($88,$91,$92)|0);
    79758  $94 = $10;
    79759  $95 = ((($94)) + 8|0);
    79760  HEAP32[$95>>2] = $93;
    79761  HEAP32[$13>>2] = 0;
    79762  $96 = $5;
    79763  $97 = $10;
    79764  $98 = ((($97)) + 8|0);
    79765  $99 = HEAP32[$98>>2]|0;
    79766  $100 = (_mrb_sym2name_len($96,$99,$13)|0);
    79767  $101 = $10;
    79768  $102 = ((($101)) + 4|0);
    79769  HEAP32[$102>>2] = $100;
    79770  $103 = $6;
    79771  $104 = ((($103)) + 32|0);
    79772  $105 = HEAP32[$104>>2]|0;
    79773  $106 = $7;
    79774  $107 = (($105) + ($106<<1)|0);
    79775  $108 = $8;
    79776  $109 = $7;
    79777  $110 = (($108) - ($109))|0;
    79778  $111 = (_select_line_type($107,$110)|0);
    79779  $112 = $10;
    79780  $113 = ((($112)) + 16|0);
    79781  HEAP32[$113>>2] = $111;
    79782  $114 = $10;
    79783  $115 = ((($114)) + 20|0);
    79784  HEAP32[$115>>2] = 0;
    79785  $116 = $10;
    79786  $117 = ((($116)) + 16|0);
    79787  $118 = HEAP32[$117>>2]|0;
    79788  L14: do {
    79789   switch ($118|0) {
    79790   case 0:  {
    79791    $119 = $11;
    79792    $120 = $10;
    79793    $121 = ((($120)) + 12|0);
    79794    HEAP32[$121>>2] = $119;
    79795    $122 = $5;
    79796    $123 = $11;
    79797    $124 = $123<<1;
    79798    $125 = (_mrb_malloc($122,$124)|0);
    79799    $126 = $10;
    79800    $127 = ((($126)) + 20|0);
    79801    HEAP32[$127>>2] = $125;
    79802    $14 = 0;
    79803    while(1) {
    79804     $128 = $14;
    79805     $129 = $11;
    79806     $130 = ($128>>>0)<($129>>>0);
    79807     if (!($130)) {
    79808      break L14;
    79809     }
    79810     $131 = $6;
    79811     $132 = ((($131)) + 32|0);
    79812     $133 = HEAP32[$132>>2]|0;
    79813     $134 = $7;
    79814     $135 = $14;
    79815     $136 = (($134) + ($135))|0;
    79816     $137 = (($133) + ($136<<1)|0);
    79817     $138 = HEAP16[$137>>1]|0;
    79818     $139 = $10;
    79819     $140 = ((($139)) + 20|0);
    79820     $141 = HEAP32[$140>>2]|0;
    79821     $142 = $14;
    79822     $143 = (($141) + ($142<<1)|0);
    79823     HEAP16[$143>>1] = $138;
    79824     $144 = $14;
    79825     $145 = (($144) + 1)|0;
    79826     $14 = $145;
    79827    }
    79828    break;
    79829   }
    79830   case 1:  {
    79831    $15 = 0;
    79832    $146 = $5;
    79833    $147 = (_mrb_malloc($146,8)|0);
    79834    $148 = $10;
    79835    $149 = ((($148)) + 20|0);
    79836    HEAP32[$149>>2] = $147;
    79837    $150 = $10;
    79838    $151 = ((($150)) + 12|0);
    79839    HEAP32[$151>>2] = 0;
    79840    $14 = 0;
    79841    while(1) {
    79842     $152 = $14;
    79843     $153 = $11;
    79844     $154 = ($152>>>0)<($153>>>0);
    79845     if (!($154)) {
    79846      break L14;
    79847     }
    79848     $155 = $6;
    79849     $156 = ((($155)) + 32|0);
    79850     $157 = HEAP32[$156>>2]|0;
    79851     $158 = $7;
    79852     $159 = $14;
    79853     $160 = (($158) + ($159))|0;
    79854     $161 = (($157) + ($160<<1)|0);
    79855     $162 = HEAP16[$161>>1]|0;
    79856     $163 = $162&65535;
    79857     $164 = $15;
    79858     $165 = $164&65535;
    79859     $166 = ($163|0)==($165|0);
    79860     if (!($166)) {
    79861      $167 = $5;
    79862      $168 = $10;
    79863      $169 = ((($168)) + 20|0);
    79864      $170 = HEAP32[$169>>2]|0;
    79865      $171 = $10;
    79866      $172 = ((($171)) + 12|0);
    79867      $173 = HEAP32[$172>>2]|0;
    79868      $174 = (($173) + 1)|0;
    79869      $175 = $174<<3;
    79870      $176 = (_mrb_realloc($167,$170,$175)|0);
    79871      $177 = $10;
    79872      $178 = ((($177)) + 20|0);
    79873      HEAP32[$178>>2] = $176;
    79874      $179 = $7;
    79875      $180 = $14;
    79876      $181 = (($179) + ($180))|0;
    79877      HEAP32[$16>>2] = $181;
    79878      $182 = $6;
    79879      $183 = ((($182)) + 32|0);
    79880      $184 = HEAP32[$183>>2]|0;
    79881      $185 = $7;
    79882      $186 = $14;
    79883      $187 = (($185) + ($186))|0;
    79884      $188 = (($184) + ($187<<1)|0);
    79885      $189 = HEAP16[$188>>1]|0;
    79886      $190 = ((($16)) + 4|0);
    79887      HEAP16[$190>>1] = $189;
    79888      $191 = $10;
    79889      $192 = ((($191)) + 20|0);
    79890      $193 = HEAP32[$192>>2]|0;
    79891      $194 = $10;
    79892      $195 = ((($194)) + 12|0);
    79893      $196 = HEAP32[$195>>2]|0;
    79894      $197 = (($193) + ($196<<3)|0);
    79895      ;HEAP32[$197>>2]=HEAP32[$16>>2]|0;HEAP32[$197+4>>2]=HEAP32[$16+4>>2]|0;
    79896      $198 = $10;
    79897      $199 = ((($198)) + 12|0);
    79898      $200 = HEAP32[$199>>2]|0;
    79899      $201 = (($200) + 1)|0;
    79900      HEAP32[$199>>2] = $201;
    79901      $202 = $6;
    79902      $203 = ((($202)) + 32|0);
    79903      $204 = HEAP32[$203>>2]|0;
    79904      $205 = $7;
    79905      $206 = $14;
    79906      $207 = (($205) + ($206))|0;
    79907      $208 = (($204) + ($207<<1)|0);
    79908      $209 = HEAP16[$208>>1]|0;
    79909      $15 = $209;
    79910     }
    79911     $210 = $14;
    79912     $211 = (($210) + 1)|0;
    79913     $14 = $211;
    79914    }
    79915    break;
    79916   }
    79917   default: {
    79918   }
    79919   }
    79920  } while(0);
    79921  $212 = $10;
    79922  $4 = $212;
    79923  $213 = $4;
    79924  STACKTOP = sp;return ($213|0);
    79925 }
    79926 function _select_line_type($0,$1) {
    79927  $0 = $0|0;
    79928  $1 = $1|0;
    79929  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
    79930  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    79931  sp = STACKTOP;
    79932  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    79933  $2 = $0;
    79934  $3 = $1;
    79935  $4 = 0;
    79936  $5 = -1;
    79937  $6 = 0;
    79938  while(1) {
    79939   $7 = $6;
    79940   $8 = $3;
    79941   $9 = ($7>>>0)<($8>>>0);
    79942   if (!($9)) {
    79943    break;
    79944   }
    79945   $10 = $2;
    79946   $11 = $6;
    79947   $12 = (($10) + ($11<<1)|0);
    79948   $13 = HEAP16[$12>>1]|0;
    79949   $14 = $13&65535;
    79950   $15 = $5;
    79951   $16 = ($14|0)!=($15|0);
    79952   if ($16) {
    79953    $17 = $4;
    79954    $18 = (($17) + 1)|0;
    79955    $4 = $18;
    79956   }
    79957   $19 = $6;
    79958   $20 = (($19) + 1)|0;
    79959   $6 = $20;
    79960  }
    79961  $21 = $3;
    79962  $22 = $21<<1;
    79963  $23 = $4;
    79964  $24 = $23<<3;
    79965  $25 = ($22>>>0)<=($24>>>0);
    79966  $26 = $25 ? 0 : 1;
    79967  STACKTOP = sp;return ($26|0);
    79968 }
    79969 function _mrb_debug_info_free($0,$1) {
    79970  $0 = $0|0;
    79971  $1 = $1|0;
    79972  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    79973  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    79974  sp = STACKTOP;
    79975  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    79976  $2 = $0;
    79977  $3 = $1;
    79978  $5 = $3;
    79979  $6 = ($5|0)!=(0|0);
    79980  if (!($6)) {
    79981   STACKTOP = sp;return;
    79982  }
    79983  $4 = 0;
    79984  while(1) {
    79985   $7 = $4;
    79986   $8 = $3;
    79987   $9 = ((($8)) + 4|0);
    79988   $10 = HEAP16[$9>>1]|0;
    79989   $11 = $10&65535;
    79990   $12 = ($7>>>0)<($11>>>0);
    79991   $13 = $2;
    79992   $14 = $3;
    79993   $15 = ((($14)) + 8|0);
    79994   $16 = HEAP32[$15>>2]|0;
    79995   if (!($12)) {
    79996    break;
    79997   }
    79998   $17 = $4;
    79999   $18 = (($16) + ($17<<2)|0);
    80000   $19 = HEAP32[$18>>2]|0;
    80001   $20 = ((($19)) + 20|0);
    80002   $21 = HEAP32[$20>>2]|0;
    80003   _mrb_free($13,$21);
    80004   $22 = $2;
    80005   $23 = $3;
    80006   $24 = ((($23)) + 8|0);
    80007   $25 = HEAP32[$24>>2]|0;
    80008   $26 = $4;
    80009   $27 = (($25) + ($26<<2)|0);
    80010   $28 = HEAP32[$27>>2]|0;
    80011   _mrb_free($22,$28);
    80012   $29 = $4;
    80013   $30 = (($29) + 1)|0;
    80014   $4 = $30;
    80015  }
    80016  _mrb_free($13,$16);
    80017  $31 = $2;
    80018  $32 = $3;
    80019  _mrb_free($31,$32);
    80020  STACKTOP = sp;return;
    80021 }
    80022 function _mrb_exc_new($0,$1,$2,$3,$4) {
    80023  $0 = $0|0;
    80024  $1 = $1|0;
    80025  $2 = $2|0;
    80026  $3 = $3|0;
    80027  $4 = $4|0;
    80028  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80029  sp = STACKTOP;
    80030  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    80031  $9 = sp;
    80032  $5 = $1;
    80033  $6 = $2;
    80034  $7 = $3;
    80035  $8 = $4;
    80036  $10 = $5;
    80037  $11 = $7;
    80038  $12 = $8;
    80039  _mrb_str_new($9,$10,$11,$12);
    80040  $13 = $5;
    80041  $14 = $6;
    80042  _mrb_obj_new($0,$13,$14,1,$9);
    80043  STACKTOP = sp;return;
    80044 }
    80045 function _mrb_exc_new_str($0,$1,$2,$3) {
    80046  $0 = $0|0;
    80047  $1 = $1|0;
    80048  $2 = $2|0;
    80049  $3 = $3|0;
    80050  var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80051  sp = STACKTOP;
    80052  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    80053  $$byval_copy = sp + 16|0;
    80054  $6 = sp;
    80055  $4 = $1;
    80056  $5 = $2;
    80057  $7 = $4;
    80058  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    80059  _mrb_str_to_str($6,$7,$$byval_copy);
    80060  ;HEAP32[$3>>2]=HEAP32[$6>>2]|0;HEAP32[$3+4>>2]=HEAP32[$6+4>>2]|0;
    80061  $8 = $4;
    80062  $9 = $5;
    80063  _mrb_obj_new($0,$8,$9,1,$3);
    80064  STACKTOP = sp;return;
    80065 }
    80066 function _mrb_exc_raise($0,$1) {
    80067  $0 = $0|0;
    80068  $1 = $1|0;
    80069  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    80070  var $9 = 0, label = 0, sp = 0;
    80071  sp = STACKTOP;
    80072  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    80073  $$byval_copy = sp + 8|0;
    80074  $2 = $0;
    80075  $3 = HEAP32[$1>>2]|0;
    80076  $4 = $2;
    80077  $5 = ((($4)) + 20|0);
    80078  HEAP32[$5>>2] = $3;
    80079  $6 = $2;
    80080  $7 = ((($6)) + 92|0);
    80081  $8 = ((($7)) + 452|0);
    80082  $9 = HEAP8[$8>>0]|0;
    80083  $10 = ($9&255) >>> 3;
    80084  $11 = $10 & 1;
    80085  $12 = ($11<<24>>24)!=(0);
    80086  if (!($12)) {
    80087   $13 = $2;
    80088   $14 = $2;
    80089   $15 = ((($14)) + 20|0);
    80090   $16 = HEAP32[$15>>2]|0;
    80091   _exc_debug_info($13,$16);
    80092  }
    80093  $17 = $2;
    80094  $18 = HEAP32[$17>>2]|0;
    80095  $19 = ($18|0)!=(0|0);
    80096  $20 = $2;
    80097  if ($19) {
    80098   $21 = HEAP32[$20>>2]|0;
    80099   _longjmp(($21|0),1);
    80100   // unreachable;
    80101  } else {
    80102   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    80103   _mrb_p($20,$$byval_copy);
    80104   _abort();
    80105   // unreachable;
    80106  }
    80107 }
    80108 function _exc_debug_info($0,$1) {
    80109  $0 = $0|0;
    80110  $1 = $1|0;
    80111  var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
    80112  var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
    80113  var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
    80114  var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
    80115  var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
    80116  var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
    80117  sp = STACKTOP;
    80118  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    80119  $$byval_copy5 = sp + 72|0;
    80120  $$byval_copy4 = sp + 64|0;
    80121  $$byval_copy = sp + 56|0;
    80122  $6 = sp + 32|0;
    80123  $11 = sp + 8|0;
    80124  $12 = sp;
    80125  $2 = $0;
    80126  $3 = $1;
    80127  $13 = $2;
    80128  $14 = ((($13)) + 12|0);
    80129  $15 = HEAP32[$14>>2]|0;
    80130  $16 = ((($15)) + 16|0);
    80131  $17 = HEAP32[$16>>2]|0;
    80132  $4 = $17;
    80133  $18 = $4;
    80134  $19 = ((($18)) + 28|0);
    80135  $20 = HEAP32[$19>>2]|0;
    80136  $5 = $20;
    80137  $21 = $2;
    80138  $22 = $3;
    80139  $23 = $2;
    80140  $24 = (_mrb_intern_static($23,67804,5)|0);
    80141  $25 = $4;
    80142  $26 = $2;
    80143  $27 = ((($26)) + 12|0);
    80144  $28 = HEAP32[$27>>2]|0;
    80145  $29 = ((($28)) + 20|0);
    80146  $30 = HEAP32[$29>>2]|0;
    80147  $31 = $25;
    80148  $32 = $30;
    80149  $33 = (($31) - ($32))|0;
    80150  $34 = (($33|0) / 48)&-1;
    80151  _mrb_fixnum_value_917($6,$34);
    80152  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    80153  _mrb_obj_iv_set($21,$22,$24,$$byval_copy);
    80154  while(1) {
    80155   $35 = $4;
    80156   $36 = $2;
    80157   $37 = ((($36)) + 12|0);
    80158   $38 = HEAP32[$37>>2]|0;
    80159   $39 = ((($38)) + 20|0);
    80160   $40 = HEAP32[$39>>2]|0;
    80161   $41 = ($35>>>0)>=($40>>>0);
    80162   if (!($41)) {
    80163    label = 11;
    80164    break;
    80165   }
    80166   $42 = $4;
    80167   $43 = ((($42)) + 32|0);
    80168   $44 = HEAP32[$43>>2]|0;
    80169   $7 = $44;
    80170   $45 = $7;
    80171   $46 = ($45|0)==(0|0);
    80172   $47 = $5;
    80173   $48 = ($47|0)!=(0|0);
    80174   $or$cond = $46 & $48;
    80175   if ($or$cond) {
    80176    $49 = $5;
    80177    $50 = ((($49)) + -4|0);
    80178    $7 = $50;
    80179   }
    80180   $51 = $7;
    80181   $52 = ($51|0)!=(0|0);
    80182   if ($52) {
    80183    $53 = $4;
    80184    $54 = ((($53)) + 4|0);
    80185    $55 = HEAP32[$54>>2]|0;
    80186    $56 = ($55|0)!=(0|0);
    80187    if ($56) {
    80188     $57 = $4;
    80189     $58 = ((($57)) + 4|0);
    80190     $59 = HEAP32[$58>>2]|0;
    80191     $60 = HEAP32[$59>>2]|0;
    80192     $61 = $60 >>> 11;
    80193     $62 = $61 & 128;
    80194     $63 = ($62|0)!=(0);
    80195     if (!($63)) {
    80196      $64 = $4;
    80197      $65 = ((($64)) + 4|0);
    80198      $66 = HEAP32[$65>>2]|0;
    80199      $67 = ((($66)) + 12|0);
    80200      $68 = HEAP32[$67>>2]|0;
    80201      $8 = $68;
    80202      $69 = $8;
    80203      $70 = $7;
    80204      $71 = $8;
    80205      $72 = ((($71)) + 8|0);
    80206      $73 = HEAP32[$72>>2]|0;
    80207      $74 = $70;
    80208      $75 = $73;
    80209      $76 = (($74) - ($75))|0;
    80210      $77 = (($76|0) / 4)&-1;
    80211      $78 = (_mrb_debug_get_line($69,$77)|0);
    80212      $9 = $78;
    80213      $79 = $8;
    80214      $80 = $7;
    80215      $81 = $8;
    80216      $82 = ((($81)) + 8|0);
    80217      $83 = HEAP32[$82>>2]|0;
    80218      $84 = $80;
    80219      $85 = $83;
    80220      $86 = (($84) - ($85))|0;
    80221      $87 = (($86|0) / 4)&-1;
    80222      $88 = (_mrb_debug_get_filename($79,$87)|0);
    80223      $10 = $88;
    80224      $89 = $9;
    80225      $90 = ($89|0)!=(-1);
    80226      $91 = $10;
    80227      $92 = ($91|0)!=(0|0);
    80228      $or$cond3 = $90 & $92;
    80229      if ($or$cond3) {
    80230       break;
    80231      }
    80232     }
    80233    }
    80234   }
    80235   $104 = $4;
    80236   $105 = ((($104)) + 28|0);
    80237   $106 = HEAP32[$105>>2]|0;
    80238   $5 = $106;
    80239   $107 = $4;
    80240   $108 = ((($107)) + -48|0);
    80241   $4 = $108;
    80242  }
    80243  if ((label|0) == 11) {
    80244   STACKTOP = sp;return;
    80245  }
    80246  $93 = $2;
    80247  $94 = $3;
    80248  $95 = $2;
    80249  $96 = (_mrb_intern_static($95,67810,4)|0);
    80250  $97 = $2;
    80251  $98 = $10;
    80252  _mrb_str_new_cstr($11,$97,$98);
    80253  ;HEAP32[$$byval_copy4>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$11+4>>2]|0;
    80254  _mrb_obj_iv_set($93,$94,$96,$$byval_copy4);
    80255  $99 = $2;
    80256  $100 = $3;
    80257  $101 = $2;
    80258  $102 = (_mrb_intern_static($101,67815,4)|0);
    80259  $103 = $9;
    80260  _mrb_fixnum_value_917($12,$103);
    80261  ;HEAP32[$$byval_copy5>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$12+4>>2]|0;
    80262  _mrb_obj_iv_set($99,$100,$102,$$byval_copy5);
    80263  STACKTOP = sp;return;
    80264 }
    80265 function _mrb_fixnum_value_917($0,$1) {
    80266  $0 = $0|0;
    80267  $1 = $1|0;
    80268  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    80269  sp = STACKTOP;
    80270  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    80271  $3 = sp;
    80272  $2 = $1;
    80273  $4 = ((($3)) + 4|0);
    80274  HEAP32[$4>>2] = 3;
    80275  $5 = $2;
    80276  HEAP32[$3>>2] = $5;
    80277  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    80278  STACKTOP = sp;return;
    80279 }
    80280 function _mrb_raise($0,$1,$2) {
    80281  $0 = $0|0;
    80282  $1 = $1|0;
    80283  $2 = $2|0;
    80284  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80285  sp = STACKTOP;
    80286  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    80287  $$byval_copy1 = sp + 48|0;
    80288  $$byval_copy = sp + 40|0;
    80289  $6 = sp + 16|0;
    80290  $7 = sp + 8|0;
    80291  $8 = sp;
    80292  $3 = $0;
    80293  $4 = $1;
    80294  $5 = $2;
    80295  $9 = $3;
    80296  $10 = $5;
    80297  _mrb_str_new_cstr($7,$9,$10);
    80298  ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
    80299  $11 = $3;
    80300  $12 = $3;
    80301  $13 = $4;
    80302  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    80303  _mrb_exc_new_str($8,$12,$13,$$byval_copy);
    80304  ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
    80305  _mrb_exc_raise($11,$$byval_copy1);
    80306  // unreachable;
    80307 }
    80308 function _mrb_vformat($0,$1,$2,$3) {
    80309  $0 = $0|0;
    80310  $1 = $1|0;
    80311  $2 = $2|0;
    80312  $3 = $3|0;
    80313  var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy15 = 0, $$byval_copy16 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $$field$field = 0.0, $$field2 = 0, $$index1 = 0, $$index5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0;
    80314  var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    80315  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
    80316  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    80317  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    80318  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0, $expanded21 = 0, label = 0, sp = 0;
    80319  sp = STACKTOP;
    80320  STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
    80321  $$byval_copy16 = sp + 176|0;
    80322  $$byval_copy15 = sp + 168|0;
    80323  $$byval_copy14 = sp + 160|0;
    80324  $$byval_copy13 = sp + 152|0;
    80325  $$byval_copy12 = sp + 144|0;
    80326  $$byval_copy11 = sp + 136|0;
    80327  $$byval_copy10 = sp + 128|0;
    80328  $$byval_copy9 = sp + 120|0;
    80329  $$byval_copy8 = sp + 112|0;
    80330  $$byval_copy7 = sp + 104|0;
    80331  $$byval_copy6 = sp + 96|0;
    80332  $$byval_copy = sp + 88|0;
    80333  $10 = sp + 56|0;
    80334  $12 = sp + 48|0;
    80335  $13 = sp + 40|0;
    80336  $14 = sp + 32|0;
    80337  $15 = sp + 24|0;
    80338  $16 = sp + 16|0;
    80339  $17 = sp + 8|0;
    80340  $18 = sp;
    80341  $4 = $1;
    80342  $5 = $2;
    80343  $6 = $3;
    80344  $19 = $5;
    80345  $7 = $19;
    80346  $20 = $7;
    80347  $8 = $20;
    80348  $21 = $4;
    80349  _mrb_ary_new_capa($10,$21,4);
    80350  while(1) {
    80351   $22 = $7;
    80352   $23 = HEAP8[$22>>0]|0;
    80353   $24 = ($23<<24>>24)!=(0);
    80354   if (!($24)) {
    80355    break;
    80356   }
    80357   $25 = $7;
    80358   $26 = ((($25)) + 1|0);
    80359   $7 = $26;
    80360   $27 = HEAP8[$25>>0]|0;
    80361   $11 = $27;
    80362   $28 = $11;
    80363   $29 = $28 << 24 >> 24;
    80364   $30 = ($29|0)==(37);
    80365   if ($30) {
    80366    $31 = $7;
    80367    $32 = HEAP8[$31>>0]|0;
    80368    $33 = $32 << 24 >> 24;
    80369    $34 = ($33|0)==(83);
    80370    if (!($34)) {
    80371     continue;
    80372    }
    80373    $35 = $7;
    80374    $36 = $8;
    80375    $37 = $35;
    80376    $38 = $36;
    80377    $39 = (($37) - ($38))|0;
    80378    $40 = (($39) - 1)|0;
    80379    $9 = $40;
    80380    $41 = $4;
    80381    $42 = $4;
    80382    $43 = $8;
    80383    $44 = $9;
    80384    _mrb_str_new($12,$42,$43,$44);
    80385    ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    80386    ;HEAP32[$$byval_copy6>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$12+4>>2]|0;
    80387    _mrb_ary_push($41,$$byval_copy,$$byval_copy6);
    80388    $45 = $4;
    80389    $46 = $6;
    80390    $arglist_current = HEAP32[$46>>2]|0;
    80391    $47 = $arglist_current;
    80392    $48 = ((0) + 4|0);
    80393    $expanded17 = $48;
    80394    $expanded = (($expanded17) - 1)|0;
    80395    $49 = (($47) + ($expanded))|0;
    80396    $50 = ((0) + 4|0);
    80397    $expanded21 = $50;
    80398    $expanded20 = (($expanded21) - 1)|0;
    80399    $expanded19 = $expanded20 ^ -1;
    80400    $51 = $49 & $expanded19;
    80401    $52 = $51;
    80402    $$field$field = +HEAPF32[$52>>2];
    80403    $$index1 = ((($52)) + 4|0);
    80404    $$field2 = HEAP32[$$index1>>2]|0;
    80405    $arglist_next = ((($52)) + 8|0);
    80406    HEAP32[$46>>2] = $arglist_next;
    80407    HEAPF32[$14>>2] = $$field$field;
    80408    $$index5 = ((($14)) + 4|0);
    80409    HEAP32[$$index5>>2] = $$field2;
    80410    ;HEAP32[$13>>2]=HEAP32[$14>>2]|0;HEAP32[$13+4>>2]=HEAP32[$14+4>>2]|0;
    80411    ;HEAP32[$$byval_copy7>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$10+4>>2]|0;
    80412    ;HEAP32[$$byval_copy8>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$13+4>>2]|0;
    80413    _mrb_ary_push($45,$$byval_copy7,$$byval_copy8);
    80414    $53 = $7;
    80415    $54 = ((($53)) + 1|0);
    80416    $8 = $54;
    80417    continue;
    80418   }
    80419   $55 = $11;
    80420   $56 = $55 << 24 >> 24;
    80421   $57 = ($56|0)==(92);
    80422   if (!($57)) {
    80423    continue;
    80424   }
    80425   $58 = $7;
    80426   $59 = HEAP8[$58>>0]|0;
    80427   $60 = ($59<<24>>24)!=(0);
    80428   if (!($60)) {
    80429    break;
    80430   }
    80431   $61 = $7;
    80432   $62 = $8;
    80433   $63 = $61;
    80434   $64 = $62;
    80435   $65 = (($63) - ($64))|0;
    80436   $66 = (($65) - 1)|0;
    80437   $9 = $66;
    80438   $67 = $4;
    80439   $68 = $4;
    80440   $69 = $8;
    80441   $70 = $9;
    80442   _mrb_str_new($15,$68,$69,$70);
    80443   ;HEAP32[$$byval_copy9>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$10+4>>2]|0;
    80444   ;HEAP32[$$byval_copy10>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$15+4>>2]|0;
    80445   _mrb_ary_push($67,$$byval_copy9,$$byval_copy10);
    80446   $71 = $4;
    80447   $72 = $4;
    80448   $73 = $7;
    80449   _mrb_str_new($16,$72,$73,1);
    80450   ;HEAP32[$$byval_copy11>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$10+4>>2]|0;
    80451   ;HEAP32[$$byval_copy12>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$16+4>>2]|0;
    80452   _mrb_ary_push($71,$$byval_copy11,$$byval_copy12);
    80453   $74 = $7;
    80454   $75 = ((($74)) + 1|0);
    80455   $7 = $75;
    80456   $8 = $75;
    80457  }
    80458  $76 = $8;
    80459  $77 = $5;
    80460  $78 = ($76|0)==($77|0);
    80461  if ($78) {
    80462   $79 = $4;
    80463   $80 = $5;
    80464   _mrb_str_new_cstr($0,$79,$80);
    80465   STACKTOP = sp;return;
    80466  } else {
    80467   $81 = $7;
    80468   $82 = $8;
    80469   $83 = $81;
    80470   $84 = $82;
    80471   $85 = (($83) - ($84))|0;
    80472   $9 = $85;
    80473   $86 = $4;
    80474   $87 = $4;
    80475   $88 = $8;
    80476   $89 = $9;
    80477   _mrb_str_new($17,$87,$88,$89);
    80478   ;HEAP32[$$byval_copy13>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$10+4>>2]|0;
    80479   ;HEAP32[$$byval_copy14>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$17+4>>2]|0;
    80480   _mrb_ary_push($86,$$byval_copy13,$$byval_copy14);
    80481   $90 = $4;
    80482   $91 = $4;
    80483   _mrb_str_new($18,$91,0,0);
    80484   ;HEAP32[$$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0;
    80485   ;HEAP32[$$byval_copy16>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$18+4>>2]|0;
    80486   _mrb_ary_join($0,$90,$$byval_copy15,$$byval_copy16);
    80487   STACKTOP = sp;return;
    80488  }
    80489 }
    80490 function _mrb_format($0,$1,$2,$varargs) {
    80491  $0 = $0|0;
    80492  $1 = $1|0;
    80493  $2 = $2|0;
    80494  $varargs = $varargs|0;
    80495  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80496  sp = STACKTOP;
    80497  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    80498  $5 = sp + 16|0;
    80499  $6 = sp + 8|0;
    80500  $7 = sp;
    80501  $3 = $1;
    80502  $4 = $2;
    80503  HEAP32[$5>>2] = $varargs;
    80504  $8 = $3;
    80505  $9 = $4;
    80506  _mrb_vformat($7,$8,$9,$5);
    80507  ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
    80508  ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
    80509  STACKTOP = sp;return;
    80510 }
    80511 function _mrb_raisef($0,$1,$2,$varargs) {
    80512  $0 = $0|0;
    80513  $1 = $1|0;
    80514  $2 = $2|0;
    80515  $varargs = $varargs|0;
    80516  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80517  sp = STACKTOP;
    80518  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    80519  $$byval_copy1 = sp + 64|0;
    80520  $$byval_copy = sp + 56|0;
    80521  $6 = sp + 24|0;
    80522  $7 = sp + 16|0;
    80523  $8 = sp + 8|0;
    80524  $9 = sp;
    80525  $3 = $0;
    80526  $4 = $1;
    80527  $5 = $2;
    80528  HEAP32[$6>>2] = $varargs;
    80529  $10 = $3;
    80530  $11 = $5;
    80531  _mrb_vformat($8,$10,$11,$6);
    80532  ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;
    80533  $12 = $3;
    80534  $13 = $3;
    80535  $14 = $4;
    80536  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
    80537  _mrb_exc_new_str($9,$13,$14,$$byval_copy);
    80538  ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
    80539  _mrb_exc_raise($12,$$byval_copy1);
    80540  // unreachable;
    80541 }
    80542 function _mrb_name_error($0,$1,$2,$varargs) {
    80543  $0 = $0|0;
    80544  $1 = $1|0;
    80545  $2 = $2|0;
    80546  $varargs = $varargs|0;
    80547  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80548  sp = STACKTOP;
    80549  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    80550  $$byval_copy = sp + 80|0;
    80551  $6 = sp + 56|0;
    80552  $7 = sp + 40|0;
    80553  $8 = sp + 24|0;
    80554  $9 = sp + 16|0;
    80555  $10 = sp + 8|0;
    80556  $11 = sp;
    80557  $3 = $0;
    80558  $4 = $1;
    80559  $5 = $2;
    80560  HEAP32[$8>>2] = $varargs;
    80561  $12 = $3;
    80562  $13 = $5;
    80563  _mrb_vformat($9,$12,$13,$8);
    80564  ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
    80565  $14 = ((($7)) + 8|0);
    80566  $15 = $4;
    80567  _mrb_symbol_value_928($10,$15);
    80568  ;HEAP32[$14>>2]=HEAP32[$10>>2]|0;HEAP32[$14+4>>2]=HEAP32[$10+4>>2]|0;
    80569  $16 = $3;
    80570  $17 = $3;
    80571  $18 = (_mrb_class_get($17,67820)|0);
    80572  _mrb_obj_new($11,$16,$18,2,$7);
    80573  ;HEAP32[$6>>2]=HEAP32[$11>>2]|0;HEAP32[$6+4>>2]=HEAP32[$11+4>>2]|0;
    80574  $19 = $3;
    80575  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    80576  _mrb_exc_raise($19,$$byval_copy);
    80577  // unreachable;
    80578 }
    80579 function _mrb_symbol_value_928($0,$1) {
    80580  $0 = $0|0;
    80581  $1 = $1|0;
    80582  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    80583  sp = STACKTOP;
    80584  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    80585  $3 = sp;
    80586  $2 = $1;
    80587  $4 = ((($3)) + 4|0);
    80588  HEAP32[$4>>2] = 4;
    80589  $5 = $2;
    80590  HEAP32[$3>>2] = $5;
    80591  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    80592  STACKTOP = sp;return;
    80593 }
    80594 function _mrb_warn($0,$1,$varargs) {
    80595  $0 = $0|0;
    80596  $1 = $1|0;
    80597  $varargs = $varargs|0;
    80598  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    80599  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80600  sp = STACKTOP;
    80601  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    80602  $4 = sp + 16|0;
    80603  $5 = sp + 8|0;
    80604  $6 = sp;
    80605  $2 = $0;
    80606  $3 = $1;
    80607  HEAP32[$4>>2] = $varargs;
    80608  $7 = $2;
    80609  $8 = $3;
    80610  _mrb_vformat($6,$7,$8,$4);
    80611  ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
    80612  $9 = HEAP32[637]|0;
    80613  (_fputs(67830,$9)|0);
    80614  $10 = HEAP32[$5>>2]|0;
    80615  $11 = HEAP32[$10>>2]|0;
    80616  $12 = $11 >>> 11;
    80617  $13 = $12 & 8;
    80618  $14 = ($13|0)!=(0);
    80619  $15 = HEAP32[$5>>2]|0;
    80620  $16 = ((($15)) + 12|0);
    80621  if ($14) {
    80622   $32 = $16;
    80623  } else {
    80624   $17 = ((($16)) + 8|0);
    80625   $18 = HEAP32[$17>>2]|0;
    80626   $32 = $18;
    80627  }
    80628  $19 = HEAP32[$5>>2]|0;
    80629  $20 = HEAP32[$19>>2]|0;
    80630  $21 = $20 >>> 11;
    80631  $22 = $21 & 8;
    80632  $23 = ($22|0)!=(0);
    80633  $24 = HEAP32[$5>>2]|0;
    80634  if ($23) {
    80635   $25 = HEAP32[$24>>2]|0;
    80636   $26 = $25 >>> 11;
    80637   $27 = $26 & 496;
    80638   $28 = $27 >> 4;
    80639   $33 = $28;
    80640   $31 = HEAP32[637]|0;
    80641   (_fwrite($32,$33,1,$31)|0);
    80642   STACKTOP = sp;return;
    80643  } else {
    80644   $29 = ((($24)) + 12|0);
    80645   $30 = HEAP32[$29>>2]|0;
    80646   $33 = $30;
    80647   $31 = HEAP32[637]|0;
    80648   (_fwrite($32,$33,1,$31)|0);
    80649   STACKTOP = sp;return;
    80650  }
    80651 }
    80652 function _mrb_bug($0,$1,$varargs) {
    80653  $0 = $0|0;
    80654  $1 = $1|0;
    80655  $varargs = $varargs|0;
    80656  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    80657  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80658  sp = STACKTOP;
    80659  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    80660  $4 = sp + 16|0;
    80661  $5 = sp + 8|0;
    80662  $6 = sp;
    80663  $2 = $0;
    80664  $3 = $1;
    80665  HEAP32[$4>>2] = $varargs;
    80666  $7 = $2;
    80667  $8 = $3;
    80668  _mrb_vformat($6,$7,$8,$4);
    80669  ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
    80670  $9 = HEAP32[637]|0;
    80671  (_fputs(67840,$9)|0);
    80672  $10 = HEAP32[$5>>2]|0;
    80673  $11 = HEAP32[$10>>2]|0;
    80674  $12 = $11 >>> 11;
    80675  $13 = $12 & 8;
    80676  $14 = ($13|0)!=(0);
    80677  $15 = HEAP32[$5>>2]|0;
    80678  $16 = ((($15)) + 12|0);
    80679  if ($14) {
    80680   $32 = $16;
    80681  } else {
    80682   $17 = ((($16)) + 8|0);
    80683   $18 = HEAP32[$17>>2]|0;
    80684   $32 = $18;
    80685  }
    80686  $19 = HEAP32[$5>>2]|0;
    80687  $20 = HEAP32[$19>>2]|0;
    80688  $21 = $20 >>> 11;
    80689  $22 = $21 & 8;
    80690  $23 = ($22|0)!=(0);
    80691  $24 = HEAP32[$5>>2]|0;
    80692  if ($23) {
    80693   $25 = HEAP32[$24>>2]|0;
    80694   $26 = $25 >>> 11;
    80695   $27 = $26 & 496;
    80696   $28 = $27 >> 4;
    80697   $33 = $28;
    80698   $31 = HEAP32[637]|0;
    80699   (_fwrite($32,$33,1,$31)|0);
    80700   _exit(1);
    80701   // unreachable;
    80702  } else {
    80703   $29 = ((($24)) + 12|0);
    80704   $30 = HEAP32[$29>>2]|0;
    80705   $33 = $30;
    80706   $31 = HEAP32[637]|0;
    80707   (_fwrite($32,$33,1,$31)|0);
    80708   _exit(1);
    80709   // unreachable;
    80710  }
    80711 }
    80712 function _mrb_make_exception($0,$1,$2,$3) {
    80713  $0 = $0|0;
    80714  $1 = $1|0;
    80715  $2 = $2|0;
    80716  $3 = $3|0;
    80717  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80718  sp = STACKTOP;
    80719  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    80720  $4 = $1;
    80721  $5 = $2;
    80722  $6 = $3;
    80723  $7 = $4;
    80724  $8 = $5;
    80725  $9 = $6;
    80726  _make_exception($0,$7,$8,$9,1);
    80727  STACKTOP = sp;return;
    80728 }
    80729 function _make_exception($0,$1,$2,$3,$4) {
    80730  $0 = $0|0;
    80731  $1 = $1|0;
    80732  $2 = $2|0;
    80733  $3 = $3|0;
    80734  $4 = $4|0;
    80735  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
    80736  var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0;
    80737  var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
    80738  var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    80739  sp = STACKTOP;
    80740  STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
    80741  $$byval_copy6 = sp + 136|0;
    80742  $$byval_copy5 = sp + 128|0;
    80743  $$byval_copy4 = sp + 120|0;
    80744  $$byval_copy3 = sp + 112|0;
    80745  $$byval_copy2 = sp + 104|0;
    80746  $$byval_copy1 = sp + 96|0;
    80747  $$byval_copy = sp + 88|0;
    80748  $vararg_buffer = sp;
    80749  $9 = sp + 64|0;
    80750  $11 = sp + 48|0;
    80751  $12 = sp + 40|0;
    80752  $13 = sp + 32|0;
    80753  $15 = sp + 16|0;
    80754  $16 = sp + 8|0;
    80755  $5 = $1;
    80756  $6 = $2;
    80757  $7 = $3;
    80758  $8 = $4;
    80759  _mrb_nil_value_936($11);
    80760  ;HEAP32[$9>>2]=HEAP32[$11>>2]|0;HEAP32[$9+4>>2]=HEAP32[$11+4>>2]|0;
    80761  $17 = $6;
    80762  L1: do {
    80763   switch ($17|0) {
    80764   case 0:  {
    80765    break;
    80766   }
    80767   case 1:  {
    80768    $18 = $7;
    80769    $19 = ((($18)) + 4|0);
    80770    $20 = HEAP32[$19>>2]|0;
    80771    $21 = ($20|0)==(0);
    80772    if ($21) {
    80773     $22 = $7;
    80774     $23 = HEAP32[$22>>2]|0;
    80775     $24 = ($23|0)!=(0);
    80776     if (!($24)) {
    80777      break L1;
    80778     }
    80779    }
    80780    $25 = $8;
    80781    $26 = ($25<<24>>24)!=(0);
    80782    do {
    80783     if ($26) {
    80784      $27 = $5;
    80785      $28 = $7;
    80786      ;HEAP32[$$byval_copy>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$28+4>>2]|0;
    80787      _mrb_check_string_type($12,$27,$$byval_copy);
    80788      ;HEAP32[$9>>2]=HEAP32[$12>>2]|0;HEAP32[$9+4>>2]=HEAP32[$12+4>>2]|0;
    80789      $29 = ((($9)) + 4|0);
    80790      $30 = HEAP32[$29>>2]|0;
    80791      $31 = ($30|0)==(0);
    80792      if ($31) {
    80793       $32 = HEAP32[$9>>2]|0;
    80794       $33 = ($32|0)!=(0);
    80795       if (!($33)) {
    80796        break;
    80797       }
    80798      }
    80799      $34 = $5;
    80800      $35 = $5;
    80801      $36 = (_mrb_class_get($35,68266)|0);
    80802      ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
    80803      _mrb_exc_new_str($13,$34,$36,$$byval_copy1);
    80804      ;HEAP32[$9>>2]=HEAP32[$13>>2]|0;HEAP32[$9+4>>2]=HEAP32[$13+4>>2]|0;
    80805      break L1;
    80806     }
    80807    } while(0);
    80808    $10 = 0;
    80809    label = 10;
    80810    break;
    80811   }
    80812   case 3: case 2:  {
    80813    $10 = 1;
    80814    label = 10;
    80815    break;
    80816   }
    80817   default: {
    80818    $52 = $5;
    80819    $53 = $5;
    80820    $54 = (_mrb_class_get($53,69160)|0);
    80821    $55 = $6;
    80822    _mrb_fixnum_value_917($16,$55);
    80823    ;HEAP8[$vararg_buffer>>0]=HEAP8[$16>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$16+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$16+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$16+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$16+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$16+7>>0]|0;
    80824    _mrb_raisef($52,$54,67888,$vararg_buffer);
    80825    // unreachable;
    80826   }
    80827   }
    80828  } while(0);
    80829  do {
    80830   if ((label|0) == 10) {
    80831    $37 = $5;
    80832    $38 = (_mrb_intern_static($37,67846,9)|0);
    80833    $14 = $38;
    80834    $39 = $5;
    80835    $40 = $7;
    80836    $41 = $14;
    80837    ;HEAP32[$$byval_copy2>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$40+4>>2]|0;
    80838    $42 = (_mrb_respond_to($39,$$byval_copy2,$41)|0);
    80839    $43 = ($42<<24>>24)!=(0);
    80840    $44 = $5;
    80841    if ($43) {
    80842     $45 = $7;
    80843     $46 = $14;
    80844     $47 = $10;
    80845     $48 = $7;
    80846     $49 = ((($48)) + 8|0);
    80847     ;HEAP32[$$byval_copy3>>2]=HEAP32[$45>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$45+4>>2]|0;
    80848     _mrb_funcall_argv($15,$44,$$byval_copy3,$46,$47,$49);
    80849     ;HEAP32[$9>>2]=HEAP32[$15>>2]|0;HEAP32[$9+4>>2]=HEAP32[$15+4>>2]|0;
    80850     break;
    80851    } else {
    80852     $50 = $5;
    80853     $51 = (_mrb_class_get($50,69204)|0);
    80854     _mrb_raise($44,$51,67856);
    80855     // unreachable;
    80856    }
    80857   }
    80858  } while(0);
    80859  $56 = $6;
    80860  $57 = ($56|0)>(0);
    80861  if (!($57)) {
    80862   ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
    80863   STACKTOP = sp;return;
    80864  }
    80865  $58 = $5;
    80866  $59 = $5;
    80867  $60 = ((($59)) + 568|0);
    80868  $61 = HEAP32[$60>>2]|0;
    80869  ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
    80870  $62 = (_mrb_obj_is_kind_of($58,$$byval_copy4,$61)|0);
    80871  $63 = ($62<<24>>24)!=(0);
    80872  if (!($63)) {
    80873   $64 = $5;
    80874   $65 = $5;
    80875   $66 = (_mrb_class_get($65,69204)|0);
    80876   _mrb_raise($64,$66,67928);
    80877   // unreachable;
    80878  }
    80879  $67 = $6;
    80880  $68 = ($67|0)>(2);
    80881  if (!($68)) {
    80882   ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
    80883   STACKTOP = sp;return;
    80884  }
    80885  $69 = $5;
    80886  $70 = $7;
    80887  $71 = ((($70)) + 16|0);
    80888  ;HEAP32[$$byval_copy5>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$9+4>>2]|0;
    80889  ;HEAP32[$$byval_copy6>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$71+4>>2]|0;
    80890  _set_backtrace($69,$$byval_copy5,$$byval_copy6);
    80891  ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
    80892  STACKTOP = sp;return;
    80893 }
    80894 function _mrb_nil_value_936($0) {
    80895  $0 = $0|0;
    80896  var $1 = 0, $2 = 0, label = 0, sp = 0;
    80897  sp = STACKTOP;
    80898  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    80899  $1 = sp;
    80900  $2 = ((($1)) + 4|0);
    80901  HEAP32[$2>>2] = 0;
    80902  HEAP32[$1>>2] = 0;
    80903  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    80904  STACKTOP = sp;return;
    80905 }
    80906 function _set_backtrace($0,$1,$2) {
    80907  $0 = $0|0;
    80908  $1 = $1|0;
    80909  $2 = $2|0;
    80910  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    80911  sp = STACKTOP;
    80912  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    80913  $$byval_copy = sp + 24|0;
    80914  $vararg_buffer = sp;
    80915  $4 = sp + 8|0;
    80916  $3 = $0;
    80917  $5 = $3;
    80918  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    80919  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    80920  _mrb_funcall($4,$5,$$byval_copy,67954,1,$vararg_buffer);
    80921  STACKTOP = sp;return;
    80922 }
    80923 function _mrb_obj_value_946($0,$1) {
    80924  $0 = $0|0;
    80925  $1 = $1|0;
    80926  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    80927  sp = STACKTOP;
    80928  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    80929  $3 = sp;
    80930  $2 = $1;
    80931  $4 = $2;
    80932  $5 = HEAP32[$4>>2]|0;
    80933  $6 = $5 & 255;
    80934  $7 = ((($3)) + 4|0);
    80935  HEAP32[$7>>2] = $6;
    80936  $8 = $2;
    80937  HEAP32[$3>>2] = $8;
    80938  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    80939  STACKTOP = sp;return;
    80940 }
    80941 function _mrb_no_method_error($0,$1,$2,$3,$varargs) {
    80942  $0 = $0|0;
    80943  $1 = $1|0;
    80944  $2 = $2|0;
    80945  $3 = $3|0;
    80946  $varargs = $varargs|0;
    80947  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0;
    80948  var $vararg_ptr2 = 0, label = 0, sp = 0;
    80949  sp = STACKTOP;
    80950  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    80951  $$byval_copy1 = sp + 104|0;
    80952  $$byval_copy = sp + 96|0;
    80953  $vararg_buffer = sp;
    80954  $7 = sp + 72|0;
    80955  $8 = sp + 56|0;
    80956  $9 = sp + 48|0;
    80957  $10 = sp + 40|0;
    80958  $11 = sp + 32|0;
    80959  $12 = sp + 24|0;
    80960  $4 = $0;
    80961  $5 = $1;
    80962  $6 = $3;
    80963  HEAP32[$8>>2] = $varargs;
    80964  $13 = $4;
    80965  $14 = $4;
    80966  $15 = (_mrb_class_get($14,67968)|0);
    80967  _mrb_obj_value_946($9,$15);
    80968  $16 = $4;
    80969  $17 = $6;
    80970  _mrb_vformat($10,$16,$17,$8);
    80971  $18 = $5;
    80972  _mrb_symbol_value_928($11,$18);
    80973  ;HEAP8[$vararg_buffer>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$10+7>>0]|0;
    80974  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    80975  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$11+7>>0]|0;
    80976  $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
    80977  ;HEAP8[$vararg_ptr2>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$2+7>>0]|0;
    80978  ;HEAP32[$$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$9+4>>2]|0;
    80979  _mrb_funcall($12,$13,$$byval_copy,67982,3,$vararg_buffer);
    80980  ;HEAP32[$7>>2]=HEAP32[$12>>2]|0;HEAP32[$7+4>>2]=HEAP32[$12+4>>2]|0;
    80981  $19 = $4;
    80982  ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
    80983  _mrb_exc_raise($19,$$byval_copy1);
    80984  // unreachable;
    80985 }
    80986 function _mrb_init_exception($0) {
    80987  $0 = $0|0;
    80988  var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    80989  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
    80990  var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
    80991  var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    80992  sp = STACKTOP;
    80993  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    80994  $$byval_copy = sp + 32|0;
    80995  $5 = sp + 8|0;
    80996  $6 = sp;
    80997  $1 = $0;
    80998  $7 = $1;
    80999  $8 = $1;
    81000  $9 = ((($8)) + 32|0);
    81001  $10 = HEAP32[$9>>2]|0;
    81002  $11 = (_mrb_define_class($7,67986,$10)|0);
    81003  $2 = $11;
    81004  $12 = $1;
    81005  $13 = ((($12)) + 568|0);
    81006  HEAP32[$13>>2] = $11;
    81007  $14 = $2;
    81008  $15 = HEAP32[$14>>2]|0;
    81009  $16 = $15 >>> 11;
    81010  $17 = $16 & -256;
    81011  $18 = $17 | 18;
    81012  $19 = $2;
    81013  $20 = HEAP32[$19>>2]|0;
    81014  $21 = $18 & 2097151;
    81015  $22 = $21 << 11;
    81016  $23 = $20 & 2047;
    81017  $24 = $23 | $22;
    81018  HEAP32[$19>>2] = $24;
    81019  $25 = $1;
    81020  $26 = $2;
    81021  _mrb_define_class_method($25,$26,67846,238,4096);
    81022  $27 = $1;
    81023  $28 = $2;
    81024  _mrb_define_method($27,$28,67846,276,4096);
    81025  $29 = $1;
    81026  $30 = $2;
    81027  _mrb_define_method($29,$30,69252,277,4096);
    81028  $31 = $1;
    81029  $32 = $2;
    81030  _mrb_define_method($31,$32,69276,278,0);
    81031  $33 = $1;
    81032  $34 = $2;
    81033  _mrb_define_method($33,$34,67996,279,0);
    81034  $35 = $1;
    81035  $36 = $2;
    81036  _mrb_define_method($35,$36,69281,280,0);
    81037  $37 = $1;
    81038  $38 = $2;
    81039  _mrb_define_method($37,$38,68004,281,0);
    81040  $39 = $1;
    81041  $40 = $1;
    81042  $41 = ((($40)) + 568|0);
    81043  $42 = HEAP32[$41>>2]|0;
    81044  $43 = (_mrb_define_class($39,69566,$42)|0);
    81045  $44 = $1;
    81046  $45 = ((($44)) + 572|0);
    81047  HEAP32[$45>>2] = $43;
    81048  $46 = $1;
    81049  $47 = $1;
    81050  $48 = ((($47)) + 572|0);
    81051  $49 = HEAP32[$48>>2]|0;
    81052  $50 = (_mrb_define_class($46,68266,$49)|0);
    81053  $3 = $50;
    81054  $51 = $1;
    81055  $52 = $3;
    81056  $53 = $1;
    81057  _mrb_str_new_static($5,$53,68014,13);
    81058  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    81059  _mrb_exc_new_str($6,$51,$52,$$byval_copy);
    81060  $54 = HEAP32[$6>>2]|0;
    81061  $55 = $1;
    81062  $56 = ((($55)) + 576|0);
    81063  HEAP32[$56>>2] = $54;
    81064  $57 = $1;
    81065  $58 = $1;
    81066  $59 = ((($58)) + 568|0);
    81067  $60 = HEAP32[$59>>2]|0;
    81068  $61 = (_mrb_define_class($57,68028,$60)|0);
    81069  $4 = $61;
    81070  $62 = $1;
    81071  $63 = $4;
    81072  (_mrb_define_class($62,68040,$63)|0);
    81073  $64 = $1;
    81074  $65 = $2;
    81075  (_mrb_define_class($64,68052,$65)|0);
    81076  STACKTOP = sp;return;
    81077 }
    81078 function _exc_exception($0,$1,$2) {
    81079  $0 = $0|0;
    81080  $1 = $1|0;
    81081  $2 = $2|0;
    81082  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    81083  var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    81084  sp = STACKTOP;
    81085  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    81086  $$byval_copy4 = sp + 80|0;
    81087  $$byval_copy3 = sp + 72|0;
    81088  $$byval_copy2 = sp + 64|0;
    81089  $$byval_copy1 = sp + 56|0;
    81090  $$byval_copy = sp + 48|0;
    81091  $vararg_buffer = sp;
    81092  $4 = sp + 32|0;
    81093  $5 = sp + 24|0;
    81094  $7 = sp + 8|0;
    81095  $3 = $1;
    81096  $8 = $3;
    81097  HEAP32[$vararg_buffer>>2] = $5;
    81098  $9 = (_mrb_get_args($8,68084,$vararg_buffer)|0);
    81099  $6 = $9;
    81100  $10 = $6;
    81101  $11 = ($10|0)==(0);
    81102  if ($11) {
    81103   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    81104   STACKTOP = sp;return;
    81105  }
    81106  $12 = $3;
    81107  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    81108  ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
    81109  $13 = (_mrb_obj_equal($12,$$byval_copy,$$byval_copy1)|0);
    81110  $14 = ($13<<24>>24)!=(0);
    81111  if ($14) {
    81112   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    81113   STACKTOP = sp;return;
    81114  } else {
    81115   $15 = $3;
    81116   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    81117   _mrb_obj_clone($7,$15,$$byval_copy2);
    81118   ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
    81119   $16 = $3;
    81120   $17 = $3;
    81121   $18 = (_mrb_intern_static($17,68069,4)|0);
    81122   ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    81123   ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
    81124   _mrb_iv_set($16,$$byval_copy3,$18,$$byval_copy4);
    81125   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    81126   STACKTOP = sp;return;
    81127  }
    81128 }
    81129 function _exc_initialize($0,$1,$2) {
    81130  $0 = $0|0;
    81131  $1 = $1|0;
    81132  $2 = $2|0;
    81133  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    81134  sp = STACKTOP;
    81135  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    81136  $$byval_copy1 = sp + 32|0;
    81137  $$byval_copy = sp + 24|0;
    81138  $vararg_buffer = sp;
    81139  $4 = sp + 8|0;
    81140  $3 = $1;
    81141  $5 = $3;
    81142  HEAP32[$vararg_buffer>>2] = $4;
    81143  $6 = (_mrb_get_args($5,68084,$vararg_buffer)|0);
    81144  $7 = ($6|0)==(1);
    81145  if (!($7)) {
    81146   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    81147   STACKTOP = sp;return;
    81148  }
    81149  $8 = $3;
    81150  $9 = $3;
    81151  $10 = (_mrb_intern_static($9,68069,4)|0);
    81152  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    81153  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    81154  _mrb_iv_set($8,$$byval_copy,$10,$$byval_copy1);
    81155  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    81156  STACKTOP = sp;return;
    81157 }
    81158 function _exc_to_s($0,$1,$2) {
    81159  $0 = $0|0;
    81160  $1 = $1|0;
    81161  $2 = $2|0;
    81162  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
    81163  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    81164  sp = STACKTOP;
    81165  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    81166  $$byval_copy1 = sp + 32|0;
    81167  $$byval_copy = sp + 24|0;
    81168  $4 = sp + 8|0;
    81169  $3 = $1;
    81170  $6 = $3;
    81171  $7 = $3;
    81172  $8 = (_mrb_intern_static($7,68069,4)|0);
    81173  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    81174  _mrb_attr_get($4,$6,$$byval_copy,$8);
    81175  $9 = ((($4)) + 4|0);
    81176  $10 = HEAP32[$9>>2]|0;
    81177  $11 = ($10|0)==(16);
    81178  if (!($11)) {
    81179   $12 = $3;
    81180   $13 = $3;
    81181   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    81182   $14 = (_mrb_obj_classname($13,$$byval_copy1)|0);
    81183   _mrb_str_new_cstr($0,$12,$14);
    81184   STACKTOP = sp;return;
    81185  }
    81186  $15 = HEAP32[$4>>2]|0;
    81187  $5 = $15;
    81188  $16 = $5;
    81189  $17 = ((($16)) + 4|0);
    81190  $18 = HEAP32[$17>>2]|0;
    81191  $19 = ($18|0)!=(0|0);
    81192  if (!($19)) {
    81193   $20 = $3;
    81194   $21 = ((($20)) + 48|0);
    81195   $22 = HEAP32[$21>>2]|0;
    81196   $23 = $5;
    81197   $24 = ((($23)) + 4|0);
    81198   HEAP32[$24>>2] = $22;
    81199  }
    81200  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    81201  STACKTOP = sp;return;
    81202 }
    81203 function _exc_message($0,$1,$2) {
    81204  $0 = $0|0;
    81205  $1 = $1|0;
    81206  $2 = $2|0;
    81207  var $$byval_copy = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    81208  sp = STACKTOP;
    81209  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81210  $$byval_copy = sp + 8|0;
    81211  $vararg_buffer = sp;
    81212  $3 = $1;
    81213  $4 = $3;
    81214  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    81215  _mrb_funcall($0,$4,$$byval_copy,69276,0,$vararg_buffer);
    81216  STACKTOP = sp;return;
    81217 }
    81218 function _exc_inspect($0,$1,$2) {
    81219  $0 = $0|0;
    81220  $1 = $1|0;
    81221  $2 = $2|0;
    81222  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy15 = 0, $$byval_copy16 = 0, $$byval_copy17 = 0, $$byval_copy18 = 0, $$byval_copy19 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0;
    81223  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    81224  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    81225  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    81226  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
    81227  var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, label = 0, sp = 0;
    81228  sp = STACKTOP;
    81229  STACKTOP = STACKTOP + 352|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(352|0);
    81230  $$byval_copy19 = sp + 328|0;
    81231  $$byval_copy18 = sp + 320|0;
    81232  $$byval_copy17 = sp + 312|0;
    81233  $$byval_copy16 = sp + 304|0;
    81234  $$byval_copy15 = sp + 296|0;
    81235  $$byval_copy14 = sp + 288|0;
    81236  $$byval_copy13 = sp + 280|0;
    81237  $$byval_copy12 = sp + 272|0;
    81238  $$byval_copy11 = sp + 264|0;
    81239  $$byval_copy10 = sp + 256|0;
    81240  $$byval_copy9 = sp + 248|0;
    81241  $$byval_copy8 = sp + 240|0;
    81242  $$byval_copy7 = sp + 232|0;
    81243  $$byval_copy6 = sp + 224|0;
    81244  $$byval_copy5 = sp + 216|0;
    81245  $$byval_copy4 = sp + 208|0;
    81246  $$byval_copy3 = sp + 200|0;
    81247  $$byval_copy2 = sp + 192|0;
    81248  $$byval_copy1 = sp + 184|0;
    81249  $$byval_copy = sp + 176|0;
    81250  $4 = sp + 160|0;
    81251  $5 = sp + 152|0;
    81252  $6 = sp + 144|0;
    81253  $7 = sp + 136|0;
    81254  $9 = sp + 128|0;
    81255  $10 = sp + 120|0;
    81256  $11 = sp + 112|0;
    81257  $12 = sp + 104|0;
    81258  $13 = sp + 96|0;
    81259  $14 = sp + 88|0;
    81260  $15 = sp + 80|0;
    81261  $16 = sp + 72|0;
    81262  $17 = sp + 64|0;
    81263  $18 = sp + 56|0;
    81264  $19 = sp + 48|0;
    81265  $20 = sp + 40|0;
    81266  $22 = sp + 24|0;
    81267  $23 = sp + 16|0;
    81268  $24 = sp + 8|0;
    81269  $25 = sp;
    81270  $3 = $1;
    81271  $26 = $3;
    81272  $27 = $3;
    81273  $28 = (_mrb_intern_static($27,68069,4)|0);
    81274  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    81275  _mrb_attr_get($9,$26,$$byval_copy,$28);
    81276  ;HEAP32[$5>>2]=HEAP32[$9>>2]|0;HEAP32[$5+4>>2]=HEAP32[$9+4>>2]|0;
    81277  $29 = $3;
    81278  $30 = $3;
    81279  $31 = (_mrb_intern_static($30,67810,4)|0);
    81280  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    81281  _mrb_attr_get($10,$29,$$byval_copy1,$31);
    81282  ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
    81283  $32 = $3;
    81284  $33 = $3;
    81285  $34 = (_mrb_intern_static($33,67815,4)|0);
    81286  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    81287  _mrb_attr_get($11,$32,$$byval_copy2,$34);
    81288  ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
    81289  $35 = ((($5)) + 4|0);
    81290  $36 = HEAP32[$35>>2]|0;
    81291  $37 = ($36|0)==(0);
    81292  if ($37) {
    81293   $38 = HEAP32[$5>>2]|0;
    81294   $39 = ($38|0)!=(0);
    81295   $40 = $39 ^ 1;
    81296   $42 = $40;
    81297  } else {
    81298   $42 = 0;
    81299  }
    81300  $41 = $42 ^ 1;
    81301  $43 = $41&1;
    81302  $44 = $43&255;
    81303  $8 = $44;
    81304  $45 = $8;
    81305  $46 = ($45<<24>>24)!=(0);
    81306  if ($46) {
    81307   $47 = $3;
    81308   ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
    81309   _mrb_obj_as_string($12,$47,$$byval_copy3);
    81310   ;HEAP32[$5>>2]=HEAP32[$12>>2]|0;HEAP32[$5+4>>2]=HEAP32[$12+4>>2]|0;
    81311   $48 = HEAP32[$5>>2]|0;
    81312   $49 = HEAP32[$48>>2]|0;
    81313   $50 = $49 >>> 11;
    81314   $51 = $50 & 8;
    81315   $52 = ($51|0)!=(0);
    81316   $53 = HEAP32[$5>>2]|0;
    81317   if ($52) {
    81318    $54 = HEAP32[$53>>2]|0;
    81319    $55 = $54 >>> 11;
    81320    $56 = $55 & 496;
    81321    $57 = $56 >> 4;
    81322    $61 = $57;
    81323   } else {
    81324    $58 = ((($53)) + 12|0);
    81325    $59 = HEAP32[$58>>2]|0;
    81326    $61 = $59;
    81327   }
    81328   $60 = ($61|0)>(0);
    81329   $62 = $60&1;
    81330   $63 = $62&255;
    81331   $8 = $63;
    81332  }
    81333  $64 = ((($6)) + 4|0);
    81334  $65 = HEAP32[$64>>2]|0;
    81335  $66 = ($65|0)==(0);
    81336  if ($66) {
    81337   $67 = HEAP32[$6>>2]|0;
    81338   $68 = ($67|0)!=(0);
    81339   if ($68) {
    81340    label = 10;
    81341   }
    81342  } else {
    81343   label = 10;
    81344  }
    81345  do {
    81346   if ((label|0) == 10) {
    81347    $69 = ((($7)) + 4|0);
    81348    $70 = HEAP32[$69>>2]|0;
    81349    $71 = ($70|0)==(0);
    81350    if ($71) {
    81351     $72 = HEAP32[$7>>2]|0;
    81352     $73 = ($72|0)!=(0);
    81353     if (!($73)) {
    81354      break;
    81355     }
    81356    }
    81357    $74 = $3;
    81358    ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;
    81359    _mrb_str_dup($13,$74,$$byval_copy4);
    81360    ;HEAP32[$4>>2]=HEAP32[$13>>2]|0;HEAP32[$4+4>>2]=HEAP32[$13+4>>2]|0;
    81361    $75 = $3;
    81362    ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;
    81363    _mrb_str_cat($14,$75,$$byval_copy5,68074,1);
    81364    $76 = $3;
    81365    ;HEAP32[$$byval_copy6>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$4+4>>2]|0;
    81366    ;HEAP32[$$byval_copy7>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$7+4>>2]|0;
    81367    _mrb_str_append($15,$76,$$byval_copy6,$$byval_copy7);
    81368    $77 = $3;
    81369    ;HEAP32[$$byval_copy8>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$4+4>>2]|0;
    81370    _mrb_str_cat($16,$77,$$byval_copy8,68076,2);
    81371    $78 = $8;
    81372    $79 = ($78<<24>>24)!=(0);
    81373    if ($79) {
    81374     $80 = $3;
    81375     ;HEAP32[$$byval_copy9>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$4+4>>2]|0;
    81376     ;HEAP32[$$byval_copy10>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$5+4>>2]|0;
    81377     _mrb_str_cat_str($17,$80,$$byval_copy9,$$byval_copy10);
    81378     $81 = $3;
    81379     ;HEAP32[$$byval_copy11>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$4+4>>2]|0;
    81380     _mrb_str_cat($18,$81,$$byval_copy11,68079,2);
    81381    }
    81382    $82 = $3;
    81383    $83 = $3;
    81384    ;HEAP32[$$byval_copy12>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$2+4>>2]|0;
    81385    $84 = (_mrb_obj_classname($83,$$byval_copy12)|0);
    81386    ;HEAP32[$$byval_copy13>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$4+4>>2]|0;
    81387    _mrb_str_cat_cstr($19,$82,$$byval_copy13,$84);
    81388    $85 = $8;
    81389    $86 = ($85<<24>>24)!=(0);
    81390    if (!($86)) {
    81391     ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    81392     STACKTOP = sp;return;
    81393    }
    81394    $87 = $3;
    81395    ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0;
    81396    _mrb_str_cat($20,$87,$$byval_copy14,68082,1);
    81397    ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    81398    STACKTOP = sp;return;
    81399   }
    81400  } while(0);
    81401  $88 = $3;
    81402  ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;
    81403  $89 = (_mrb_obj_classname($88,$$byval_copy15)|0);
    81404  $21 = $89;
    81405  $90 = $3;
    81406  $91 = $21;
    81407  _mrb_str_new_cstr($22,$90,$91);
    81408  ;HEAP32[$4>>2]=HEAP32[$22>>2]|0;HEAP32[$4+4>>2]=HEAP32[$22+4>>2]|0;
    81409  $92 = $3;
    81410  ;HEAP32[$$byval_copy16>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$4+4>>2]|0;
    81411  _mrb_str_cat($23,$92,$$byval_copy16,68076,2);
    81412  $93 = $8;
    81413  $94 = ($93<<24>>24)!=(0);
    81414  $95 = $3;
    81415  if ($94) {
    81416   ;HEAP32[$$byval_copy17>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$4+4>>2]|0;
    81417   ;HEAP32[$$byval_copy18>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$5+4>>2]|0;
    81418   _mrb_str_cat_str($24,$95,$$byval_copy17,$$byval_copy18);
    81419   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    81420   STACKTOP = sp;return;
    81421  } else {
    81422   $96 = $21;
    81423   ;HEAP32[$$byval_copy19>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$4+4>>2]|0;
    81424   _mrb_str_cat_cstr($25,$95,$$byval_copy19,$96);
    81425   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    81426   STACKTOP = sp;return;
    81427  }
    81428 }
    81429 function _mrb_data_check_type($0,$1,$2) {
    81430  $0 = $0|0;
    81431  $1 = $1|0;
    81432  $2 = $2|0;
    81433  var $$byval_copy = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    81434  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    81435  var $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
    81436  sp = STACKTOP;
    81437  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    81438  $$byval_copy6 = sp + 96|0;
    81439  $$byval_copy = sp + 88|0;
    81440  $vararg_buffer2 = sp + 16|0;
    81441  $vararg_buffer = sp;
    81442  $6 = sp + 64|0;
    81443  $7 = sp + 56|0;
    81444  $9 = sp + 40|0;
    81445  $10 = sp + 32|0;
    81446  $3 = $0;
    81447  $4 = $2;
    81448  $11 = ((($1)) + 4|0);
    81449  $12 = HEAP32[$11>>2]|0;
    81450  $13 = ($12|0)!=(21);
    81451  if ($13) {
    81452   $14 = $3;
    81453   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    81454   _mrb_check_type($14,$$byval_copy,21);
    81455  }
    81456  $15 = HEAP32[$1>>2]|0;
    81457  $16 = ((($15)) + 16|0);
    81458  $17 = HEAP32[$16>>2]|0;
    81459  $18 = $4;
    81460  $19 = ($17|0)!=($18|0);
    81461  if (!($19)) {
    81462   STACKTOP = sp;return;
    81463  }
    81464  $20 = HEAP32[$1>>2]|0;
    81465  $21 = ((($20)) + 16|0);
    81466  $22 = HEAP32[$21>>2]|0;
    81467  $5 = $22;
    81468  $23 = $5;
    81469  $24 = ($23|0)!=(0|0);
    81470  $25 = $3;
    81471  if ($24) {
    81472   $26 = $3;
    81473   $27 = (_mrb_class_get($26,69204)|0);
    81474   $28 = $3;
    81475   $29 = $5;
    81476   $30 = HEAP32[$29>>2]|0;
    81477   _mrb_str_new_cstr($6,$28,$30);
    81478   $31 = $3;
    81479   $32 = $4;
    81480   $33 = HEAP32[$32>>2]|0;
    81481   _mrb_str_new_cstr($7,$31,$33);
    81482   ;HEAP8[$vararg_buffer>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$6+7>>0]|0;
    81483   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    81484   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$7+7>>0]|0;
    81485   _mrb_raisef($25,$27,68087,$vararg_buffer);
    81486   // unreachable;
    81487  } else {
    81488   ;HEAP32[$$byval_copy6>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$1+4>>2]|0;
    81489   $34 = (_mrb_class_971($25,$$byval_copy6)|0);
    81490   $8 = $34;
    81491   $35 = $3;
    81492   $36 = $3;
    81493   $37 = (_mrb_class_get($36,69204)|0);
    81494   $38 = $8;
    81495   _mrb_obj_value_972($9,$38);
    81496   $39 = $3;
    81497   $40 = $4;
    81498   $41 = HEAP32[$40>>2]|0;
    81499   _mrb_str_new_cstr($10,$39,$41);
    81500   ;HEAP8[$vararg_buffer2>>0]=HEAP8[$9>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$9+7>>0]|0;
    81501   $vararg_ptr5 = ((($vararg_buffer2)) + 8|0);
    81502   ;HEAP8[$vararg_ptr5>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_ptr5+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_ptr5+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_ptr5+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_ptr5+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_ptr5+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_ptr5+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_ptr5+7>>0]=HEAP8[$10+7>>0]|0;
    81503   _mrb_raisef($35,$37,68124,$vararg_buffer2);
    81504   // unreachable;
    81505  }
    81506 }
    81507 function _mrb_class_971($0,$1) {
    81508  $0 = $0|0;
    81509  $1 = $1|0;
    81510  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    81511  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    81512  sp = STACKTOP;
    81513  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81514  $3 = $0;
    81515  $4 = ((($1)) + 4|0);
    81516  $5 = HEAP32[$4>>2]|0;
    81517  L1: do {
    81518   switch ($5|0) {
    81519   case 0:  {
    81520    $6 = HEAP32[$1>>2]|0;
    81521    $7 = ($6|0)!=(0);
    81522    $8 = $3;
    81523    if ($7) {
    81524     $9 = ((($8)) + 72|0);
    81525     $10 = HEAP32[$9>>2]|0;
    81526     $2 = $10;
    81527     break L1;
    81528    } else {
    81529     $11 = ((($8)) + 76|0);
    81530     $12 = HEAP32[$11>>2]|0;
    81531     $2 = $12;
    81532     break L1;
    81533    }
    81534    break;
    81535   }
    81536   case 2:  {
    81537    $13 = $3;
    81538    $14 = ((($13)) + 68|0);
    81539    $15 = HEAP32[$14>>2]|0;
    81540    $2 = $15;
    81541    break;
    81542   }
    81543   case 4:  {
    81544    $16 = $3;
    81545    $17 = ((($16)) + 80|0);
    81546    $18 = HEAP32[$17>>2]|0;
    81547    $2 = $18;
    81548    break;
    81549   }
    81550   case 3:  {
    81551    $19 = $3;
    81552    $20 = ((($19)) + 64|0);
    81553    $21 = HEAP32[$20>>2]|0;
    81554    $2 = $21;
    81555    break;
    81556   }
    81557   case 6:  {
    81558    $22 = $3;
    81559    $23 = ((($22)) + 60|0);
    81560    $24 = HEAP32[$23>>2]|0;
    81561    $2 = $24;
    81562    break;
    81563   }
    81564   case 7:  {
    81565    $25 = $3;
    81566    $26 = ((($25)) + 32|0);
    81567    $27 = HEAP32[$26>>2]|0;
    81568    $2 = $27;
    81569    break;
    81570   }
    81571   case 20:  {
    81572    $2 = 0;
    81573    break;
    81574   }
    81575   default: {
    81576    $28 = HEAP32[$1>>2]|0;
    81577    $29 = ((($28)) + 4|0);
    81578    $30 = HEAP32[$29>>2]|0;
    81579    $2 = $30;
    81580   }
    81581   }
    81582  } while(0);
    81583  $31 = $2;
    81584  STACKTOP = sp;return ($31|0);
    81585 }
    81586 function _mrb_obj_value_972($0,$1) {
    81587  $0 = $0|0;
    81588  $1 = $1|0;
    81589  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    81590  sp = STACKTOP;
    81591  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81592  $3 = sp;
    81593  $2 = $1;
    81594  $4 = $2;
    81595  $5 = HEAP32[$4>>2]|0;
    81596  $6 = $5 & 255;
    81597  $7 = ((($3)) + 4|0);
    81598  HEAP32[$7>>2] = $6;
    81599  $8 = $2;
    81600  HEAP32[$3>>2] = $8;
    81601  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    81602  STACKTOP = sp;return;
    81603 }
    81604 function _mrb_data_get_ptr($0,$1,$2) {
    81605  $0 = $0|0;
    81606  $1 = $1|0;
    81607  $2 = $2|0;
    81608  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    81609  sp = STACKTOP;
    81610  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81611  $$byval_copy = sp + 8|0;
    81612  $3 = $0;
    81613  $4 = $2;
    81614  $5 = $3;
    81615  $6 = $4;
    81616  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    81617  _mrb_data_check_type($5,$$byval_copy,$6);
    81618  $7 = HEAP32[$1>>2]|0;
    81619  $8 = ((($7)) + 20|0);
    81620  $9 = HEAP32[$8>>2]|0;
    81621  STACKTOP = sp;return ($9|0);
    81622 }
    81623 function _mrb_float_id($0) {
    81624  $0 = +$0;
    81625  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    81626  var sp = 0;
    81627  sp = STACKTOP;
    81628  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81629  $1 = sp + 12|0;
    81630  HEAPF32[$1>>2] = $0;
    81631  $2 = $1;
    81632  $3 = 4;
    81633  $4 = 0;
    81634  while(1) {
    81635   $5 = $3;
    81636   $6 = (($5) + -1)|0;
    81637   $3 = $6;
    81638   $7 = ($5|0)!=(0);
    81639   $8 = $4;
    81640   if (!($7)) {
    81641    break;
    81642   }
    81643   $9 = ($8*65599)|0;
    81644   $10 = $2;
    81645   $11 = HEAP8[$10>>0]|0;
    81646   $12 = $11 << 24 >> 24;
    81647   $13 = (($9) + ($12))|0;
    81648   $4 = $13;
    81649   $14 = $2;
    81650   $15 = ((($14)) + 1|0);
    81651   $2 = $15;
    81652  }
    81653  $16 = $4;
    81654  $17 = $16 >> 5;
    81655  $18 = (($8) + ($17))|0;
    81656  $4 = $18;
    81657  $19 = $4;
    81658  STACKTOP = sp;return ($19|0);
    81659 }
    81660 function _mrb_obj_id($0) {
    81661  $0 = $0|0;
    81662  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0;
    81663  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    81664  sp = STACKTOP;
    81665  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81666  $3 = ((($0)) + 4|0);
    81667  $4 = HEAP32[$3>>2]|0;
    81668  $2 = $4;
    81669  $5 = $2;
    81670  L1: do {
    81671   switch ($5|0) {
    81672   case 5: case 1:  {
    81673    $6 = $2;
    81674    $7 = 0 ^ $6;
    81675    $1 = $7;
    81676    break;
    81677   }
    81678   case 0:  {
    81679    $8 = ((($0)) + 4|0);
    81680    $9 = HEAP32[$8>>2]|0;
    81681    $10 = ($9|0)==(0);
    81682    if ($10) {
    81683     $11 = HEAP32[$0>>2]|0;
    81684     $12 = ($11|0)!=(0);
    81685     if (!($12)) {
    81686      $13 = $2;
    81687      $14 = 1 ^ $13;
    81688      $1 = $14;
    81689      break L1;
    81690     }
    81691    }
    81692    $15 = $2;
    81693    $16 = 0 ^ $15;
    81694    $1 = $16;
    81695    break;
    81696   }
    81697   case 2:  {
    81698    $17 = $2;
    81699    $18 = 1 ^ $17;
    81700    $1 = $18;
    81701    break;
    81702   }
    81703   case 4:  {
    81704    $19 = HEAP32[$0>>2]|0;
    81705    $20 = $2;
    81706    $21 = $19 ^ $20;
    81707    $1 = $21;
    81708    break;
    81709   }
    81710   case 3:  {
    81711    $22 = HEAP32[$0>>2]|0;
    81712    $23 = (+($22|0));
    81713    $24 = (_mrb_float_id($23)|0);
    81714    $25 = $24 ^ 6;
    81715    $1 = $25;
    81716    break;
    81717   }
    81718   case 6:  {
    81719    $26 = +HEAPF32[$0>>2];
    81720    $27 = (_mrb_float_id($26)|0);
    81721    $28 = $2;
    81722    $29 = $27 ^ $28;
    81723    $1 = $29;
    81724    break;
    81725   }
    81726   default: {
    81727    $30 = HEAP32[$0>>2]|0;
    81728    $31 = $30;
    81729    $32 = $2;
    81730    $33 = $31 ^ $32;
    81731    $1 = $33;
    81732   }
    81733   }
    81734  } while(0);
    81735  $34 = $1;
    81736  STACKTOP = sp;return ($34|0);
    81737 }
    81738 function _mrb_regexp_p($0,$1) {
    81739  $0 = $0|0;
    81740  $1 = $1|0;
    81741  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    81742  sp = STACKTOP;
    81743  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81744  $$byval_copy = sp + 8|0;
    81745  $2 = $0;
    81746  $3 = $2;
    81747  $4 = (_mrb_class_defined($3,69671)|0);
    81748  $5 = $4&255;
    81749  $6 = ($5|0)!=(0);
    81750  if (!($6)) {
    81751   $14 = 0;
    81752   $13 = $14&1;
    81753   $15 = $13&255;
    81754   STACKTOP = sp;return ($15|0);
    81755  }
    81756  $7 = $2;
    81757  $8 = $2;
    81758  $9 = (_mrb_class_get($8,69671)|0);
    81759  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    81760  $10 = (_mrb_obj_is_kind_of($7,$$byval_copy,$9)|0);
    81761  $11 = $10&255;
    81762  $12 = ($11|0)!=(0);
    81763  $14 = $12;
    81764  $13 = $14&1;
    81765  $15 = $13&255;
    81766  STACKTOP = sp;return ($15|0);
    81767 }
    81768 function _mrb_init_core($0) {
    81769  $0 = $0|0;
    81770  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    81771  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    81772  sp = STACKTOP;
    81773  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81774  $1 = $0;
    81775  $2 = $1;
    81776  _mrb_init_symtbl($2);
    81777  $3 = $1;
    81778  _mrb_gc_arena_restore($3,0);
    81779  $4 = $1;
    81780  _mrb_init_class($4);
    81781  $5 = $1;
    81782  _mrb_gc_arena_restore($5,0);
    81783  $6 = $1;
    81784  _mrb_init_object($6);
    81785  $7 = $1;
    81786  _mrb_gc_arena_restore($7,0);
    81787  $8 = $1;
    81788  _mrb_init_kernel($8);
    81789  $9 = $1;
    81790  _mrb_gc_arena_restore($9,0);
    81791  $10 = $1;
    81792  _mrb_init_comparable($10);
    81793  $11 = $1;
    81794  _mrb_gc_arena_restore($11,0);
    81795  $12 = $1;
    81796  _mrb_init_enumerable($12);
    81797  $13 = $1;
    81798  _mrb_gc_arena_restore($13,0);
    81799  $14 = $1;
    81800  _mrb_init_symbol($14);
    81801  $15 = $1;
    81802  _mrb_gc_arena_restore($15,0);
    81803  $16 = $1;
    81804  _mrb_init_exception($16);
    81805  $17 = $1;
    81806  _mrb_gc_arena_restore($17,0);
    81807  $18 = $1;
    81808  _mrb_init_proc($18);
    81809  $19 = $1;
    81810  _mrb_gc_arena_restore($19,0);
    81811  $20 = $1;
    81812  _mrb_init_string($20);
    81813  $21 = $1;
    81814  _mrb_gc_arena_restore($21,0);
    81815  $22 = $1;
    81816  _mrb_init_array($22);
    81817  $23 = $1;
    81818  _mrb_gc_arena_restore($23,0);
    81819  $24 = $1;
    81820  _mrb_init_hash($24);
    81821  $25 = $1;
    81822  _mrb_gc_arena_restore($25,0);
    81823  $26 = $1;
    81824  _mrb_init_numeric($26);
    81825  $27 = $1;
    81826  _mrb_gc_arena_restore($27,0);
    81827  $28 = $1;
    81828  _mrb_init_range($28);
    81829  $29 = $1;
    81830  _mrb_gc_arena_restore($29,0);
    81831  $30 = $1;
    81832  _mrb_init_gc($30);
    81833  $31 = $1;
    81834  _mrb_gc_arena_restore($31,0);
    81835  $32 = $1;
    81836  _mrb_init_version($32);
    81837  $33 = $1;
    81838  _mrb_gc_arena_restore($33,0);
    81839  $34 = $1;
    81840  _mrb_init_mrblib($34);
    81841  $35 = $1;
    81842  _mrb_gc_arena_restore($35,0);
    81843  STACKTOP = sp;return;
    81844 }
    81845 function _mrb_obj_inspect($0,$1,$2) {
    81846  $0 = $0|0;
    81847  $1 = $1|0;
    81848  $2 = $2|0;
    81849  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    81850  sp = STACKTOP;
    81851  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    81852  $$byval_copy1 = sp + 16|0;
    81853  $$byval_copy = sp + 8|0;
    81854  $3 = $1;
    81855  $4 = ((($2)) + 4|0);
    81856  $5 = HEAP32[$4>>2]|0;
    81857  $6 = ($5|0)==(8);
    81858  if ($6) {
    81859   $7 = $3;
    81860   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    81861   $8 = (_mrb_obj_basic_to_s_p($7,$$byval_copy)|0);
    81862   $9 = $8&255;
    81863   $10 = ($9|0)!=(0);
    81864   if ($10) {
    81865    $11 = $3;
    81866    $12 = HEAP32[$2>>2]|0;
    81867    _mrb_obj_iv_inspect($0,$11,$12);
    81868    STACKTOP = sp;return;
    81869   }
    81870  }
    81871  $13 = $3;
    81872  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    81873  _mrb_any_to_s($0,$13,$$byval_copy1);
    81874  STACKTOP = sp;return;
    81875 }
    81876 function _mrb_obj_basic_to_s_p($0,$1) {
    81877  $0 = $0|0;
    81878  $1 = $1|0;
    81879  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    81880  var label = 0, sp = 0;
    81881  sp = STACKTOP;
    81882  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    81883  $$byval_copy = sp + 8|0;
    81884  $3 = $0;
    81885  $5 = $3;
    81886  $6 = $3;
    81887  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    81888  $7 = (_mrb_class_984($6,$$byval_copy)|0);
    81889  $8 = $3;
    81890  $9 = (_mrb_intern_static($8,69276,4)|0);
    81891  $10 = (_mrb_method_search($5,$7,$9)|0);
    81892  $4 = $10;
    81893  $11 = $4;
    81894  $12 = HEAP32[$11>>2]|0;
    81895  $13 = $12 >>> 11;
    81896  $14 = $13 & 128;
    81897  $15 = ($14|0)!=(0);
    81898  if ($15) {
    81899   $16 = $4;
    81900   $17 = ((($16)) + 12|0);
    81901   $18 = HEAP32[$17>>2]|0;
    81902   $19 = ($18|0)==(282|0);
    81903   if ($19) {
    81904    $2 = 1;
    81905    $20 = $2;
    81906    STACKTOP = sp;return ($20|0);
    81907   }
    81908  }
    81909  $2 = 0;
    81910  $20 = $2;
    81911  STACKTOP = sp;return ($20|0);
    81912 }
    81913 function _mrb_class_984($0,$1) {
    81914  $0 = $0|0;
    81915  $1 = $1|0;
    81916  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    81917  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    81918  sp = STACKTOP;
    81919  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    81920  $3 = $0;
    81921  $4 = ((($1)) + 4|0);
    81922  $5 = HEAP32[$4>>2]|0;
    81923  L1: do {
    81924   switch ($5|0) {
    81925   case 0:  {
    81926    $6 = HEAP32[$1>>2]|0;
    81927    $7 = ($6|0)!=(0);
    81928    $8 = $3;
    81929    if ($7) {
    81930     $9 = ((($8)) + 72|0);
    81931     $10 = HEAP32[$9>>2]|0;
    81932     $2 = $10;
    81933     break L1;
    81934    } else {
    81935     $11 = ((($8)) + 76|0);
    81936     $12 = HEAP32[$11>>2]|0;
    81937     $2 = $12;
    81938     break L1;
    81939    }
    81940    break;
    81941   }
    81942   case 2:  {
    81943    $13 = $3;
    81944    $14 = ((($13)) + 68|0);
    81945    $15 = HEAP32[$14>>2]|0;
    81946    $2 = $15;
    81947    break;
    81948   }
    81949   case 4:  {
    81950    $16 = $3;
    81951    $17 = ((($16)) + 80|0);
    81952    $18 = HEAP32[$17>>2]|0;
    81953    $2 = $18;
    81954    break;
    81955   }
    81956   case 3:  {
    81957    $19 = $3;
    81958    $20 = ((($19)) + 64|0);
    81959    $21 = HEAP32[$20>>2]|0;
    81960    $2 = $21;
    81961    break;
    81962   }
    81963   case 6:  {
    81964    $22 = $3;
    81965    $23 = ((($22)) + 60|0);
    81966    $24 = HEAP32[$23>>2]|0;
    81967    $2 = $24;
    81968    break;
    81969   }
    81970   case 7:  {
    81971    $25 = $3;
    81972    $26 = ((($25)) + 32|0);
    81973    $27 = HEAP32[$26>>2]|0;
    81974    $2 = $27;
    81975    break;
    81976   }
    81977   case 20:  {
    81978    $2 = 0;
    81979    break;
    81980   }
    81981   default: {
    81982    $28 = HEAP32[$1>>2]|0;
    81983    $29 = ((($28)) + 4|0);
    81984    $30 = HEAP32[$29>>2]|0;
    81985    $2 = $30;
    81986   }
    81987   }
    81988  } while(0);
    81989  $31 = $2;
    81990  STACKTOP = sp;return ($31|0);
    81991 }
    81992 function _mrb_obj_clone($0,$1,$2) {
    81993  $0 = $0|0;
    81994  $1 = $1|0;
    81995  $2 = $2|0;
    81996  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    81997  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    81998  sp = STACKTOP;
    81999  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    82000  $$byval_copy3 = sp + 56|0;
    82001  $$byval_copy2 = sp + 48|0;
    82002  $$byval_copy1 = sp + 40|0;
    82003  $$byval_copy = sp + 32|0;
    82004  $vararg_buffer = sp;
    82005  $5 = sp + 16|0;
    82006  $6 = sp + 8|0;
    82007  $3 = $1;
    82008  $7 = ((($2)) + 4|0);
    82009  $8 = HEAP32[$7>>2]|0;
    82010  $9 = ($8>>>0)<(8);
    82011  if ($9) {
    82012   $10 = $3;
    82013   $11 = $3;
    82014   $12 = (_mrb_class_get($11,69204)|0);
    82015   ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    82016   _mrb_raisef($10,$12,68155,$vararg_buffer);
    82017   // unreachable;
    82018  }
    82019  $13 = ((($2)) + 4|0);
    82020  $14 = HEAP32[$13>>2]|0;
    82021  $15 = ($14|0)==(12);
    82022  $16 = $3;
    82023  if ($15) {
    82024   $17 = $3;
    82025   $18 = (_mrb_class_get($17,69204)|0);
    82026   _mrb_raise($16,$18,68170);
    82027   // unreachable;
    82028  } else {
    82029   $19 = ((($2)) + 4|0);
    82030   $20 = HEAP32[$19>>2]|0;
    82031   $21 = $3;
    82032   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    82033   $22 = (_mrb_obj_class($21,$$byval_copy)|0);
    82034   $23 = (_mrb_obj_alloc($16,$20,$22)|0);
    82035   $4 = $23;
    82036   $24 = $3;
    82037   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    82038   $25 = (_mrb_singleton_class_clone($24,$$byval_copy1)|0);
    82039   $26 = $4;
    82040   $27 = ((($26)) + 4|0);
    82041   HEAP32[$27>>2] = $25;
    82042   $28 = $4;
    82043   _mrb_obj_value_991($6,$28);
    82044   ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
    82045   $29 = $3;
    82046   ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
    82047   ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    82048   _init_copy($29,$$byval_copy2,$$byval_copy3);
    82049   ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    82050   STACKTOP = sp;return;
    82051  }
    82052 }
    82053 function _mrb_singleton_class_clone($0,$1) {
    82054  $0 = $0|0;
    82055  $1 = $1|0;
    82056  var $$byval_copy = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$sink = 0, $$sink2 = 0, $$sink3 = 0, $$sink5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
    82057  var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
    82058  var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
    82059  var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0;
    82060  var sp = 0;
    82061  sp = STACKTOP;
    82062  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    82063  $$byval_copy8 = sp + 64|0;
    82064  $$byval_copy7 = sp + 56|0;
    82065  $$byval_copy6 = sp + 48|0;
    82066  $$byval_copy = sp + 40|0;
    82067  $6 = sp + 16|0;
    82068  $7 = sp + 8|0;
    82069  $8 = sp;
    82070  $3 = $0;
    82071  $9 = HEAP32[$1>>2]|0;
    82072  $10 = ((($9)) + 4|0);
    82073  $11 = HEAP32[$10>>2]|0;
    82074  $4 = $11;
    82075  $12 = $4;
    82076  $13 = HEAP32[$12>>2]|0;
    82077  $14 = $13 & 255;
    82078  $15 = ($14|0)!=(12);
    82079  if ($15) {
    82080   $16 = $4;
    82081   $2 = $16;
    82082   $72 = $2;
    82083   STACKTOP = sp;return ($72|0);
    82084  }
    82085  $17 = $3;
    82086  $18 = $4;
    82087  $19 = HEAP32[$18>>2]|0;
    82088  $20 = $19 & 255;
    82089  $21 = $3;
    82090  $22 = ((($21)) + 36|0);
    82091  $23 = HEAP32[$22>>2]|0;
    82092  $24 = (_mrb_obj_alloc($17,$20,$23)|0);
    82093  $5 = $24;
    82094  $25 = ((($1)) + 4|0);
    82095  $26 = HEAP32[$25>>2]|0;
    82096  $27 = ($26|0)==(9);
    82097  if ($27) {
    82098   label = 5;
    82099  } else {
    82100   $28 = ((($1)) + 4|0);
    82101   $29 = HEAP32[$28>>2]|0;
    82102   $30 = ($29|0)==(12);
    82103   if ($30) {
    82104    label = 5;
    82105   } else {
    82106    $33 = $3;
    82107    $34 = $4;
    82108    _mrb_obj_value_991($6,$34);
    82109    ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    82110    $35 = (_mrb_singleton_class_clone($33,$$byval_copy)|0);
    82111    $36 = $5;
    82112    $$sink = $35;$$sink2 = $36;
    82113   }
    82114  }
    82115  if ((label|0) == 5) {
    82116   $31 = $5;
    82117   $32 = $5;
    82118   $$sink = $31;$$sink2 = $32;
    82119  }
    82120  $37 = ((($$sink2)) + 4|0);
    82121  HEAP32[$37>>2] = $$sink;
    82122  $38 = $4;
    82123  $39 = ((($38)) + 20|0);
    82124  $40 = HEAP32[$39>>2]|0;
    82125  $41 = $5;
    82126  $42 = ((($41)) + 20|0);
    82127  HEAP32[$42>>2] = $40;
    82128  $43 = $4;
    82129  $44 = ((($43)) + 12|0);
    82130  $45 = HEAP32[$44>>2]|0;
    82131  $46 = ($45|0)!=(0|0);
    82132  if ($46) {
    82133   $47 = $3;
    82134   $48 = $5;
    82135   _mrb_obj_value_991($7,$48);
    82136   $49 = $4;
    82137   _mrb_obj_value_991($8,$49);
    82138   ;HEAP32[$$byval_copy6>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$7+4>>2]|0;
    82139   ;HEAP32[$$byval_copy7>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$8+4>>2]|0;
    82140   _mrb_iv_copy($47,$$byval_copy6,$$byval_copy7);
    82141   $50 = $3;
    82142   $51 = $5;
    82143   $52 = $3;
    82144   $53 = (_mrb_intern_static($52,68237,12)|0);
    82145   ;HEAP32[$$byval_copy8>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$1+4>>2]|0;
    82146   _mrb_obj_iv_set($50,$51,$53,$$byval_copy8);
    82147  }
    82148  $54 = $4;
    82149  $55 = ((($54)) + 16|0);
    82150  $56 = HEAP32[$55>>2]|0;
    82151  $57 = ($56|0)!=(0|0);
    82152  $58 = $3;
    82153  if ($57) {
    82154   $59 = $4;
    82155   $60 = ((($59)) + 16|0);
    82156   $61 = HEAP32[$60>>2]|0;
    82157   $62 = (_kh_copy_mt($58,$61)|0);
    82158   $63 = $5;
    82159   $$sink3 = $62;$$sink5 = $63;
    82160  } else {
    82161   $64 = (_kh_init_mt($58)|0);
    82162   $65 = $5;
    82163   $$sink3 = $64;$$sink5 = $65;
    82164  }
    82165  $66 = ((($$sink5)) + 16|0);
    82166  HEAP32[$66>>2] = $$sink3;
    82167  $67 = $5;
    82168  $68 = HEAP32[$67>>2]|0;
    82169  $69 = $68 & -256;
    82170  $70 = $69 | 12;
    82171  HEAP32[$67>>2] = $70;
    82172  $71 = $5;
    82173  $2 = $71;
    82174  $72 = $2;
    82175  STACKTOP = sp;return ($72|0);
    82176 }
    82177 function _mrb_obj_value_991($0,$1) {
    82178  $0 = $0|0;
    82179  $1 = $1|0;
    82180  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    82181  sp = STACKTOP;
    82182  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    82183  $3 = sp;
    82184  $2 = $1;
    82185  $4 = $2;
    82186  $5 = HEAP32[$4>>2]|0;
    82187  $6 = $5 & 255;
    82188  $7 = ((($3)) + 4|0);
    82189  HEAP32[$7>>2] = $6;
    82190  $8 = $2;
    82191  HEAP32[$3>>2] = $8;
    82192  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    82193  STACKTOP = sp;return;
    82194 }
    82195 function _init_copy($0,$1,$2) {
    82196  $0 = $0|0;
    82197  $1 = $1|0;
    82198  $2 = $2|0;
    82199  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    82200  sp = STACKTOP;
    82201  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    82202  $$byval_copy4 = sp + 56|0;
    82203  $$byval_copy3 = sp + 48|0;
    82204  $$byval_copy2 = sp + 40|0;
    82205  $$byval_copy1 = sp + 32|0;
    82206  $$byval_copy = sp + 24|0;
    82207  $vararg_buffer = sp;
    82208  $4 = sp + 8|0;
    82209  $3 = $0;
    82210  $5 = ((($2)) + 4|0);
    82211  $6 = HEAP32[$5>>2]|0;
    82212  switch ($6|0) {
    82213  case 10: case 9:  {
    82214   $7 = $3;
    82215   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    82216   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
    82217   _copy_class($7,$$byval_copy,$$byval_copy1);
    82218   label = 3;
    82219   break;
    82220  }
    82221  case 18: case 21: case 15: case 12: case 8:  {
    82222   label = 3;
    82223   break;
    82224  }
    82225  default: {
    82226  }
    82227  }
    82228  if ((label|0) == 3) {
    82229   $8 = $3;
    82230   ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;
    82231   ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
    82232   _mrb_iv_copy($8,$$byval_copy2,$$byval_copy3);
    82233  }
    82234  $9 = $3;
    82235  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    82236  ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;
    82237  _mrb_funcall($4,$9,$$byval_copy4,69294,1,$vararg_buffer);
    82238  STACKTOP = sp;return;
    82239 }
    82240 function _copy_class($0,$1,$2) {
    82241  $0 = $0|0;
    82242  $1 = $1|0;
    82243  $2 = $2|0;
    82244  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    82245  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    82246  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    82247  var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    82248  sp = STACKTOP;
    82249  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    82250  $$byval_copy1 = sp + 64|0;
    82251  $$byval_copy = sp + 56|0;
    82252  $8 = sp + 24|0;
    82253  $9 = sp + 16|0;
    82254  $10 = sp + 8|0;
    82255  $11 = sp;
    82256  $3 = $0;
    82257  $12 = HEAP32[$1>>2]|0;
    82258  $4 = $12;
    82259  $13 = HEAP32[$2>>2]|0;
    82260  $5 = $13;
    82261  $14 = $5;
    82262  $15 = HEAP32[$14>>2]|0;
    82263  $16 = $15 >>> 11;
    82264  $17 = $16 & 524288;
    82265  $18 = ($17|0)!=(0);
    82266  if (!($18)) {
    82267   $54 = $3;
    82268   $55 = $5;
    82269   $56 = ((($55)) + 16|0);
    82270   $57 = HEAP32[$56>>2]|0;
    82271   $58 = (_kh_copy_mt($54,$57)|0);
    82272   $59 = $4;
    82273   $60 = ((($59)) + 16|0);
    82274   HEAP32[$60>>2] = $58;
    82275   $61 = $5;
    82276   $62 = ((($61)) + 20|0);
    82277   $63 = HEAP32[$62>>2]|0;
    82278   $64 = $4;
    82279   $65 = ((($64)) + 20|0);
    82280   HEAP32[$65>>2] = $63;
    82281   STACKTOP = sp;return;
    82282  }
    82283  $19 = $5;
    82284  $20 = ((($19)) + 20|0);
    82285  $21 = HEAP32[$20>>2]|0;
    82286  $6 = $21;
    82287  $22 = $4;
    82288  $7 = $22;
    82289  while(1) {
    82290   $23 = $6;
    82291   $24 = HEAP32[$23>>2]|0;
    82292   $25 = $24 >>> 11;
    82293   $26 = $25 & 1048576;
    82294   $27 = ($26|0)!=(0);
    82295   $28 = $27 ^ 1;
    82296   $29 = $3;
    82297   $30 = $6;
    82298   if (!($28)) {
    82299    break;
    82300   }
    82301   _mrb_obj_value_991($8,$30);
    82302   ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
    82303   _mrb_obj_dup($9,$29,$$byval_copy);
    82304   $31 = HEAP32[$9>>2]|0;
    82305   $32 = $7;
    82306   $33 = ((($32)) + 20|0);
    82307   HEAP32[$33>>2] = $31;
    82308   $34 = $7;
    82309   $35 = ((($34)) + 20|0);
    82310   $36 = HEAP32[$35>>2]|0;
    82311   $7 = $36;
    82312   $37 = $6;
    82313   $38 = ((($37)) + 20|0);
    82314   $39 = HEAP32[$38>>2]|0;
    82315   $6 = $39;
    82316  }
    82317  _mrb_obj_value_991($10,$30);
    82318  ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
    82319  _mrb_obj_dup($11,$29,$$byval_copy1);
    82320  $40 = HEAP32[$11>>2]|0;
    82321  $41 = $7;
    82322  $42 = ((($41)) + 20|0);
    82323  HEAP32[$42>>2] = $40;
    82324  $43 = $7;
    82325  $44 = ((($43)) + 20|0);
    82326  $45 = HEAP32[$44>>2]|0;
    82327  $46 = HEAP32[$45>>2]|0;
    82328  $47 = $46 >>> 11;
    82329  $48 = $47 | 1048576;
    82330  $49 = HEAP32[$45>>2]|0;
    82331  $50 = $48 & 2097151;
    82332  $51 = $50 << 11;
    82333  $52 = $49 & 2047;
    82334  $53 = $52 | $51;
    82335  HEAP32[$45>>2] = $53;
    82336  $54 = $3;
    82337  $55 = $5;
    82338  $56 = ((($55)) + 16|0);
    82339  $57 = HEAP32[$56>>2]|0;
    82340  $58 = (_kh_copy_mt($54,$57)|0);
    82341  $59 = $4;
    82342  $60 = ((($59)) + 16|0);
    82343  HEAP32[$60>>2] = $58;
    82344  $61 = $5;
    82345  $62 = ((($61)) + 20|0);
    82346  $63 = HEAP32[$62>>2]|0;
    82347  $64 = $4;
    82348  $65 = ((($64)) + 20|0);
    82349  HEAP32[$65>>2] = $63;
    82350  STACKTOP = sp;return;
    82351 }
    82352 function _mrb_obj_dup($0,$1,$2) {
    82353  $0 = $0|0;
    82354  $1 = $1|0;
    82355  $2 = $2|0;
    82356  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
    82357  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    82358  sp = STACKTOP;
    82359  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    82360  $$byval_copy2 = sp + 48|0;
    82361  $$byval_copy1 = sp + 40|0;
    82362  $$byval_copy = sp + 32|0;
    82363  $vararg_buffer = sp;
    82364  $5 = sp + 16|0;
    82365  $6 = sp + 8|0;
    82366  $3 = $1;
    82367  $7 = ((($2)) + 4|0);
    82368  $8 = HEAP32[$7>>2]|0;
    82369  $9 = ($8>>>0)<(8);
    82370  if ($9) {
    82371   $10 = $3;
    82372   $11 = $3;
    82373   $12 = (_mrb_class_get($11,69204)|0);
    82374   ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    82375   _mrb_raisef($10,$12,68198,$vararg_buffer);
    82376   // unreachable;
    82377  }
    82378  $13 = ((($2)) + 4|0);
    82379  $14 = HEAP32[$13>>2]|0;
    82380  $15 = ($14|0)==(12);
    82381  $16 = $3;
    82382  if ($15) {
    82383   $17 = $3;
    82384   $18 = (_mrb_class_get($17,69204)|0);
    82385   _mrb_raise($16,$18,68211);
    82386   // unreachable;
    82387  } else {
    82388   $19 = ((($2)) + 4|0);
    82389   $20 = HEAP32[$19>>2]|0;
    82390   $21 = $3;
    82391   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    82392   $22 = (_mrb_obj_class($21,$$byval_copy)|0);
    82393   $23 = (_mrb_obj_alloc($16,$20,$22)|0);
    82394   $4 = $23;
    82395   $24 = $4;
    82396   _mrb_obj_value_991($6,$24);
    82397   ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
    82398   $25 = $3;
    82399   ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
    82400   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    82401   _init_copy($25,$$byval_copy1,$$byval_copy2);
    82402   ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    82403   STACKTOP = sp;return;
    82404  }
    82405 }
    82406 function _mrb_obj_hash($0,$1,$2) {
    82407  $0 = $0|0;
    82408  $1 = $1|0;
    82409  $2 = $2|0;
    82410  var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    82411  sp = STACKTOP;
    82412  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    82413  $$byval_copy = sp + 8|0;
    82414  $3 = $1;
    82415  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    82416  $4 = (_mrb_obj_id($$byval_copy)|0);
    82417  _mrb_fixnum_value_996($0,$4);
    82418  STACKTOP = sp;return;
    82419 }
    82420 function _mrb_fixnum_value_996($0,$1) {
    82421  $0 = $0|0;
    82422  $1 = $1|0;
    82423  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    82424  sp = STACKTOP;
    82425  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    82426  $3 = sp;
    82427  $2 = $1;
    82428  $4 = ((($3)) + 4|0);
    82429  HEAP32[$4>>2] = 3;
    82430  $5 = $2;
    82431  HEAP32[$3>>2] = $5;
    82432  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    82433  STACKTOP = sp;return;
    82434 }
    82435 function _mrb_obj_is_instance_of($0,$1,$2) {
    82436  $0 = $0|0;
    82437  $1 = $1|0;
    82438  $2 = $2|0;
    82439  var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    82440  sp = STACKTOP;
    82441  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    82442  $$byval_copy = sp + 8|0;
    82443  $4 = $0;
    82444  $5 = $2;
    82445  $6 = $4;
    82446  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    82447  $7 = (_mrb_obj_class($6,$$byval_copy)|0);
    82448  $8 = $5;
    82449  $9 = ($7|0)==($8|0);
    82450  if ($9) {
    82451   $3 = 1;
    82452   $10 = $3;
    82453   STACKTOP = sp;return ($10|0);
    82454  } else {
    82455   $3 = 0;
    82456   $10 = $3;
    82457   STACKTOP = sp;return ($10|0);
    82458  }
    82459  return (0)|0;
    82460 }
    82461 function _kh_alloc_st($0,$1) {
    82462  $0 = $0|0;
    82463  $1 = $1|0;
    82464  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    82465  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    82466  sp = STACKTOP;
    82467  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    82468  $2 = $0;
    82469  $3 = $1;
    82470  $7 = $3;
    82471  $8 = HEAP32[$7>>2]|0;
    82472  $4 = $8;
    82473  $5 = 4;
    82474  $9 = $2;
    82475  $10 = $4;
    82476  $11 = $10;
    82477  $12 = (($11>>>0) / 4)&-1;
    82478  $13 = $5;
    82479  $14 = $4;
    82480  $15 = Math_imul($13, $14)|0;
    82481  $16 = (($12) + ($15))|0;
    82482  $17 = (_mrb_malloc($9,$16)|0);
    82483  $6 = $17;
    82484  $18 = $3;
    82485  $19 = ((($18)) + 8|0);
    82486  HEAP32[$19>>2] = 0;
    82487  $20 = $3;
    82488  $21 = ((($20)) + 4|0);
    82489  HEAP32[$21>>2] = 0;
    82490  $22 = $6;
    82491  $23 = $3;
    82492  $24 = ((($23)) + 16|0);
    82493  HEAP32[$24>>2] = $22;
    82494  $25 = $3;
    82495  $26 = ((($25)) + 20|0);
    82496  HEAP32[$26>>2] = 0;
    82497  $27 = $6;
    82498  $28 = $5;
    82499  $29 = $4;
    82500  $30 = Math_imul($28, $29)|0;
    82501  $31 = (($27) + ($30)|0);
    82502  $32 = $3;
    82503  $33 = ((($32)) + 12|0);
    82504  HEAP32[$33>>2] = $31;
    82505  $34 = $3;
    82506  $35 = ((($34)) + 12|0);
    82507  $36 = HEAP32[$35>>2]|0;
    82508  $37 = $4;
    82509  $38 = (($37>>>0) / 4)&-1;
    82510  _kh_fill_flags_997($36,-86,$38);
    82511  STACKTOP = sp;return;
    82512 }
    82513 function _kh_fill_flags_997($0,$1,$2) {
    82514  $0 = $0|0;
    82515  $1 = $1|0;
    82516  $2 = $2|0;
    82517  var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    82518  sp = STACKTOP;
    82519  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    82520  $3 = $0;
    82521  $4 = $1;
    82522  $5 = $2;
    82523  while(1) {
    82524   $6 = $5;
    82525   $7 = (($6) + -1)|0;
    82526   $5 = $7;
    82527   $8 = ($6>>>0)>(0);
    82528   if (!($8)) {
    82529    break;
    82530   }
    82531   $9 = $4;
    82532   $10 = $3;
    82533   $11 = ((($10)) + 1|0);
    82534   $3 = $11;
    82535   HEAP8[$10>>0] = $9;
    82536  }
    82537  STACKTOP = sp;return;
    82538 }
    82539 function _kh_init_st_size($0,$1) {
    82540  $0 = $0|0;
    82541  $1 = $1|0;
    82542  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    82543  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    82544  sp = STACKTOP;
    82545  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    82546  $2 = $0;
    82547  $3 = $1;
    82548  $5 = $2;
    82549  $6 = (_mrb_calloc($5,1,24)|0);
    82550  $4 = $6;
    82551  $7 = $3;
    82552  $8 = ($7>>>0)<(8);
    82553  if ($8) {
    82554   $3 = 8;
    82555  }
    82556  $9 = $3;
    82557  $10 = (($9) + -1)|0;
    82558  $3 = $10;
    82559  $11 = $3;
    82560  $12 = $11 >>> 1;
    82561  $13 = $3;
    82562  $14 = $13 | $12;
    82563  $3 = $14;
    82564  $15 = $3;
    82565  $16 = $15 >>> 2;
    82566  $17 = $3;
    82567  $18 = $17 | $16;
    82568  $3 = $18;
    82569  $19 = $3;
    82570  $20 = $19 >>> 4;
    82571  $21 = $3;
    82572  $22 = $21 | $20;
    82573  $3 = $22;
    82574  $23 = $3;
    82575  $24 = $23 >>> 8;
    82576  $25 = $3;
    82577  $26 = $25 | $24;
    82578  $3 = $26;
    82579  $27 = $3;
    82580  $28 = $27 >>> 16;
    82581  $29 = $3;
    82582  $30 = $29 | $28;
    82583  $3 = $30;
    82584  $31 = $3;
    82585  $32 = (($31) + 1)|0;
    82586  $3 = $32;
    82587  $33 = $3;
    82588  $34 = $4;
    82589  HEAP32[$34>>2] = $33;
    82590  $35 = $2;
    82591  $36 = $4;
    82592  _kh_alloc_st($35,$36);
    82593  $37 = $4;
    82594  STACKTOP = sp;return ($37|0);
    82595 }
    82596 function _kh_init_st($0) {
    82597  $0 = $0|0;
    82598  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    82599  sp = STACKTOP;
    82600  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    82601  $1 = $0;
    82602  $2 = $1;
    82603  $3 = (_kh_init_st_size($2,8)|0);
    82604  STACKTOP = sp;return ($3|0);
    82605 }
    82606 function _kh_destroy_st($0,$1) {
    82607  $0 = $0|0;
    82608  $1 = $1|0;
    82609  var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    82610  sp = STACKTOP;
    82611  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    82612  $2 = $0;
    82613  $3 = $1;
    82614  $4 = $3;
    82615  $5 = ($4|0)!=(0|0);
    82616  if (!($5)) {
    82617   STACKTOP = sp;return;
    82618  }
    82619  $6 = $2;
    82620  $7 = $3;
    82621  $8 = ((($7)) + 16|0);
    82622  $9 = HEAP32[$8>>2]|0;
    82623  _mrb_free($6,$9);
    82624  $10 = $2;
    82625  $11 = $3;
    82626  _mrb_free($10,$11);
    82627  STACKTOP = sp;return;
    82628 }
    82629 function _kh_resize_st($0,$1,$2) {
    82630  $0 = $0|0;
    82631  $1 = $1|0;
    82632  $2 = $2|0;
    82633  var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    82634  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    82635  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    82636  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    82637  sp = STACKTOP;
    82638  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    82639  $6 = sp + 24|0;
    82640  $3 = $0;
    82641  $4 = $1;
    82642  $5 = $2;
    82643  $13 = $5;
    82644  $14 = ($13>>>0)<(8);
    82645  $$ = $14 ? 8 : $2;
    82646  $5 = $$;
    82647  $15 = $5;
    82648  $16 = (($15) + -1)|0;
    82649  $5 = $16;
    82650  $17 = $5;
    82651  $18 = $17 >>> 1;
    82652  $19 = $5;
    82653  $20 = $19 | $18;
    82654  $5 = $20;
    82655  $21 = $5;
    82656  $22 = $21 >>> 2;
    82657  $23 = $5;
    82658  $24 = $23 | $22;
    82659  $5 = $24;
    82660  $25 = $5;
    82661  $26 = $25 >>> 4;
    82662  $27 = $5;
    82663  $28 = $27 | $26;
    82664  $5 = $28;
    82665  $29 = $5;
    82666  $30 = $29 >>> 8;
    82667  $31 = $5;
    82668  $32 = $31 | $30;
    82669  $5 = $32;
    82670  $33 = $5;
    82671  $34 = $33 >>> 16;
    82672  $35 = $5;
    82673  $36 = $35 | $34;
    82674  $5 = $36;
    82675  $37 = $5;
    82676  $38 = (($37) + 1)|0;
    82677  $5 = $38;
    82678  $39 = $4;
    82679  $40 = ((($39)) + 12|0);
    82680  $41 = HEAP32[$40>>2]|0;
    82681  $7 = $41;
    82682  $42 = $4;
    82683  $43 = ((($42)) + 16|0);
    82684  $44 = HEAP32[$43>>2]|0;
    82685  $8 = $44;
    82686  $45 = $4;
    82687  $46 = ((($45)) + 20|0);
    82688  $47 = HEAP32[$46>>2]|0;
    82689  $9 = $47;
    82690  $48 = $4;
    82691  $49 = HEAP32[$48>>2]|0;
    82692  $10 = $49;
    82693  $50 = $5;
    82694  HEAP32[$6>>2] = $50;
    82695  $51 = $3;
    82696  _kh_alloc_st($51,$6);
    82697  $11 = 0;
    82698  while(1) {
    82699   $52 = $11;
    82700   $53 = $10;
    82701   $54 = ($52>>>0)<($53>>>0);
    82702   if (!($54)) {
    82703    break;
    82704   }
    82705   $55 = $7;
    82706   $56 = $11;
    82707   $57 = (($56>>>0) / 4)&-1;
    82708   $58 = (($55) + ($57)|0);
    82709   $59 = HEAP8[$58>>0]|0;
    82710   $60 = $59&255;
    82711   $61 = $11;
    82712   $62 = (($61>>>0) % 4)&-1;
    82713   $63 = (68258 + ($62)|0);
    82714   $64 = HEAP8[$63>>0]|0;
    82715   $65 = $64&255;
    82716   $66 = $60 & $65;
    82717   $67 = ($66|0)!=(0);
    82718   if (!($67)) {
    82719    $68 = $3;
    82720    $69 = $8;
    82721    $70 = $11;
    82722    $71 = (($69) + ($70<<2)|0);
    82723    $72 = HEAP32[$71>>2]|0;
    82724    $73 = (_kh_put_st($68,$6,$72,0)|0);
    82725    $12 = $73;
    82726   }
    82727   $74 = $11;
    82728   $75 = (($74) + 1)|0;
    82729   $11 = $75;
    82730  }
    82731  $76 = $4;
    82732  ;HEAP32[$76>>2]=HEAP32[$6>>2]|0;HEAP32[$76+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$76+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$76+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$76+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$76+20>>2]=HEAP32[$6+20>>2]|0;
    82733  $77 = $3;
    82734  $78 = $8;
    82735  _mrb_free($77,$78);
    82736  STACKTOP = sp;return;
    82737 }
    82738 function _kh_put_st($0,$1,$2,$3) {
    82739  $0 = $0|0;
    82740  $1 = $1|0;
    82741  $2 = $2|0;
    82742  $3 = $3|0;
    82743  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    82744  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    82745  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    82746  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    82747  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    82748  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    82749  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    82750  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    82751  sp = STACKTOP;
    82752  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    82753  $5 = $0;
    82754  $6 = $1;
    82755  $7 = $2;
    82756  $8 = $3;
    82757  $11 = 0;
    82758  $12 = $6;
    82759  $13 = ((($12)) + 8|0);
    82760  $14 = HEAP32[$13>>2]|0;
    82761  $15 = $6;
    82762  $16 = HEAP32[$15>>2]|0;
    82763  $17 = $16 >>> 2;
    82764  $18 = $6;
    82765  $19 = HEAP32[$18>>2]|0;
    82766  $20 = $19 >>> 1;
    82767  $21 = $17 | $20;
    82768  $22 = ($14>>>0)>=($21>>>0);
    82769  if ($22) {
    82770   $23 = $5;
    82771   $24 = $6;
    82772   $25 = $6;
    82773   $26 = HEAP32[$25>>2]|0;
    82774   $27 = $26<<1;
    82775   _kh_resize_st($23,$24,$27);
    82776  }
    82777  $28 = $7;
    82778  $29 = $7;
    82779  $30 = $29 << 2;
    82780  $31 = $28 ^ $30;
    82781  $32 = $7;
    82782  $33 = $32 >>> 2;
    82783  $34 = $31 ^ $33;
    82784  $35 = $6;
    82785  $36 = HEAP32[$35>>2]|0;
    82786  $37 = (($36) - 1)|0;
    82787  $38 = $34 & $37;
    82788  $9 = $38;
    82789  $39 = $6;
    82790  $40 = HEAP32[$39>>2]|0;
    82791  $10 = $40;
    82792  while(1) {
    82793   $41 = $6;
    82794   $42 = ((($41)) + 12|0);
    82795   $43 = HEAP32[$42>>2]|0;
    82796   $44 = $9;
    82797   $45 = (($44>>>0) / 4)&-1;
    82798   $46 = (($43) + ($45)|0);
    82799   $47 = HEAP8[$46>>0]|0;
    82800   $48 = $47&255;
    82801   $49 = $9;
    82802   $50 = (($49>>>0) % 4)&-1;
    82803   $51 = (68250 + ($50)|0);
    82804   $52 = HEAP8[$51>>0]|0;
    82805   $53 = $52&255;
    82806   $54 = $48 & $53;
    82807   $55 = ($54|0)!=(0);
    82808   $56 = $55 ^ 1;
    82809   if (!($56)) {
    82810    break;
    82811   }
    82812   $57 = $6;
    82813   $58 = ((($57)) + 12|0);
    82814   $59 = HEAP32[$58>>2]|0;
    82815   $60 = $9;
    82816   $61 = (($60>>>0) / 4)&-1;
    82817   $62 = (($59) + ($61)|0);
    82818   $63 = HEAP8[$62>>0]|0;
    82819   $64 = $63&255;
    82820   $65 = $9;
    82821   $66 = (($65>>>0) % 4)&-1;
    82822   $67 = (68254 + ($66)|0);
    82823   $68 = HEAP8[$67>>0]|0;
    82824   $69 = $68&255;
    82825   $70 = $64 & $69;
    82826   $71 = ($70|0)!=(0);
    82827   if ($71) {
    82828    $84 = $10;
    82829    $85 = $6;
    82830    $86 = HEAP32[$85>>2]|0;
    82831    $87 = ($84|0)==($86|0);
    82832    if ($87) {
    82833     $88 = $9;
    82834     $10 = $88;
    82835    }
    82836   } else {
    82837    $72 = $6;
    82838    $73 = ((($72)) + 16|0);
    82839    $74 = HEAP32[$73>>2]|0;
    82840    $75 = $9;
    82841    $76 = (($74) + ($75<<2)|0);
    82842    $77 = HEAP32[$76>>2]|0;
    82843    $78 = $7;
    82844    $79 = ($77|0)==($78|0);
    82845    if ($79) {
    82846     label = 7;
    82847     break;
    82848    }
    82849   }
    82850   $89 = $9;
    82851   $90 = $11;
    82852   $91 = (($90) + 1)|0;
    82853   $11 = $91;
    82854   $92 = (($89) + ($91))|0;
    82855   $93 = $6;
    82856   $94 = HEAP32[$93>>2]|0;
    82857   $95 = (($94) - 1)|0;
    82858   $96 = $92 & $95;
    82859   $9 = $96;
    82860  }
    82861  if ((label|0) == 7) {
    82862   $80 = $8;
    82863   $81 = ($80|0)!=(0|0);
    82864   if ($81) {
    82865    $82 = $8;
    82866    HEAP32[$82>>2] = 0;
    82867   }
    82868   $83 = $9;
    82869   $4 = $83;
    82870   $161 = $4;
    82871   STACKTOP = sp;return ($161|0);
    82872  }
    82873  $97 = $10;
    82874  $98 = $6;
    82875  $99 = HEAP32[$98>>2]|0;
    82876  $100 = ($97|0)!=($99|0);
    82877  $101 = $7;
    82878  $102 = $6;
    82879  $103 = ((($102)) + 16|0);
    82880  $104 = HEAP32[$103>>2]|0;
    82881  if ($100) {
    82882   $105 = $10;
    82883   $106 = (($104) + ($105<<2)|0);
    82884   HEAP32[$106>>2] = $101;
    82885   $107 = $10;
    82886   $108 = (($107>>>0) % 4)&-1;
    82887   $109 = (68254 + ($108)|0);
    82888   $110 = HEAP8[$109>>0]|0;
    82889   $111 = $110&255;
    82890   $112 = $111 ^ -1;
    82891   $113 = $6;
    82892   $114 = ((($113)) + 12|0);
    82893   $115 = HEAP32[$114>>2]|0;
    82894   $116 = $10;
    82895   $117 = (($116>>>0) / 4)&-1;
    82896   $118 = (($115) + ($117)|0);
    82897   $119 = HEAP8[$118>>0]|0;
    82898   $120 = $119&255;
    82899   $121 = $120 & $112;
    82900   $122 = $121&255;
    82901   HEAP8[$118>>0] = $122;
    82902   $123 = $6;
    82903   $124 = ((($123)) + 4|0);
    82904   $125 = HEAP32[$124>>2]|0;
    82905   $126 = (($125) + 1)|0;
    82906   HEAP32[$124>>2] = $126;
    82907   $127 = $8;
    82908   $128 = ($127|0)!=(0|0);
    82909   if ($128) {
    82910    $129 = $8;
    82911    HEAP32[$129>>2] = 2;
    82912   }
    82913   $130 = $10;
    82914   $4 = $130;
    82915   $161 = $4;
    82916   STACKTOP = sp;return ($161|0);
    82917  } else {
    82918   $131 = $9;
    82919   $132 = (($104) + ($131<<2)|0);
    82920   HEAP32[$132>>2] = $101;
    82921   $133 = $9;
    82922   $134 = (($133>>>0) % 4)&-1;
    82923   $135 = (68250 + ($134)|0);
    82924   $136 = HEAP8[$135>>0]|0;
    82925   $137 = $136&255;
    82926   $138 = $137 ^ -1;
    82927   $139 = $6;
    82928   $140 = ((($139)) + 12|0);
    82929   $141 = HEAP32[$140>>2]|0;
    82930   $142 = $9;
    82931   $143 = (($142>>>0) / 4)&-1;
    82932   $144 = (($141) + ($143)|0);
    82933   $145 = HEAP8[$144>>0]|0;
    82934   $146 = $145&255;
    82935   $147 = $146 & $138;
    82936   $148 = $147&255;
    82937   HEAP8[$144>>0] = $148;
    82938   $149 = $6;
    82939   $150 = ((($149)) + 4|0);
    82940   $151 = HEAP32[$150>>2]|0;
    82941   $152 = (($151) + 1)|0;
    82942   HEAP32[$150>>2] = $152;
    82943   $153 = $6;
    82944   $154 = ((($153)) + 8|0);
    82945   $155 = HEAP32[$154>>2]|0;
    82946   $156 = (($155) + 1)|0;
    82947   HEAP32[$154>>2] = $156;
    82948   $157 = $8;
    82949   $158 = ($157|0)!=(0|0);
    82950   if ($158) {
    82951    $159 = $8;
    82952    HEAP32[$159>>2] = 1;
    82953   }
    82954   $160 = $9;
    82955   $4 = $160;
    82956   $161 = $4;
    82957   STACKTOP = sp;return ($161|0);
    82958  }
    82959  return (0)|0;
    82960 }
    82961 function _mrb_class_instance_method_list($0,$1,$2,$3,$4) {
    82962  $0 = $0|0;
    82963  $1 = $1|0;
    82964  $2 = $2|0;
    82965  $3 = $3|0;
    82966  $4 = $4|0;
    82967  var $$byval_copy = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    82968  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    82969  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    82970  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
    82971  var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
    82972  sp = STACKTOP;
    82973  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    82974  $$byval_copy4 = sp + 56|0;
    82975  $$byval_copy = sp + 48|0;
    82976  $10 = sp + 24|0;
    82977  $14 = sp + 8|0;
    82978  $15 = sp;
    82979  $5 = $1;
    82980  $6 = $2;
    82981  $7 = $3;
    82982  $8 = $4;
    82983  $11 = 0;
    82984  $16 = $5;
    82985  $17 = (_kh_init_st($16)|0);
    82986  $13 = $17;
    82987  $18 = $6;
    82988  $19 = ($18<<24>>24)!=(0);
    82989  if (!($19)) {
    82990   $20 = $7;
    82991   $21 = HEAP32[$20>>2]|0;
    82992   $22 = $21 >>> 11;
    82993   $23 = $22 & 524288;
    82994   $24 = ($23|0)!=(0);
    82995   if ($24) {
    82996    $25 = $7;
    82997    $26 = HEAP32[$25>>2]|0;
    82998    $27 = $26 >>> 11;
    82999    $28 = $27 & 524288;
    83000    $29 = ($28|0)!=(0);
    83001    L4: do {
    83002     if ($29) {
    83003      $30 = $7;
    83004      $31 = ((($30)) + 20|0);
    83005      $32 = HEAP32[$31>>2]|0;
    83006      $7 = $32;
    83007      while(1) {
    83008       $33 = $7;
    83009       $34 = HEAP32[$33>>2]|0;
    83010       $35 = $34 >>> 11;
    83011       $36 = $35 & 1048576;
    83012       $37 = ($36|0)!=(0);
    83013       $38 = $37 ^ 1;
    83014       if (!($38)) {
    83015        break L4;
    83016       }
    83017       $39 = $7;
    83018       $40 = ((($39)) + 20|0);
    83019       $41 = HEAP32[$40>>2]|0;
    83020       $7 = $41;
    83021      }
    83022     }
    83023    } while(0);
    83024    $11 = 1;
    83025   }
    83026  }
    83027  $12 = 0;
    83028  while(1) {
    83029   $42 = $7;
    83030   $43 = ($42|0)!=(0|0);
    83031   if (!($43)) {
    83032    break;
    83033   }
    83034   $44 = $7;
    83035   $45 = $12;
    83036   $46 = ($44|0)!=($45|0);
    83037   if (!($46)) {
    83038    break;
    83039   }
    83040   $47 = $5;
    83041   $48 = $7;
    83042   $49 = $13;
    83043   _method_entry_loop($47,$48,$49);
    83044   $50 = $7;
    83045   $51 = HEAP32[$50>>2]|0;
    83046   $52 = $51 & 255;
    83047   $53 = ($52|0)!=(11);
    83048   $54 = $11;
    83049   $55 = ($54<<24>>24)!=(0);
    83050   $or$cond = $53 | $55;
    83051   if ($or$cond) {
    83052    $56 = $7;
    83053    $57 = HEAP32[$56>>2]|0;
    83054    $58 = $57 & 255;
    83055    $59 = ($58|0)==(12);
    83056    $60 = $6;
    83057    $61 = ($60<<24>>24)!=(0);
    83058    $or$cond3 = $59 | $61;
    83059    if (!($or$cond3)) {
    83060     break;
    83061    }
    83062   }
    83063   $62 = $7;
    83064   $12 = $62;
    83065   $63 = $7;
    83066   $64 = ((($63)) + 20|0);
    83067   $65 = HEAP32[$64>>2]|0;
    83068   $7 = $65;
    83069  }
    83070  $66 = $5;
    83071  _mrb_ary_new($14,$66);
    83072  ;HEAP32[$10>>2]=HEAP32[$14>>2]|0;HEAP32[$10+4>>2]=HEAP32[$14+4>>2]|0;
    83073  $9 = 0;
    83074  while(1) {
    83075   $67 = $9;
    83076   $68 = $13;
    83077   $69 = HEAP32[$68>>2]|0;
    83078   $70 = ($67>>>0)<($69>>>0);
    83079   if (!($70)) {
    83080    break;
    83081   }
    83082   $71 = $13;
    83083   $72 = ((($71)) + 12|0);
    83084   $73 = HEAP32[$72>>2]|0;
    83085   $74 = $9;
    83086   $75 = (($74>>>0) / 4)&-1;
    83087   $76 = (($73) + ($75)|0);
    83088   $77 = HEAP8[$76>>0]|0;
    83089   $78 = $77&255;
    83090   $79 = $9;
    83091   $80 = (($79>>>0) % 4)&-1;
    83092   $81 = (68258 + ($80)|0);
    83093   $82 = HEAP8[$81>>0]|0;
    83094   $83 = $82&255;
    83095   $84 = $78 & $83;
    83096   $85 = ($84|0)!=(0);
    83097   if (!($85)) {
    83098    $86 = $5;
    83099    $87 = $13;
    83100    $88 = ((($87)) + 16|0);
    83101    $89 = HEAP32[$88>>2]|0;
    83102    $90 = $9;
    83103    $91 = (($89) + ($90<<2)|0);
    83104    $92 = HEAP32[$91>>2]|0;
    83105    _mrb_symbol_value_1003($15,$92);
    83106    ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
    83107    ;HEAP32[$$byval_copy4>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$15+4>>2]|0;
    83108    _mrb_ary_push($86,$$byval_copy,$$byval_copy4);
    83109   }
    83110   $93 = $9;
    83111   $94 = (($93) + 1)|0;
    83112   $9 = $94;
    83113  }
    83114  $95 = $5;
    83115  $96 = $13;
    83116  _kh_destroy_st($95,$96);
    83117  ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
    83118  STACKTOP = sp;return;
    83119 }
    83120 function _method_entry_loop($0,$1,$2) {
    83121  $0 = $0|0;
    83122  $1 = $1|0;
    83123  $2 = $2|0;
    83124  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    83125  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    83126  var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    83127  sp = STACKTOP;
    83128  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    83129  $3 = $0;
    83130  $4 = $1;
    83131  $5 = $2;
    83132  $8 = $4;
    83133  $9 = ((($8)) + 16|0);
    83134  $10 = HEAP32[$9>>2]|0;
    83135  $7 = $10;
    83136  $11 = $7;
    83137  $12 = ($11|0)!=(0|0);
    83138  if (!($12)) {
    83139   STACKTOP = sp;return;
    83140  }
    83141  $6 = 0;
    83142  while(1) {
    83143   $13 = $6;
    83144   $14 = $7;
    83145   $15 = HEAP32[$14>>2]|0;
    83146   $16 = ($13>>>0)<($15>>>0);
    83147   if (!($16)) {
    83148    break;
    83149   }
    83150   $17 = $7;
    83151   $18 = ((($17)) + 12|0);
    83152   $19 = HEAP32[$18>>2]|0;
    83153   $20 = $6;
    83154   $21 = (($20>>>0) / 4)&-1;
    83155   $22 = (($19) + ($21)|0);
    83156   $23 = HEAP8[$22>>0]|0;
    83157   $24 = $23&255;
    83158   $25 = $6;
    83159   $26 = (($25>>>0) % 4)&-1;
    83160   $27 = (68258 + ($26)|0);
    83161   $28 = HEAP8[$27>>0]|0;
    83162   $29 = $28&255;
    83163   $30 = $24 & $29;
    83164   $31 = ($30|0)!=(0);
    83165   if (!($31)) {
    83166    $32 = $7;
    83167    $33 = ((($32)) + 20|0);
    83168    $34 = HEAP32[$33>>2]|0;
    83169    $35 = $6;
    83170    $36 = (($34) + ($35<<2)|0);
    83171    $37 = HEAP32[$36>>2]|0;
    83172    $38 = ($37|0)!=(0|0);
    83173    if ($38) {
    83174     $39 = $3;
    83175     $40 = $5;
    83176     $41 = $7;
    83177     $42 = ((($41)) + 16|0);
    83178     $43 = HEAP32[$42>>2]|0;
    83179     $44 = $6;
    83180     $45 = (($43) + ($44<<2)|0);
    83181     $46 = HEAP32[$45>>2]|0;
    83182     (_kh_put_st($39,$40,$46,0)|0);
    83183    }
    83184   }
    83185   $47 = $6;
    83186   $48 = (($47) + 1)|0;
    83187   $6 = $48;
    83188  }
    83189  STACKTOP = sp;return;
    83190 }
    83191 function _mrb_symbol_value_1003($0,$1) {
    83192  $0 = $0|0;
    83193  $1 = $1|0;
    83194  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    83195  sp = STACKTOP;
    83196  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    83197  $3 = sp;
    83198  $2 = $1;
    83199  $4 = ((($3)) + 4|0);
    83200  HEAP32[$4>>2] = 4;
    83201  $5 = $2;
    83202  HEAP32[$3>>2] = $5;
    83203  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    83204  STACKTOP = sp;return;
    83205 }
    83206 function _mrb_f_raise($0,$1,$2) {
    83207  $0 = $0|0;
    83208  $1 = $1|0;
    83209  $2 = $2|0;
    83210  var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    83211  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
    83212  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    83213  sp = STACKTOP;
    83214  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    83215  $$byval_copy3 = sp + 96|0;
    83216  $$byval_copy2 = sp + 88|0;
    83217  $$byval_copy = sp + 80|0;
    83218  $vararg_buffer = sp;
    83219  $4 = sp + 56|0;
    83220  $5 = sp + 48|0;
    83221  $7 = sp + 32|0;
    83222  $8 = sp + 24|0;
    83223  $9 = sp + 16|0;
    83224  $10 = sp + 8|0;
    83225  $3 = $1;
    83226  $11 = $3;
    83227  $12 = ((($4)) + 8|0);
    83228  HEAP32[$vararg_buffer>>2] = $4;
    83229  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    83230  HEAP32[$vararg_ptr1>>2] = $12;
    83231  $13 = (_mrb_get_args($11,68262,$vararg_buffer)|0);
    83232  $6 = $13;
    83233  $14 = $6;
    83234  switch ($14|0) {
    83235  case 0:  {
    83236   $15 = $3;
    83237   $16 = $3;
    83238   $17 = (_mrb_class_get($16,68266)|0);
    83239   _mrb_raise($15,$17,75764);
    83240   // unreachable;
    83241   break;
    83242  }
    83243  case 1:  {
    83244   label = 3;
    83245   break;
    83246  }
    83247  default: {
    83248  }
    83249  }
    83250  do {
    83251   if ((label|0) == 3) {
    83252    $18 = ((($4)) + 8|0);
    83253    $19 = $3;
    83254    ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    83255    _mrb_check_string_type($7,$19,$$byval_copy);
    83256    ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;
    83257    $20 = ((($4)) + 8|0);
    83258    $21 = ((($20)) + 4|0);
    83259    $22 = HEAP32[$21>>2]|0;
    83260    $23 = ($22|0)==(0);
    83261    if ($23) {
    83262     $24 = ((($4)) + 8|0);
    83263     $25 = HEAP32[$24>>2]|0;
    83264     $26 = ($25|0)!=(0);
    83265     if (!($26)) {
    83266      break;
    83267     }
    83268    }
    83269    $6 = 2;
    83270    $27 = $3;
    83271    $28 = (_mrb_class_get($27,68266)|0);
    83272    _mrb_obj_value_991($8,$28);
    83273    ;HEAP32[$4>>2]=HEAP32[$8>>2]|0;HEAP32[$4+4>>2]=HEAP32[$8+4>>2]|0;
    83274   }
    83275  } while(0);
    83276  $29 = $3;
    83277  $30 = $6;
    83278  _mrb_make_exception($9,$29,$30,$4);
    83279  ;HEAP32[$5>>2]=HEAP32[$9>>2]|0;HEAP32[$5+4>>2]=HEAP32[$9+4>>2]|0;
    83280  $31 = $3;
    83281  $32 = HEAP32[$5>>2]|0;
    83282  $33 = $3;
    83283  $34 = (_mrb_intern_static($33,68279,6)|0);
    83284  $35 = $3;
    83285  $36 = $3;
    83286  $37 = ((($36)) + 12|0);
    83287  $38 = HEAP32[$37>>2]|0;
    83288  $39 = ((($38)) + 16|0);
    83289  $40 = HEAP32[$39>>2]|0;
    83290  $41 = ((($40)) + 28|0);
    83291  $42 = HEAP32[$41>>2]|0;
    83292  _mrb_cptr_value_1008($10,$35,$42);
    83293  ;HEAP32[$$byval_copy2>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$10+4>>2]|0;
    83294  _mrb_obj_iv_set($31,$32,$34,$$byval_copy2);
    83295  $43 = $3;
    83296  ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
    83297  _mrb_exc_raise($43,$$byval_copy3);
    83298  // unreachable;
    83299 }
    83300 function _mrb_cptr_value_1008($0,$1,$2) {
    83301  $0 = $0|0;
    83302  $1 = $1|0;
    83303  $2 = $2|0;
    83304  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
    83305  sp = STACKTOP;
    83306  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    83307  $5 = sp;
    83308  $3 = $1;
    83309  $4 = $2;
    83310  $6 = ((($5)) + 4|0);
    83311  HEAP32[$6>>2] = 7;
    83312  $7 = $4;
    83313  HEAP32[$5>>2] = $7;
    83314  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    83315  STACKTOP = sp;return;
    83316 }
    83317 function _mrb_init_kernel($0) {
    83318  $0 = $0|0;
    83319  var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0;
    83320  var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
    83321  var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
    83322  var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
    83323  var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
    83324  var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    83325  sp = STACKTOP;
    83326  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    83327  $1 = $0;
    83328  $3 = $1;
    83329  $4 = (_mrb_define_module($3,69662)|0);
    83330  $2 = $4;
    83331  $5 = $1;
    83332  $6 = ((($5)) + 84|0);
    83333  HEAP32[$6>>2] = $4;
    83334  $7 = $1;
    83335  $8 = $2;
    83336  _mrb_define_class_method($7,$8,68286,283,0);
    83337  $9 = $1;
    83338  $10 = $2;
    83339  _mrb_define_class_method($9,$10,68299,284,0);
    83340  $11 = $1;
    83341  $12 = $2;
    83342  _mrb_define_class_method($11,$12,68316,283,0);
    83343  $13 = $1;
    83344  $14 = $2;
    83345  _mrb_define_class_method($13,$14,68326,285,0);
    83346  $15 = $1;
    83347  $16 = $2;
    83348  _mrb_define_class_method($15,$16,68342,286,16384);
    83349  $17 = $1;
    83350  $18 = $2;
    83351  _mrb_define_method($17,$18,68348,199,0);
    83352  $19 = $1;
    83353  $20 = $2;
    83354  _mrb_define_method($19,$20,69201,287,262144);
    83355  $21 = $1;
    83356  $22 = $2;
    83357  _mrb_define_method($21,$22,68364,288,262144);
    83358  $23 = $1;
    83359  $24 = $2;
    83360  _mrb_define_method($23,$24,69591,289,262144);
    83361  $25 = $1;
    83362  $26 = $2;
    83363  _mrb_define_method($25,$26,68367,290,0);
    83364  $27 = $1;
    83365  $28 = $2;
    83366  _mrb_define_method($27,$28,68374,291,4096);
    83367  $29 = $1;
    83368  $30 = $2;
    83369  _mrb_define_method($29,$30,68286,283,0);
    83370  $31 = $1;
    83371  $32 = $2;
    83372  _mrb_define_method($31,$32,68383,292,0);
    83373  $33 = $1;
    83374  $34 = $2;
    83375  _mrb_define_method($33,$34,68389,293,0);
    83376  $35 = $1;
    83377  $36 = $2;
    83378  _mrb_define_method($35,$36,68395,294,0);
    83379  $37 = $1;
    83380  $38 = $2;
    83381  _mrb_define_method($37,$38,69289,287,262144);
    83382  $39 = $1;
    83383  $40 = $2;
    83384  _mrb_define_method($39,$40,68399,287,262144);
    83385  $41 = $1;
    83386  $42 = $2;
    83387  _mrb_define_method($41,$42,68406,295,4096);
    83388  $43 = $1;
    83389  $44 = $2;
    83390  _mrb_define_method($43,$44,68299,284,0);
    83391  $45 = $1;
    83392  $46 = $2;
    83393  _mrb_define_method($45,$46,68413,296,0);
    83394  $47 = $1;
    83395  $48 = $2;
    83396  _mrb_define_method($47,$48,69294,297,262144);
    83397  $49 = $1;
    83398  $50 = $2;
    83399  _mrb_define_method($49,$50,69281,298,0);
    83400  $51 = $1;
    83401  $52 = $2;
    83402  _mrb_define_method($51,$52,68418,299,4096);
    83403  $53 = $1;
    83404  $54 = $2;
    83405  _mrb_define_method($53,$54,68432,300,262144);
    83406  $55 = $1;
    83407  $56 = $2;
    83408  _mrb_define_method($55,$56,68445,301,262144);
    83409  $57 = $1;
    83410  $58 = $2;
    83411  _mrb_define_method($57,$58,68472,302,262144);
    83412  $59 = $1;
    83413  $60 = $2;
    83414  _mrb_define_method($59,$60,68494,303,524288);
    83415  $61 = $1;
    83416  $62 = $2;
    83417  _mrb_define_method($61,$62,68516,304,0);
    83418  $63 = $1;
    83419  $64 = $2;
    83420  _mrb_define_method($63,$64,68535,305,262144);
    83421  $65 = $1;
    83422  $66 = $2;
    83423  _mrb_define_method($65,$66,68316,283,0);
    83424  $67 = $1;
    83425  $68 = $2;
    83426  _mrb_define_method($67,$68,68541,305,262144);
    83427  $69 = $1;
    83428  $70 = $2;
    83429  _mrb_define_method($69,$70,68326,285,0);
    83430  $71 = $1;
    83431  $72 = $2;
    83432  _mrb_define_method($71,$72,68550,306,8192);
    83433  $73 = $1;
    83434  $74 = $2;
    83435  _mrb_define_method($73,$74,68558,307,0);
    83436  $75 = $1;
    83437  $76 = $2;
    83438  _mrb_define_method($75,$76,68563,290,0);
    83439  $77 = $1;
    83440  $78 = $2;
    83441  _mrb_define_method($77,$78,68573,308,8192);
    83442  $79 = $1;
    83443  $80 = $2;
    83444  _mrb_define_method($79,$80,68589,309,8192);
    83445  $81 = $1;
    83446  $82 = $2;
    83447  _mrb_define_method($81,$82,68607,310,8192);
    83448  $83 = $1;
    83449  $84 = $2;
    83450  _mrb_define_method($83,$84,68342,286,4096);
    83451  $85 = $1;
    83452  $86 = $2;
    83453  _mrb_define_method($85,$86,68622,311,262144);
    83454  $87 = $1;
    83455  $88 = $2;
    83456  _mrb_define_method($87,$88,68647,312,4096);
    83457  $89 = $1;
    83458  $90 = $2;
    83459  _mrb_define_method($89,$90,68659,291,4096);
    83460  $91 = $1;
    83461  $92 = $2;
    83462  _mrb_define_method($91,$92,68664,313,8192);
    83463  $93 = $1;
    83464  $94 = $2;
    83465  _mrb_define_method($93,$94,68682,314,4096);
    83466  $95 = $1;
    83467  $96 = $2;
    83468  _mrb_define_method($95,$96,69276,282,0);
    83469  $97 = $1;
    83470  $98 = $2;
    83471  _mrb_define_method($97,$98,69580,315,262144);
    83472  $99 = $1;
    83473  $100 = $1;
    83474  $101 = ((($100)) + 32|0);
    83475  $102 = HEAP32[$101>>2]|0;
    83476  $103 = $1;
    83477  $104 = ((($103)) + 84|0);
    83478  $105 = HEAP32[$104>>2]|0;
    83479  _mrb_include_module($99,$102,$105);
    83480  $106 = $1;
    83481  $107 = $1;
    83482  $108 = ((($107)) + 40|0);
    83483  $109 = HEAP32[$108>>2]|0;
    83484  $110 = $1;
    83485  $111 = (_mrb_intern_static($110,68395,3)|0);
    83486  $112 = $1;
    83487  $113 = (_mrb_intern_static($112,68389,5)|0);
    83488  _mrb_alias_method($106,$109,$111,$113);
    83489  STACKTOP = sp;return;
    83490 }
    83491 function _mrb_f_block_given_p_m($0,$1,$2) {
    83492  $0 = $0|0;
    83493  $1 = $1|0;
    83494  $2 = $2|0;
    83495  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    83496  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    83497  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    83498  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
    83499  var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, label = 0, sp = 0;
    83500  sp = STACKTOP;
    83501  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    83502  $3 = $1;
    83503  $9 = $3;
    83504  $10 = ((($9)) + 12|0);
    83505  $11 = HEAP32[$10>>2]|0;
    83506  $12 = ((($11)) + 16|0);
    83507  $13 = HEAP32[$12>>2]|0;
    83508  $4 = $13;
    83509  $14 = $4;
    83510  $15 = ((($14)) + 8|0);
    83511  $16 = HEAP32[$15>>2]|0;
    83512  $17 = ((($16)) + 8|0);
    83513  $5 = $17;
    83514  $18 = $4;
    83515  $19 = ((($18)) + -48|0);
    83516  $4 = $19;
    83517  $20 = $4;
    83518  $21 = $3;
    83519  $22 = ((($21)) + 12|0);
    83520  $23 = HEAP32[$22>>2]|0;
    83521  $24 = ((($23)) + 20|0);
    83522  $25 = HEAP32[$24>>2]|0;
    83523  $26 = ($20>>>0)<=($25>>>0);
    83524  if ($26) {
    83525   $6 = 0;
    83526  } else {
    83527   $27 = $4;
    83528   $28 = ((($27)) + 4|0);
    83529   $29 = HEAP32[$28>>2]|0;
    83530   $30 = ((($29)) + 20|0);
    83531   $31 = HEAP32[$30>>2]|0;
    83532   $32 = ($31|0)!=(0|0);
    83533   do {
    83534    if ($32) {
    83535     $33 = $4;
    83536     $34 = ((($33)) + 4|0);
    83537     $35 = HEAP32[$34>>2]|0;
    83538     $36 = ((($35)) + 20|0);
    83539     $37 = HEAP32[$36>>2]|0;
    83540     $7 = $37;
    83541     while(1) {
    83542      $38 = $7;
    83543      $39 = ((($38)) + 4|0);
    83544      $40 = HEAP32[$39>>2]|0;
    83545      $41 = ($40|0)!=(0|0);
    83546      $42 = $7;
    83547      if (!($41)) {
    83548       break;
    83549      }
    83550      $43 = ((($42)) + 4|0);
    83551      $44 = HEAP32[$43>>2]|0;
    83552      $7 = $44;
    83553     }
    83554     $45 = ((($42)) + 12|0);
    83555     $46 = HEAP32[$45>>2]|0;
    83556     $8 = $46;
    83557     $47 = $8;
    83558     $48 = ($47|0)!=(0|0);
    83559     if ($48) {
    83560      $49 = $8;
    83561      $50 = $3;
    83562      $51 = ((($50)) + 12|0);
    83563      $52 = HEAP32[$51>>2]|0;
    83564      $53 = ((($52)) + 8|0);
    83565      $54 = HEAP32[$53>>2]|0;
    83566      $55 = ($49|0)==($54|0);
    83567      if (!($55)) {
    83568       $56 = $3;
    83569       $57 = ((($56)) + 12|0);
    83570       $58 = HEAP32[$57>>2]|0;
    83571       $59 = ((($58)) + 20|0);
    83572       $60 = HEAP32[$59>>2]|0;
    83573       $61 = $7;
    83574       $62 = ((($61)) + 20|0);
    83575       $63 = HEAP32[$62>>2]|0;
    83576       $64 = (($60) + (($63*48)|0)|0);
    83577       $4 = $64;
    83578       $65 = $4;
    83579       $66 = ((($65)) + 48|0);
    83580       $67 = ((($66)) + 8|0);
    83581       $68 = HEAP32[$67>>2]|0;
    83582       $69 = ((($68)) + 8|0);
    83583       $5 = $69;
    83584       break;
    83585      }
    83586      _mrb_false_value_1053($0);
    83587      STACKTOP = sp;return;
    83588     }
    83589    }
    83590   } while(0);
    83591   $70 = $4;
    83592   $71 = ((($70)) + 36|0);
    83593   $72 = HEAP32[$71>>2]|0;
    83594   $73 = ($72|0)>(0);
    83595   if ($73) {
    83596    $74 = $4;
    83597    $75 = ((($74)) + 36|0);
    83598    $76 = HEAP32[$75>>2]|0;
    83599    $77 = $5;
    83600    $78 = (($77) + ($76<<3)|0);
    83601    $5 = $78;
    83602   }
    83603   $79 = $5;
    83604   $80 = ((($79)) + 4|0);
    83605   $81 = HEAP32[$80>>2]|0;
    83606   $82 = ($81|0)==(0);
    83607   if ($82) {
    83608    $83 = $5;
    83609    $84 = HEAP32[$83>>2]|0;
    83610    $85 = ($84|0)!=(0);
    83611    $86 = $85 ^ 1;
    83612    $88 = $86;
    83613   } else {
    83614    $88 = 0;
    83615   }
    83616   $87 = $88 ^ 1;
    83617   $89 = $87&1;
    83618   $90 = $89&255;
    83619   $6 = $90;
    83620  }
    83621  $91 = $6;
    83622  _mrb_bool_value_1062($0,$91);
    83623  STACKTOP = sp;return;
    83624 }
    83625 function _mrb_local_variables($0,$1,$2) {
    83626  $0 = $0|0;
    83627  $1 = $1|0;
    83628  $2 = $2|0;
    83629  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
    83630  var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
    83631  var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    83632  var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
    83633  var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
    83634  var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
    83635  var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    83636  sp = STACKTOP;
    83637  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    83638  $$byval_copy3 = sp + 88|0;
    83639  $$byval_copy2 = sp + 80|0;
    83640  $$byval_copy1 = sp + 72|0;
    83641  $$byval_copy = sp + 64|0;
    83642  $4 = sp + 48|0;
    83643  $8 = sp + 24|0;
    83644  $9 = sp + 16|0;
    83645  $11 = sp;
    83646  $3 = $1;
    83647  $12 = $3;
    83648  $13 = ((($12)) + 12|0);
    83649  $14 = HEAP32[$13>>2]|0;
    83650  $15 = ((($14)) + 16|0);
    83651  $16 = HEAP32[$15>>2]|0;
    83652  $17 = ((($16)) + -48|0);
    83653  $18 = ((($17)) + 4|0);
    83654  $19 = HEAP32[$18>>2]|0;
    83655  $5 = $19;
    83656  $20 = $5;
    83657  $21 = HEAP32[$20>>2]|0;
    83658  $22 = $21 >>> 11;
    83659  $23 = $22 & 128;
    83660  $24 = ($23|0)!=(0);
    83661  if ($24) {
    83662   $25 = $3;
    83663   _mrb_ary_new($0,$25);
    83664   STACKTOP = sp;return;
    83665  }
    83666  $26 = $5;
    83667  $27 = ((($26)) + 12|0);
    83668  $28 = HEAP32[$27>>2]|0;
    83669  $6 = $28;
    83670  $29 = $6;
    83671  $30 = ((($29)) + 24|0);
    83672  $31 = HEAP32[$30>>2]|0;
    83673  $32 = ($31|0)!=(0|0);
    83674  $33 = $3;
    83675  if (!($32)) {
    83676   _mrb_ary_new($0,$33);
    83677   STACKTOP = sp;return;
    83678  }
    83679  $34 = $6;
    83680  $35 = HEAP16[$34>>1]|0;
    83681  $36 = $35&65535;
    83682  $37 = (($36) - 1)|0;
    83683  _mrb_ary_new_capa($8,$33,$37);
    83684  ;HEAP32[$4>>2]=HEAP32[$8>>2]|0;HEAP32[$4+4>>2]=HEAP32[$8+4>>2]|0;
    83685  $7 = 0;
    83686  while(1) {
    83687   $38 = $7;
    83688   $39 = (($38) + 1)|0;
    83689   $40 = $6;
    83690   $41 = HEAP16[$40>>1]|0;
    83691   $42 = $41&65535;
    83692   $43 = ($39>>>0)<($42>>>0);
    83693   if (!($43)) {
    83694    break;
    83695   }
    83696   $44 = $6;
    83697   $45 = ((($44)) + 24|0);
    83698   $46 = HEAP32[$45>>2]|0;
    83699   $47 = $7;
    83700   $48 = (($46) + ($47<<3)|0);
    83701   $49 = HEAP32[$48>>2]|0;
    83702   $50 = ($49|0)!=(0);
    83703   if ($50) {
    83704    $51 = $3;
    83705    $52 = $6;
    83706    $53 = ((($52)) + 24|0);
    83707    $54 = HEAP32[$53>>2]|0;
    83708    $55 = $7;
    83709    $56 = (($54) + ($55<<3)|0);
    83710    $57 = HEAP32[$56>>2]|0;
    83711    _mrb_symbol_value_1003($9,$57);
    83712    ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    83713    ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
    83714    _mrb_ary_push($51,$$byval_copy,$$byval_copy1);
    83715   }
    83716   $58 = $7;
    83717   $59 = (($58) + 1)|0;
    83718   $7 = $59;
    83719  }
    83720  $60 = $5;
    83721  $61 = ((($60)) + 20|0);
    83722  $62 = HEAP32[$61>>2]|0;
    83723  $63 = ($62|0)!=(0|0);
    83724  L16: do {
    83725   if ($63) {
    83726    $64 = $5;
    83727    $65 = ((($64)) + 20|0);
    83728    $66 = HEAP32[$65>>2]|0;
    83729    $10 = $66;
    83730    while(1) {
    83731     $67 = $10;
    83732     $68 = ($67|0)!=(0|0);
    83733     if (!($68)) {
    83734      break L16;
    83735     }
    83736     $69 = $3;
    83737     $70 = ((($69)) + 12|0);
    83738     $71 = HEAP32[$70>>2]|0;
    83739     $72 = ((($71)) + 20|0);
    83740     $73 = HEAP32[$72>>2]|0;
    83741     $74 = $10;
    83742     $75 = ((($74)) + 20|0);
    83743     $76 = HEAP32[$75>>2]|0;
    83744     $77 = (($73) + (($76*48)|0)|0);
    83745     $78 = ((($77)) + 4|0);
    83746     $79 = HEAP32[$78>>2]|0;
    83747     $80 = HEAP32[$79>>2]|0;
    83748     $81 = $80 >>> 11;
    83749     $82 = $81 & 128;
    83750     $83 = ($82|0)!=(0);
    83751     L21: do {
    83752      if (!($83)) {
    83753       $84 = $3;
    83754       $85 = ((($84)) + 12|0);
    83755       $86 = HEAP32[$85>>2]|0;
    83756       $87 = ((($86)) + 20|0);
    83757       $88 = HEAP32[$87>>2]|0;
    83758       $89 = $10;
    83759       $90 = ((($89)) + 20|0);
    83760       $91 = HEAP32[$90>>2]|0;
    83761       $92 = (($88) + (($91*48)|0)|0);
    83762       $93 = ((($92)) + 4|0);
    83763       $94 = HEAP32[$93>>2]|0;
    83764       $95 = ((($94)) + 12|0);
    83765       $96 = HEAP32[$95>>2]|0;
    83766       $6 = $96;
    83767       $97 = $6;
    83768       $98 = ((($97)) + 24|0);
    83769       $99 = HEAP32[$98>>2]|0;
    83770       $100 = ($99|0)!=(0|0);
    83771       if ($100) {
    83772        $7 = 0;
    83773        while(1) {
    83774         $101 = $7;
    83775         $102 = (($101) + 1)|0;
    83776         $103 = $6;
    83777         $104 = HEAP16[$103>>1]|0;
    83778         $105 = $104&65535;
    83779         $106 = ($102>>>0)<($105>>>0);
    83780         if (!($106)) {
    83781          break L21;
    83782         }
    83783         $107 = $6;
    83784         $108 = ((($107)) + 24|0);
    83785         $109 = HEAP32[$108>>2]|0;
    83786         $110 = $7;
    83787         $111 = (($109) + ($110<<3)|0);
    83788         $112 = HEAP32[$111>>2]|0;
    83789         $113 = ($112|0)!=(0);
    83790         if ($113) {
    83791          $114 = $3;
    83792          $115 = $6;
    83793          $116 = ((($115)) + 24|0);
    83794          $117 = HEAP32[$116>>2]|0;
    83795          $118 = $7;
    83796          $119 = (($117) + ($118<<3)|0);
    83797          $120 = HEAP32[$119>>2]|0;
    83798          _mrb_symbol_value_1003($11,$120);
    83799          ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    83800          ;HEAP32[$$byval_copy3>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$11+4>>2]|0;
    83801          _mrb_ary_push($114,$$byval_copy2,$$byval_copy3);
    83802         }
    83803         $121 = $7;
    83804         $122 = (($121) + 1)|0;
    83805         $7 = $122;
    83806        }
    83807       }
    83808      }
    83809     } while(0);
    83810     $123 = $10;
    83811     $124 = ((($123)) + 4|0);
    83812     $125 = HEAP32[$124>>2]|0;
    83813     $10 = $125;
    83814    }
    83815   }
    83816  } while(0);
    83817  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    83818  STACKTOP = sp;return;
    83819 }
    83820 function _mrb_obj_equal_m($0,$1,$2) {
    83821  $0 = $0|0;
    83822  $1 = $1|0;
    83823  $2 = $2|0;
    83824  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    83825  sp = STACKTOP;
    83826  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    83827  $$byval_copy1 = sp + 32|0;
    83828  $$byval_copy = sp + 24|0;
    83829  $vararg_buffer = sp;
    83830  $4 = sp + 8|0;
    83831  $3 = $1;
    83832  $5 = $3;
    83833  HEAP32[$vararg_buffer>>2] = $4;
    83834  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    83835  $6 = $3;
    83836  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    83837  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    83838  $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
    83839  _mrb_bool_value_1062($0,$7);
    83840  STACKTOP = sp;return;
    83841 }
    83842 function _mrb_obj_not_equal_m($0,$1,$2) {
    83843  $0 = $0|0;
    83844  $1 = $1|0;
    83845  $2 = $2|0;
    83846  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    83847  sp = STACKTOP;
    83848  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    83849  $$byval_copy1 = sp + 32|0;
    83850  $$byval_copy = sp + 24|0;
    83851  $vararg_buffer = sp;
    83852  $4 = sp + 8|0;
    83853  $3 = $1;
    83854  $5 = $3;
    83855  HEAP32[$vararg_buffer>>2] = $4;
    83856  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    83857  $6 = $3;
    83858  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    83859  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    83860  $7 = (_mrb_equal($6,$$byval_copy,$$byval_copy1)|0);
    83861  $8 = ($7<<24>>24)!=(0);
    83862  $9 = $8 ^ 1;
    83863  $10 = $9&1;
    83864  $11 = $10&255;
    83865  _mrb_bool_value_1062($0,$11);
    83866  STACKTOP = sp;return;
    83867 }
    83868 function _mrb_equal_m($0,$1,$2) {
    83869  $0 = $0|0;
    83870  $1 = $1|0;
    83871  $2 = $2|0;
    83872  var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    83873  sp = STACKTOP;
    83874  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    83875  $$byval_copy1 = sp + 32|0;
    83876  $$byval_copy = sp + 24|0;
    83877  $vararg_buffer = sp;
    83878  $4 = sp + 8|0;
    83879  $3 = $1;
    83880  $5 = $3;
    83881  HEAP32[$vararg_buffer>>2] = $4;
    83882  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    83883  $6 = $3;
    83884  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    83885  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    83886  $7 = (_mrb_equal($6,$$byval_copy,$$byval_copy1)|0);
    83887  _mrb_bool_value_1062($0,$7);
    83888  STACKTOP = sp;return;
    83889 }
    83890 function _mrb_obj_id_m($0,$1,$2) {
    83891  $0 = $0|0;
    83892  $1 = $1|0;
    83893  $2 = $2|0;
    83894  var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    83895  sp = STACKTOP;
    83896  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    83897  $$byval_copy = sp + 8|0;
    83898  $3 = $1;
    83899  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    83900  $4 = (_mrb_obj_id($$byval_copy)|0);
    83901  _mrb_fixnum_value_996($0,$4);
    83902  STACKTOP = sp;return;
    83903 }
    83904 function _mrb_obj_class_m($0,$1,$2) {
    83905  $0 = $0|0;
    83906  $1 = $1|0;
    83907  $2 = $2|0;
    83908  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    83909  sp = STACKTOP;
    83910  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    83911  $$byval_copy = sp + 8|0;
    83912  $3 = $1;
    83913  $4 = $3;
    83914  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    83915  $5 = (_mrb_obj_class($4,$$byval_copy)|0);
    83916  _mrb_obj_value_991($0,$5);
    83917  STACKTOP = sp;return;
    83918 }
    83919 function _mrb_obj_extend_m($0,$1,$2) {
    83920  $0 = $0|0;
    83921  $1 = $1|0;
    83922  $2 = $2|0;
    83923  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    83924  sp = STACKTOP;
    83925  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    83926  $$byval_copy = sp + 24|0;
    83927  $vararg_buffer = sp;
    83928  $4 = sp + 12|0;
    83929  $5 = sp + 8|0;
    83930  $3 = $1;
    83931  $6 = $3;
    83932  HEAP32[$vararg_buffer>>2] = $4;
    83933  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    83934  HEAP32[$vararg_ptr1>>2] = $5;
    83935  (_mrb_get_args($6,68856,$vararg_buffer)|0);
    83936  $7 = $3;
    83937  $8 = HEAP32[$5>>2]|0;
    83938  $9 = HEAP32[$4>>2]|0;
    83939  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    83940  _mrb_obj_extend($0,$7,$8,$9,$$byval_copy);
    83941  STACKTOP = sp;return;
    83942 }
    83943 function _mrb_obj_init_copy($0,$1,$2) {
    83944  $0 = $0|0;
    83945  $1 = $1|0;
    83946  $2 = $2|0;
    83947  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    83948  var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    83949  sp = STACKTOP;
    83950  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    83951  $$byval_copy3 = sp + 48|0;
    83952  $$byval_copy2 = sp + 40|0;
    83953  $$byval_copy1 = sp + 32|0;
    83954  $$byval_copy = sp + 24|0;
    83955  $vararg_buffer = sp;
    83956  $4 = sp + 8|0;
    83957  $3 = $1;
    83958  $5 = $3;
    83959  HEAP32[$vararg_buffer>>2] = $4;
    83960  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    83961  $6 = $3;
    83962  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    83963  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    83964  $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
    83965  $8 = ($7<<24>>24)!=(0);
    83966  if ($8) {
    83967   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    83968   STACKTOP = sp;return;
    83969  }
    83970  $9 = ((($2)) + 4|0);
    83971  $10 = HEAP32[$9>>2]|0;
    83972  $11 = ((($4)) + 4|0);
    83973  $12 = HEAP32[$11>>2]|0;
    83974  $13 = ($10|0)!=($12|0);
    83975  if ($13) {
    83976   $19 = $3;
    83977   $20 = $3;
    83978   $21 = (_mrb_class_get($20,69204)|0);
    83979   _mrb_raise($19,$21,68810);
    83980   // unreachable;
    83981  }
    83982  $14 = $3;
    83983  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    83984  $15 = (_mrb_obj_class($14,$$byval_copy2)|0);
    83985  $16 = $3;
    83986  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    83987  $17 = (_mrb_obj_class($16,$$byval_copy3)|0);
    83988  $18 = ($15|0)!=($17|0);
    83989  if ($18) {
    83990   $19 = $3;
    83991   $20 = $3;
    83992   $21 = (_mrb_class_get($20,69204)|0);
    83993   _mrb_raise($19,$21,68810);
    83994   // unreachable;
    83995  }
    83996  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    83997  STACKTOP = sp;return;
    83998 }
    83999 function _obj_is_instance_of($0,$1,$2) {
    84000  $0 = $0|0;
    84001  $1 = $1|0;
    84002  $2 = $2|0;
    84003  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84004  sp = STACKTOP;
    84005  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84006  $$byval_copy = sp + 24|0;
    84007  $vararg_buffer = sp;
    84008  $4 = sp + 8|0;
    84009  $3 = $1;
    84010  $5 = $3;
    84011  HEAP32[$vararg_buffer>>2] = $4;
    84012  (_mrb_get_args($5,68805,$vararg_buffer)|0);
    84013  $6 = $3;
    84014  $7 = HEAP32[$4>>2]|0;
    84015  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84016  $8 = (_mrb_obj_is_instance_of($6,$$byval_copy,$7)|0);
    84017  _mrb_bool_value_1062($0,$8);
    84018  STACKTOP = sp;return;
    84019 }
    84020 function _mrb_obj_ivar_defined($0,$1,$2) {
    84021  $0 = $0|0;
    84022  $1 = $1|0;
    84023  $2 = $2|0;
    84024  var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84025  sp = STACKTOP;
    84026  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84027  $$byval_copy = sp + 16|0;
    84028  $vararg_buffer = sp;
    84029  $4 = sp + 4|0;
    84030  $3 = $1;
    84031  $5 = $3;
    84032  HEAP32[$vararg_buffer>>2] = $4;
    84033  (_mrb_get_args($5,68770,$vararg_buffer)|0);
    84034  $6 = $3;
    84035  $7 = HEAP32[$4>>2]|0;
    84036  _mrb_iv_check($6,$7);
    84037  $8 = $3;
    84038  $9 = HEAP32[$4>>2]|0;
    84039  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84040  $10 = (_mrb_iv_defined($8,$$byval_copy,$9)|0);
    84041  _mrb_bool_value_1062($0,$10);
    84042  STACKTOP = sp;return;
    84043 }
    84044 function _mrb_obj_ivar_get($0,$1,$2) {
    84045  $0 = $0|0;
    84046  $1 = $1|0;
    84047  $2 = $2|0;
    84048  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84049  sp = STACKTOP;
    84050  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84051  $$byval_copy = sp + 16|0;
    84052  $vararg_buffer = sp;
    84053  $4 = sp + 4|0;
    84054  $3 = $1;
    84055  $5 = $3;
    84056  HEAP32[$vararg_buffer>>2] = $4;
    84057  (_mrb_get_args($5,68770,$vararg_buffer)|0);
    84058  $6 = $3;
    84059  $7 = HEAP32[$4>>2]|0;
    84060  _mrb_iv_check($6,$7);
    84061  $8 = $3;
    84062  $9 = HEAP32[$4>>2]|0;
    84063  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84064  _mrb_iv_get($0,$8,$$byval_copy,$9);
    84065  STACKTOP = sp;return;
    84066 }
    84067 function _mrb_obj_ivar_set($0,$1,$2) {
    84068  $0 = $0|0;
    84069  $1 = $1|0;
    84070  $2 = $2|0;
    84071  var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    84072  sp = STACKTOP;
    84073  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    84074  $$byval_copy2 = sp + 32|0;
    84075  $$byval_copy = sp + 24|0;
    84076  $vararg_buffer = sp;
    84077  $4 = sp + 16|0;
    84078  $5 = sp + 8|0;
    84079  $3 = $1;
    84080  $6 = $3;
    84081  HEAP32[$vararg_buffer>>2] = $4;
    84082  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    84083  HEAP32[$vararg_ptr1>>2] = $5;
    84084  (_mrb_get_args($6,68807,$vararg_buffer)|0);
    84085  $7 = $3;
    84086  $8 = HEAP32[$4>>2]|0;
    84087  _mrb_iv_check($7,$8);
    84088  $9 = $3;
    84089  $10 = HEAP32[$4>>2]|0;
    84090  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84091  ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
    84092  _mrb_iv_set($9,$$byval_copy,$10,$$byval_copy2);
    84093  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    84094  STACKTOP = sp;return;
    84095 }
    84096 function _mrb_obj_is_kind_of_m($0,$1,$2) {
    84097  $0 = $0|0;
    84098  $1 = $1|0;
    84099  $2 = $2|0;
    84100  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84101  sp = STACKTOP;
    84102  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84103  $$byval_copy = sp + 24|0;
    84104  $vararg_buffer = sp;
    84105  $4 = sp + 8|0;
    84106  $3 = $1;
    84107  $5 = $3;
    84108  HEAP32[$vararg_buffer>>2] = $4;
    84109  (_mrb_get_args($5,68805,$vararg_buffer)|0);
    84110  $6 = $3;
    84111  $7 = HEAP32[$4>>2]|0;
    84112  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84113  $8 = (_mrb_obj_is_kind_of($6,$$byval_copy,$7)|0);
    84114  _mrb_bool_value_1062($0,$8);
    84115  STACKTOP = sp;return;
    84116 }
    84117 function _mrb_obj_methods_m($0,$1,$2) {
    84118  $0 = $0|0;
    84119  $1 = $1|0;
    84120  $2 = $2|0;
    84121  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84122  sp = STACKTOP;
    84123  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84124  $$byval_copy = sp + 8|0;
    84125  $vararg_buffer = sp;
    84126  $4 = sp + 16|0;
    84127  $3 = $1;
    84128  HEAP8[$4>>0] = 1;
    84129  $5 = $3;
    84130  HEAP32[$vararg_buffer>>2] = $4;
    84131  (_mrb_get_args($5,68724,$vararg_buffer)|0);
    84132  $6 = $3;
    84133  $7 = HEAP8[$4>>0]|0;
    84134  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84135  _mrb_obj_methods($0,$6,$7,$$byval_copy,0);
    84136  STACKTOP = sp;return;
    84137 }
    84138 function _mrb_false($0,$1,$2) {
    84139  $0 = $0|0;
    84140  $1 = $1|0;
    84141  $2 = $2|0;
    84142  var $3 = 0, label = 0, sp = 0;
    84143  sp = STACKTOP;
    84144  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    84145  $3 = $1;
    84146  _mrb_false_value_1053($0);
    84147  STACKTOP = sp;return;
    84148 }
    84149 function _mrb_obj_private_methods($0,$1,$2) {
    84150  $0 = $0|0;
    84151  $1 = $1|0;
    84152  $2 = $2|0;
    84153  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84154  sp = STACKTOP;
    84155  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84156  $$byval_copy = sp + 8|0;
    84157  $vararg_buffer = sp;
    84158  $4 = sp + 16|0;
    84159  $3 = $1;
    84160  HEAP8[$4>>0] = 1;
    84161  $5 = $3;
    84162  HEAP32[$vararg_buffer>>2] = $4;
    84163  (_mrb_get_args($5,68724,$vararg_buffer)|0);
    84164  $6 = $3;
    84165  $7 = HEAP8[$4>>0]|0;
    84166  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84167  _mrb_obj_methods($0,$6,$7,$$byval_copy,2);
    84168  STACKTOP = sp;return;
    84169 }
    84170 function _mrb_obj_protected_methods($0,$1,$2) {
    84171  $0 = $0|0;
    84172  $1 = $1|0;
    84173  $2 = $2|0;
    84174  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84175  sp = STACKTOP;
    84176  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84177  $$byval_copy = sp + 8|0;
    84178  $vararg_buffer = sp;
    84179  $4 = sp + 16|0;
    84180  $3 = $1;
    84181  HEAP8[$4>>0] = 1;
    84182  $5 = $3;
    84183  HEAP32[$vararg_buffer>>2] = $4;
    84184  (_mrb_get_args($5,68724,$vararg_buffer)|0);
    84185  $6 = $3;
    84186  $7 = HEAP8[$4>>0]|0;
    84187  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84188  _mrb_obj_methods($0,$6,$7,$$byval_copy,4);
    84189  STACKTOP = sp;return;
    84190 }
    84191 function _mrb_obj_public_methods($0,$1,$2) {
    84192  $0 = $0|0;
    84193  $1 = $1|0;
    84194  $2 = $2|0;
    84195  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84196  sp = STACKTOP;
    84197  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84198  $$byval_copy = sp + 8|0;
    84199  $vararg_buffer = sp;
    84200  $4 = sp + 16|0;
    84201  $3 = $1;
    84202  HEAP8[$4>>0] = 1;
    84203  $5 = $3;
    84204  HEAP32[$vararg_buffer>>2] = $4;
    84205  (_mrb_get_args($5,68724,$vararg_buffer)|0);
    84206  $6 = $3;
    84207  $7 = HEAP8[$4>>0]|0;
    84208  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84209  _mrb_obj_methods($0,$6,$7,$$byval_copy,0);
    84210  STACKTOP = sp;return;
    84211 }
    84212 function _mrb_obj_remove_instance_variable($0,$1,$2) {
    84213  $0 = $0|0;
    84214  $1 = $1|0;
    84215  $2 = $2|0;
    84216  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
    84217  var label = 0, sp = 0;
    84218  sp = STACKTOP;
    84219  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    84220  $$byval_copy = sp + 48|0;
    84221  $vararg_buffer1 = sp + 8|0;
    84222  $vararg_buffer = sp;
    84223  $4 = sp + 40|0;
    84224  $5 = sp + 32|0;
    84225  $6 = sp + 24|0;
    84226  $7 = sp + 16|0;
    84227  $3 = $1;
    84228  $8 = $3;
    84229  HEAP32[$vararg_buffer>>2] = $4;
    84230  (_mrb_get_args($8,68770,$vararg_buffer)|0);
    84231  $9 = $3;
    84232  $10 = HEAP32[$4>>2]|0;
    84233  _mrb_iv_check($9,$10);
    84234  $11 = $3;
    84235  $12 = HEAP32[$4>>2]|0;
    84236  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84237  _mrb_iv_remove($6,$11,$$byval_copy,$12);
    84238  ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
    84239  $13 = ((($5)) + 4|0);
    84240  $14 = HEAP32[$13>>2]|0;
    84241  $15 = ($14|0)==(5);
    84242  if ($15) {
    84243   $16 = $3;
    84244   $17 = HEAP32[$4>>2]|0;
    84245   $18 = $3;
    84246   $19 = HEAP32[$4>>2]|0;
    84247   _mrb_sym2str($7,$18,$19);
    84248   ;HEAP8[$vararg_buffer1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$7+7>>0]|0;
    84249   _mrb_name_error($16,$17,68772,$vararg_buffer1);
    84250   // unreachable;
    84251  } else {
    84252   ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    84253   STACKTOP = sp;return;
    84254  }
    84255 }
    84256 function _obj_respond_to($0,$1,$2) {
    84257  $0 = $0|0;
    84258  $1 = $1|0;
    84259  $2 = $2|0;
    84260  var $$byval_copy = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    84261  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
    84262  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
    84263  var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    84264  sp = STACKTOP;
    84265  STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
    84266  $$byval_copy9 = sp + 136|0;
    84267  $$byval_copy8 = sp + 128|0;
    84268  $$byval_copy7 = sp + 120|0;
    84269  $$byval_copy6 = sp + 112|0;
    84270  $$byval_copy5 = sp + 104|0;
    84271  $$byval_copy = sp + 96|0;
    84272  $vararg_buffer2 = sp + 8|0;
    84273  $vararg_buffer = sp;
    84274  $4 = sp + 80|0;
    84275  $7 = sp + 145|0;
    84276  $9 = sp + 64|0;
    84277  $10 = sp + 56|0;
    84278  $11 = sp + 48|0;
    84279  $12 = sp + 40|0;
    84280  $13 = sp + 24|0;
    84281  $14 = sp + 16|0;
    84282  $3 = $1;
    84283  HEAP8[$7>>0] = 0;
    84284  $8 = 1;
    84285  $15 = $3;
    84286  HEAP32[$vararg_buffer>>2] = $4;
    84287  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    84288  HEAP32[$vararg_ptr1>>2] = $7;
    84289  (_mrb_get_args($15,68727,$vararg_buffer)|0);
    84290  $16 = ((($4)) + 4|0);
    84291  $17 = HEAP32[$16>>2]|0;
    84292  $18 = ($17|0)==(4);
    84293  do {
    84294   if ($18) {
    84295    $19 = HEAP32[$4>>2]|0;
    84296    $5 = $19;
    84297   } else {
    84298    $20 = ((($4)) + 4|0);
    84299    $21 = HEAP32[$20>>2]|0;
    84300    $22 = ($21|0)==(16);
    84301    if (!($22)) {
    84302     $23 = $3;
    84303     ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
    84304     _mrb_check_string_type($10,$23,$$byval_copy);
    84305     ;HEAP32[$9>>2]=HEAP32[$10>>2]|0;HEAP32[$9+4>>2]=HEAP32[$10+4>>2]|0;
    84306     $24 = ((($9)) + 4|0);
    84307     $25 = HEAP32[$24>>2]|0;
    84308     $26 = ($25|0)==(0);
    84309     if ($26) {
    84310      $27 = HEAP32[$9>>2]|0;
    84311      $28 = ($27|0)!=(0);
    84312      if (!($28)) {
    84313       $29 = $3;
    84314       ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;
    84315       _mrb_inspect($11,$29,$$byval_copy5);
    84316       ;HEAP32[$9>>2]=HEAP32[$11>>2]|0;HEAP32[$9+4>>2]=HEAP32[$11+4>>2]|0;
    84317       $30 = $3;
    84318       $31 = $3;
    84319       $32 = (_mrb_class_get($31,69204)|0);
    84320       ;HEAP8[$vararg_buffer2>>0]=HEAP8[$9>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$9+7>>0]|0;
    84321       _mrb_raisef($30,$32,68731,$vararg_buffer2);
    84322       // unreachable;
    84323      }
    84324     }
    84325    }
    84326    $33 = $3;
    84327    ;HEAP32[$$byval_copy6>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$4+4>>2]|0;
    84328    _mrb_check_intern_str($12,$33,$$byval_copy6);
    84329    ;HEAP32[$9>>2]=HEAP32[$12>>2]|0;HEAP32[$9+4>>2]=HEAP32[$12+4>>2]|0;
    84330    $34 = ((($9)) + 4|0);
    84331    $35 = HEAP32[$34>>2]|0;
    84332    $36 = ($35|0)==(0);
    84333    if ($36) {
    84334     $37 = HEAP32[$9>>2]|0;
    84335     $38 = ($37|0)!=(0);
    84336     if (!($38)) {
    84337      $8 = 0;
    84338      break;
    84339     }
    84340    }
    84341    $39 = HEAP32[$9>>2]|0;
    84342    $5 = $39;
    84343   }
    84344  } while(0);
    84345  $40 = $8;
    84346  $41 = ($40<<24>>24)!=(0);
    84347  if ($41) {
    84348   $42 = $3;
    84349   $43 = $5;
    84350   $44 = HEAP8[$7>>0]|0;
    84351   $45 = ($44<<24>>24)!=(0);
    84352   $46 = $45 ^ 1;
    84353   $47 = $46&1;
    84354   ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
    84355   $48 = (_basic_obj_respond_to($42,$$byval_copy7,$43,$47)|0);
    84356   $8 = $48;
    84357  }
    84358  $49 = $8;
    84359  $50 = ($49<<24>>24)!=(0);
    84360  if (!($50)) {
    84361   $51 = $3;
    84362   $52 = (_mrb_intern_static($51,68750,19)|0);
    84363   $6 = $52;
    84364   $53 = $3;
    84365   $54 = $6;
    84366   $55 = HEAP8[$7>>0]|0;
    84367   $56 = ($55<<24>>24)!=(0);
    84368   $57 = $56 ^ 1;
    84369   $58 = $57&1;
    84370   ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
    84371   $59 = (_basic_obj_respond_to($53,$$byval_copy8,$54,$58)|0);
    84372   $60 = ($59<<24>>24)!=(0);
    84373   if ($60) {
    84374    ;HEAP32[$13>>2]=HEAP32[$4>>2]|0;HEAP32[$13+4>>2]=HEAP32[$4+4>>2]|0;
    84375    $61 = ((($13)) + 8|0);
    84376    $62 = HEAP8[$7>>0]|0;
    84377    _mrb_bool_value_1062($14,$62);
    84378    ;HEAP32[$61>>2]=HEAP32[$14>>2]|0;HEAP32[$61+4>>2]=HEAP32[$14+4>>2]|0;
    84379    $63 = $3;
    84380    $64 = $6;
    84381    ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;
    84382    _mrb_funcall_argv($0,$63,$$byval_copy9,$64,2,$13);
    84383    STACKTOP = sp;return;
    84384   }
    84385  }
    84386  $65 = $8;
    84387  _mrb_bool_value_1062($0,$65);
    84388  STACKTOP = sp;return;
    84389 }
    84390 function _mrb_obj_singleton_methods_m($0,$1,$2) {
    84391  $0 = $0|0;
    84392  $1 = $1|0;
    84393  $2 = $2|0;
    84394  var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84395  sp = STACKTOP;
    84396  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84397  $$byval_copy = sp + 8|0;
    84398  $vararg_buffer = sp;
    84399  $4 = sp + 16|0;
    84400  $3 = $1;
    84401  HEAP8[$4>>0] = 1;
    84402  $5 = $3;
    84403  HEAP32[$vararg_buffer>>2] = $4;
    84404  (_mrb_get_args($5,68724,$vararg_buffer)|0);
    84405  $6 = $3;
    84406  $7 = HEAP8[$4>>0]|0;
    84407  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84408  _mrb_obj_singleton_methods($0,$6,$7,$$byval_copy);
    84409  STACKTOP = sp;return;
    84410 }
    84411 function _mod_define_singleton_method($0,$1,$2) {
    84412  $0 = $0|0;
    84413  $1 = $1|0;
    84414  $2 = $2|0;
    84415  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    84416  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0;
    84417  var sp = 0;
    84418  sp = STACKTOP;
    84419  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    84420  $$byval_copy = sp + 40|0;
    84421  $vararg_buffer = sp;
    84422  $5 = sp + 24|0;
    84423  $6 = sp + 16|0;
    84424  $7 = sp + 8|0;
    84425  $3 = $1;
    84426  _mrb_nil_value_1054($6);
    84427  $8 = $3;
    84428  HEAP32[$vararg_buffer>>2] = $5;
    84429  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    84430  HEAP32[$vararg_ptr1>>2] = $6;
    84431  (_mrb_get_args($8,68706,$vararg_buffer)|0);
    84432  $9 = ((($6)) + 4|0);
    84433  $10 = HEAP32[$9>>2]|0;
    84434  $11 = ($10|0)==(0);
    84435  if ($11) {
    84436   $12 = HEAP32[$6>>2]|0;
    84437   $13 = ($12|0)!=(0);
    84438   if (!($13)) {
    84439    $14 = $3;
    84440    $15 = $3;
    84441    $16 = (_mrb_class_get($15,69160)|0);
    84442    _mrb_raise($14,$16,68709);
    84443    // unreachable;
    84444   }
    84445  }
    84446  $17 = $3;
    84447  $18 = $3;
    84448  $19 = ((($18)) + 44|0);
    84449  $20 = HEAP32[$19>>2]|0;
    84450  $21 = (_mrb_obj_alloc($17,13,$20)|0);
    84451  $4 = $21;
    84452  $22 = $4;
    84453  $23 = HEAP32[$6>>2]|0;
    84454  _mrb_proc_copy($22,$23);
    84455  $24 = $4;
    84456  $25 = HEAP32[$24>>2]|0;
    84457  $26 = $25 >>> 11;
    84458  $27 = $26 | 256;
    84459  $28 = HEAP32[$24>>2]|0;
    84460  $29 = $27 & 2097151;
    84461  $30 = $29 << 11;
    84462  $31 = $28 & 2047;
    84463  $32 = $31 | $30;
    84464  HEAP32[$24>>2] = $32;
    84465  $33 = $3;
    84466  $34 = $3;
    84467  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84468  _mrb_singleton_class($7,$34,$$byval_copy);
    84469  $35 = HEAP32[$7>>2]|0;
    84470  $36 = HEAP32[$5>>2]|0;
    84471  $37 = $4;
    84472  _mrb_define_method_raw($33,$35,$36,$37);
    84473  $38 = HEAP32[$5>>2]|0;
    84474  _mrb_symbol_value_1003($0,$38);
    84475  STACKTOP = sp;return;
    84476 }
    84477 function _mrb_obj_ceqq($0,$1,$2) {
    84478  $0 = $0|0;
    84479  $1 = $1|0;
    84480  $2 = $2|0;
    84481  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    84482  var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    84483  sp = STACKTOP;
    84484  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    84485  $$byval_copy2 = sp + 80|0;
    84486  $$byval_copy1 = sp + 72|0;
    84487  $$byval_copy = sp + 64|0;
    84488  $vararg_buffer = sp;
    84489  $4 = sp + 48|0;
    84490  $8 = sp + 24|0;
    84491  $9 = sp + 16|0;
    84492  $10 = sp + 8|0;
    84493  $3 = $1;
    84494  $11 = $3;
    84495  $12 = (_mrb_intern_static($11,69591,3)|0);
    84496  $7 = $12;
    84497  $13 = $3;
    84498  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    84499  _mrb_ary_splat($8,$13,$$byval_copy);
    84500  $14 = $3;
    84501  HEAP32[$vararg_buffer>>2] = $4;
    84502  (_mrb_get_args($14,69199,$vararg_buffer)|0);
    84503  $15 = HEAP32[$8>>2]|0;
    84504  $16 = ((($15)) + 12|0);
    84505  $17 = HEAP32[$16>>2]|0;
    84506  $6 = $17;
    84507  $5 = 0;
    84508  while(1) {
    84509   $18 = $5;
    84510   $19 = $6;
    84511   $20 = ($18|0)<($19|0);
    84512   if (!($20)) {
    84513    label = 6;
    84514    break;
    84515   }
    84516   $21 = $3;
    84517   $22 = $5;
    84518   ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
    84519   _mrb_ary_entry($10,$$byval_copy1,$22);
    84520   $23 = $7;
    84521   ;HEAP32[$$byval_copy2>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$10+4>>2]|0;
    84522   _mrb_funcall_argv($9,$21,$$byval_copy2,$23,1,$4);
    84523   $24 = ((($9)) + 4|0);
    84524   $25 = HEAP32[$24>>2]|0;
    84525   $26 = ($25|0)!=(0);
    84526   if ($26) {
    84527    label = 4;
    84528    break;
    84529   }
    84530   $27 = $5;
    84531   $28 = (($27) + 1)|0;
    84532   $5 = $28;
    84533  }
    84534  if ((label|0) == 4) {
    84535   _mrb_true_value_1052($0);
    84536   STACKTOP = sp;return;
    84537  }
    84538  else if ((label|0) == 6) {
    84539   _mrb_false_value_1053($0);
    84540   STACKTOP = sp;return;
    84541  }
    84542 }
    84543 function _mrb_true_value_1052($0) {
    84544  $0 = $0|0;
    84545  var $1 = 0, $2 = 0, label = 0, sp = 0;
    84546  sp = STACKTOP;
    84547  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    84548  $1 = sp;
    84549  $2 = ((($1)) + 4|0);
    84550  HEAP32[$2>>2] = 2;
    84551  HEAP32[$1>>2] = 1;
    84552  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    84553  STACKTOP = sp;return;
    84554 }
    84555 function _mrb_false_value_1053($0) {
    84556  $0 = $0|0;
    84557  var $1 = 0, $2 = 0, label = 0, sp = 0;
    84558  sp = STACKTOP;
    84559  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    84560  $1 = sp;
    84561  $2 = ((($1)) + 4|0);
    84562  HEAP32[$2>>2] = 0;
    84563  HEAP32[$1>>2] = 1;
    84564  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    84565  STACKTOP = sp;return;
    84566 }
    84567 function _mrb_nil_value_1054($0) {
    84568  $0 = $0|0;
    84569  var $1 = 0, $2 = 0, label = 0, sp = 0;
    84570  sp = STACKTOP;
    84571  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    84572  $1 = sp;
    84573  $2 = ((($1)) + 4|0);
    84574  HEAP32[$2>>2] = 0;
    84575  HEAP32[$1>>2] = 0;
    84576  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    84577  STACKTOP = sp;return;
    84578 }
    84579 function _mrb_obj_singleton_methods($0,$1,$2,$3) {
    84580  $0 = $0|0;
    84581  $1 = $1|0;
    84582  $2 = $2|0;
    84583  $3 = $3|0;
    84584  var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$old = 0, $$old2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
    84585  var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    84586  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
    84587  var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0;
    84588  var sp = 0;
    84589  sp = STACKTOP;
    84590  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    84591  $$byval_copy4 = sp + 56|0;
    84592  $$byval_copy3 = sp + 48|0;
    84593  $$byval_copy = sp + 40|0;
    84594  $7 = sp + 24|0;
    84595  $10 = sp + 8|0;
    84596  $11 = sp;
    84597  $4 = $1;
    84598  $5 = $2;
    84599  $12 = $4;
    84600  $13 = (_kh_init_st($12)|0);
    84601  $9 = $13;
    84602  $14 = $4;
    84603  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    84604  $15 = (_mrb_class_984($14,$$byval_copy)|0);
    84605  $8 = $15;
    84606  $16 = $8;
    84607  $17 = ($16|0)!=(0|0);
    84608  if ($17) {
    84609   $18 = $8;
    84610   $19 = HEAP32[$18>>2]|0;
    84611   $20 = $19 & 255;
    84612   $21 = ($20|0)==(12);
    84613   if ($21) {
    84614    $22 = $4;
    84615    $23 = $8;
    84616    $24 = $9;
    84617    _method_entry_loop($22,$23,$24);
    84618    $25 = $8;
    84619    $26 = ((($25)) + 20|0);
    84620    $27 = HEAP32[$26>>2]|0;
    84621    $8 = $27;
    84622   }
    84623  }
    84624  $28 = $5;
    84625  $29 = ($28<<24>>24)!=(0);
    84626  $30 = $8;
    84627  $31 = ($30|0)!=(0|0);
    84628  $or$cond = $29 & $31;
    84629  L5: do {
    84630   if ($or$cond) {
    84631    while(1) {
    84632     $32 = $8;
    84633     $33 = HEAP32[$32>>2]|0;
    84634     $34 = $33 & 255;
    84635     $35 = ($34|0)==(12);
    84636     if (!($35)) {
    84637      $36 = $8;
    84638      $37 = HEAP32[$36>>2]|0;
    84639      $38 = $37 & 255;
    84640      $39 = ($38|0)==(11);
    84641      if (!($39)) {
    84642       break L5;
    84643      }
    84644     }
    84645     $40 = $4;
    84646     $41 = $8;
    84647     $42 = $9;
    84648     _method_entry_loop($40,$41,$42);
    84649     $43 = $8;
    84650     $44 = ((($43)) + 20|0);
    84651     $45 = HEAP32[$44>>2]|0;
    84652     $8 = $45;
    84653     $$old = $8;
    84654     $$old2 = ($$old|0)!=(0|0);
    84655     if (!($$old2)) {
    84656      break;
    84657     }
    84658    }
    84659   }
    84660  } while(0);
    84661  $46 = $4;
    84662  _mrb_ary_new($10,$46);
    84663  ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
    84664  $6 = 0;
    84665  while(1) {
    84666   $47 = $6;
    84667   $48 = $9;
    84668   $49 = HEAP32[$48>>2]|0;
    84669   $50 = ($47>>>0)<($49>>>0);
    84670   if (!($50)) {
    84671    break;
    84672   }
    84673   $51 = $9;
    84674   $52 = ((($51)) + 12|0);
    84675   $53 = HEAP32[$52>>2]|0;
    84676   $54 = $6;
    84677   $55 = (($54>>>0) / 4)&-1;
    84678   $56 = (($53) + ($55)|0);
    84679   $57 = HEAP8[$56>>0]|0;
    84680   $58 = $57&255;
    84681   $59 = $6;
    84682   $60 = (($59>>>0) % 4)&-1;
    84683   $61 = (68258 + ($60)|0);
    84684   $62 = HEAP8[$61>>0]|0;
    84685   $63 = $62&255;
    84686   $64 = $58 & $63;
    84687   $65 = ($64|0)!=(0);
    84688   if (!($65)) {
    84689    $66 = $4;
    84690    $67 = $9;
    84691    $68 = ((($67)) + 16|0);
    84692    $69 = HEAP32[$68>>2]|0;
    84693    $70 = $6;
    84694    $71 = (($69) + ($70<<2)|0);
    84695    $72 = HEAP32[$71>>2]|0;
    84696    _mrb_symbol_value_1003($11,$72);
    84697    ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
    84698    ;HEAP32[$$byval_copy4>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$11+4>>2]|0;
    84699    _mrb_ary_push($66,$$byval_copy3,$$byval_copy4);
    84700   }
    84701   $73 = $6;
    84702   $74 = (($73) + 1)|0;
    84703   $6 = $74;
    84704  }
    84705  $75 = $4;
    84706  $76 = $9;
    84707  _kh_destroy_st($75,$76);
    84708  ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
    84709  STACKTOP = sp;return;
    84710 }
    84711 function _basic_obj_respond_to($0,$1,$2,$3) {
    84712  $0 = $0|0;
    84713  $1 = $1|0;
    84714  $2 = $2|0;
    84715  $3 = $3|0;
    84716  var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    84717  sp = STACKTOP;
    84718  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84719  $$byval_copy = sp + 16|0;
    84720  $4 = $0;
    84721  $5 = $2;
    84722  $6 = $3;
    84723  $7 = $4;
    84724  $8 = $5;
    84725  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    84726  $9 = (_mrb_respond_to($7,$$byval_copy,$8)|0);
    84727  STACKTOP = sp;return ($9|0);
    84728 }
    84729 function _mrb_bool_value_1062($0,$1) {
    84730  $0 = $0|0;
    84731  $1 = $1|0;
    84732  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    84733  sp = STACKTOP;
    84734  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    84735  $3 = sp;
    84736  $2 = $1;
    84737  $4 = $2;
    84738  $5 = $4&255;
    84739  $6 = ($5|0)!=(0);
    84740  $7 = $6 ? 2 : 0;
    84741  $8 = ((($3)) + 4|0);
    84742  HEAP32[$8>>2] = $7;
    84743  HEAP32[$3>>2] = 1;
    84744  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    84745  STACKTOP = sp;return;
    84746 }
    84747 function _mrb_obj_methods($0,$1,$2,$3,$4) {
    84748  $0 = $0|0;
    84749  $1 = $1|0;
    84750  $2 = $2|0;
    84751  $3 = $3|0;
    84752  $4 = $4|0;
    84753  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    84754  sp = STACKTOP;
    84755  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84756  $$byval_copy1 = sp + 16|0;
    84757  $$byval_copy = sp + 8|0;
    84758  $5 = $1;
    84759  $6 = $2;
    84760  $7 = $4;
    84761  $8 = $6;
    84762  $9 = ($8<<24>>24)!=(0);
    84763  $10 = $5;
    84764  $11 = $6;
    84765  if ($9) {
    84766   $12 = $5;
    84767   ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    84768   $13 = (_mrb_class_984($12,$$byval_copy)|0);
    84769   _mrb_class_instance_method_list($0,$10,$11,$13,0);
    84770   STACKTOP = sp;return;
    84771  } else {
    84772   ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
    84773   _mrb_obj_singleton_methods($0,$10,$11,$$byval_copy1);
    84774   STACKTOP = sp;return;
    84775  }
    84776 }
    84777 function _mrb_obj_extend($0,$1,$2,$3,$4) {
    84778  $0 = $0|0;
    84779  $1 = $1|0;
    84780  $2 = $2|0;
    84781  $3 = $3|0;
    84782  $4 = $4|0;
    84783  var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    84784  var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
    84785  sp = STACKTOP;
    84786  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    84787  $$byval_copy5 = sp + 64|0;
    84788  $$byval_copy4 = sp + 56|0;
    84789  $$byval_copy = sp + 48|0;
    84790  $vararg_buffer1 = sp + 8|0;
    84791  $vararg_buffer = sp;
    84792  $9 = sp + 24|0;
    84793  $10 = sp + 16|0;
    84794  $5 = $1;
    84795  $6 = $2;
    84796  $7 = $3;
    84797  $11 = $6;
    84798  $12 = ($11|0)==(0);
    84799  if ($12) {
    84800   $13 = $5;
    84801   $14 = $5;
    84802   $15 = (_mrb_class_get($14,69160)|0);
    84803   _mrb_raise($13,$15,68858);
    84804   // unreachable;
    84805  }
    84806  $8 = 0;
    84807  while(1) {
    84808   $16 = $8;
    84809   $17 = $6;
    84810   $18 = ($16|0)<($17|0);
    84811   if (!($18)) {
    84812    break;
    84813   }
    84814   $19 = $5;
    84815   $20 = $7;
    84816   $21 = $8;
    84817   $22 = (($20) + ($21<<3)|0);
    84818   ;HEAP32[$$byval_copy>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$22+4>>2]|0;
    84819   _mrb_check_type($19,$$byval_copy,10);
    84820   $23 = $8;
    84821   $24 = (($23) + 1)|0;
    84822   $8 = $24;
    84823  }
    84824  while(1) {
    84825   $25 = $6;
    84826   $26 = (($25) + -1)|0;
    84827   $6 = $26;
    84828   $27 = ($25|0)!=(0);
    84829   if (!($27)) {
    84830    break;
    84831   }
    84832   $28 = $5;
    84833   $29 = $7;
    84834   $30 = $6;
    84835   $31 = (($29) + ($30<<3)|0);
    84836   ;HEAP8[$vararg_buffer>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$4+7>>0]|0;
    84837   ;HEAP32[$$byval_copy4>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$31+4>>2]|0;
    84838   _mrb_funcall($9,$28,$$byval_copy4,68897,1,$vararg_buffer);
    84839   $32 = $5;
    84840   $33 = $7;
    84841   $34 = $6;
    84842   $35 = (($33) + ($34<<3)|0);
    84843   ;HEAP8[$vararg_buffer1>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$4+7>>0]|0;
    84844   ;HEAP32[$$byval_copy5>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$35+4>>2]|0;
    84845   _mrb_funcall($10,$32,$$byval_copy5,68911,1,$vararg_buffer1);
    84846  }
    84847  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    84848  STACKTOP = sp;return;
    84849 }
    84850 function _mrb_pool_open($0) {
    84851  $0 = $0|0;
    84852  var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    84853  sp = STACKTOP;
    84854  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    84855  $1 = $0;
    84856  $3 = $1;
    84857  $4 = (_mrb_malloc_simple($3,8)|0);
    84858  $2 = $4;
    84859  $5 = $2;
    84860  $6 = ($5|0)!=(0|0);
    84861  if (!($6)) {
    84862   $11 = $2;
    84863   STACKTOP = sp;return ($11|0);
    84864  }
    84865  $7 = $1;
    84866  $8 = $2;
    84867  HEAP32[$8>>2] = $7;
    84868  $9 = $2;
    84869  $10 = ((($9)) + 4|0);
    84870  HEAP32[$10>>2] = 0;
    84871  $11 = $2;
    84872  STACKTOP = sp;return ($11|0);
    84873 }
    84874 function _mrb_pool_close($0) {
    84875  $0 = $0|0;
    84876  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    84877  var sp = 0;
    84878  sp = STACKTOP;
    84879  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    84880  $1 = $0;
    84881  $4 = $1;
    84882  $5 = ($4|0)!=(0|0);
    84883  if (!($5)) {
    84884   STACKTOP = sp;return;
    84885  }
    84886  $6 = $1;
    84887  $7 = ((($6)) + 4|0);
    84888  $8 = HEAP32[$7>>2]|0;
    84889  $2 = $8;
    84890  while(1) {
    84891   $9 = $2;
    84892   $10 = ($9|0)!=(0|0);
    84893   if (!($10)) {
    84894    break;
    84895   }
    84896   $11 = $2;
    84897   $3 = $11;
    84898   $12 = $2;
    84899   $13 = HEAP32[$12>>2]|0;
    84900   $2 = $13;
    84901   $14 = $1;
    84902   $15 = HEAP32[$14>>2]|0;
    84903   $16 = $3;
    84904   _mrb_free($15,$16);
    84905  }
    84906  $17 = $1;
    84907  $18 = HEAP32[$17>>2]|0;
    84908  $19 = $1;
    84909  _mrb_free($18,$19);
    84910  STACKTOP = sp;return;
    84911 }
    84912 function _mrb_pool_alloc($0,$1) {
    84913  $0 = $0|0;
    84914  $1 = $1|0;
    84915  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    84916  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    84917  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    84918  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    84919  sp = STACKTOP;
    84920  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    84921  $3 = $0;
    84922  $4 = $1;
    84923  $7 = $3;
    84924  $8 = ($7|0)!=(0|0);
    84925  if (!($8)) {
    84926   $2 = 0;
    84927   $69 = $2;
    84928   STACKTOP = sp;return ($69|0);
    84929  }
    84930  $9 = $4;
    84931  $10 = (-1 - ($9))|0;
    84932  $11 = (($10) + 1)|0;
    84933  $12 = $11 & 3;
    84934  $13 = $4;
    84935  $14 = (($13) + ($12))|0;
    84936  $4 = $14;
    84937  $15 = $3;
    84938  $16 = ((($15)) + 4|0);
    84939  $17 = HEAP32[$16>>2]|0;
    84940  $5 = $17;
    84941  while(1) {
    84942   $18 = $5;
    84943   $19 = ($18|0)!=(0|0);
    84944   if (!($19)) {
    84945    break;
    84946   }
    84947   $20 = $5;
    84948   $21 = ((($20)) + 4|0);
    84949   $22 = HEAP32[$21>>2]|0;
    84950   $23 = $4;
    84951   $24 = (($22) + ($23))|0;
    84952   $25 = $5;
    84953   $26 = ((($25)) + 8|0);
    84954   $27 = HEAP32[$26>>2]|0;
    84955   $28 = ($24>>>0)<=($27>>>0);
    84956   $29 = $5;
    84957   if ($28) {
    84958    label = 6;
    84959    break;
    84960   }
    84961   $46 = HEAP32[$29>>2]|0;
    84962   $5 = $46;
    84963  }
    84964  if ((label|0) == 6) {
    84965   $30 = ((($29)) + 4|0);
    84966   $31 = HEAP32[$30>>2]|0;
    84967   $6 = $31;
    84968   $32 = $4;
    84969   $33 = $5;
    84970   $34 = ((($33)) + 4|0);
    84971   $35 = HEAP32[$34>>2]|0;
    84972   $36 = (($35) + ($32))|0;
    84973   HEAP32[$34>>2] = $36;
    84974   $37 = $5;
    84975   $38 = ((($37)) + 16|0);
    84976   $39 = $6;
    84977   $40 = (($38) + ($39)|0);
    84978   $41 = $5;
    84979   $42 = ((($41)) + 12|0);
    84980   HEAP32[$42>>2] = $40;
    84981   $43 = $5;
    84982   $44 = ((($43)) + 12|0);
    84983   $45 = HEAP32[$44>>2]|0;
    84984   $2 = $45;
    84985   $69 = $2;
    84986   STACKTOP = sp;return ($69|0);
    84987  }
    84988  $47 = $3;
    84989  $48 = $4;
    84990  $49 = (_page_alloc($47,$48)|0);
    84991  $5 = $49;
    84992  $50 = $5;
    84993  $51 = ($50|0)!=(0|0);
    84994  if ($51) {
    84995   $52 = $4;
    84996   $53 = $5;
    84997   $54 = ((($53)) + 4|0);
    84998   HEAP32[$54>>2] = $52;
    84999   $55 = $3;
    85000   $56 = ((($55)) + 4|0);
    85001   $57 = HEAP32[$56>>2]|0;
    85002   $58 = $5;
    85003   HEAP32[$58>>2] = $57;
    85004   $59 = $5;
    85005   $60 = $3;
    85006   $61 = ((($60)) + 4|0);
    85007   HEAP32[$61>>2] = $59;
    85008   $62 = $5;
    85009   $63 = ((($62)) + 16|0);
    85010   $64 = $5;
    85011   $65 = ((($64)) + 12|0);
    85012   HEAP32[$65>>2] = $63;
    85013   $66 = $5;
    85014   $67 = ((($66)) + 12|0);
    85015   $68 = HEAP32[$67>>2]|0;
    85016   $2 = $68;
    85017   $69 = $2;
    85018   STACKTOP = sp;return ($69|0);
    85019  } else {
    85020   $2 = 0;
    85021   $69 = $2;
    85022   STACKTOP = sp;return ($69|0);
    85023  }
    85024  return (0)|0;
    85025 }
    85026 function _page_alloc($0,$1) {
    85027  $0 = $0|0;
    85028  $1 = $1|0;
    85029  var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    85030  var sp = 0;
    85031  sp = STACKTOP;
    85032  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85033  $2 = $0;
    85034  $3 = $1;
    85035  $5 = $3;
    85036  $6 = ($5>>>0)<(4096);
    85037  $$ = $6 ? 4096 : $1;
    85038  $3 = $$;
    85039  $7 = $2;
    85040  $8 = HEAP32[$7>>2]|0;
    85041  $9 = $3;
    85042  $10 = (16 + ($9))|0;
    85043  $11 = (_mrb_malloc_simple($8,$10)|0);
    85044  $4 = $11;
    85045  $12 = $4;
    85046  $13 = ($12|0)!=(0|0);
    85047  if (!($13)) {
    85048   $19 = $4;
    85049   STACKTOP = sp;return ($19|0);
    85050  }
    85051  $14 = $4;
    85052  $15 = ((($14)) + 4|0);
    85053  HEAP32[$15>>2] = 0;
    85054  $16 = $3;
    85055  $17 = $4;
    85056  $18 = ((($17)) + 8|0);
    85057  HEAP32[$18>>2] = $16;
    85058  $19 = $4;
    85059  STACKTOP = sp;return ($19|0);
    85060 }
    85061 function _mrb_proc_new($0,$1) {
    85062  $0 = $0|0;
    85063  $1 = $1|0;
    85064  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    85065  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    85066  var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    85067  sp = STACKTOP;
    85068  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85069  $2 = $0;
    85070  $3 = $1;
    85071  $6 = $2;
    85072  $7 = ((($6)) + 12|0);
    85073  $8 = HEAP32[$7>>2]|0;
    85074  $9 = ((($8)) + 16|0);
    85075  $10 = HEAP32[$9>>2]|0;
    85076  $5 = $10;
    85077  $11 = $2;
    85078  $12 = $2;
    85079  $13 = ((($12)) + 44|0);
    85080  $14 = HEAP32[$13>>2]|0;
    85081  $15 = (_mrb_obj_alloc($11,13,$14)|0);
    85082  $4 = $15;
    85083  $16 = $4;
    85084  $17 = ((($16)) + 16|0);
    85085  HEAP32[$17>>2] = 0;
    85086  $18 = $5;
    85087  $19 = ($18|0)!=(0|0);
    85088  if ($19) {
    85089   $20 = $5;
    85090   $21 = ((($20)) + 4|0);
    85091   $22 = HEAP32[$21>>2]|0;
    85092   $23 = ($22|0)!=(0|0);
    85093   if ($23) {
    85094    $24 = $5;
    85095    $25 = ((($24)) + 4|0);
    85096    $26 = HEAP32[$25>>2]|0;
    85097    $27 = ((($26)) + 16|0);
    85098    $28 = HEAP32[$27>>2]|0;
    85099    $29 = $4;
    85100    $30 = ((($29)) + 16|0);
    85101    HEAP32[$30>>2] = $28;
    85102   }
    85103   $31 = $4;
    85104   $32 = ((($31)) + 16|0);
    85105   $33 = HEAP32[$32>>2]|0;
    85106   $34 = ($33|0)!=(0|0);
    85107   if (!($34)) {
    85108    $35 = $5;
    85109    $36 = ((($35)) + 44|0);
    85110    $37 = HEAP32[$36>>2]|0;
    85111    $38 = $4;
    85112    $39 = ((($38)) + 16|0);
    85113    HEAP32[$39>>2] = $37;
    85114   }
    85115  }
    85116  $40 = $3;
    85117  $41 = $4;
    85118  $42 = ((($41)) + 12|0);
    85119  HEAP32[$42>>2] = $40;
    85120  $43 = $4;
    85121  $44 = ((($43)) + 20|0);
    85122  HEAP32[$44>>2] = 0;
    85123  $45 = $2;
    85124  $46 = $3;
    85125  _mrb_irep_incref($45,$46);
    85126  $47 = $4;
    85127  STACKTOP = sp;return ($47|0);
    85128 }
    85129 function _mrb_closure_new($0,$1) {
    85130  $0 = $0|0;
    85131  $1 = $1|0;
    85132  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    85133  var label = 0, sp = 0;
    85134  sp = STACKTOP;
    85135  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85136  $2 = $0;
    85137  $3 = $1;
    85138  $5 = $2;
    85139  $6 = $3;
    85140  $7 = (_mrb_proc_new($5,$6)|0);
    85141  $4 = $7;
    85142  $8 = $2;
    85143  $9 = $4;
    85144  $10 = $2;
    85145  $11 = ((($10)) + 12|0);
    85146  $12 = HEAP32[$11>>2]|0;
    85147  $13 = ((($12)) + 16|0);
    85148  $14 = HEAP32[$13>>2]|0;
    85149  $15 = ((($14)) + 4|0);
    85150  $16 = HEAP32[$15>>2]|0;
    85151  $17 = ((($16)) + 12|0);
    85152  $18 = HEAP32[$17>>2]|0;
    85153  $19 = HEAP16[$18>>1]|0;
    85154  $20 = $19&65535;
    85155  _closure_setup($8,$9,$20);
    85156  $21 = $4;
    85157  STACKTOP = sp;return ($21|0);
    85158 }
    85159 function _closure_setup($0,$1,$2) {
    85160  $0 = $0|0;
    85161  $1 = $1|0;
    85162  $2 = $2|0;
    85163  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    85164  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    85165  sp = STACKTOP;
    85166  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85167  $3 = $0;
    85168  $4 = $1;
    85169  $5 = $2;
    85170  $7 = $3;
    85171  $8 = ((($7)) + 12|0);
    85172  $9 = HEAP32[$8>>2]|0;
    85173  $10 = ((($9)) + 16|0);
    85174  $11 = HEAP32[$10>>2]|0;
    85175  $12 = ((($11)) + 24|0);
    85176  $13 = HEAP32[$12>>2]|0;
    85177  $14 = ($13|0)!=(0|0);
    85178  $15 = $3;
    85179  if ($14) {
    85180   $25 = ((($15)) + 12|0);
    85181   $26 = HEAP32[$25>>2]|0;
    85182   $27 = ((($26)) + 16|0);
    85183   $28 = HEAP32[$27>>2]|0;
    85184   $29 = ((($28)) + 24|0);
    85185   $30 = HEAP32[$29>>2]|0;
    85186   $6 = $30;
    85187   $31 = $6;
    85188   $32 = $4;
    85189   $33 = ((($32)) + 20|0);
    85190   HEAP32[$33>>2] = $31;
    85191   STACKTOP = sp;return;
    85192  } else {
    85193   $16 = $5;
    85194   $17 = (_env_new($15,$16)|0);
    85195   $6 = $17;
    85196   $18 = $6;
    85197   $19 = $3;
    85198   $20 = ((($19)) + 12|0);
    85199   $21 = HEAP32[$20>>2]|0;
    85200   $22 = ((($21)) + 16|0);
    85201   $23 = HEAP32[$22>>2]|0;
    85202   $24 = ((($23)) + 24|0);
    85203   HEAP32[$24>>2] = $18;
    85204   $31 = $6;
    85205   $32 = $4;
    85206   $33 = ((($32)) + 20|0);
    85207   HEAP32[$33>>2] = $31;
    85208   STACKTOP = sp;return;
    85209  }
    85210 }
    85211 function _env_new($0,$1) {
    85212  $0 = $0|0;
    85213  $1 = $1|0;
    85214  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    85215  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    85216  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    85217  sp = STACKTOP;
    85218  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85219  $2 = $0;
    85220  $3 = $1;
    85221  $5 = $2;
    85222  $6 = $2;
    85223  $7 = ((($6)) + 12|0);
    85224  $8 = HEAP32[$7>>2]|0;
    85225  $9 = ((($8)) + 16|0);
    85226  $10 = HEAP32[$9>>2]|0;
    85227  $11 = ((($10)) + 4|0);
    85228  $12 = HEAP32[$11>>2]|0;
    85229  $13 = ((($12)) + 20|0);
    85230  $14 = HEAP32[$13>>2]|0;
    85231  $15 = (_mrb_obj_alloc($5,20,$14)|0);
    85232  $4 = $15;
    85233  $16 = $3;
    85234  $17 = $4;
    85235  $18 = HEAP32[$17>>2]|0;
    85236  $19 = $16 & 2097151;
    85237  $20 = $19 << 11;
    85238  $21 = $18 & 2047;
    85239  $22 = $21 | $20;
    85240  HEAP32[$17>>2] = $22;
    85241  $23 = $2;
    85242  $24 = ((($23)) + 12|0);
    85243  $25 = HEAP32[$24>>2]|0;
    85244  $26 = ((($25)) + 16|0);
    85245  $27 = HEAP32[$26>>2]|0;
    85246  $28 = HEAP32[$27>>2]|0;
    85247  $29 = $4;
    85248  $30 = ((($29)) + 16|0);
    85249  HEAP32[$30>>2] = $28;
    85250  $31 = $2;
    85251  $32 = ((($31)) + 12|0);
    85252  $33 = HEAP32[$32>>2]|0;
    85253  $34 = ((($33)) + 16|0);
    85254  $35 = HEAP32[$34>>2]|0;
    85255  $36 = $2;
    85256  $37 = ((($36)) + 12|0);
    85257  $38 = HEAP32[$37>>2]|0;
    85258  $39 = ((($38)) + 20|0);
    85259  $40 = HEAP32[$39>>2]|0;
    85260  $41 = $35;
    85261  $42 = $40;
    85262  $43 = (($41) - ($42))|0;
    85263  $44 = (($43|0) / 48)&-1;
    85264  $45 = $4;
    85265  $46 = ((($45)) + 20|0);
    85266  HEAP32[$46>>2] = $44;
    85267  $47 = $2;
    85268  $48 = ((($47)) + 12|0);
    85269  $49 = HEAP32[$48>>2]|0;
    85270  $50 = ((($49)) + 4|0);
    85271  $51 = HEAP32[$50>>2]|0;
    85272  $52 = $4;
    85273  $53 = ((($52)) + 12|0);
    85274  HEAP32[$53>>2] = $51;
    85275  $54 = $4;
    85276  STACKTOP = sp;return ($54|0);
    85277 }
    85278 function _mrb_proc_new_cfunc($0,$1) {
    85279  $0 = $0|0;
    85280  $1 = $1|0;
    85281  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
    85282  var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    85283  sp = STACKTOP;
    85284  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85285  $2 = $0;
    85286  $3 = $1;
    85287  $5 = $2;
    85288  $6 = $2;
    85289  $7 = ((($6)) + 44|0);
    85290  $8 = HEAP32[$7>>2]|0;
    85291  $9 = (_mrb_obj_alloc($5,13,$8)|0);
    85292  $4 = $9;
    85293  $10 = $3;
    85294  $11 = $4;
    85295  $12 = ((($11)) + 12|0);
    85296  HEAP32[$12>>2] = $10;
    85297  $13 = $4;
    85298  $14 = HEAP32[$13>>2]|0;
    85299  $15 = $14 >>> 11;
    85300  $16 = $15 | 128;
    85301  $17 = HEAP32[$13>>2]|0;
    85302  $18 = $16 & 2097151;
    85303  $19 = $18 << 11;
    85304  $20 = $17 & 2047;
    85305  $21 = $20 | $19;
    85306  HEAP32[$13>>2] = $21;
    85307  $22 = $4;
    85308  $23 = ((($22)) + 20|0);
    85309  HEAP32[$23>>2] = 0;
    85310  $24 = $4;
    85311  STACKTOP = sp;return ($24|0);
    85312 }
    85313 function _mrb_proc_new_cfunc_with_env($0,$1,$2,$3) {
    85314  $0 = $0|0;
    85315  $1 = $1|0;
    85316  $2 = $2|0;
    85317  $3 = $3|0;
    85318  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    85319  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    85320  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0;
    85321  var label = 0, sp = 0;
    85322  sp = STACKTOP;
    85323  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    85324  $4 = $0;
    85325  $5 = $1;
    85326  $6 = $2;
    85327  $7 = $3;
    85328  $11 = $4;
    85329  $12 = $5;
    85330  $13 = (_mrb_proc_new_cfunc($11,$12)|0);
    85331  $8 = $13;
    85332  $14 = $4;
    85333  $15 = $6;
    85334  $16 = (_env_new($14,$15)|0);
    85335  $9 = $16;
    85336  $17 = $8;
    85337  $18 = ((($17)) + 20|0);
    85338  HEAP32[$18>>2] = $16;
    85339  $19 = $4;
    85340  $20 = $8;
    85341  $21 = $8;
    85342  $22 = ((($21)) + 20|0);
    85343  $23 = HEAP32[$22>>2]|0;
    85344  _mrb_field_write_barrier($19,$20,$23);
    85345  $24 = $9;
    85346  $25 = ((($24)) + 20|0);
    85347  HEAP32[$25>>2] = -1;
    85348  $26 = $4;
    85349  $27 = $6;
    85350  $28 = $27<<3;
    85351  $29 = (_mrb_malloc($26,$28)|0);
    85352  $30 = $9;
    85353  $31 = ((($30)) + 12|0);
    85354  HEAP32[$31>>2] = $29;
    85355  $32 = $7;
    85356  $33 = ($32|0)!=(0|0);
    85357  $10 = 0;
    85358  if ($33) {
    85359   while(1) {
    85360    $34 = $10;
    85361    $35 = $6;
    85362    $36 = ($34|0)<($35|0);
    85363    if (!($36)) {
    85364     break;
    85365    }
    85366    $37 = $9;
    85367    $38 = ((($37)) + 12|0);
    85368    $39 = HEAP32[$38>>2]|0;
    85369    $40 = $10;
    85370    $41 = (($39) + ($40<<3)|0);
    85371    $42 = $7;
    85372    $43 = $10;
    85373    $44 = (($42) + ($43<<3)|0);
    85374    ;HEAP32[$41>>2]=HEAP32[$44>>2]|0;HEAP32[$41+4>>2]=HEAP32[$44+4>>2]|0;
    85375    $45 = $10;
    85376    $46 = (($45) + 1)|0;
    85377    $10 = $46;
    85378   }
    85379   $63 = $8;
    85380   STACKTOP = sp;return ($63|0);
    85381  } else {
    85382   while(1) {
    85383    $47 = $10;
    85384    $48 = $6;
    85385    $49 = ($47|0)<($48|0);
    85386    if (!($49)) {
    85387     break;
    85388    }
    85389    $50 = $9;
    85390    $51 = ((($50)) + 12|0);
    85391    $52 = HEAP32[$51>>2]|0;
    85392    $53 = $10;
    85393    $54 = (($52) + ($53<<3)|0);
    85394    $55 = ((($54)) + 4|0);
    85395    HEAP32[$55>>2] = 0;
    85396    $56 = $9;
    85397    $57 = ((($56)) + 12|0);
    85398    $58 = HEAP32[$57>>2]|0;
    85399    $59 = $10;
    85400    $60 = (($58) + ($59<<3)|0);
    85401    HEAP32[$60>>2] = 0;
    85402    $61 = $10;
    85403    $62 = (($61) + 1)|0;
    85404    $10 = $62;
    85405   }
    85406   $63 = $8;
    85407   STACKTOP = sp;return ($63|0);
    85408  }
    85409  return (0)|0;
    85410 }
    85411 function _mrb_proc_cfunc_env_get($0,$1,$2) {
    85412  $0 = $0|0;
    85413  $1 = $1|0;
    85414  $2 = $2|0;
    85415  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    85416  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    85417  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
    85418  sp = STACKTOP;
    85419  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    85420  $vararg_buffer = sp;
    85421  $7 = sp + 24|0;
    85422  $8 = sp + 16|0;
    85423  $3 = $1;
    85424  $4 = $2;
    85425  $9 = $3;
    85426  $10 = ((($9)) + 12|0);
    85427  $11 = HEAP32[$10>>2]|0;
    85428  $12 = ((($11)) + 16|0);
    85429  $13 = HEAP32[$12>>2]|0;
    85430  $14 = ((($13)) + 4|0);
    85431  $15 = HEAP32[$14>>2]|0;
    85432  $5 = $15;
    85433  $16 = $5;
    85434  $17 = ((($16)) + 20|0);
    85435  $18 = HEAP32[$17>>2]|0;
    85436  $6 = $18;
    85437  $19 = $5;
    85438  $20 = HEAP32[$19>>2]|0;
    85439  $21 = $20 >>> 11;
    85440  $22 = $21 & 128;
    85441  $23 = ($22|0)!=(0);
    85442  if (!($23)) {
    85443   $24 = $3;
    85444   $25 = $3;
    85445   $26 = (_mrb_class_get($25,69204)|0);
    85446   _mrb_raise($24,$26,68920);
    85447   // unreachable;
    85448  }
    85449  $27 = $6;
    85450  $28 = ($27|0)!=(0|0);
    85451  if (!($28)) {
    85452   $29 = $3;
    85453   $30 = $3;
    85454   $31 = (_mrb_class_get($30,69204)|0);
    85455   _mrb_raise($29,$31,68961);
    85456   // unreachable;
    85457  }
    85458  $32 = $4;
    85459  $33 = ($32|0)<(0);
    85460  if (!($33)) {
    85461   $34 = $6;
    85462   $35 = HEAP32[$34>>2]|0;
    85463   $36 = $35 >>> 11;
    85464   $37 = $4;
    85465   $38 = ($36|0)<=($37|0);
    85466   if (!($38)) {
    85467    $46 = $6;
    85468    $47 = ((($46)) + 12|0);
    85469    $48 = HEAP32[$47>>2]|0;
    85470    $49 = $4;
    85471    $50 = (($48) + ($49<<3)|0);
    85472    ;HEAP32[$0>>2]=HEAP32[$50>>2]|0;HEAP32[$0+4>>2]=HEAP32[$50+4>>2]|0;
    85473    STACKTOP = sp;return;
    85474   }
    85475  }
    85476  $39 = $3;
    85477  $40 = $3;
    85478  $41 = (_mrb_class_get($40,69011)|0);
    85479  $42 = $4;
    85480  _mrb_fixnum_value_1092($7,$42);
    85481  $43 = $6;
    85482  $44 = HEAP32[$43>>2]|0;
    85483  $45 = $44 >>> 11;
    85484  _mrb_fixnum_value_1092($8,$45);
    85485  ;HEAP8[$vararg_buffer>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$7+7>>0]|0;
    85486  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
    85487  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$8+7>>0]|0;
    85488  _mrb_raisef($39,$41,69022,$vararg_buffer);
    85489  // unreachable;
    85490 }
    85491 function _mrb_fixnum_value_1092($0,$1) {
    85492  $0 = $0|0;
    85493  $1 = $1|0;
    85494  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    85495  sp = STACKTOP;
    85496  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85497  $3 = sp;
    85498  $2 = $1;
    85499  $4 = ((($3)) + 4|0);
    85500  HEAP32[$4>>2] = 3;
    85501  $5 = $2;
    85502  HEAP32[$3>>2] = $5;
    85503  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    85504  STACKTOP = sp;return;
    85505 }
    85506 function _mrb_proc_copy($0,$1) {
    85507  $0 = $0|0;
    85508  $1 = $1|0;
    85509  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    85510  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    85511  sp = STACKTOP;
    85512  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85513  $2 = $0;
    85514  $3 = $1;
    85515  $4 = $3;
    85516  $5 = HEAP32[$4>>2]|0;
    85517  $6 = $5 >>> 11;
    85518  $7 = $2;
    85519  $8 = HEAP32[$7>>2]|0;
    85520  $9 = $6 & 2097151;
    85521  $10 = $9 << 11;
    85522  $11 = $8 & 2047;
    85523  $12 = $11 | $10;
    85524  HEAP32[$7>>2] = $12;
    85525  $13 = $2;
    85526  $14 = ((($13)) + 12|0);
    85527  $15 = $3;
    85528  $16 = ((($15)) + 12|0);
    85529  ;HEAP32[$14>>2]=HEAP32[$16>>2]|0;
    85530  $17 = $2;
    85531  $18 = HEAP32[$17>>2]|0;
    85532  $19 = $18 >>> 11;
    85533  $20 = $19 & 128;
    85534  $21 = ($20|0)!=(0);
    85535  if (!($21)) {
    85536   $22 = $2;
    85537   $23 = ((($22)) + 12|0);
    85538   $24 = HEAP32[$23>>2]|0;
    85539   $25 = ((($24)) + 56|0);
    85540   $26 = HEAP32[$25>>2]|0;
    85541   $27 = (($26) + 1)|0;
    85542   HEAP32[$25>>2] = $27;
    85543  }
    85544  $28 = $3;
    85545  $29 = ((($28)) + 16|0);
    85546  $30 = HEAP32[$29>>2]|0;
    85547  $31 = $2;
    85548  $32 = ((($31)) + 16|0);
    85549  HEAP32[$32>>2] = $30;
    85550  $33 = $3;
    85551  $34 = ((($33)) + 20|0);
    85552  $35 = HEAP32[$34>>2]|0;
    85553  $36 = $2;
    85554  $37 = ((($36)) + 20|0);
    85555  HEAP32[$37>>2] = $35;
    85556  STACKTOP = sp;return;
    85557 }
    85558 function _mrb_proc_iseq($0,$1) {
    85559  $0 = $0|0;
    85560  $1 = $1|0;
    85561  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    85562  sp = STACKTOP;
    85563  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85564  $2 = $0;
    85565  $3 = $1;
    85566  $4 = $3;
    85567  $5 = ((($4)) + 12|0);
    85568  $6 = HEAP32[$5>>2]|0;
    85569  $7 = ((($6)) + 8|0);
    85570  $8 = HEAP32[$7>>2]|0;
    85571  STACKTOP = sp;return ($8|0);
    85572 }
    85573 function _mrb_init_proc($0) {
    85574  $0 = $0|0;
    85575  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    85576  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    85577  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
    85578  sp = STACKTOP;
    85579  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85580  $1 = $0;
    85581  $4 = $1;
    85582  $5 = (_mrb_malloc($4,60)|0);
    85583  $3 = $5;
    85584  $6 = $3;
    85585  dest=$6; src=74880; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
    85586  $7 = $3;
    85587  $8 = ((($7)) + 4|0);
    85588  HEAP8[$8>>0] = 1;
    85589  $9 = $3;
    85590  $10 = ((($9)) + 8|0);
    85591  HEAP32[$10>>2] = 2544;
    85592  $11 = $3;
    85593  $12 = ((($11)) + 40|0);
    85594  HEAP32[$12>>2] = 1;
    85595  $13 = $1;
    85596  $14 = $1;
    85597  $15 = ((($14)) + 44|0);
    85598  $16 = HEAP32[$15>>2]|0;
    85599  _mrb_define_method($13,$16,69252,316,0);
    85600  $17 = $1;
    85601  $18 = $1;
    85602  $19 = ((($18)) + 44|0);
    85603  $20 = HEAP32[$19>>2]|0;
    85604  _mrb_define_method($17,$20,69294,317,262144);
    85605  $21 = $1;
    85606  $22 = $1;
    85607  $23 = ((($22)) + 44|0);
    85608  $24 = HEAP32[$23>>2]|0;
    85609  _mrb_define_method($21,$24,69077,318,0);
    85610  $25 = $1;
    85611  $26 = $3;
    85612  $27 = (_mrb_proc_new($25,$26)|0);
    85613  $2 = $27;
    85614  $28 = $1;
    85615  $29 = $1;
    85616  $30 = ((($29)) + 44|0);
    85617  $31 = HEAP32[$30>>2]|0;
    85618  $32 = $1;
    85619  $33 = (_mrb_intern_static($32,69604,4)|0);
    85620  $34 = $2;
    85621  _mrb_define_method_raw($28,$31,$33,$34);
    85622  $35 = $1;
    85623  $36 = $1;
    85624  $37 = ((($36)) + 44|0);
    85625  $38 = HEAP32[$37>>2]|0;
    85626  $39 = $1;
    85627  $40 = (_mrb_intern_static($39,69083,2)|0);
    85628  $41 = $2;
    85629  _mrb_define_method_raw($35,$38,$40,$41);
    85630  $42 = $1;
    85631  $43 = $1;
    85632  $44 = ((($43)) + 84|0);
    85633  $45 = HEAP32[$44>>2]|0;
    85634  _mrb_define_class_method($42,$45,69086,319,0);
    85635  $46 = $1;
    85636  $47 = $1;
    85637  $48 = ((($47)) + 84|0);
    85638  $49 = HEAP32[$48>>2]|0;
    85639  _mrb_define_method($46,$49,69086,319,0);
    85640  STACKTOP = sp;return;
    85641 }
    85642 function _mrb_proc_initialize($0,$1,$2) {
    85643  $0 = $0|0;
    85644  $1 = $1|0;
    85645  $2 = $2|0;
    85646  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    85647  sp = STACKTOP;
    85648  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    85649  $vararg_buffer = sp;
    85650  $4 = sp + 8|0;
    85651  $3 = $1;
    85652  $5 = $3;
    85653  HEAP32[$vararg_buffer>>2] = $4;
    85654  (_mrb_get_args($5,69093,$vararg_buffer)|0);
    85655  $6 = ((($4)) + 4|0);
    85656  $7 = HEAP32[$6>>2]|0;
    85657  $8 = ($7|0)==(0);
    85658  if ($8) {
    85659   $9 = HEAP32[$4>>2]|0;
    85660   $10 = ($9|0)!=(0);
    85661   if (!($10)) {
    85662    $11 = $3;
    85663    $12 = $3;
    85664    $13 = (_mrb_class_get($12,69160)|0);
    85665    _mrb_raise($11,$13,69095);
    85666    // unreachable;
    85667   }
    85668  }
    85669  $14 = HEAP32[$2>>2]|0;
    85670  $15 = HEAP32[$4>>2]|0;
    85671  _mrb_proc_copy($14,$15);
    85672  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    85673  STACKTOP = sp;return;
    85674 }
    85675 function _mrb_proc_init_copy($0,$1,$2) {
    85676  $0 = $0|0;
    85677  $1 = $1|0;
    85678  $2 = $2|0;
    85679  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    85680  sp = STACKTOP;
    85681  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    85682  $vararg_buffer = sp;
    85683  $4 = sp + 8|0;
    85684  $3 = $1;
    85685  $5 = $3;
    85686  HEAP32[$vararg_buffer>>2] = $4;
    85687  (_mrb_get_args($5,69199,$vararg_buffer)|0);
    85688  $6 = ((($4)) + 4|0);
    85689  $7 = HEAP32[$6>>2]|0;
    85690  $8 = ($7|0)!=(13);
    85691  if ($8) {
    85692   $9 = $3;
    85693   $10 = $3;
    85694   $11 = (_mrb_class_get($10,69160)|0);
    85695   _mrb_raise($9,$11,69139);
    85696   // unreachable;
    85697  } else {
    85698   $12 = HEAP32[$2>>2]|0;
    85699   $13 = HEAP32[$4>>2]|0;
    85700   _mrb_proc_copy($12,$13);
    85701   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    85702   STACKTOP = sp;return;
    85703  }
    85704 }
    85705 function _mrb_proc_arity($0,$1,$2) {
    85706  $0 = $0|0;
    85707  $1 = $1|0;
    85708  $2 = $2|0;
    85709  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    85710  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    85711  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    85712  sp = STACKTOP;
    85713  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    85714  $3 = $1;
    85715  $12 = HEAP32[$2>>2]|0;
    85716  $4 = $12;
    85717  $13 = $3;
    85718  $14 = $4;
    85719  $15 = (_mrb_proc_iseq($13,$14)|0);
    85720  $5 = $15;
    85721  $16 = $4;
    85722  $17 = HEAP32[$16>>2]|0;
    85723  $18 = $17 >>> 11;
    85724  $19 = $18 & 128;
    85725  $20 = ($19|0)!=(0);
    85726  if ($20) {
    85727   _mrb_fixnum_value_1092($0,-1);
    85728   STACKTOP = sp;return;
    85729  }
    85730  $21 = $5;
    85731  $22 = HEAP32[$21>>2]|0;
    85732  $23 = $22 & 127;
    85733  $24 = ($23|0)!=(38);
    85734  if ($24) {
    85735   _mrb_fixnum_value_1092($0,0);
    85736   STACKTOP = sp;return;
    85737  }
    85738  $25 = $5;
    85739  $26 = HEAP32[$25>>2]|0;
    85740  $27 = $26 >>> 7;
    85741  $28 = $27 & 33554431;
    85742  $6 = $28;
    85743  $29 = $6;
    85744  $30 = $29 >>> 18;
    85745  $31 = $30 & 31;
    85746  $7 = $31;
    85747  $32 = $6;
    85748  $33 = $32 >>> 13;
    85749  $34 = $33 & 31;
    85750  $8 = $34;
    85751  $35 = $6;
    85752  $36 = $35 >>> 12;
    85753  $37 = $36 & 1;
    85754  $9 = $37;
    85755  $38 = $6;
    85756  $39 = $38 >>> 7;
    85757  $40 = $39 & 31;
    85758  $10 = $40;
    85759  $41 = $9;
    85760  $42 = ($41|0)!=(0);
    85761  if ($42) {
    85762   label = 7;
    85763  } else {
    85764   $43 = $4;
    85765   $44 = HEAP32[$43>>2]|0;
    85766   $45 = $44 >>> 11;
    85767   $46 = $45 & 256;
    85768   $47 = ($46|0)!=(0);
    85769   $48 = $8;
    85770   $49 = ($48|0)!=(0);
    85771   $or$cond = $47 & $49;
    85772   if ($or$cond) {
    85773    label = 7;
    85774   } else {
    85775    $55 = $7;
    85776    $56 = $10;
    85777    $57 = (($55) + ($56))|0;
    85778    $58 = $57;
    85779   }
    85780  }
    85781  if ((label|0) == 7) {
    85782   $50 = $7;
    85783   $51 = $10;
    85784   $52 = (($50) + ($51))|0;
    85785   $53 = (($52) + 1)|0;
    85786   $54 = (0 - ($53))|0;
    85787   $58 = $54;
    85788  }
    85789  $11 = $58;
    85790  $59 = $11;
    85791  _mrb_fixnum_value_1092($0,$59);
    85792  STACKTOP = sp;return;
    85793 }
    85794 function _proc_lambda($0,$1,$2) {
    85795  $0 = $0|0;
    85796  $1 = $1|0;
    85797  $2 = $2|0;
    85798  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    85799  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0;
    85800  var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    85801  sp = STACKTOP;
    85802  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    85803  $vararg_buffer = sp;
    85804  $4 = sp + 16|0;
    85805  $3 = $1;
    85806  $7 = $3;
    85807  HEAP32[$vararg_buffer>>2] = $4;
    85808  (_mrb_get_args($7,69093,$vararg_buffer)|0);
    85809  $8 = ((($4)) + 4|0);
    85810  $9 = HEAP32[$8>>2]|0;
    85811  $10 = ($9|0)==(0);
    85812  if ($10) {
    85813   $11 = HEAP32[$4>>2]|0;
    85814   $12 = ($11|0)!=(0);
    85815   if (!($12)) {
    85816    $13 = $3;
    85817    $14 = $3;
    85818    $15 = (_mrb_class_get($14,69160)|0);
    85819    _mrb_raise($13,$15,69095);
    85820    // unreachable;
    85821   }
    85822  }
    85823  $16 = ((($4)) + 4|0);
    85824  $17 = HEAP32[$16>>2]|0;
    85825  $18 = ($17|0)!=(13);
    85826  if ($18) {
    85827   $19 = $3;
    85828   $20 = $3;
    85829   $21 = (_mrb_class_get($20,69160)|0);
    85830   _mrb_raise($19,$21,69139);
    85831   // unreachable;
    85832  }
    85833  $22 = HEAP32[$4>>2]|0;
    85834  $5 = $22;
    85835  $23 = $5;
    85836  $24 = HEAP32[$23>>2]|0;
    85837  $25 = $24 >>> 11;
    85838  $26 = $25 & 256;
    85839  $27 = ($26|0)!=(0);
    85840  if ($27) {
    85841   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    85842   STACKTOP = sp;return;
    85843  } else {
    85844   $28 = $3;
    85845   $29 = $5;
    85846   $30 = ((($29)) + 4|0);
    85847   $31 = HEAP32[$30>>2]|0;
    85848   $32 = (_mrb_obj_alloc($28,13,$31)|0);
    85849   $6 = $32;
    85850   $33 = $6;
    85851   $34 = $5;
    85852   _mrb_proc_copy($33,$34);
    85853   $35 = $6;
    85854   $36 = HEAP32[$35>>2]|0;
    85855   $37 = $36 >>> 11;
    85856   $38 = $37 | 256;
    85857   $39 = HEAP32[$35>>2]|0;
    85858   $40 = $38 & 2097151;
    85859   $41 = $40 << 11;
    85860   $42 = $39 & 2047;
    85861   $43 = $42 | $41;
    85862   HEAP32[$35>>2] = $43;
    85863   $44 = $6;
    85864   _mrb_obj_value_1108($0,$44);
    85865   STACKTOP = sp;return;
    85866  }
    85867 }
    85868 function _mrb_obj_value_1108($0,$1) {
    85869  $0 = $0|0;
    85870  $1 = $1|0;
    85871  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    85872  sp = STACKTOP;
    85873  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85874  $3 = sp;
    85875  $2 = $1;
    85876  $4 = $2;
    85877  $5 = HEAP32[$4>>2]|0;
    85878  $6 = $5 & 255;
    85879  $7 = ((($3)) + 4|0);
    85880  HEAP32[$7>>2] = $6;
    85881  $8 = $2;
    85882  HEAP32[$3>>2] = $8;
    85883  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    85884  STACKTOP = sp;return;
    85885 }
    85886 function _mrb_range_new($0,$1,$2,$3,$4) {
    85887  $0 = $0|0;
    85888  $1 = $1|0;
    85889  $2 = $2|0;
    85890  $3 = $3|0;
    85891  $4 = $4|0;
    85892  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    85893  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    85894  sp = STACKTOP;
    85895  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    85896  $$byval_copy1 = sp + 16|0;
    85897  $$byval_copy = sp + 8|0;
    85898  $5 = $1;
    85899  $6 = $4;
    85900  $8 = $5;
    85901  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    85902  ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
    85903  _range_check($8,$$byval_copy,$$byval_copy1);
    85904  $9 = $5;
    85905  $10 = $5;
    85906  $11 = (_mrb_class_get($10,69150)|0);
    85907  $12 = (_mrb_obj_alloc($9,17,$11)|0);
    85908  $7 = $12;
    85909  $13 = $5;
    85910  $14 = (_mrb_malloc($13,16)|0);
    85911  $15 = $7;
    85912  $16 = ((($15)) + 12|0);
    85913  HEAP32[$16>>2] = $14;
    85914  $17 = $7;
    85915  $18 = ((($17)) + 12|0);
    85916  $19 = HEAP32[$18>>2]|0;
    85917  ;HEAP32[$19>>2]=HEAP32[$2>>2]|0;HEAP32[$19+4>>2]=HEAP32[$2+4>>2]|0;
    85918  $20 = $7;
    85919  $21 = ((($20)) + 12|0);
    85920  $22 = HEAP32[$21>>2]|0;
    85921  $23 = ((($22)) + 8|0);
    85922  ;HEAP32[$23>>2]=HEAP32[$3>>2]|0;HEAP32[$23+4>>2]=HEAP32[$3+4>>2]|0;
    85923  $24 = $6;
    85924  $25 = $7;
    85925  $26 = ((($25)) + 16|0);
    85926  $27 = HEAP8[$26>>0]|0;
    85927  $28 = $24 & 1;
    85928  $29 = $27 & -2;
    85929  $30 = $29 | $28;
    85930  HEAP8[$26>>0] = $30;
    85931  $31 = $7;
    85932  _mrb_obj_value_1113($0,$31);
    85933  STACKTOP = sp;return;
    85934 }
    85935 function _range_check($0,$1,$2) {
    85936  $0 = $0|0;
    85937  $1 = $1|0;
    85938  $2 = $2|0;
    85939  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    85940  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    85941  sp = STACKTOP;
    85942  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    85943  $$byval_copy = sp + 40|0;
    85944  $vararg_buffer = sp;
    85945  $4 = sp + 24|0;
    85946  $7 = sp + 8|0;
    85947  $3 = $0;
    85948  $8 = ((($1)) + 4|0);
    85949  $9 = HEAP32[$8>>2]|0;
    85950  $5 = $9;
    85951  $10 = ((($2)) + 4|0);
    85952  $11 = HEAP32[$10>>2]|0;
    85953  $6 = $11;
    85954  $12 = $5;
    85955  $13 = ($12|0)==(3);
    85956  $14 = $5;
    85957  $15 = ($14|0)==(6);
    85958  $or$cond = $13 | $15;
    85959  if ($or$cond) {
    85960   $16 = $6;
    85961   $17 = ($16|0)==(3);
    85962   $18 = $6;
    85963   $19 = ($18|0)==(6);
    85964   $or$cond3 = $17 | $19;
    85965   if ($or$cond3) {
    85966    STACKTOP = sp;return;
    85967   }
    85968  }
    85969  $20 = $3;
    85970  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    85971  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    85972  _mrb_funcall($7,$20,$$byval_copy,69156,1,$vararg_buffer);
    85973  ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
    85974  $21 = ((($4)) + 4|0);
    85975  $22 = HEAP32[$21>>2]|0;
    85976  $23 = ($22|0)==(0);
    85977  if (!($23)) {
    85978   STACKTOP = sp;return;
    85979  }
    85980  $24 = HEAP32[$4>>2]|0;
    85981  $25 = ($24|0)!=(0);
    85982  if ($25) {
    85983   STACKTOP = sp;return;
    85984  } else {
    85985   $26 = $3;
    85986   $27 = $3;
    85987   $28 = (_mrb_class_get($27,69160)|0);
    85988   _mrb_raise($26,$28,69174);
    85989   // unreachable;
    85990  }
    85991 }
    85992 function _mrb_obj_value_1113($0,$1) {
    85993  $0 = $0|0;
    85994  $1 = $1|0;
    85995  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    85996  sp = STACKTOP;
    85997  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    85998  $3 = sp;
    85999  $2 = $1;
    86000  $4 = $2;
    86001  $5 = HEAP32[$4>>2]|0;
    86002  $6 = $5 & 255;
    86003  $7 = ((($3)) + 4|0);
    86004  HEAP32[$7>>2] = $6;
    86005  $8 = $2;
    86006  HEAP32[$3>>2] = $8;
    86007  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    86008  STACKTOP = sp;return;
    86009 }
    86010 function _mrb_range_beg($0,$1,$2) {
    86011  $0 = $0|0;
    86012  $1 = $1|0;
    86013  $2 = $2|0;
    86014  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    86015  sp = STACKTOP;
    86016  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    86017  $3 = $1;
    86018  $5 = HEAP32[$2>>2]|0;
    86019  $4 = $5;
    86020  $6 = $4;
    86021  $7 = ((($6)) + 12|0);
    86022  $8 = HEAP32[$7>>2]|0;
    86023  ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
    86024  STACKTOP = sp;return;
    86025 }
    86026 function _mrb_range_end($0,$1,$2) {
    86027  $0 = $0|0;
    86028  $1 = $1|0;
    86029  $2 = $2|0;
    86030  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86031  sp = STACKTOP;
    86032  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    86033  $3 = $1;
    86034  $5 = HEAP32[$2>>2]|0;
    86035  $4 = $5;
    86036  $6 = $4;
    86037  $7 = ((($6)) + 12|0);
    86038  $8 = HEAP32[$7>>2]|0;
    86039  $9 = ((($8)) + 8|0);
    86040  ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
    86041  STACKTOP = sp;return;
    86042 }
    86043 function _mrb_range_excl($0,$1,$2) {
    86044  $0 = $0|0;
    86045  $1 = $1|0;
    86046  $2 = $2|0;
    86047  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86048  sp = STACKTOP;
    86049  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    86050  $3 = $1;
    86051  $5 = HEAP32[$2>>2]|0;
    86052  $4 = $5;
    86053  $6 = $4;
    86054  $7 = ((($6)) + 16|0);
    86055  $8 = HEAP8[$7>>0]|0;
    86056  $9 = $8 & 1;
    86057  _mrb_bool_value_1117($0,$9);
    86058  STACKTOP = sp;return;
    86059 }
    86060 function _mrb_bool_value_1117($0,$1) {
    86061  $0 = $0|0;
    86062  $1 = $1|0;
    86063  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    86064  sp = STACKTOP;
    86065  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    86066  $3 = sp;
    86067  $2 = $1;
    86068  $4 = $2;
    86069  $5 = $4&255;
    86070  $6 = ($5|0)!=(0);
    86071  $7 = $6 ? 2 : 0;
    86072  $8 = ((($3)) + 4|0);
    86073  HEAP32[$8>>2] = $7;
    86074  HEAP32[$3>>2] = 1;
    86075  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    86076  STACKTOP = sp;return;
    86077 }
    86078 function _mrb_range_initialize($0,$1,$2) {
    86079  $0 = $0|0;
    86080  $1 = $1|0;
    86081  $2 = $2|0;
    86082  var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    86083  sp = STACKTOP;
    86084  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    86085  $$byval_copy4 = sp + 56|0;
    86086  $$byval_copy3 = sp + 48|0;
    86087  $$byval_copy = sp + 40|0;
    86088  $vararg_buffer = sp;
    86089  $4 = sp + 24|0;
    86090  $5 = sp + 16|0;
    86091  $6 = sp + 64|0;
    86092  $3 = $1;
    86093  $8 = $3;
    86094  HEAP32[$vararg_buffer>>2] = $4;
    86095  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    86096  HEAP32[$vararg_ptr1>>2] = $5;
    86097  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    86098  HEAP32[$vararg_ptr2>>2] = $6;
    86099  $9 = (_mrb_get_args($8,69194,$vararg_buffer)|0);
    86100  $7 = $9;
    86101  $10 = $7;
    86102  $11 = ($10|0)!=(3);
    86103  if ($11) {
    86104   HEAP8[$6>>0] = 0;
    86105  }
    86106  $12 = $3;
    86107  $13 = HEAP8[$6>>0]|0;
    86108  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    86109  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    86110  ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
    86111  _range_init($12,$$byval_copy,$$byval_copy3,$$byval_copy4,$13);
    86112  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    86113  STACKTOP = sp;return;
    86114 }
    86115 function _range_init($0,$1,$2,$3,$4) {
    86116  $0 = $0|0;
    86117  $1 = $1|0;
    86118  $2 = $2|0;
    86119  $3 = $3|0;
    86120  $4 = $4|0;
    86121  var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    86122  var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86123  sp = STACKTOP;
    86124  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    86125  $$byval_copy1 = sp + 16|0;
    86126  $$byval_copy = sp + 8|0;
    86127  $5 = $0;
    86128  $6 = $4;
    86129  $8 = HEAP32[$1>>2]|0;
    86130  $7 = $8;
    86131  $9 = $5;
    86132  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    86133  ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
    86134  _range_check($9,$$byval_copy,$$byval_copy1);
    86135  $10 = $6;
    86136  $11 = $7;
    86137  $12 = ((($11)) + 16|0);
    86138  $13 = HEAP8[$12>>0]|0;
    86139  $14 = $10 & 1;
    86140  $15 = $13 & -2;
    86141  $16 = $15 | $14;
    86142  HEAP8[$12>>0] = $16;
    86143  $17 = $7;
    86144  $18 = ((($17)) + 12|0);
    86145  $19 = HEAP32[$18>>2]|0;
    86146  $20 = ($19|0)!=(0|0);
    86147  if (!($20)) {
    86148   $21 = $5;
    86149   $22 = (_mrb_malloc($21,16)|0);
    86150   $23 = $7;
    86151   $24 = ((($23)) + 12|0);
    86152   HEAP32[$24>>2] = $22;
    86153  }
    86154  $25 = $7;
    86155  $26 = ((($25)) + 12|0);
    86156  $27 = HEAP32[$26>>2]|0;
    86157  ;HEAP32[$27>>2]=HEAP32[$2>>2]|0;HEAP32[$27+4>>2]=HEAP32[$2+4>>2]|0;
    86158  $28 = $7;
    86159  $29 = ((($28)) + 12|0);
    86160  $30 = HEAP32[$29>>2]|0;
    86161  $31 = ((($30)) + 8|0);
    86162  ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;
    86163  STACKTOP = sp;return;
    86164 }
    86165 function _mrb_range_eq($0,$1,$2) {
    86166  $0 = $0|0;
    86167  $1 = $1|0;
    86168  $2 = $2|0;
    86169  var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    86170  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
    86171  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0;
    86172  var sp = 0;
    86173  sp = STACKTOP;
    86174  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    86175  $$byval_copy11 = sp + 104|0;
    86176  $$byval_copy10 = sp + 96|0;
    86177  $$byval_copy9 = sp + 88|0;
    86178  $$byval_copy8 = sp + 80|0;
    86179  $$byval_copy7 = sp + 72|0;
    86180  $$byval_copy = sp + 64|0;
    86181  $vararg_buffer4 = sp + 16|0;
    86182  $vararg_buffer1 = sp + 8|0;
    86183  $vararg_buffer = sp;
    86184  $6 = sp + 40|0;
    86185  $7 = sp + 32|0;
    86186  $8 = sp + 24|0;
    86187  $3 = $1;
    86188  $9 = $3;
    86189  HEAP32[$vararg_buffer>>2] = $6;
    86190  (_mrb_get_args($9,69199,$vararg_buffer)|0);
    86191  $10 = $3;
    86192  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    86193  ;HEAP32[$$byval_copy7>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$6+4>>2]|0;
    86194  $11 = (_mrb_obj_equal($10,$$byval_copy,$$byval_copy7)|0);
    86195  $12 = ($11<<24>>24)!=(0);
    86196  if ($12) {
    86197   _mrb_true_value_1120($0);
    86198   STACKTOP = sp;return;
    86199  }
    86200  $13 = $3;
    86201  $14 = $3;
    86202  ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
    86203  $15 = (_mrb_obj_class($14,$$byval_copy8)|0);
    86204  ;HEAP32[$$byval_copy9>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$6+4>>2]|0;
    86205  $16 = (_mrb_obj_is_instance_of($13,$$byval_copy9,$15)|0);
    86206  $17 = ($16<<24>>24)!=(0);
    86207  if (!($17)) {
    86208   _mrb_false_value_1121($0);
    86209   STACKTOP = sp;return;
    86210  }
    86211  $18 = HEAP32[$2>>2]|0;
    86212  $4 = $18;
    86213  $19 = HEAP32[$6>>2]|0;
    86214  $5 = $19;
    86215  $20 = $3;
    86216  $21 = $4;
    86217  $22 = ((($21)) + 12|0);
    86218  $23 = HEAP32[$22>>2]|0;
    86219  $24 = $5;
    86220  $25 = ((($24)) + 12|0);
    86221  $26 = HEAP32[$25>>2]|0;
    86222  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$26>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$26+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$26+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$26+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$26+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$26+7>>0]|0;
    86223  ;HEAP32[$$byval_copy10>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$23+4>>2]|0;
    86224  _mrb_funcall($7,$20,$$byval_copy10,69201,1,$vararg_buffer1);
    86225  $27 = ((($7)) + 4|0);
    86226  $28 = HEAP32[$27>>2]|0;
    86227  $29 = ($28|0)!=(0);
    86228  if ($29) {
    86229   $30 = $3;
    86230   $31 = $4;
    86231   $32 = ((($31)) + 12|0);
    86232   $33 = HEAP32[$32>>2]|0;
    86233   $34 = ((($33)) + 8|0);
    86234   $35 = $5;
    86235   $36 = ((($35)) + 12|0);
    86236   $37 = HEAP32[$36>>2]|0;
    86237   $38 = ((($37)) + 8|0);
    86238   ;HEAP8[$vararg_buffer4>>0]=HEAP8[$38>>0]|0;HEAP8[$vararg_buffer4+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$vararg_buffer4+2>>0]=HEAP8[$38+2>>0]|0;HEAP8[$vararg_buffer4+3>>0]=HEAP8[$38+3>>0]|0;HEAP8[$vararg_buffer4+4>>0]=HEAP8[$38+4>>0]|0;HEAP8[$vararg_buffer4+5>>0]=HEAP8[$38+5>>0]|0;HEAP8[$vararg_buffer4+6>>0]=HEAP8[$38+6>>0]|0;HEAP8[$vararg_buffer4+7>>0]=HEAP8[$38+7>>0]|0;
    86239   ;HEAP32[$$byval_copy11>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$34+4>>2]|0;
    86240   _mrb_funcall($8,$30,$$byval_copy11,69201,1,$vararg_buffer4);
    86241   $39 = ((($8)) + 4|0);
    86242   $40 = HEAP32[$39>>2]|0;
    86243   $41 = ($40|0)!=(0);
    86244   if ($41) {
    86245    $42 = $4;
    86246    $43 = ((($42)) + 16|0);
    86247    $44 = HEAP8[$43>>0]|0;
    86248    $45 = $44 & 1;
    86249    $46 = $45&255;
    86250    $47 = $5;
    86251    $48 = ((($47)) + 16|0);
    86252    $49 = HEAP8[$48>>0]|0;
    86253    $50 = $49 & 1;
    86254    $51 = $50&255;
    86255    $52 = ($46|0)!=($51|0);
    86256    if (!($52)) {
    86257     _mrb_true_value_1120($0);
    86258     STACKTOP = sp;return;
    86259    }
    86260   }
    86261  }
    86262  _mrb_false_value_1121($0);
    86263  STACKTOP = sp;return;
    86264 }
    86265 function _mrb_true_value_1120($0) {
    86266  $0 = $0|0;
    86267  var $1 = 0, $2 = 0, label = 0, sp = 0;
    86268  sp = STACKTOP;
    86269  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    86270  $1 = sp;
    86271  $2 = ((($1)) + 4|0);
    86272  HEAP32[$2>>2] = 2;
    86273  HEAP32[$1>>2] = 1;
    86274  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    86275  STACKTOP = sp;return;
    86276 }
    86277 function _mrb_false_value_1121($0) {
    86278  $0 = $0|0;
    86279  var $1 = 0, $2 = 0, label = 0, sp = 0;
    86280  sp = STACKTOP;
    86281  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    86282  $1 = sp;
    86283  $2 = ((($1)) + 4|0);
    86284  HEAP32[$2>>2] = 0;
    86285  HEAP32[$1>>2] = 1;
    86286  ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
    86287  STACKTOP = sp;return;
    86288 }
    86289 function _mrb_range_include($0,$1,$2) {
    86290  $0 = $0|0;
    86291  $1 = $1|0;
    86292  $2 = $2|0;
    86293  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    86294  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0;
    86295  var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    86296  sp = STACKTOP;
    86297  STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
    86298  $$byval_copy5 = sp + 88|0;
    86299  $$byval_copy4 = sp + 80|0;
    86300  $$byval_copy3 = sp + 72|0;
    86301  $$byval_copy2 = sp + 64|0;
    86302  $$byval_copy1 = sp + 56|0;
    86303  $$byval_copy = sp + 48|0;
    86304  $vararg_buffer = sp;
    86305  $4 = sp + 32|0;
    86306  $6 = sp + 16|0;
    86307  $7 = sp + 8|0;
    86308  $3 = $1;
    86309  $9 = HEAP32[$2>>2]|0;
    86310  $5 = $9;
    86311  $10 = $3;
    86312  HEAP32[$vararg_buffer>>2] = $4;
    86313  (_mrb_get_args($10,69199,$vararg_buffer)|0);
    86314  $11 = $5;
    86315  $12 = ((($11)) + 12|0);
    86316  $13 = HEAP32[$12>>2]|0;
    86317  ;HEAP32[$6>>2]=HEAP32[$13>>2]|0;HEAP32[$6+4>>2]=HEAP32[$13+4>>2]|0;
    86318  $14 = $5;
    86319  $15 = ((($14)) + 12|0);
    86320  $16 = HEAP32[$15>>2]|0;
    86321  $17 = ((($16)) + 8|0);
    86322  ;HEAP32[$7>>2]=HEAP32[$17>>2]|0;HEAP32[$7+4>>2]=HEAP32[$17+4>>2]|0;
    86323  $18 = $3;
    86324  ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
    86325  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    86326  $19 = (_r_le($18,$$byval_copy,$$byval_copy1)|0);
    86327  $20 = $19&255;
    86328  $21 = ($20|0)!=(0);
    86329  if (!($21)) {
    86330   $37 = 0;
    86331   $36 = $37&1;
    86332   $38 = $36&255;
    86333   $8 = $38;
    86334   $39 = $8;
    86335   _mrb_bool_value_1117($0,$39);
    86336   STACKTOP = sp;return;
    86337  }
    86338  $22 = $5;
    86339  $23 = ((($22)) + 16|0);
    86340  $24 = HEAP8[$23>>0]|0;
    86341  $25 = $24 & 1;
    86342  $26 = $25&255;
    86343  $27 = ($26|0)!=(0);
    86344  if ($27) {
    86345   $28 = $3;
    86346   ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0;
    86347   ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    86348   $29 = (_r_gt($28,$$byval_copy2,$$byval_copy3)|0);
    86349   $30 = $29&255;
    86350   $31 = ($30|0)!=(0);
    86351   if ($31) {
    86352    $37 = 1;
    86353    $36 = $37&1;
    86354    $38 = $36&255;
    86355    $8 = $38;
    86356    $39 = $8;
    86357    _mrb_bool_value_1117($0,$39);
    86358    STACKTOP = sp;return;
    86359   }
    86360  }
    86361  $32 = $3;
    86362  ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0;
    86363  ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;
    86364  $33 = (_r_ge($32,$$byval_copy4,$$byval_copy5)|0);
    86365  $34 = $33&255;
    86366  $35 = ($34|0)!=(0);
    86367  $37 = $35;
    86368  $36 = $37&1;
    86369  $38 = $36&255;
    86370  $8 = $38;
    86371  $39 = $8;
    86372  _mrb_bool_value_1117($0,$39);
    86373  STACKTOP = sp;return;
    86374 }
    86375 function _r_le($0,$1,$2) {
    86376  $0 = $0|0;
    86377  $1 = $1|0;
    86378  $2 = $2|0;
    86379  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
    86380  sp = STACKTOP;
    86381  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    86382  $$byval_copy = sp + 32|0;
    86383  $vararg_buffer = sp;
    86384  $5 = sp + 16|0;
    86385  $4 = $0;
    86386  $7 = $4;
    86387  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    86388  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    86389  _mrb_funcall($5,$7,$$byval_copy,69156,1,$vararg_buffer);
    86390  $8 = ((($5)) + 4|0);
    86391  $9 = HEAP32[$8>>2]|0;
    86392  $10 = ($9|0)==(3);
    86393  if ($10) {
    86394   $11 = HEAP32[$5>>2]|0;
    86395   $6 = $11;
    86396   $12 = $6;
    86397   $13 = ($12|0)==(0);
    86398   $14 = $6;
    86399   $15 = ($14|0)==(-1);
    86400   $or$cond = $13 | $15;
    86401   if ($or$cond) {
    86402    $3 = 1;
    86403    $16 = $3;
    86404    STACKTOP = sp;return ($16|0);
    86405   }
    86406  }
    86407  $3 = 0;
    86408  $16 = $3;
    86409  STACKTOP = sp;return ($16|0);
    86410 }
    86411 function _r_gt($0,$1,$2) {
    86412  $0 = $0|0;
    86413  $1 = $1|0;
    86414  $2 = $2|0;
    86415  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    86416  sp = STACKTOP;
    86417  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    86418  $$byval_copy = sp + 24|0;
    86419  $vararg_buffer = sp;
    86420  $4 = sp + 8|0;
    86421  $3 = $0;
    86422  $5 = $3;
    86423  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    86424  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    86425  _mrb_funcall($4,$5,$$byval_copy,69156,1,$vararg_buffer);
    86426  $6 = ((($4)) + 4|0);
    86427  $7 = HEAP32[$6>>2]|0;
    86428  $8 = ($7|0)==(3);
    86429  $9 = HEAP32[$4>>2]|0;
    86430  $10 = ($9|0)==(1);
    86431  $11 = $8 ? $10 : 0;
    86432  $12 = $11&1;
    86433  $13 = $12&255;
    86434  STACKTOP = sp;return ($13|0);
    86435 }
    86436 function _r_ge($0,$1,$2) {
    86437  $0 = $0|0;
    86438  $1 = $1|0;
    86439  $2 = $2|0;
    86440  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
    86441  sp = STACKTOP;
    86442  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    86443  $$byval_copy = sp + 32|0;
    86444  $vararg_buffer = sp;
    86445  $5 = sp + 16|0;
    86446  $4 = $0;
    86447  $7 = $4;
    86448  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
    86449  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    86450  _mrb_funcall($5,$7,$$byval_copy,69156,1,$vararg_buffer);
    86451  $8 = ((($5)) + 4|0);
    86452  $9 = HEAP32[$8>>2]|0;
    86453  $10 = ($9|0)==(3);
    86454  if ($10) {
    86455   $11 = HEAP32[$5>>2]|0;
    86456   $6 = $11;
    86457   $12 = $6;
    86458   $13 = ($12|0)==(0);
    86459   $14 = $6;
    86460   $15 = ($14|0)==(1);
    86461   $or$cond = $13 | $15;
    86462   if ($or$cond) {
    86463    $3 = 1;
    86464    $16 = $3;
    86465    STACKTOP = sp;return ($16|0);
    86466   }
    86467  }
    86468  $3 = 0;
    86469  $16 = $3;
    86470  STACKTOP = sp;return ($16|0);
    86471 }
    86472 function _mrb_range_beg_len($0,$1,$2,$3,$4) {
    86473  $0 = $0|0;
    86474  $1 = $1|0;
    86475  $2 = $2|0;
    86476  $3 = $3|0;
    86477  $4 = $4|0;
    86478  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86479  sp = STACKTOP;
    86480  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    86481  $$byval_copy = sp + 16|0;
    86482  $5 = $0;
    86483  $6 = $2;
    86484  $7 = $3;
    86485  $8 = $4;
    86486  $9 = $5;
    86487  $10 = $6;
    86488  $11 = $7;
    86489  $12 = $8;
    86490  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    86491  $13 = (_range_beg_len($9,$$byval_copy,$10,$11,$12,1)|0);
    86492  STACKTOP = sp;return ($13|0);
    86493 }
    86494 function _range_beg_len($0,$1,$2,$3,$4,$5) {
    86495  $0 = $0|0;
    86496  $1 = $1|0;
    86497  $2 = $2|0;
    86498  $3 = $3|0;
    86499  $4 = $4|0;
    86500  $5 = $5|0;
    86501  var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    86502  var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    86503  var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    86504  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86505  sp = STACKTOP;
    86506  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    86507  $$byval_copy1 = sp + 56|0;
    86508  $$byval_copy = sp + 48|0;
    86509  $15 = sp + 8|0;
    86510  $16 = sp;
    86511  $7 = $0;
    86512  $8 = $2;
    86513  $9 = $3;
    86514  $10 = $4;
    86515  $11 = $5;
    86516  $17 = HEAP32[$1>>2]|0;
    86517  $14 = $17;
    86518  $18 = ((($1)) + 4|0);
    86519  $19 = HEAP32[$18>>2]|0;
    86520  $20 = ($19|0)!=(17);
    86521  if ($20) {
    86522   $6 = 0;
    86523   $74 = $6;
    86524   STACKTOP = sp;return ($74|0);
    86525  }
    86526  $21 = $7;
    86527  $22 = $14;
    86528  $23 = ((($22)) + 12|0);
    86529  $24 = HEAP32[$23>>2]|0;
    86530  ;HEAP32[$$byval_copy>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$24+4>>2]|0;
    86531  _mrb_to_int($15,$21,$$byval_copy);
    86532  $25 = HEAP32[$15>>2]|0;
    86533  $12 = $25;
    86534  $26 = $7;
    86535  $27 = $14;
    86536  $28 = ((($27)) + 12|0);
    86537  $29 = HEAP32[$28>>2]|0;
    86538  $30 = ((($29)) + 8|0);
    86539  ;HEAP32[$$byval_copy1>>2]=HEAP32[$30>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$30+4>>2]|0;
    86540  _mrb_to_int($16,$26,$$byval_copy1);
    86541  $31 = HEAP32[$16>>2]|0;
    86542  $13 = $31;
    86543  $32 = $12;
    86544  $33 = ($32|0)<(0);
    86545  if ($33) {
    86546   $34 = $10;
    86547   $35 = $12;
    86548   $36 = (($35) + ($34))|0;
    86549   $12 = $36;
    86550   $37 = $12;
    86551   $38 = ($37|0)<(0);
    86552   if ($38) {
    86553    $6 = 0;
    86554    $74 = $6;
    86555    STACKTOP = sp;return ($74|0);
    86556   }
    86557  }
    86558  $39 = $11;
    86559  $40 = ($39<<24>>24)!=(0);
    86560  do {
    86561   if ($40) {
    86562    $41 = $12;
    86563    $42 = $10;
    86564    $43 = ($41|0)>($42|0);
    86565    if ($43) {
    86566     $6 = 0;
    86567     $74 = $6;
    86568     STACKTOP = sp;return ($74|0);
    86569    } else {
    86570     $44 = $13;
    86571     $45 = $10;
    86572     $46 = ($44|0)>($45|0);
    86573     if (!($46)) {
    86574      break;
    86575     }
    86576     $47 = $10;
    86577     $13 = $47;
    86578     break;
    86579    }
    86580   }
    86581  } while(0);
    86582  $48 = $13;
    86583  $49 = ($48|0)<(0);
    86584  if ($49) {
    86585   $50 = $10;
    86586   $51 = $13;
    86587   $52 = (($51) + ($50))|0;
    86588   $13 = $52;
    86589  }
    86590  $53 = $14;
    86591  $54 = ((($53)) + 16|0);
    86592  $55 = HEAP8[$54>>0]|0;
    86593  $56 = $55 & 1;
    86594  $57 = ($56<<24>>24)!=(0);
    86595  do {
    86596   if (!($57)) {
    86597    $58 = $11;
    86598    $59 = ($58<<24>>24)!=(0);
    86599    if ($59) {
    86600     $60 = $13;
    86601     $61 = $10;
    86602     $62 = ($60|0)<($61|0);
    86603     if (!($62)) {
    86604      break;
    86605     }
    86606    }
    86607    $63 = $13;
    86608    $64 = (($63) + 1)|0;
    86609    $13 = $64;
    86610   }
    86611  } while(0);
    86612  $65 = $13;
    86613  $66 = $12;
    86614  $67 = (($65) - ($66))|0;
    86615  $10 = $67;
    86616  $68 = $10;
    86617  $69 = ($68|0)<(0);
    86618  $$ = $69 ? 0 : $67;
    86619  $10 = $$;
    86620  $70 = $12;
    86621  $71 = $8;
    86622  HEAP32[$71>>2] = $70;
    86623  $72 = $10;
    86624  $73 = $9;
    86625  HEAP32[$73>>2] = $72;
    86626  $6 = 1;
    86627  $74 = $6;
    86628  STACKTOP = sp;return ($74|0);
    86629 }
    86630 function _mrb_init_range($0) {
    86631  $0 = $0|0;
    86632  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    86633  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    86634  var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86635  sp = STACKTOP;
    86636  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    86637  $1 = $0;
    86638  $3 = $1;
    86639  $4 = $1;
    86640  $5 = ((($4)) + 32|0);
    86641  $6 = HEAP32[$5>>2]|0;
    86642  $7 = (_mrb_define_class($3,69150,$6)|0);
    86643  $2 = $7;
    86644  $8 = $2;
    86645  $9 = HEAP32[$8>>2]|0;
    86646  $10 = $9 >>> 11;
    86647  $11 = $10 & -256;
    86648  $12 = $11 | 17;
    86649  $13 = $2;
    86650  $14 = HEAP32[$13>>2]|0;
    86651  $15 = $12 & 2097151;
    86652  $16 = $15 << 11;
    86653  $17 = $14 & 2047;
    86654  $18 = $17 | $16;
    86655  HEAP32[$13>>2] = $18;
    86656  $19 = $1;
    86657  $20 = $2;
    86658  _mrb_define_method($19,$20,69214,320,0);
    86659  $21 = $1;
    86660  $22 = $2;
    86661  _mrb_define_method($21,$22,69220,321,0);
    86662  $23 = $1;
    86663  $24 = $2;
    86664  _mrb_define_method($23,$24,69201,322,262144);
    86665  $25 = $1;
    86666  $26 = $2;
    86667  _mrb_define_method($25,$26,69591,323,262144);
    86668  $27 = $1;
    86669  $28 = $2;
    86670  _mrb_define_method($27,$28,69224,324,0);
    86671  $29 = $1;
    86672  $30 = $2;
    86673  _mrb_define_method($29,$30,69237,320,0);
    86674  $31 = $1;
    86675  $32 = $2;
    86676  _mrb_define_method($31,$32,69243,323,262144);
    86677  $33 = $1;
    86678  $34 = $2;
    86679  _mrb_define_method($33,$34,69252,325,4096);
    86680  $35 = $1;
    86681  $36 = $2;
    86682  _mrb_define_method($35,$36,69263,321,0);
    86683  $37 = $1;
    86684  $38 = $2;
    86685  _mrb_define_method($37,$38,69268,323,262144);
    86686  $39 = $1;
    86687  $40 = $2;
    86688  _mrb_define_method($39,$40,69276,326,0);
    86689  $41 = $1;
    86690  $42 = $2;
    86691  _mrb_define_method($41,$42,69281,327,0);
    86692  $43 = $1;
    86693  $44 = $2;
    86694  _mrb_define_method($43,$44,69289,328,262144);
    86695  $45 = $1;
    86696  $46 = $2;
    86697  _mrb_define_method($45,$46,69294,329,262144);
    86698  STACKTOP = sp;return;
    86699 }
    86700 function _range_to_s($0,$1,$2) {
    86701  $0 = $0|0;
    86702  $1 = $1|0;
    86703  $2 = $2|0;
    86704  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    86705  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86706  sp = STACKTOP;
    86707  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    86708  $$byval_copy5 = sp + 112|0;
    86709  $$byval_copy4 = sp + 104|0;
    86710  $$byval_copy3 = sp + 96|0;
    86711  $$byval_copy2 = sp + 88|0;
    86712  $$byval_copy1 = sp + 80|0;
    86713  $$byval_copy = sp + 72|0;
    86714  $4 = sp + 56|0;
    86715  $5 = sp + 48|0;
    86716  $7 = sp + 32|0;
    86717  $8 = sp + 24|0;
    86718  $9 = sp + 16|0;
    86719  $10 = sp + 8|0;
    86720  $11 = sp;
    86721  $3 = $1;
    86722  $12 = HEAP32[$2>>2]|0;
    86723  $6 = $12;
    86724  $13 = $3;
    86725  $14 = $6;
    86726  $15 = ((($14)) + 12|0);
    86727  $16 = HEAP32[$15>>2]|0;
    86728  ;HEAP32[$$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;
    86729  _mrb_obj_as_string($7,$13,$$byval_copy);
    86730  ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
    86731  $17 = $3;
    86732  $18 = $6;
    86733  $19 = ((($18)) + 12|0);
    86734  $20 = HEAP32[$19>>2]|0;
    86735  $21 = ((($20)) + 8|0);
    86736  ;HEAP32[$$byval_copy1>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$21+4>>2]|0;
    86737  _mrb_obj_as_string($8,$17,$$byval_copy1);
    86738  ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;
    86739  $22 = $3;
    86740  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    86741  _mrb_str_dup($9,$22,$$byval_copy2);
    86742  ;HEAP32[$4>>2]=HEAP32[$9>>2]|0;HEAP32[$4+4>>2]=HEAP32[$9+4>>2]|0;
    86743  $23 = $3;
    86744  $24 = $6;
    86745  $25 = ((($24)) + 16|0);
    86746  $26 = HEAP8[$25>>0]|0;
    86747  $27 = $26 & 1;
    86748  $28 = $27&255;
    86749  $29 = ($28|0)!=(0);
    86750  $30 = $29 ? 3 : 2;
    86751  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    86752  _mrb_str_cat($10,$23,$$byval_copy3,69331,$30);
    86753  $31 = $3;
    86754  ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;
    86755  ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;
    86756  _mrb_str_cat_str($11,$31,$$byval_copy4,$$byval_copy5);
    86757  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    86758  STACKTOP = sp;return;
    86759 }
    86760 function _range_inspect($0,$1,$2) {
    86761  $0 = $0|0;
    86762  $1 = $1|0;
    86763  $2 = $2|0;
    86764  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    86765  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86766  sp = STACKTOP;
    86767  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    86768  $$byval_copy5 = sp + 112|0;
    86769  $$byval_copy4 = sp + 104|0;
    86770  $$byval_copy3 = sp + 96|0;
    86771  $$byval_copy2 = sp + 88|0;
    86772  $$byval_copy1 = sp + 80|0;
    86773  $$byval_copy = sp + 72|0;
    86774  $4 = sp + 56|0;
    86775  $5 = sp + 48|0;
    86776  $7 = sp + 32|0;
    86777  $8 = sp + 24|0;
    86778  $9 = sp + 16|0;
    86779  $10 = sp + 8|0;
    86780  $11 = sp;
    86781  $3 = $1;
    86782  $12 = HEAP32[$2>>2]|0;
    86783  $6 = $12;
    86784  $13 = $3;
    86785  $14 = $6;
    86786  $15 = ((($14)) + 12|0);
    86787  $16 = HEAP32[$15>>2]|0;
    86788  ;HEAP32[$$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;
    86789  _mrb_inspect($7,$13,$$byval_copy);
    86790  ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
    86791  $17 = $3;
    86792  $18 = $6;
    86793  $19 = ((($18)) + 12|0);
    86794  $20 = HEAP32[$19>>2]|0;
    86795  $21 = ((($20)) + 8|0);
    86796  ;HEAP32[$$byval_copy1>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$21+4>>2]|0;
    86797  _mrb_inspect($8,$17,$$byval_copy1);
    86798  ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;
    86799  $22 = $3;
    86800  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    86801  _mrb_str_dup($9,$22,$$byval_copy2);
    86802  ;HEAP32[$4>>2]=HEAP32[$9>>2]|0;HEAP32[$4+4>>2]=HEAP32[$9+4>>2]|0;
    86803  $23 = $3;
    86804  $24 = $6;
    86805  $25 = ((($24)) + 16|0);
    86806  $26 = HEAP8[$25>>0]|0;
    86807  $27 = $26 & 1;
    86808  $28 = $27&255;
    86809  $29 = ($28|0)!=(0);
    86810  $30 = $29 ? 3 : 2;
    86811  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    86812  _mrb_str_cat($10,$23,$$byval_copy3,69331,$30);
    86813  $31 = $3;
    86814  ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;
    86815  ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;
    86816  _mrb_str_cat_str($11,$31,$$byval_copy4,$$byval_copy5);
    86817  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
    86818  STACKTOP = sp;return;
    86819 }
    86820 function _range_eql($0,$1,$2) {
    86821  $0 = $0|0;
    86822  $1 = $1|0;
    86823  $2 = $2|0;
    86824  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
    86825  var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
    86826  var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    86827  sp = STACKTOP;
    86828  STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
    86829  $$byval_copy6 = sp + 80|0;
    86830  $$byval_copy5 = sp + 72|0;
    86831  $$byval_copy4 = sp + 64|0;
    86832  $$byval_copy3 = sp + 56|0;
    86833  $$byval_copy2 = sp + 48|0;
    86834  $$byval_copy1 = sp + 40|0;
    86835  $$byval_copy = sp + 32|0;
    86836  $vararg_buffer = sp;
    86837  $4 = sp + 16|0;
    86838  $3 = $1;
    86839  $7 = $3;
    86840  HEAP32[$vararg_buffer>>2] = $4;
    86841  (_mrb_get_args($7,69199,$vararg_buffer)|0);
    86842  $8 = $3;
    86843  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    86844  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    86845  $9 = (_mrb_obj_equal($8,$$byval_copy,$$byval_copy1)|0);
    86846  $10 = ($9<<24>>24)!=(0);
    86847  if ($10) {
    86848   _mrb_true_value_1120($0);
    86849   STACKTOP = sp;return;
    86850  }
    86851  $11 = $3;
    86852  $12 = $3;
    86853  $13 = (_mrb_class_get($12,69150)|0);
    86854  ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
    86855  $14 = (_mrb_obj_is_kind_of($11,$$byval_copy2,$13)|0);
    86856  $15 = ($14<<24>>24)!=(0);
    86857  if (!($15)) {
    86858   _mrb_false_value_1121($0);
    86859   STACKTOP = sp;return;
    86860  }
    86861  $16 = ((($4)) + 4|0);
    86862  $17 = HEAP32[$16>>2]|0;
    86863  $18 = ($17|0)!=(17);
    86864  if ($18) {
    86865   _mrb_false_value_1121($0);
    86866   STACKTOP = sp;return;
    86867  }
    86868  $19 = HEAP32[$2>>2]|0;
    86869  $5 = $19;
    86870  $20 = HEAP32[$4>>2]|0;
    86871  $6 = $20;
    86872  $21 = $3;
    86873  $22 = $5;
    86874  $23 = ((($22)) + 12|0);
    86875  $24 = HEAP32[$23>>2]|0;
    86876  $25 = $6;
    86877  $26 = ((($25)) + 12|0);
    86878  $27 = HEAP32[$26>>2]|0;
    86879  ;HEAP32[$$byval_copy3>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$24+4>>2]|0;
    86880  ;HEAP32[$$byval_copy4>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$27+4>>2]|0;
    86881  $28 = (_mrb_eql($21,$$byval_copy3,$$byval_copy4)|0);
    86882  $29 = ($28<<24>>24)!=(0);
    86883  if ($29) {
    86884   $30 = $3;
    86885   $31 = $5;
    86886   $32 = ((($31)) + 12|0);
    86887   $33 = HEAP32[$32>>2]|0;
    86888   $34 = ((($33)) + 8|0);
    86889   $35 = $6;
    86890   $36 = ((($35)) + 12|0);
    86891   $37 = HEAP32[$36>>2]|0;
    86892   $38 = ((($37)) + 8|0);
    86893   ;HEAP32[$$byval_copy5>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$34+4>>2]|0;
    86894   ;HEAP32[$$byval_copy6>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$38+4>>2]|0;
    86895   $39 = (_mrb_eql($30,$$byval_copy5,$$byval_copy6)|0);
    86896   $40 = ($39<<24>>24)!=(0);
    86897   if ($40) {
    86898    $41 = $5;
    86899    $42 = ((($41)) + 16|0);
    86900    $43 = HEAP8[$42>>0]|0;
    86901    $44 = $43 & 1;
    86902    $45 = $44&255;
    86903    $46 = $6;
    86904    $47 = ((($46)) + 16|0);
    86905    $48 = HEAP8[$47>>0]|0;
    86906    $49 = $48 & 1;
    86907    $50 = $49&255;
    86908    $51 = ($45|0)!=($50|0);
    86909    if (!($51)) {
    86910     _mrb_true_value_1120($0);
    86911     STACKTOP = sp;return;
    86912    }
    86913   }
    86914  }
    86915  _mrb_false_value_1121($0);
    86916  STACKTOP = sp;return;
    86917 }
    86918 function _range_initialize_copy($0,$1,$2) {
    86919  $0 = $0|0;
    86920  $1 = $1|0;
    86921  $2 = $2|0;
    86922  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
    86923  var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    86924  sp = STACKTOP;
    86925  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    86926  $$byval_copy6 = sp + 72|0;
    86927  $$byval_copy5 = sp + 64|0;
    86928  $$byval_copy4 = sp + 56|0;
    86929  $$byval_copy3 = sp + 48|0;
    86930  $$byval_copy2 = sp + 40|0;
    86931  $$byval_copy1 = sp + 32|0;
    86932  $$byval_copy = sp + 24|0;
    86933  $vararg_buffer = sp;
    86934  $4 = sp + 8|0;
    86935  $3 = $1;
    86936  $6 = $3;
    86937  HEAP32[$vararg_buffer>>2] = $4;
    86938  (_mrb_get_args($6,69199,$vararg_buffer)|0);
    86939  $7 = $3;
    86940  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
    86941  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    86942  $8 = (_mrb_obj_equal($7,$$byval_copy,$$byval_copy1)|0);
    86943  $9 = ($8<<24>>24)!=(0);
    86944  if ($9) {
    86945   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    86946   STACKTOP = sp;return;
    86947  }
    86948  $10 = $3;
    86949  $11 = $3;
    86950  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    86951  $12 = (_mrb_obj_class($11,$$byval_copy2)|0);
    86952  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
    86953  $13 = (_mrb_obj_is_instance_of($10,$$byval_copy3,$12)|0);
    86954  $14 = ($13<<24>>24)!=(0);
    86955  if (!($14)) {
    86956   $15 = $3;
    86957   $16 = $3;
    86958   $17 = (_mrb_class_get($16,69204)|0);
    86959   _mrb_raise($15,$17,69310);
    86960   // unreachable;
    86961  }
    86962  $18 = HEAP32[$4>>2]|0;
    86963  $5 = $18;
    86964  $19 = $3;
    86965  $20 = $5;
    86966  $21 = ((($20)) + 12|0);
    86967  $22 = HEAP32[$21>>2]|0;
    86968  $23 = $5;
    86969  $24 = ((($23)) + 12|0);
    86970  $25 = HEAP32[$24>>2]|0;
    86971  $26 = ((($25)) + 8|0);
    86972  $27 = $5;
    86973  $28 = ((($27)) + 16|0);
    86974  $29 = HEAP8[$28>>0]|0;
    86975  $30 = $29 & 1;
    86976  ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
    86977  ;HEAP32[$$byval_copy5>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$22+4>>2]|0;
    86978  ;HEAP32[$$byval_copy6>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$26+4>>2]|0;
    86979  _range_init($19,$$byval_copy4,$$byval_copy5,$$byval_copy6,$30);
    86980  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
    86981  STACKTOP = sp;return;
    86982 }
    86983 function _mrb_init_version($0) {
    86984  $0 = $0|0;
    86985  var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
    86986  var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    86987  sp = STACKTOP;
    86988  STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
    86989  $$byval_copy7 = sp + 128|0;
    86990  $$byval_copy6 = sp + 120|0;
    86991  $$byval_copy5 = sp + 112|0;
    86992  $$byval_copy4 = sp + 104|0;
    86993  $$byval_copy3 = sp + 96|0;
    86994  $$byval_copy2 = sp + 88|0;
    86995  $$byval_copy1 = sp + 80|0;
    86996  $$byval_copy = sp + 72|0;
    86997  $2 = sp + 56|0;
    86998  $3 = sp + 48|0;
    86999  $4 = sp + 40|0;
    87000  $5 = sp + 32|0;
    87001  $6 = sp + 24|0;
    87002  $7 = sp + 16|0;
    87003  $8 = sp + 8|0;
    87004  $9 = sp;
    87005  $1 = $0;
    87006  $10 = $1;
    87007  _mrb_str_new_static($2,$10,69335,5);
    87008  $11 = $1;
    87009  $12 = $1;
    87010  _mrb_str_new_static($3,$12,69341,3);
    87011  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
    87012  _mrb_define_global_const($11,69345,$$byval_copy);
    87013  $13 = $1;
    87014  $14 = $1;
    87015  _mrb_str_new_static($4,$14,69358,5);
    87016  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
    87017  _mrb_define_global_const($13,69364,$$byval_copy1);
    87018  $15 = $1;
    87019  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
    87020  _mrb_define_global_const($15,69376,$$byval_copy2);
    87021  $16 = $1;
    87022  $17 = $1;
    87023  _mrb_str_new_static($5,$17,69335,5);
    87024  ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
    87025  _mrb_define_global_const($16,69396,$$byval_copy3);
    87026  $18 = $1;
    87027  _mrb_fixnum_value_1154($6,10200);
    87028  ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;
    87029  _mrb_define_global_const($18,69410,$$byval_copy4);
    87030  $19 = $1;
    87031  $20 = $1;
    87032  _mrb_str_new_static($7,$20,69427,10);
    87033  ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
    87034  _mrb_define_global_const($19,69438,$$byval_copy5);
    87035  $21 = $1;
    87036  $22 = $1;
    87037  _mrb_str_new_static($8,$22,69457,25);
    87038  ;HEAP32[$$byval_copy6>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$8+4>>2]|0;
    87039  _mrb_define_global_const($21,69483,$$byval_copy6);
    87040  $23 = $1;
    87041  $24 = $1;
    87042  _mrb_str_new_static($9,$24,69501,48);
    87043  ;HEAP32[$$byval_copy7>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$9+4>>2]|0;
    87044  _mrb_define_global_const($23,69550,$$byval_copy7);
    87045  STACKTOP = sp;return;
    87046 }
    87047 function _mrb_fixnum_value_1154($0,$1) {
    87048  $0 = $0|0;
    87049  $1 = $1|0;
    87050  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    87051  sp = STACKTOP;
    87052  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    87053  $3 = sp;
    87054  $2 = $1;
    87055  $4 = ((($3)) + 4|0);
    87056  HEAP32[$4>>2] = 3;
    87057  $5 = $2;
    87058  HEAP32[$3>>2] = $5;
    87059  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    87060  STACKTOP = sp;return;
    87061 }
    87062 function _mrb_generate_code($0,$1) {
    87063  $0 = $0|0;
    87064  $1 = $1|0;
    87065  var $$028 = 0, $$reg2mem26$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    87066  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
    87067  var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0;
    87068  var $9 = 0, $cond = 0, $cond29 = 0, $cond30 = 0, $cond31 = 0, $cond32 = 0, $cond33 = 0, $cond34 = 0, $cond35 = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
    87069  sp = STACKTOP;
    87070  _setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
    87071  __THREW__ = 0;
    87072  $2 = (invoke_iiii(330,($0|0),(0|0),(0|0))|0);
    87073  $3 = __THREW__; __THREW__ = 0;
    87074  if ((($3|0) != 0) & ((threwValue|0) != 0)) { $4 = _testSetjmp(HEAP32[$3>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($4|0) == 0) { _longjmp($3|0, threwValue|0); } tempRet0 = (threwValue); } else { $4 = -1; };
    87075  $5 = tempRet0;
    87076  $cond = ($4|0)==(1);
    87077  do {
    87078   if ($cond) {
    87079    $$reg2mem26$0 = $5;
    87080   } else {
    87081    $6 = ($2|0)!=(0|0);
    87082    if ($6) {
    87083     HEAP32[$2>>2] = $0;
    87084     $7 = ((($2)) + 248|0);
    87085     HEAP32[$7>>2] = $1;
    87086     $8 = ((($1)) + 28|0);
    87087     $9 = HEAP32[$8>>2]|0;
    87088     $10 = ((($2)) + 196|0);
    87089     HEAP32[$10>>2] = $9;
    87090     $11 = ((($1)) + 1400|0);
    87091     $12 = HEAP32[$11>>2]|0;
    87092     $13 = $12&65535;
    87093     $14 = ((($2)) + 244|0);
    87094     HEAP16[$14>>1] = $13;
    87095     $15 = ((($2)) + 8|0);
    87096     _setjmpTable = _saveSetjmp($15,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
    87097     __THREW__ = 0;
    87098     $16 = __THREW__; __THREW__ = 0;
    87099     if ((($16|0) != 0) & ((threwValue|0) != 0)) { $17 = _testSetjmp(HEAP32[$16>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($17|0) == 0) { _longjmp($16|0, threwValue|0); } tempRet0 = (threwValue); } else { $17 = -1; };
    87100     $18 = tempRet0;
    87101     $cond29 = ($17|0)==(1);
    87102     if ($cond29) {
    87103      $$reg2mem26$0 = $18;
    87104      break;
    87105     }
    87106     $$reg2mem26$0 = 0;
    87107     break;
    87108    } else {
    87109     $$028 = 0;
    87110     _free(_setjmpTable|0);
    87111     return ($$028|0);
    87112    }
    87113   }
    87114  } while(0);
    87115  while(1) {
    87116   $19 = ($$reg2mem26$0|0)==(0);
    87117   if ($19) {
    87118    $20 = ((($1)) + 1144|0);
    87119    $21 = HEAP32[$20>>2]|0;
    87120    __THREW__ = 0;
    87121    invoke_viii(331,($2|0),($21|0),0);
    87122    $22 = __THREW__; __THREW__ = 0;
    87123    if ((($22|0) != 0) & ((threwValue|0) != 0)) { $23 = _testSetjmp(HEAP32[$22>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($23|0) == 0) { _longjmp($22|0, threwValue|0); } tempRet0 = (threwValue); } else { $23 = -1; };
    87124    $24 = tempRet0;
    87125    $cond32 = ($23|0)==(1);
    87126    if ($cond32) {
    87127     $$reg2mem26$0 = $24;
    87128     continue;
    87129    }
    87130    $25 = ((($2)) + 216|0);
    87131    $26 = HEAP32[$25>>2]|0;
    87132    __THREW__ = 0;
    87133    $27 = (invoke_iii(195,($0|0),($26|0))|0);
    87134    $28 = __THREW__; __THREW__ = 0;
    87135    if ((($28|0) != 0) & ((threwValue|0) != 0)) { $29 = _testSetjmp(HEAP32[$28>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($29|0) == 0) { _longjmp($28|0, threwValue|0); } tempRet0 = (threwValue); } else { $29 = -1; };
    87136    $30 = tempRet0;
    87137    $cond33 = ($29|0)==(1);
    87138    if ($cond33) {
    87139     $$reg2mem26$0 = $30;
    87140     continue;
    87141    }
    87142    $31 = ((($2)) + 216|0);
    87143    $32 = HEAP32[$31>>2]|0;
    87144    __THREW__ = 0;
    87145    invoke_vii(332,($0|0),($32|0));
    87146    $33 = __THREW__; __THREW__ = 0;
    87147    if ((($33|0) != 0) & ((threwValue|0) != 0)) { $34 = _testSetjmp(HEAP32[$33>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($34|0) == 0) { _longjmp($33|0, threwValue|0); } tempRet0 = (threwValue); } else { $34 = -1; };
    87148    $35 = tempRet0;
    87149    $cond34 = ($34|0)==(1);
    87150    if ($cond34) {
    87151     $$reg2mem26$0 = $35;
    87152     continue;
    87153    }
    87154    $36 = ((($2)) + 4|0);
    87155    $37 = HEAP32[$36>>2]|0;
    87156    __THREW__ = 0;
    87157    invoke_vi(333,($37|0));
    87158    $38 = __THREW__; __THREW__ = 0;
    87159    if ((($38|0) != 0) & ((threwValue|0) != 0)) { $39 = _testSetjmp(HEAP32[$38>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($39|0) == 0) { _longjmp($38|0, threwValue|0); } tempRet0 = (threwValue); } else { $39 = -1; };
    87160    $40 = tempRet0;
    87161    $cond35 = ($39|0)==(1);
    87162    if ($cond35) {
    87163     $$reg2mem26$0 = $40;
    87164     continue;
    87165    } else {
    87166     label = 11;
    87167     break;
    87168    }
    87169   } else {
    87170    $41 = ((($2)) + 196|0);
    87171    $42 = HEAP32[$41>>2]|0;
    87172    $43 = ((($2)) + 216|0);
    87173    $44 = HEAP32[$43>>2]|0;
    87174    $45 = ((($44)) + 28|0);
    87175    $46 = HEAP32[$45>>2]|0;
    87176    $47 = ($42|0)==($46|0);
    87177    if ($47) {
    87178     $48 = ((($2)) + 216|0);
    87179     $49 = HEAP32[$48>>2]|0;
    87180     $50 = ((($49)) + 28|0);
    87181     HEAP32[$50>>2] = 0;
    87182    }
    87183    $51 = ((($2)) + 216|0);
    87184    $52 = HEAP32[$51>>2]|0;
    87185    __THREW__ = 0;
    87186    invoke_vii(332,($0|0),($52|0));
    87187    $53 = __THREW__; __THREW__ = 0;
    87188    if ((($53|0) != 0) & ((threwValue|0) != 0)) { $54 = _testSetjmp(HEAP32[$53>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($54|0) == 0) { _longjmp($53|0, threwValue|0); } tempRet0 = (threwValue); } else { $54 = -1; };
    87189    $55 = tempRet0;
    87190    $cond30 = ($54|0)==(1);
    87191    if ($cond30) {
    87192     $$reg2mem26$0 = $55;
    87193     continue;
    87194    }
    87195    $56 = ((($2)) + 4|0);
    87196    $57 = HEAP32[$56>>2]|0;
    87197    __THREW__ = 0;
    87198    invoke_vi(333,($57|0));
    87199    $58 = __THREW__; __THREW__ = 0;
    87200    if ((($58|0) != 0) & ((threwValue|0) != 0)) { $59 = _testSetjmp(HEAP32[$58>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($59|0) == 0) { _longjmp($58|0, threwValue|0); } tempRet0 = (threwValue); } else { $59 = -1; };
    87201    $60 = tempRet0;
    87202    $cond31 = ($59|0)==(1);
    87203    if ($cond31) {
    87204     $$reg2mem26$0 = $60;
    87205     continue;
    87206    } else {
    87207     label = 16;
    87208     break;
    87209    }
    87210   }
    87211  }
    87212  if ((label|0) == 11) {
    87213   $$028 = $27;
    87214   _free(_setjmpTable|0);
    87215   return ($$028|0);
    87216  }
    87217  else if ((label|0) == 16) {
    87218   $$028 = 0;
    87219   _free(_setjmpTable|0);
    87220   return ($$028|0);
    87221  }
    87222  return (0)|0;
    87223 }
    87224 function _scope_new($0,$1,$2) {
    87225  $0 = $0|0;
    87226  $1 = $1|0;
    87227  $2 = $2|0;
    87228  var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
    87229  var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
    87230  var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
    87231  var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
    87232  var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
    87233  var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
    87234  var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
    87235  var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
    87236  var $243 = 0, $244 = 0, $245 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
    87237  var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
    87238  var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
    87239  var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
    87240  var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    87241  sp = STACKTOP;
    87242  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    87243  $4 = $0;
    87244  $5 = $1;
    87245  $6 = $2;
    87246  $11 = $4;
    87247  $12 = (_mrb_pool_open($11)|0);
    87248  $7 = $12;
    87249  $13 = $7;
    87250  $14 = (_mrb_pool_alloc($13,252)|0);
    87251  $8 = $14;
    87252  $15 = $8;
    87253  $16 = ($15|0)!=(0|0);
    87254  if (!($16)) {
    87255   $3 = 0;
    87256   $245 = $3;
    87257   STACKTOP = sp;return ($245|0);
    87258  }
    87259  $17 = $8;
    87260  _memcpy(($17|0),(74940|0),252)|0;
    87261  $18 = $4;
    87262  $19 = $8;
    87263  HEAP32[$19>>2] = $18;
    87264  $20 = $7;
    87265  $21 = $8;
    87266  $22 = ((($21)) + 4|0);
    87267  HEAP32[$22>>2] = $20;
    87268  $23 = $5;
    87269  $24 = ($23|0)!=(0|0);
    87270  if (!($24)) {
    87271   $25 = $8;
    87272   $3 = $25;
    87273   $245 = $3;
    87274   STACKTOP = sp;return ($245|0);
    87275  }
    87276  $26 = $5;
    87277  $27 = $8;
    87278  $28 = ((($27)) + 164|0);
    87279  HEAP32[$28>>2] = $26;
    87280  $29 = $8;
    87281  $30 = ((($29)) + 184|0);
    87282  $31 = HEAP16[$30>>1]|0;
    87283  $32 = $31 & -32768;
    87284  $33 = $32 | 32767;
    87285  HEAP16[$30>>1] = $33;
    87286  $34 = $8;
    87287  $35 = ((($34)) + 184|0);
    87288  $36 = HEAP16[$35>>1]|0;
    87289  $37 = $36 & 32767;
    87290  HEAP16[$35>>1] = $37;
    87291  $38 = $4;
    87292  $39 = (_mrb_add_irep($38)|0);
    87293  $40 = $8;
    87294  $41 = ((($40)) + 216|0);
    87295  HEAP32[$41>>2] = $39;
    87296  $42 = $5;
    87297  $43 = $8;
    87298  $44 = ((($43)) + 216|0);
    87299  $45 = HEAP32[$44>>2]|0;
    87300  _scope_add_irep($42,$45);
    87301  $46 = $8;
    87302  $47 = ((($46)) + 228|0);
    87303  HEAP32[$47>>2] = 8;
    87304  $48 = $4;
    87305  $49 = $8;
    87306  $50 = ((($49)) + 228|0);
    87307  $51 = HEAP32[$50>>2]|0;
    87308  $52 = $51<<2;
    87309  $53 = (_mrb_malloc($48,$52)|0);
    87310  $54 = $8;
    87311  $55 = ((($54)) + 216|0);
    87312  $56 = HEAP32[$55>>2]|0;
    87313  $57 = ((($56)) + 20|0);
    87314  HEAP32[$57>>2] = $53;
    87315  $58 = $8;
    87316  $59 = ((($58)) + 212|0);
    87317  HEAP32[$59>>2] = 1024;
    87318  $60 = $4;
    87319  $61 = $8;
    87320  $62 = ((($61)) + 212|0);
    87321  $63 = HEAP32[$62>>2]|0;
    87322  $64 = $63<<2;
    87323  $65 = (_mrb_malloc($60,$64)|0);
    87324  $66 = $8;
    87325  $67 = ((($66)) + 204|0);
    87326  HEAP32[$67>>2] = $65;
    87327  $68 = $8;
    87328  $69 = ((($68)) + 204|0);
    87329  $70 = HEAP32[$69>>2]|0;
    87330  $71 = $8;
    87331  $72 = ((($71)) + 216|0);
    87332  $73 = HEAP32[$72>>2]|0;
    87333  $74 = ((($73)) + 8|0);
    87334  HEAP32[$74>>2] = $70;
    87335  $75 = $8;
    87336  $76 = ((($75)) + 220|0);
    87337  HEAP32[$76>>2] = 32;
    87338  $77 = $4;
    87339  $78 = $8;
    87340  $79 = ((($78)) + 220|0);
    87341  $80 = HEAP32[$79>>2]|0;
    87342  $81 = $80<<3;
    87343  $82 = (_mrb_malloc($77,$81)|0);
    87344  $83 = $8;
    87345  $84 = ((($83)) + 216|0);
    87346  $85 = HEAP32[$84>>2]|0;
    87347  $86 = ((($85)) + 12|0);
    87348  HEAP32[$86>>2] = $82;
    87349  $87 = $8;
    87350  $88 = ((($87)) + 216|0);
    87351  $89 = HEAP32[$88>>2]|0;
    87352  $90 = ((($89)) + 44|0);
    87353  HEAP32[$90>>2] = 0;
    87354  $91 = $8;
    87355  $92 = ((($91)) + 224|0);
    87356  HEAP32[$92>>2] = 256;
    87357  $93 = $4;
    87358  $94 = $8;
    87359  $95 = ((($94)) + 224|0);
    87360  $96 = HEAP32[$95>>2]|0;
    87361  $97 = $96<<2;
    87362  $98 = (_mrb_malloc($93,$97)|0);
    87363  $99 = $8;
    87364  $100 = ((($99)) + 216|0);
    87365  $101 = HEAP32[$100>>2]|0;
    87366  $102 = ((($101)) + 16|0);
    87367  HEAP32[$102>>2] = $98;
    87368  $103 = $8;
    87369  $104 = ((($103)) + 216|0);
    87370  $105 = HEAP32[$104>>2]|0;
    87371  $106 = ((($105)) + 48|0);
    87372  HEAP32[$106>>2] = 0;
    87373  $107 = $6;
    87374  $108 = $8;
    87375  $109 = ((($108)) + 168|0);
    87376  HEAP32[$109>>2] = $107;
    87377  $110 = $6;
    87378  $111 = (_node_len($110)|0);
    87379  $112 = (($111) + 1)|0;
    87380  $113 = $8;
    87381  $114 = ((($113)) + 172|0);
    87382  $115 = HEAP32[$114>>2]|0;
    87383  $116 = (($115) + ($112))|0;
    87384  HEAP32[$114>>2] = $116;
    87385  $117 = $8;
    87386  $118 = ((($117)) + 172|0);
    87387  $119 = HEAP32[$118>>2]|0;
    87388  $120 = $119&65535;
    87389  $121 = $8;
    87390  $122 = ((($121)) + 232|0);
    87391  HEAP16[$122>>1] = $120;
    87392  $123 = $6;
    87393  $124 = ($123|0)!=(0|0);
    87394  L9: do {
    87395   if ($124) {
    87396    $125 = $6;
    87397    $9 = $125;
    87398    $10 = 0;
    87399    $126 = $4;
    87400    $127 = $8;
    87401    $128 = ((($127)) + 232|0);
    87402    $129 = HEAP16[$128>>1]|0;
    87403    $130 = $129&65535;
    87404    $131 = (($130) - 1)|0;
    87405    $132 = $131<<3;
    87406    $133 = (_mrb_malloc($126,$132)|0);
    87407    $134 = $8;
    87408    $135 = ((($134)) + 216|0);
    87409    $136 = HEAP32[$135>>2]|0;
    87410    $137 = ((($136)) + 24|0);
    87411    HEAP32[$137>>2] = $133;
    87412    $10 = 0;
    87413    $138 = $6;
    87414    $9 = $138;
    87415    while(1) {
    87416     $139 = $9;
    87417     $140 = ($139|0)!=(0|0);
    87418     if (!($140)) {
    87419      break L9;
    87420     }
    87421     $141 = $9;
    87422     $142 = HEAP32[$141>>2]|0;
    87423     $143 = $142;
    87424     $144 = $8;
    87425     $145 = ((($144)) + 216|0);
    87426     $146 = HEAP32[$145>>2]|0;
    87427     $147 = ((($146)) + 24|0);
    87428     $148 = HEAP32[$147>>2]|0;
    87429     $149 = $10;
    87430     $150 = (($148) + ($149<<3)|0);
    87431     HEAP32[$150>>2] = $143;
    87432     $151 = $9;
    87433     $152 = HEAP32[$151>>2]|0;
    87434     $153 = $152;
    87435     $154 = ($153|0)!=(0);
    87436     $155 = $8;
    87437     if ($154) {
    87438      $156 = $9;
    87439      $157 = HEAP32[$156>>2]|0;
    87440      $158 = $157;
    87441      $159 = (_lv_idx($155,$158)|0);
    87442      $160 = $159&65535;
    87443      $161 = $8;
    87444      $162 = ((($161)) + 216|0);
    87445      $163 = HEAP32[$162>>2]|0;
    87446      $164 = ((($163)) + 24|0);
    87447      $165 = HEAP32[$164>>2]|0;
    87448      $166 = $10;
    87449      $167 = (($165) + ($166<<3)|0);
    87450      $$sink = $160;$$sink2 = $167;
    87451     } else {
    87452      $168 = ((($155)) + 216|0);
    87453      $169 = HEAP32[$168>>2]|0;
    87454      $170 = ((($169)) + 24|0);
    87455      $171 = HEAP32[$170>>2]|0;
    87456      $172 = $10;
    87457      $173 = (($171) + ($172<<3)|0);
    87458      $$sink = 0;$$sink2 = $173;
    87459     }
    87460     $174 = ((($$sink2)) + 4|0);
    87461     HEAP16[$174>>1] = $$sink;
    87462     $175 = $10;
    87463     $176 = (($175) + 1)|0;
    87464     $10 = $176;
    87465     $177 = $9;
    87466     $178 = ((($177)) + 4|0);
    87467     $179 = HEAP32[$178>>2]|0;
    87468     $9 = $179;
    87469    }
    87470   }
    87471  } while(0);
    87472  $180 = $4;
    87473  $181 = (_mrb_gc_arena_save($180)|0);
    87474  $182 = $8;
    87475  $183 = ((($182)) + 236|0);
    87476  HEAP32[$183>>2] = $181;
    87477  $184 = $5;
    87478  $185 = ((($184)) + 196|0);
    87479  $186 = HEAP32[$185>>2]|0;
    87480  $187 = $8;
    87481  $188 = ((($187)) + 196|0);
    87482  HEAP32[$188>>2] = $186;
    87483  $189 = $8;
    87484  $190 = ((($189)) + 196|0);
    87485  $191 = HEAP32[$190>>2]|0;
    87486  $192 = ($191|0)!=(0|0);
    87487  if ($192) {
    87488   $193 = $4;
    87489   $194 = $8;
    87490   $195 = ((($194)) + 212|0);
    87491   $196 = HEAP32[$195>>2]|0;
    87492   $197 = $196<<1;
    87493   $198 = (_mrb_malloc($193,$197)|0);
    87494   $199 = $8;
    87495   $200 = ((($199)) + 208|0);
    87496   HEAP32[$200>>2] = $198;
    87497  }
    87498  $201 = $5;
    87499  $202 = ((($201)) + 200|0);
    87500  $203 = HEAP16[$202>>1]|0;
    87501  $204 = $8;
    87502  $205 = ((($204)) + 200|0);
    87503  HEAP16[$205>>1] = $203;
    87504  $206 = $8;
    87505  $207 = ((($206)) + 240|0);
    87506  HEAP32[$207>>2] = 0;
    87507  $208 = $8;
    87508  $209 = ((($208)) + 196|0);
    87509  $210 = HEAP32[$209>>2]|0;
    87510  $211 = ($210|0)!=(0|0);
    87511  if ($211) {
    87512   $212 = $4;
    87513   $213 = $8;
    87514   $214 = ((($213)) + 216|0);
    87515   $215 = HEAP32[$214>>2]|0;
    87516   (_mrb_debug_info_alloc($212,$215)|0);
    87517   $216 = $8;
    87518   $217 = ((($216)) + 196|0);
    87519   $218 = HEAP32[$217>>2]|0;
    87520   $219 = $8;
    87521   $220 = ((($219)) + 216|0);
    87522   $221 = HEAP32[$220>>2]|0;
    87523   $222 = ((($221)) + 28|0);
    87524   HEAP32[$222>>2] = $218;
    87525   $223 = $8;
    87526   $224 = ((($223)) + 208|0);
    87527   $225 = HEAP32[$224>>2]|0;
    87528   $226 = $8;
    87529   $227 = ((($226)) + 216|0);
    87530   $228 = HEAP32[$227>>2]|0;
    87531   $229 = ((($228)) + 32|0);
    87532   HEAP32[$229>>2] = $225;
    87533  } else {
    87534   $230 = $8;
    87535   $231 = ((($230)) + 216|0);
    87536   $232 = HEAP32[$231>>2]|0;
    87537   $233 = ((($232)) + 36|0);
    87538   HEAP32[$233>>2] = 0;
    87539  }
    87540  $234 = $5;
    87541  $235 = ((($234)) + 248|0);
    87542  $236 = HEAP32[$235>>2]|0;
    87543  $237 = $8;
    87544  $238 = ((($237)) + 248|0);
    87545  HEAP32[$238>>2] = $236;
    87546  $239 = $5;
    87547  $240 = ((($239)) + 244|0);
    87548  $241 = HEAP16[$240>>1]|0;
    87549  $242 = $8;
    87550  $243 = ((($242)) + 244|0);
    87551  HEAP16[$243>>1] = $241;
    87552  $244 = $8;
    87553  $3 = $244;
    87554  $245 = $3;
    87555  STACKTOP = sp;return ($245|0);
    87556 }
    87557 function _codegen($0,$1,$2) {
    87558  $0 = $0|0;
    87559  $1 = $1|0;
    87560  $2 = $2|0;
    87561  var $$byval_copy = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy15 = 0, $$byval_copy16 = 0, $$byval_copy17 = 0, $$byval_copy18 = 0, $$byval_copy19 = 0, $$byval_copy20 = 0, $$byval_copy21 = 0, $$byval_copy22 = 0, $$byval_copy23 = 0, $$byval_copy24 = 0, $$byval_copy25 = 0, $$byval_copy26 = 0, $$byval_copy27 = 0, $$byval_copy28 = 0, $$byval_copy29 = 0, $$byval_copy30 = 0, $$sink12 = 0;
    87562  var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0.0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0;
    87563  var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0;
    87564  var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0;
    87565  var $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0;
    87566  var $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0;
    87567  var $109 = 0.0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0;
    87568  var $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0;
    87569  var $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0;
    87570  var $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0;
    87571  var $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0;
    87572  var $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0;
    87573  var $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0;
    87574  var $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0;
    87575  var $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0;
    87576  var $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0;
    87577  var $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0;
    87578  var $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0;
    87579  var $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0;
    87580  var $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0;
    87581  var $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0;
    87582  var $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0;
    87583  var $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0;
    87584  var $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0;
    87585  var $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0;
    87586  var $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0;
    87587  var $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0;
    87588  var $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0;
    87589  var $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0;
    87590  var $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0;
    87591  var $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0;
    87592  var $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0;
    87593  var $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0;
    87594  var $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0;
    87595  var $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0;
    87596  var $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0;
    87597  var $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0;
    87598  var $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0;
    87599  var $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0;
    87600  var $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0;
    87601  var $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0;
    87602  var $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0;
    87603  var $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0;
    87604  var $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0;
    87605  var $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0;
    87606  var $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0;
    87607  var $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0;
    87608  var $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0;
    87609  var $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0;
    87610  var $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0;
    87611  var $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0;
    87612  var $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0;
    87613  var $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0;
    87614  var $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0;
    87615  var $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0;
    87616  var $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0;
    87617  var $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0;
    87618  var $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0;
    87619  var $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0;
    87620  var $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0;
    87621  var $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0;
    87622  var $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0;
    87623  var $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0;
    87624  var $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0;
    87625  var $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0;
    87626  var $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0;
    87627  var $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0;
    87628  var $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0;
    87629  var $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0;
    87630  var $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0;
    87631  var $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0;
    87632  var $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0;
    87633  var $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0;
    87634  var $2297 = 0.0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0.0, $2302 = 0.0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0;
    87635  var $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0;
    87636  var $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0.0, $235 = 0;
    87637  var $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0.0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0;
    87638  var $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0.0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0.0, $2381 = 0.0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0;
    87639  var $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0;
    87640  var $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0.0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0.0, $2416 = 0.0, $2417 = 0.0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0;
    87641  var $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0;
    87642  var $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0;
    87643  var $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0;
    87644  var $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0;
    87645  var $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0;
    87646  var $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0;
    87647  var $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0;
    87648  var $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0;
    87649  var $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0;
    87650  var $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0;
    87651  var $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0;
    87652  var $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0;
    87653  var $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0;
    87654  var $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0;
    87655  var $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0;
    87656  var $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0;
    87657  var $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0;
    87658  var $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0;
    87659  var $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0;
    87660  var $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0;
    87661  var $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0;
    87662  var $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0;
    87663  var $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0;
    87664  var $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0;
    87665  var $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0;
    87666  var $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0;
    87667  var $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0;
    87668  var $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0;
    87669  var $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0;
    87670  var $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0;
    87671  var $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0;
    87672  var $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0;
    87673  var $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0;
    87674  var $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0;
    87675  var $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0;
    87676  var $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0;
    87677  var $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0;
    87678  var $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0;
    87679  var $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0;
    87680  var $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0;
    87681  var $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0;
    87682  var $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0;
    87683  var $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0;
    87684  var $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0;
    87685  var $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0;
    87686  var $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0;
    87687  var $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0;
    87688  var $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0;
    87689  var $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0;
    87690  var $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0;
    87691  var $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0;
    87692  var $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0;
    87693  var $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0;
    87694  var $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0;
    87695  var $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0;
    87696  var $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0;
    87697  var $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0;
    87698  var $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0;
    87699  var $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0;
    87700  var $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0;
    87701  var $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0;
    87702  var $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0;
    87703  var $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0;
    87704  var $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0;
    87705  var $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0, $3590 = 0, $3591 = 0, $3592 = 0;
    87706  var $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0, $3608 = 0, $3609 = 0, $361 = 0;
    87707  var $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3624 = 0, $3625 = 0, $3626 = 0, $3627 = 0, $3628 = 0;
    87708  var $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0, $3643 = 0, $3644 = 0, $3645 = 0, $3646 = 0;
    87709  var $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0;
    87710  var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0;
    87711  var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0;
    87712  var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0;
    87713  var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0;
    87714  var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0;
    87715  var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0;
    87716  var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0;
    87717  var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0;
    87718  var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0;
    87719  var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0;
    87720  var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0;
    87721  var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0;
    87722  var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0;
    87723  var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0;
    87724  var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0;
    87725  var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0;
    87726  var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0;
    87727  var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0;
    87728  var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0;
    87729  var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0;
    87730  var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0;
    87731  var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0;
    87732  var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0;
    87733  var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0;
    87734  var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0;
    87735  var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0;
    87736  var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0;
    87737  var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0;
    87738  var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0;
    87739  var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0.0, $910 = 0, $911 = 0;
    87740  var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0;
    87741  var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0;
    87742  var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0;
    87743  var $967 = 0, $968 = 0, $969 = 0, $97 = 0.0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0;
    87744  var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond7 = 0;
    87745  var $or$cond9 = 0, label = 0, sp = 0;
    87746  sp = STACKTOP;
    87747  STACKTOP = STACKTOP + 944|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(944|0);
    87748  $$byval_copy30 = sp + 920|0;
    87749  $$byval_copy29 = sp + 912|0;
    87750  $$byval_copy28 = sp + 904|0;
    87751  $$byval_copy27 = sp + 896|0;
    87752  $$byval_copy26 = sp + 888|0;
    87753  $$byval_copy25 = sp + 880|0;
    87754  $$byval_copy24 = sp + 872|0;
    87755  $$byval_copy23 = sp + 864|0;
    87756  $$byval_copy22 = sp + 856|0;
    87757  $$byval_copy21 = sp + 848|0;
    87758  $$byval_copy20 = sp + 840|0;
    87759  $$byval_copy19 = sp + 832|0;
    87760  $$byval_copy18 = sp + 824|0;
    87761  $$byval_copy17 = sp + 816|0;
    87762  $$byval_copy16 = sp + 808|0;
    87763  $$byval_copy15 = sp + 800|0;
    87764  $$byval_copy14 = sp + 792|0;
    87765  $$byval_copy13 = sp + 784|0;
    87766  $$byval_copy = sp + 776|0;
    87767  $49 = sp + 588|0;
    87768  $75 = sp + 930|0;
    87769  $76 = sp + 480|0;
    87770  $78 = sp + 464|0;
    87771  $81 = sp + 448|0;
    87772  $82 = sp + 440|0;
    87773  $83 = sp + 432|0;
    87774  $84 = sp + 424|0;
    87775  $85 = sp + 416|0;
    87776  $90 = sp + 929|0;
    87777  $93 = sp + 384|0;
    87778  $95 = sp + 368|0;
    87779  $99 = sp + 344|0;
    87780  $103 = sp + 320|0;
    87781  $108 = sp + 928|0;
    87782  $111 = sp + 288|0;
    87783  $113 = sp + 272|0;
    87784  $119 = sp + 240|0;
    87785  $130 = sp + 192|0;
    87786  $137 = sp + 160|0;
    87787  $139 = sp + 144|0;
    87788  $140 = sp + 136|0;
    87789  $147 = sp + 104|0;
    87790  $149 = sp + 88|0;
    87791  $3 = $0;
    87792  $4 = $1;
    87793  $5 = $2;
    87794  $167 = $4;
    87795  $168 = ($167|0)!=(0|0);
    87796  if (!($168)) {
    87797   STACKTOP = sp;return;
    87798  }
    87799  $169 = $3;
    87800  $170 = ((($169)) + 216|0);
    87801  $171 = HEAP32[$170>>2]|0;
    87802  $172 = ($171|0)!=(0|0);
    87803  if ($172) {
    87804   $173 = $3;
    87805   $174 = ((($173)) + 244|0);
    87806   $175 = HEAP16[$174>>1]|0;
    87807   $176 = $175&65535;
    87808   $177 = $4;
    87809   $178 = ((($177)) + 10|0);
    87810   $179 = HEAP16[$178>>1]|0;
    87811   $180 = $179&65535;
    87812   $181 = ($176|0)!=($180|0);
    87813   if ($181) {
    87814    $182 = $3;
    87815    $183 = ((($182)) + 248|0);
    87816    $184 = HEAP32[$183>>2]|0;
    87817    $185 = $3;
    87818    $186 = ((($185)) + 244|0);
    87819    $187 = HEAP16[$186>>1]|0;
    87820    $188 = (_mrb_parser_get_filename($184,$187)|0);
    87821    $189 = $3;
    87822    $190 = ((($189)) + 216|0);
    87823    $191 = HEAP32[$190>>2]|0;
    87824    $192 = ((($191)) + 28|0);
    87825    HEAP32[$192>>2] = $188;
    87826    $193 = $3;
    87827    $194 = HEAP32[$193>>2]|0;
    87828    $195 = $3;
    87829    $196 = ((($195)) + 216|0);
    87830    $197 = HEAP32[$196>>2]|0;
    87831    $198 = $3;
    87832    $199 = ((($198)) + 240|0);
    87833    $200 = HEAP32[$199>>2]|0;
    87834    $201 = $3;
    87835    $202 = ((($201)) + 176|0);
    87836    $203 = HEAP32[$202>>2]|0;
    87837    (_mrb_debug_info_append_file($194,$197,$200,$203)|0);
    87838    $204 = $3;
    87839    $205 = ((($204)) + 176|0);
    87840    $206 = HEAP32[$205>>2]|0;
    87841    $207 = $3;
    87842    $208 = ((($207)) + 240|0);
    87843    HEAP32[$208>>2] = $206;
    87844    $209 = $4;
    87845    $210 = ((($209)) + 10|0);
    87846    $211 = HEAP16[$210>>1]|0;
    87847    $212 = $3;
    87848    $213 = ((($212)) + 244|0);
    87849    HEAP16[$213>>1] = $211;
    87850    $214 = $3;
    87851    $215 = ((($214)) + 248|0);
    87852    $216 = HEAP32[$215>>2]|0;
    87853    $217 = $4;
    87854    $218 = ((($217)) + 10|0);
    87855    $219 = HEAP16[$218>>1]|0;
    87856    $220 = (_mrb_parser_get_filename($216,$219)|0);
    87857    $221 = $3;
    87858    $222 = ((($221)) + 196|0);
    87859    HEAP32[$222>>2] = $220;
    87860   }
    87861  }
    87862  $223 = $4;
    87863  $224 = HEAP32[$223>>2]|0;
    87864  $225 = $224;
    87865  $6 = $225;
    87866  $226 = $4;
    87867  $227 = ((($226)) + 8|0);
    87868  $228 = HEAP16[$227>>1]|0;
    87869  $229 = $3;
    87870  $230 = ((($229)) + 200|0);
    87871  HEAP16[$230>>1] = $228;
    87872  $231 = $4;
    87873  $232 = ((($231)) + 4|0);
    87874  $233 = HEAP32[$232>>2]|0;
    87875  $4 = $233;
    87876  $234 = $6;
    87877  do {
    87878   switch ($234|0) {
    87879   case 17:  {
    87880    $235 = $5;
    87881    $236 = ($235|0)==(0);
    87882    $237 = $4;
    87883    $238 = ($237|0)!=(0|0);
    87884    $or$cond = $236 | $238;
    87885    if (!($or$cond)) {
    87886     $239 = $3;
    87887     $240 = $3;
    87888     $241 = ((($240)) + 172|0);
    87889     $242 = HEAP32[$241>>2]|0;
    87890     $243 = $242 & 511;
    87891     $244 = $243 << 23;
    87892     $245 = 5 | $244;
    87893     (_genop($239,$245)|0);
    87894     $246 = $3;
    87895     _push_($246);
    87896    }
    87897    while(1) {
    87898     $247 = $4;
    87899     $248 = ($247|0)!=(0|0);
    87900     if (!($248)) {
    87901      break;
    87902     }
    87903     $249 = $3;
    87904     $250 = $4;
    87905     $251 = HEAP32[$250>>2]|0;
    87906     $252 = $4;
    87907     $253 = ((($252)) + 4|0);
    87908     $254 = HEAP32[$253>>2]|0;
    87909     $255 = ($254|0)!=(0|0);
    87910     $256 = $5;
    87911     $257 = $255 ? 0 : $256;
    87912     _codegen($249,$251,$257);
    87913     $258 = $4;
    87914     $259 = ((($258)) + 4|0);
    87915     $260 = HEAP32[$259>>2]|0;
    87916     $4 = $260;
    87917    }
    87918    STACKTOP = sp;return;
    87919    break;
    87920   }
    87921   case 18:  {
    87922    $261 = $3;
    87923    $262 = (_genop($261,26)|0);
    87924    $7 = $262;
    87925    $263 = $3;
    87926    $264 = (_loop_push($263,3)|0);
    87927    $13 = $264;
    87928    $265 = $7;
    87929    $266 = $13;
    87930    $267 = ((($266)) + 4|0);
    87931    HEAP32[$267>>2] = $265;
    87932    $268 = $4;
    87933    $269 = HEAP32[$268>>2]|0;
    87934    $270 = ($269|0)!=(0|0);
    87935    if ($270) {
    87936     $271 = $3;
    87937     $272 = $4;
    87938     $273 = HEAP32[$272>>2]|0;
    87939     $274 = $5;
    87940     _codegen($271,$273,$274);
    87941     $275 = $5;
    87942     $276 = ($275|0)!=(0);
    87943     if ($276) {
    87944      $277 = $3;
    87945      $278 = ((($277)) + 172|0);
    87946      $279 = HEAP32[$278>>2]|0;
    87947      $280 = (($279) + -1)|0;
    87948      HEAP32[$278>>2] = $280;
    87949     }
    87950    }
    87951    $281 = $13;
    87952    HEAP32[$281>>2] = 4;
    87953    $282 = $3;
    87954    $283 = (_genop($282,23)|0);
    87955    $8 = $283;
    87956    $284 = $3;
    87957    $285 = $7;
    87958    _dispatch($284,$285);
    87959    $286 = $4;
    87960    $287 = ((($286)) + 4|0);
    87961    $288 = HEAP32[$287>>2]|0;
    87962    $4 = $288;
    87963    $9 = 0;
    87964    $10 = 0;
    87965    $289 = $4;
    87966    $290 = HEAP32[$289>>2]|0;
    87967    $291 = ($290|0)!=(0|0);
    87968    if ($291) {
    87969     $292 = $4;
    87970     $293 = HEAP32[$292>>2]|0;
    87971     $14 = $293;
    87972     $294 = $3;
    87973     $295 = ((($294)) + 172|0);
    87974     $296 = HEAP32[$295>>2]|0;
    87975     $15 = $296;
    87976     $297 = $3;
    87977     $298 = $15;
    87978     $299 = $298 & 511;
    87979     $300 = $299 << 23;
    87980     $301 = 27 | $300;
    87981     (_genop($297,$301)|0);
    87982     $302 = $3;
    87983     _push_($302);
    87984     while(1) {
    87985      $303 = $14;
    87986      $304 = ($303|0)!=(0|0);
    87987      if (!($304)) {
    87988       break;
    87989      }
    87990      $305 = $14;
    87991      $306 = HEAP32[$305>>2]|0;
    87992      $16 = $306;
    87993      $307 = $16;
    87994      $308 = HEAP32[$307>>2]|0;
    87995      $17 = $308;
    87996      $309 = $10;
    87997      $310 = ($309|0)!=(0);
    87998      if ($310) {
    87999       $311 = $3;
    88000       $312 = $10;
    88001       _dispatch($311,$312);
    88002      }
    88003      $11 = 0;
    88004      while(1) {
    88005       $313 = $17;
    88006       $314 = ($313|0)!=(0|0);
    88007       $315 = $3;
    88008       if ($314) {
    88009        $316 = $17;
    88010        $317 = HEAP32[$316>>2]|0;
    88011        _codegen($315,$317,1);
    88012       } else {
    88013        $318 = $3;
    88014        $319 = ((($318)) + 172|0);
    88015        $320 = HEAP32[$319>>2]|0;
    88016        $321 = $320 & 511;
    88017        $322 = $321 << 23;
    88018        $323 = 17 | $322;
    88019        $324 = $3;
    88020        $325 = $3;
    88021        $326 = HEAP32[$325>>2]|0;
    88022        $327 = (_mrb_intern_static($326,69566,13)|0);
    88023        $328 = (_new_msym($324,$327)|0);
    88024        $329 = $328 & 65535;
    88025        $330 = $329 << 7;
    88026        $331 = $323 | $330;
    88027        (_genop($315,$331)|0);
    88028        $332 = $3;
    88029        _push_($332);
    88030       }
    88031       $333 = $3;
    88032       $334 = $3;
    88033       $335 = ((($334)) + 172|0);
    88034       $336 = HEAP32[$335>>2]|0;
    88035       $337 = $336 & 511;
    88036       $338 = $337 << 23;
    88037       $339 = 1 | $338;
    88038       $340 = $15;
    88039       $341 = $340 & 511;
    88040       $342 = $341 << 14;
    88041       $343 = $339 | $342;
    88042       (_genop($333,$343)|0);
    88043       $344 = $3;
    88044       $345 = ((($344)) + 172|0);
    88045       $346 = HEAP32[$345>>2]|0;
    88046       $347 = (($346) + -1)|0;
    88047       HEAP32[$345>>2] = $347;
    88048       $348 = $17;
    88049       $349 = ($348|0)!=(0|0);
    88050       if ($349) {
    88051        $350 = $17;
    88052        $351 = HEAP32[$350>>2]|0;
    88053        $352 = ($351|0)!=(0|0);
    88054        if ($352) {
    88055         $353 = $17;
    88056         $354 = HEAP32[$353>>2]|0;
    88057         $355 = HEAP32[$354>>2]|0;
    88058         $356 = $355;
    88059         $357 = ($356|0)==(66);
    88060         if ($357) {
    88061          $358 = $3;
    88062          $359 = $3;
    88063          $360 = ((($359)) + 172|0);
    88064          $361 = HEAP32[$360>>2]|0;
    88065          $362 = $361 & 511;
    88066          $363 = $362 << 23;
    88067          $364 = 32 | $363;
    88068          $365 = $3;
    88069          $366 = $3;
    88070          $367 = HEAP32[$366>>2]|0;
    88071          $368 = (_mrb_intern_static($367,69580,10)|0);
    88072          $369 = (_new_msym($365,$368)|0);
    88073          $370 = $369 & 511;
    88074          $371 = $370 << 14;
    88075          $372 = $364 | $371;
    88076          $373 = $372 | 128;
    88077          (_genop($358,$373)|0);
    88078         } else {
    88079          label = 26;
    88080         }
    88081        } else {
    88082         label = 26;
    88083        }
    88084       } else {
    88085        label = 26;
    88086       }
    88087       if ((label|0) == 26) {
    88088        label = 0;
    88089        $374 = $3;
    88090        $375 = $3;
    88091        $376 = ((($375)) + 172|0);
    88092        $377 = HEAP32[$376>>2]|0;
    88093        $378 = $377 & 511;
    88094        $379 = $378 << 23;
    88095        $380 = 32 | $379;
    88096        $381 = $3;
    88097        $382 = $3;
    88098        $383 = HEAP32[$382>>2]|0;
    88099        $384 = (_mrb_intern_static($383,69591,3)|0);
    88100        $385 = (_new_msym($381,$384)|0);
    88101        $386 = $385 & 511;
    88102        $387 = $386 << 14;
    88103        $388 = $380 | $387;
    88104        $389 = $388 | 128;
    88105        (_genop($374,$389)|0);
    88106       }
    88107       $390 = $3;
    88108       $391 = $3;
    88109       $392 = ((($391)) + 172|0);
    88110       $393 = HEAP32[$392>>2]|0;
    88111       $394 = $393 & 511;
    88112       $395 = $394 << 23;
    88113       $396 = 24 | $395;
    88114       $397 = $11;
    88115       $398 = (($397) + 32767)|0;
    88116       $399 = $398 & 65535;
    88117       $400 = $399 << 7;
    88118       $401 = $396 | $400;
    88119       $402 = (_genop($390,$401)|0);
    88120       $12 = $402;
    88121       $403 = $12;
    88122       $11 = $403;
    88123       $404 = $17;
    88124       $405 = ($404|0)!=(0|0);
    88125       if ($405) {
    88126        $406 = $17;
    88127        $407 = ((($406)) + 4|0);
    88128        $408 = HEAP32[$407>>2]|0;
    88129        $17 = $408;
    88130       }
    88131       $409 = $17;
    88132       $410 = ($409|0)!=(0|0);
    88133       if (!($410)) {
    88134        break;
    88135       }
    88136      }
    88137      $411 = $3;
    88138      $412 = (_genop($411,4194199)|0);
    88139      $10 = $412;
    88140      $413 = $3;
    88141      $414 = $11;
    88142      _dispatch_linked($413,$414);
    88143      $415 = $3;
    88144      $416 = ((($415)) + 172|0);
    88145      $417 = HEAP32[$416>>2]|0;
    88146      $418 = (($417) + -1)|0;
    88147      HEAP32[$416>>2] = $418;
    88148      $419 = $16;
    88149      $420 = ((($419)) + 4|0);
    88150      $421 = HEAP32[$420>>2]|0;
    88151      $422 = HEAP32[$421>>2]|0;
    88152      $423 = ($422|0)!=(0|0);
    88153      if ($423) {
    88154       $424 = $3;
    88155       $425 = $16;
    88156       $426 = ((($425)) + 4|0);
    88157       $427 = HEAP32[$426>>2]|0;
    88158       $428 = HEAP32[$427>>2]|0;
    88159       $429 = $15;
    88160       _gen_assignment($424,$428,$429,0);
    88161      }
    88162      $430 = $16;
    88163      $431 = ((($430)) + 4|0);
    88164      $432 = HEAP32[$431>>2]|0;
    88165      $433 = ((($432)) + 4|0);
    88166      $434 = HEAP32[$433>>2]|0;
    88167      $435 = HEAP32[$434>>2]|0;
    88168      $436 = ($435|0)!=(0|0);
    88169      if ($436) {
    88170       $437 = $3;
    88171       $438 = $16;
    88172       $439 = ((($438)) + 4|0);
    88173       $440 = HEAP32[$439>>2]|0;
    88174       $441 = ((($440)) + 4|0);
    88175       $442 = HEAP32[$441>>2]|0;
    88176       $443 = HEAP32[$442>>2]|0;
    88177       $444 = $5;
    88178       _codegen($437,$443,$444);
    88179       $445 = $5;
    88180       $446 = ($445|0)!=(0);
    88181       if ($446) {
    88182        $447 = $3;
    88183        $448 = ((($447)) + 172|0);
    88184        $449 = HEAP32[$448>>2]|0;
    88185        $450 = (($449) + -1)|0;
    88186        HEAP32[$448>>2] = $450;
    88187       }
    88188      }
    88189      $451 = $3;
    88190      $452 = $9;
    88191      $453 = (($452) + 32767)|0;
    88192      $454 = $453 & 65535;
    88193      $455 = $454 << 7;
    88194      $456 = 23 | $455;
    88195      $457 = (_genop($451,$456)|0);
    88196      $12 = $457;
    88197      $458 = $12;
    88198      $9 = $458;
    88199      $459 = $14;
    88200      $460 = ((($459)) + 4|0);
    88201      $461 = HEAP32[$460>>2]|0;
    88202      $14 = $461;
    88203      $462 = $3;
    88204      _push_($462);
    88205     }
    88206     $463 = $10;
    88207     $464 = ($463|0)!=(0);
    88208     if ($464) {
    88209      $465 = $3;
    88210      $466 = $10;
    88211      _dispatch($465,$466);
    88212      $467 = $3;
    88213      $468 = $15;
    88214      $469 = $468 & 511;
    88215      $470 = $469 << 23;
    88216      $471 = 29 | $470;
    88217      (_genop($467,$471)|0);
    88218     }
    88219    }
    88220    $472 = $3;
    88221    $473 = ((($472)) + 172|0);
    88222    $474 = HEAP32[$473>>2]|0;
    88223    $475 = (($474) + -1)|0;
    88224    HEAP32[$473>>2] = $475;
    88225    $476 = $4;
    88226    $477 = ((($476)) + 4|0);
    88227    $478 = HEAP32[$477>>2]|0;
    88228    $4 = $478;
    88229    $479 = $3;
    88230    $480 = $8;
    88231    _dispatch($479,$480);
    88232    $481 = $3;
    88233    (_genop($481,8388636)|0);
    88234    $482 = $4;
    88235    $483 = HEAP32[$482>>2]|0;
    88236    $484 = ($483|0)!=(0|0);
    88237    if ($484) {
    88238     $485 = $3;
    88239     $486 = $4;
    88240     $487 = HEAP32[$486>>2]|0;
    88241     $488 = $5;
    88242     _codegen($485,$487,$488);
    88243    } else {
    88244     $489 = $5;
    88245     $490 = ($489|0)!=(0);
    88246     if ($490) {
    88247      $491 = $3;
    88248      _push_($491);
    88249     }
    88250    }
    88251    $492 = $3;
    88252    $493 = $9;
    88253    _dispatch_linked($492,$493);
    88254    $494 = $3;
    88255    _loop_pop($494,0);
    88256    STACKTOP = sp;return;
    88257    break;
    88258   }
    88259   case 19:  {
    88260    $495 = $3;
    88261    $496 = ((($495)) + 176|0);
    88262    $497 = HEAP32[$496>>2]|0;
    88263    $19 = $497;
    88264    $498 = $3;
    88265    (_genop($498,30)|0);
    88266    $499 = $3;
    88267    $500 = ((($499)) + 192|0);
    88268    $501 = HEAP32[$500>>2]|0;
    88269    $502 = (($501) + 1)|0;
    88270    HEAP32[$500>>2] = $502;
    88271    $503 = $3;
    88272    $504 = $4;
    88273    $505 = HEAP32[$504>>2]|0;
    88274    $506 = $5;
    88275    _codegen($503,$505,$506);
    88276    $507 = $3;
    88277    $508 = $4;
    88278    $509 = ((($508)) + 4|0);
    88279    $510 = HEAP32[$509>>2]|0;
    88280    $511 = (_scope_body($507,$510,0)|0);
    88281    $18 = $511;
    88282    $512 = $18;
    88283    $513 = $512 & 65535;
    88284    $514 = $513 << 7;
    88285    $515 = 30 | $514;
    88286    $516 = $3;
    88287    $517 = ((($516)) + 204|0);
    88288    $518 = HEAP32[$517>>2]|0;
    88289    $519 = $19;
    88290    $520 = (($518) + ($519<<2)|0);
    88291    HEAP32[$520>>2] = $515;
    88292    $521 = $3;
    88293    $522 = ((($521)) + 192|0);
    88294    $523 = HEAP32[$522>>2]|0;
    88295    $524 = (($523) + -1)|0;
    88296    HEAP32[$522>>2] = $524;
    88297    $525 = $3;
    88298    (_genop_peep($525,8388639,0)|0);
    88299    STACKTOP = sp;return;
    88300    break;
    88301   }
    88302   case 53:  {
    88303    $526 = $3;
    88304    $527 = $4;
    88305    $528 = (_lambda_body($526,$527,1)|0);
    88306    $20 = $528;
    88307    $529 = $3;
    88308    $530 = $3;
    88309    $531 = ((($530)) + 172|0);
    88310    $532 = HEAP32[$531>>2]|0;
    88311    $533 = $532 & 511;
    88312    $534 = $533 << 23;
    88313    $535 = 64 | $534;
    88314    $536 = $20;
    88315    $537 = $536 & 16383;
    88316    $538 = $537 << 9;
    88317    $539 = $538 | 384;
    88318    $540 = $535 | $539;
    88319    (_genop($529,$540)|0);
    88320    $541 = $3;
    88321    _push_($541);
    88322    STACKTOP = sp;return;
    88323    break;
    88324   }
    88325   case 4:  {
    88326    $542 = $3;
    88327    $543 = $4;
    88328    $544 = (_lambda_body($542,$543,1)|0);
    88329    $21 = $544;
    88330    $545 = $3;
    88331    $546 = $3;
    88332    $547 = ((($546)) + 172|0);
    88333    $548 = HEAP32[$547>>2]|0;
    88334    $549 = $548 & 511;
    88335    $550 = $549 << 23;
    88336    $551 = 64 | $550;
    88337    $552 = $21;
    88338    $553 = $552 & 16383;
    88339    $554 = $553 << 9;
    88340    $555 = $554 | 256;
    88341    $556 = $551 | $555;
    88342    (_genop($545,$556)|0);
    88343    $557 = $3;
    88344    _push_($557);
    88345    STACKTOP = sp;return;
    88346    break;
    88347   }
    88348   case 5:  {
    88349    $558 = $4;
    88350    $559 = ((($558)) + 4|0);
    88351    $560 = HEAP32[$559>>2]|0;
    88352    $561 = ((($560)) + 4|0);
    88353    $562 = HEAP32[$561>>2]|0;
    88354    $563 = HEAP32[$562>>2]|0;
    88355    $24 = $563;
    88356    $564 = $4;
    88357    $565 = HEAP32[$564>>2]|0;
    88358    $566 = HEAP32[$565>>2]|0;
    88359    $567 = $566;
    88360    switch ($567|0) {
    88361    case 55: case 50: case 87:  {
    88362     $568 = $3;
    88363     $569 = $4;
    88364     $570 = ((($569)) + 4|0);
    88365     $571 = HEAP32[$570>>2]|0;
    88366     $572 = HEAP32[$571>>2]|0;
    88367     $573 = $5;
    88368     _codegen($568,$572,$573);
    88369     STACKTOP = sp;return;
    88370     break;
    88371    }
    88372    case 86: case 88:  {
    88373     $574 = $3;
    88374     $575 = $24;
    88375     $576 = $5;
    88376     _codegen($574,$575,$576);
    88377     STACKTOP = sp;return;
    88378     break;
    88379    }
    88380    default: {
    88381     $577 = $3;
    88382     $578 = $4;
    88383     $579 = HEAP32[$578>>2]|0;
    88384     _codegen($577,$579,1);
    88385     $580 = $3;
    88386     $581 = ((($580)) + 172|0);
    88387     $582 = HEAP32[$581>>2]|0;
    88388     $583 = (($582) + -1)|0;
    88389     HEAP32[$581>>2] = $583;
    88390     $584 = $3;
    88391     $585 = $3;
    88392     $586 = ((($585)) + 172|0);
    88393     $587 = HEAP32[$586>>2]|0;
    88394     $588 = $587 & 511;
    88395     $589 = $588 << 23;
    88396     $590 = 25 | $589;
    88397     $591 = $590 | 4194176;
    88398     $592 = (_genop_peep($584,$591,0)|0);
    88399     $22 = $592;
    88400     $593 = $3;
    88401     $594 = $4;
    88402     $595 = ((($594)) + 4|0);
    88403     $596 = HEAP32[$595>>2]|0;
    88404     $597 = HEAP32[$596>>2]|0;
    88405     $598 = $5;
    88406     _codegen($593,$597,$598);
    88407     $599 = $5;
    88408     $600 = ($599|0)!=(0);
    88409     if ($600) {
    88410      $601 = $4;
    88411      $602 = ((($601)) + 4|0);
    88412      $603 = HEAP32[$602>>2]|0;
    88413      $604 = HEAP32[$603>>2]|0;
    88414      $605 = ($604|0)!=(0|0);
    88415      if (!($605)) {
    88416       $606 = $3;
    88417       $607 = $3;
    88418       $608 = ((($607)) + 172|0);
    88419       $609 = HEAP32[$608>>2]|0;
    88420       $610 = $609 & 511;
    88421       $611 = $610 << 23;
    88422       $612 = 5 | $611;
    88423       (_genop($606,$612)|0);
    88424       $613 = $3;
    88425       _push_($613);
    88426      }
    88427     }
    88428     $614 = $24;
    88429     $615 = ($614|0)!=(0|0);
    88430     $616 = $5;
    88431     $617 = ($616|0)!=(0);
    88432     if ($615) {
    88433      if ($617) {
    88434       $618 = $3;
    88435       $619 = ((($618)) + 172|0);
    88436       $620 = HEAP32[$619>>2]|0;
    88437       $621 = (($620) + -1)|0;
    88438       HEAP32[$619>>2] = $621;
    88439      }
    88440      $622 = $3;
    88441      $623 = (_genop($622,4194199)|0);
    88442      $23 = $623;
    88443      $624 = $3;
    88444      $625 = $22;
    88445      _dispatch($624,$625);
    88446      $626 = $3;
    88447      $627 = $24;
    88448      $628 = $5;
    88449      _codegen($626,$627,$628);
    88450      $629 = $3;
    88451      $630 = $23;
    88452      _dispatch($629,$630);
    88453      STACKTOP = sp;return;
    88454     }
    88455     $631 = $3;
    88456     if ($617) {
    88457      $632 = ((($631)) + 172|0);
    88458      $633 = HEAP32[$632>>2]|0;
    88459      $634 = (($633) + -1)|0;
    88460      HEAP32[$632>>2] = $634;
    88461      $635 = $3;
    88462      $636 = (_genop($635,4194199)|0);
    88463      $23 = $636;
    88464      $637 = $3;
    88465      $638 = $22;
    88466      _dispatch($637,$638);
    88467      $639 = $3;
    88468      $640 = $3;
    88469      $641 = ((($640)) + 172|0);
    88470      $642 = HEAP32[$641>>2]|0;
    88471      $643 = $642 & 511;
    88472      $644 = $643 << 23;
    88473      $645 = 5 | $644;
    88474      (_genop($639,$645)|0);
    88475      $646 = $3;
    88476      $647 = $23;
    88477      _dispatch($646,$647);
    88478      $648 = $3;
    88479      _push_($648);
    88480      STACKTOP = sp;return;
    88481     } else {
    88482      $649 = $22;
    88483      _dispatch($631,$649);
    88484      STACKTOP = sp;return;
    88485     }
    88486    }
    88487    }
    88488    break;
    88489   }
    88490   case 20:  {
    88491    $650 = $3;
    88492    $651 = $4;
    88493    $652 = HEAP32[$651>>2]|0;
    88494    _codegen($650,$652,1);
    88495    $653 = $3;
    88496    $654 = ((($653)) + 172|0);
    88497    $655 = HEAP32[$654>>2]|0;
    88498    $656 = (($655) + -1)|0;
    88499    HEAP32[$654>>2] = $656;
    88500    $657 = $3;
    88501    $658 = $3;
    88502    $659 = ((($658)) + 172|0);
    88503    $660 = HEAP32[$659>>2]|0;
    88504    $661 = $660 & 511;
    88505    $662 = $661 << 23;
    88506    $663 = 25 | $662;
    88507    $664 = $663 | 4194176;
    88508    $665 = (_genop($657,$664)|0);
    88509    $25 = $665;
    88510    $666 = $3;
    88511    $667 = $4;
    88512    $668 = ((($667)) + 4|0);
    88513    $669 = HEAP32[$668>>2]|0;
    88514    $670 = $5;
    88515    _codegen($666,$669,$670);
    88516    $671 = $3;
    88517    $672 = $25;
    88518    _dispatch($671,$672);
    88519    STACKTOP = sp;return;
    88520    break;
    88521   }
    88522   case 21:  {
    88523    $673 = $3;
    88524    $674 = $4;
    88525    $675 = HEAP32[$674>>2]|0;
    88526    _codegen($673,$675,1);
    88527    $676 = $3;
    88528    $677 = ((($676)) + 172|0);
    88529    $678 = HEAP32[$677>>2]|0;
    88530    $679 = (($678) + -1)|0;
    88531    HEAP32[$677>>2] = $679;
    88532    $680 = $3;
    88533    $681 = $3;
    88534    $682 = ((($681)) + 172|0);
    88535    $683 = HEAP32[$682>>2]|0;
    88536    $684 = $683 & 511;
    88537    $685 = $684 << 23;
    88538    $686 = 24 | $685;
    88539    $687 = $686 | 4194176;
    88540    $688 = (_genop($680,$687)|0);
    88541    $26 = $688;
    88542    $689 = $3;
    88543    $690 = $4;
    88544    $691 = ((($690)) + 4|0);
    88545    $692 = HEAP32[$691>>2]|0;
    88546    $693 = $5;
    88547    _codegen($689,$692,$693);
    88548    $694 = $3;
    88549    $695 = $26;
    88550    _dispatch($694,$695);
    88551    STACKTOP = sp;return;
    88552    break;
    88553   }
    88554   case 9:  {
    88555    $696 = $3;
    88556    $697 = (_loop_push($696,0)|0);
    88557    $27 = $697;
    88558    $698 = $3;
    88559    $699 = (_genop($698,4194199)|0);
    88560    $700 = $27;
    88561    $701 = ((($700)) + 4|0);
    88562    HEAP32[$701>>2] = $699;
    88563    $702 = $3;
    88564    $703 = (_new_label($702)|0);
    88565    $704 = $27;
    88566    $705 = ((($704)) + 8|0);
    88567    HEAP32[$705>>2] = $703;
    88568    $706 = $3;
    88569    $707 = $4;
    88570    $708 = ((($707)) + 4|0);
    88571    $709 = HEAP32[$708>>2]|0;
    88572    _codegen($706,$709,0);
    88573    $710 = $3;
    88574    $711 = $27;
    88575    $712 = ((($711)) + 4|0);
    88576    $713 = HEAP32[$712>>2]|0;
    88577    _dispatch($710,$713);
    88578    $714 = $3;
    88579    $715 = $4;
    88580    $716 = HEAP32[$715>>2]|0;
    88581    _codegen($714,$716,1);
    88582    $717 = $3;
    88583    $718 = ((($717)) + 172|0);
    88584    $719 = HEAP32[$718>>2]|0;
    88585    $720 = (($719) + -1)|0;
    88586    HEAP32[$718>>2] = $720;
    88587    $721 = $3;
    88588    $722 = $3;
    88589    $723 = ((($722)) + 172|0);
    88590    $724 = HEAP32[$723>>2]|0;
    88591    $725 = $724 & 511;
    88592    $726 = $725 << 23;
    88593    $727 = 24 | $726;
    88594    $728 = $27;
    88595    $729 = ((($728)) + 8|0);
    88596    $730 = HEAP32[$729>>2]|0;
    88597    $731 = $3;
    88598    $732 = ((($731)) + 176|0);
    88599    $733 = HEAP32[$732>>2]|0;
    88600    $734 = (($730) - ($733))|0;
    88601    $735 = (($734) + 32767)|0;
    88602    $736 = $735 & 65535;
    88603    $737 = $736 << 7;
    88604    $738 = $727 | $737;
    88605    (_genop($721,$738)|0);
    88606    $739 = $3;
    88607    $740 = $5;
    88608    _loop_pop($739,$740);
    88609    STACKTOP = sp;return;
    88610    break;
    88611   }
    88612   case 10:  {
    88613    $741 = $3;
    88614    $742 = (_loop_push($741,0)|0);
    88615    $28 = $742;
    88616    $743 = $3;
    88617    $744 = (_genop($743,4194199)|0);
    88618    $745 = $28;
    88619    $746 = ((($745)) + 4|0);
    88620    HEAP32[$746>>2] = $744;
    88621    $747 = $3;
    88622    $748 = (_new_label($747)|0);
    88623    $749 = $28;
    88624    $750 = ((($749)) + 8|0);
    88625    HEAP32[$750>>2] = $748;
    88626    $751 = $3;
    88627    $752 = $4;
    88628    $753 = ((($752)) + 4|0);
    88629    $754 = HEAP32[$753>>2]|0;
    88630    _codegen($751,$754,0);
    88631    $755 = $3;
    88632    $756 = $28;
    88633    $757 = ((($756)) + 4|0);
    88634    $758 = HEAP32[$757>>2]|0;
    88635    _dispatch($755,$758);
    88636    $759 = $3;
    88637    $760 = $4;
    88638    $761 = HEAP32[$760>>2]|0;
    88639    _codegen($759,$761,1);
    88640    $762 = $3;
    88641    $763 = ((($762)) + 172|0);
    88642    $764 = HEAP32[$763>>2]|0;
    88643    $765 = (($764) + -1)|0;
    88644    HEAP32[$763>>2] = $765;
    88645    $766 = $3;
    88646    $767 = $3;
    88647    $768 = ((($767)) + 172|0);
    88648    $769 = HEAP32[$768>>2]|0;
    88649    $770 = $769 & 511;
    88650    $771 = $770 << 23;
    88651    $772 = 25 | $771;
    88652    $773 = $28;
    88653    $774 = ((($773)) + 8|0);
    88654    $775 = HEAP32[$774>>2]|0;
    88655    $776 = $3;
    88656    $777 = ((($776)) + 176|0);
    88657    $778 = HEAP32[$777>>2]|0;
    88658    $779 = (($775) - ($778))|0;
    88659    $780 = (($779) + 32767)|0;
    88660    $781 = $780 & 65535;
    88661    $782 = $781 << 7;
    88662    $783 = $772 | $782;
    88663    (_genop($766,$783)|0);
    88664    $784 = $3;
    88665    $785 = $5;
    88666    _loop_pop($784,$785);
    88667    STACKTOP = sp;return;
    88668    break;
    88669   }
    88670   case 12:  {
    88671    $786 = $3;
    88672    $787 = $4;
    88673    _for_body($786,$787);
    88674    $788 = $5;
    88675    $789 = ($788|0)!=(0);
    88676    if (!($789)) {
    88677     STACKTOP = sp;return;
    88678    }
    88679    $790 = $3;
    88680    _push_($790);
    88681    STACKTOP = sp;return;
    88682    break;
    88683   }
    88684   case 6:  {
    88685    $29 = 0;
    88686    $32 = 0;
    88687    $791 = $4;
    88688    $792 = HEAP32[$791>>2]|0;
    88689    $793 = ($792|0)!=(0|0);
    88690    if ($793) {
    88691     $794 = $3;
    88692     $795 = ((($794)) + 172|0);
    88693     $796 = HEAP32[$795>>2]|0;
    88694     $29 = $796;
    88695     $797 = $3;
    88696     $798 = $4;
    88697     $799 = HEAP32[$798>>2]|0;
    88698     _codegen($797,$799,1);
    88699    }
    88700    $800 = $4;
    88701    $801 = ((($800)) + 4|0);
    88702    $802 = HEAP32[$801>>2]|0;
    88703    $4 = $802;
    88704    while(1) {
    88705     $803 = $4;
    88706     $804 = ($803|0)!=(0|0);
    88707     if (!($804)) {
    88708      break;
    88709     }
    88710     $805 = $4;
    88711     $806 = HEAP32[$805>>2]|0;
    88712     $807 = HEAP32[$806>>2]|0;
    88713     $34 = $807;
    88714     $31 = 0;
    88715     $30 = 0;
    88716     while(1) {
    88717      $808 = $34;
    88718      $809 = ($808|0)!=(0|0);
    88719      if (!($809)) {
    88720       break;
    88721      }
    88722      $810 = $3;
    88723      $811 = $34;
    88724      $812 = HEAP32[$811>>2]|0;
    88725      _codegen($810,$812,1);
    88726      $813 = $29;
    88727      $814 = ($813|0)!=(0);
    88728      $815 = $3;
    88729      do {
    88730       if ($814) {
    88731        $816 = $3;
    88732        $817 = ((($816)) + 172|0);
    88733        $818 = HEAP32[$817>>2]|0;
    88734        $819 = $818 & 511;
    88735        $820 = $819 << 23;
    88736        $821 = 1 | $820;
    88737        $822 = $29;
    88738        $823 = $822 & 511;
    88739        $824 = $823 << 14;
    88740        $825 = $821 | $824;
    88741        (_genop($815,$825)|0);
    88742        $826 = $3;
    88743        $827 = ((($826)) + 172|0);
    88744        $828 = HEAP32[$827>>2]|0;
    88745        $829 = (($828) + -1)|0;
    88746        HEAP32[$827>>2] = $829;
    88747        $830 = $34;
    88748        $831 = HEAP32[$830>>2]|0;
    88749        $832 = HEAP32[$831>>2]|0;
    88750        $833 = $832;
    88751        $834 = ($833|0)==(66);
    88752        $835 = $3;
    88753        $836 = $3;
    88754        $837 = ((($836)) + 172|0);
    88755        $838 = HEAP32[$837>>2]|0;
    88756        $839 = $838 & 511;
    88757        $840 = $839 << 23;
    88758        $841 = 32 | $840;
    88759        $842 = $3;
    88760        $843 = $3;
    88761        $844 = HEAP32[$843>>2]|0;
    88762        if ($834) {
    88763         $845 = (_mrb_intern_static($844,69580,10)|0);
    88764         $846 = (_new_msym($842,$845)|0);
    88765         $847 = $846 & 511;
    88766         $848 = $847 << 14;
    88767         $849 = $841 | $848;
    88768         $850 = $849 | 128;
    88769         (_genop($835,$850)|0);
    88770         break;
    88771        } else {
    88772         $851 = (_mrb_intern_static($844,69591,3)|0);
    88773         $852 = (_new_msym($842,$851)|0);
    88774         $853 = $852 & 511;
    88775         $854 = $853 << 14;
    88776         $855 = $841 | $854;
    88777         $856 = $855 | 128;
    88778         (_genop($835,$856)|0);
    88779         break;
    88780        }
    88781       } else {
    88782        $857 = ((($815)) + 172|0);
    88783        $858 = HEAP32[$857>>2]|0;
    88784        $859 = (($858) + -1)|0;
    88785        HEAP32[$857>>2] = $859;
    88786       }
    88787      } while(0);
    88788      $860 = $3;
    88789      $861 = $3;
    88790      $862 = ((($861)) + 172|0);
    88791      $863 = HEAP32[$862>>2]|0;
    88792      $864 = $863 & 511;
    88793      $865 = $864 << 23;
    88794      $866 = 24 | $865;
    88795      $867 = $31;
    88796      $868 = (($867) + 32767)|0;
    88797      $869 = $868 & 65535;
    88798      $870 = $869 << 7;
    88799      $871 = $866 | $870;
    88800      $872 = (_genop($860,$871)|0);
    88801      $33 = $872;
    88802      $873 = $33;
    88803      $31 = $873;
    88804      $874 = $34;
    88805      $875 = ((($874)) + 4|0);
    88806      $876 = HEAP32[$875>>2]|0;
    88807      $34 = $876;
    88808     }
    88809     $877 = $4;
    88810     $878 = HEAP32[$877>>2]|0;
    88811     $879 = HEAP32[$878>>2]|0;
    88812     $880 = ($879|0)!=(0|0);
    88813     if ($880) {
    88814      $881 = $3;
    88815      $882 = (_genop($881,4194199)|0);
    88816      $30 = $882;
    88817      $883 = $3;
    88818      $884 = $31;
    88819      _dispatch_linked($883,$884);
    88820     }
    88821     $885 = $3;
    88822     $886 = $4;
    88823     $887 = HEAP32[$886>>2]|0;
    88824     $888 = ((($887)) + 4|0);
    88825     $889 = HEAP32[$888>>2]|0;
    88826     $890 = $5;
    88827     _codegen($885,$889,$890);
    88828     $891 = $5;
    88829     $892 = ($891|0)!=(0);
    88830     if ($892) {
    88831      $893 = $3;
    88832      $894 = ((($893)) + 172|0);
    88833      $895 = HEAP32[$894>>2]|0;
    88834      $896 = (($895) + -1)|0;
    88835      HEAP32[$894>>2] = $896;
    88836     }
    88837     $897 = $3;
    88838     $898 = $32;
    88839     $899 = (($898) + 32767)|0;
    88840     $900 = $899 & 65535;
    88841     $901 = $900 << 7;
    88842     $902 = 23 | $901;
    88843     $903 = (_genop($897,$902)|0);
    88844     $33 = $903;
    88845     $904 = $33;
    88846     $32 = $904;
    88847     $905 = $30;
    88848     $906 = ($905|0)!=(0);
    88849     if ($906) {
    88850      $907 = $3;
    88851      $908 = $30;
    88852      _dispatch($907,$908);
    88853     }
    88854     $909 = $4;
    88855     $910 = ((($909)) + 4|0);
    88856     $911 = HEAP32[$910>>2]|0;
    88857     $4 = $911;
    88858    }
    88859    $912 = $5;
    88860    $913 = ($912|0)!=(0);
    88861    if ($913) {
    88862     $914 = $3;
    88863     $915 = ((($914)) + 172|0);
    88864     $916 = HEAP32[$915>>2]|0;
    88865     $35 = $916;
    88866     $917 = $3;
    88867     $918 = $3;
    88868     $919 = ((($918)) + 172|0);
    88869     $920 = HEAP32[$919>>2]|0;
    88870     $921 = $920 & 511;
    88871     $922 = $921 << 23;
    88872     $923 = 5 | $922;
    88873     (_genop($917,$923)|0);
    88874     $924 = $32;
    88875     $925 = ($924|0)!=(0);
    88876     if ($925) {
    88877      $926 = $3;
    88878      $927 = $32;
    88879      _dispatch_linked($926,$927);
    88880     }
    88881     $928 = $29;
    88882     $929 = ($928|0)!=(0);
    88883     if ($929) {
    88884      $930 = $3;
    88885      $931 = ((($930)) + 172|0);
    88886      $932 = HEAP32[$931>>2]|0;
    88887      $933 = (($932) + -1)|0;
    88888      HEAP32[$931>>2] = $933;
    88889     }
    88890     $934 = $3;
    88891     $935 = $3;
    88892     $936 = ((($935)) + 172|0);
    88893     $937 = HEAP32[$936>>2]|0;
    88894     $938 = $937 & 511;
    88895     $939 = $938 << 23;
    88896     $940 = 1 | $939;
    88897     $941 = $35;
    88898     $942 = $941 & 511;
    88899     $943 = $942 << 14;
    88900     $944 = $940 | $943;
    88901     (_genop($934,$944)|0);
    88902     $945 = $3;
    88903     _push_($945);
    88904     STACKTOP = sp;return;
    88905    } else {
    88906     $946 = $32;
    88907     $947 = ($946|0)!=(0);
    88908     if ($947) {
    88909      $948 = $3;
    88910      $949 = $32;
    88911      _dispatch_linked($948,$949);
    88912     }
    88913     $950 = $29;
    88914     $951 = ($950|0)!=(0);
    88915     if (!($951)) {
    88916      STACKTOP = sp;return;
    88917     }
    88918     $952 = $3;
    88919     $953 = ((($952)) + 172|0);
    88920     $954 = HEAP32[$953>>2]|0;
    88921     $955 = (($954) + -1)|0;
    88922     HEAP32[$953>>2] = $955;
    88923     STACKTOP = sp;return;
    88924    }
    88925    break;
    88926   }
    88927   case 3:  {
    88928    $956 = $3;
    88929    $957 = $4;
    88930    (_scope_body($956,$957,0)|0);
    88931    STACKTOP = sp;return;
    88932    break;
    88933   }
    88934   case 29: case 30:  {
    88935    $958 = $3;
    88936    $959 = $4;
    88937    $960 = $5;
    88938    _gen_call($958,$959,0,0,$960);
    88939    STACKTOP = sp;return;
    88940    break;
    88941   }
    88942   case 80:  {
    88943    $961 = $3;
    88944    $962 = $4;
    88945    $963 = HEAP32[$962>>2]|0;
    88946    $964 = $5;
    88947    _codegen($961,$963,$964);
    88948    $965 = $3;
    88949    $966 = $4;
    88950    $967 = ((($966)) + 4|0);
    88951    $968 = HEAP32[$967>>2]|0;
    88952    $969 = $5;
    88953    _codegen($965,$968,$969);
    88954    $970 = $5;
    88955    $971 = ($970|0)!=(0);
    88956    if (!($971)) {
    88957     STACKTOP = sp;return;
    88958    }
    88959    $972 = $3;
    88960    $973 = ((($972)) + 172|0);
    88961    $974 = HEAP32[$973>>2]|0;
    88962    $975 = (($974) + -1)|0;
    88963    HEAP32[$973>>2] = $975;
    88964    $976 = $3;
    88965    $977 = ((($976)) + 172|0);
    88966    $978 = HEAP32[$977>>2]|0;
    88967    $979 = (($978) + -1)|0;
    88968    HEAP32[$977>>2] = $979;
    88969    $980 = $3;
    88970    $981 = $3;
    88971    $982 = ((($981)) + 172|0);
    88972    $983 = HEAP32[$982>>2]|0;
    88973    $984 = $983 & 511;
    88974    $985 = $984 << 23;
    88975    $986 = 65 | $985;
    88976    $987 = $3;
    88977    $988 = ((($987)) + 172|0);
    88978    $989 = HEAP32[$988>>2]|0;
    88979    $990 = $989 & 511;
    88980    $991 = $990 << 14;
    88981    $992 = $986 | $991;
    88982    (_genop($980,$992)|0);
    88983    $993 = $3;
    88984    _push_($993);
    88985    STACKTOP = sp;return;
    88986    break;
    88987   }
    88988   case 81:  {
    88989    $994 = $3;
    88990    $995 = $4;
    88991    $996 = HEAP32[$995>>2]|0;
    88992    $997 = $5;
    88993    _codegen($994,$996,$997);
    88994    $998 = $3;
    88995    $999 = $4;
    88996    $1000 = ((($999)) + 4|0);
    88997    $1001 = HEAP32[$1000>>2]|0;
    88998    $1002 = $5;
    88999    _codegen($998,$1001,$1002);
    89000    $1003 = $5;
    89001    $1004 = ($1003|0)!=(0);
    89002    if (!($1004)) {
    89003     STACKTOP = sp;return;
    89004    }
    89005    $1005 = $3;
    89006    $1006 = ((($1005)) + 172|0);
    89007    $1007 = HEAP32[$1006>>2]|0;
    89008    $1008 = (($1007) + -1)|0;
    89009    HEAP32[$1006>>2] = $1008;
    89010    $1009 = $3;
    89011    $1010 = ((($1009)) + 172|0);
    89012    $1011 = HEAP32[$1010>>2]|0;
    89013    $1012 = (($1011) + -1)|0;
    89014    HEAP32[$1010>>2] = $1012;
    89015    $1013 = $3;
    89016    $1014 = $3;
    89017    $1015 = ((($1014)) + 172|0);
    89018    $1016 = HEAP32[$1015>>2]|0;
    89019    $1017 = $1016 & 511;
    89020    $1018 = $1017 << 23;
    89021    $1019 = 65 | $1018;
    89022    $1020 = $3;
    89023    $1021 = ((($1020)) + 172|0);
    89024    $1022 = HEAP32[$1021>>2]|0;
    89025    $1023 = $1022 & 511;
    89026    $1024 = $1023 << 14;
    89027    $1025 = $1019 | $1024;
    89028    $1026 = $1025 | 128;
    89029    (_genop($1013,$1026)|0);
    89030    $1027 = $3;
    89031    _push_($1027);
    89032    STACKTOP = sp;return;
    89033    break;
    89034   }
    89035   case 77:  {
    89036    $1028 = $3;
    89037    $1029 = $4;
    89038    $1030 = ((($1029)) + 4|0);
    89039    $1031 = HEAP32[$1030>>2]|0;
    89040    $1032 = $1031;
    89041    $1033 = (_new_sym_1167($1028,$1032)|0);
    89042    $36 = $1033;
    89043    $1034 = $3;
    89044    $1035 = $4;
    89045    $1036 = HEAP32[$1035>>2]|0;
    89046    _codegen($1034,$1036,1);
    89047    $1037 = $3;
    89048    $1038 = ((($1037)) + 172|0);
    89049    $1039 = HEAP32[$1038>>2]|0;
    89050    $1040 = (($1039) + -1)|0;
    89051    HEAP32[$1038>>2] = $1040;
    89052    $1041 = $3;
    89053    $1042 = $3;
    89054    $1043 = ((($1042)) + 172|0);
    89055    $1044 = HEAP32[$1043>>2]|0;
    89056    $1045 = $1044 & 511;
    89057    $1046 = $1045 << 23;
    89058    $1047 = 19 | $1046;
    89059    $1048 = $36;
    89060    $1049 = $1048 & 65535;
    89061    $1050 = $1049 << 7;
    89062    $1051 = $1047 | $1050;
    89063    (_genop($1041,$1051)|0);
    89064    $1052 = $5;
    89065    $1053 = ($1052|0)!=(0);
    89066    if (!($1053)) {
    89067     STACKTOP = sp;return;
    89068    }
    89069    $1054 = $3;
    89070    _push_($1054);
    89071    STACKTOP = sp;return;
    89072    break;
    89073   }
    89074   case 78:  {
    89075    $1055 = $3;
    89076    $1056 = $4;
    89077    $1057 = $1056;
    89078    $1058 = (_new_sym_1167($1055,$1057)|0);
    89079    $37 = $1058;
    89080    $1059 = $3;
    89081    $1060 = $3;
    89082    $1061 = ((($1060)) + 172|0);
    89083    $1062 = HEAP32[$1061>>2]|0;
    89084    $1063 = $1062 & 511;
    89085    $1064 = $1063 << 23;
    89086    $1065 = 66 | $1064;
    89087    (_genop($1059,$1065)|0);
    89088    $1066 = $3;
    89089    $1067 = $3;
    89090    $1068 = ((($1067)) + 172|0);
    89091    $1069 = HEAP32[$1068>>2]|0;
    89092    $1070 = $1069 & 511;
    89093    $1071 = $1070 << 23;
    89094    $1072 = 19 | $1071;
    89095    $1073 = $37;
    89096    $1074 = $1073 & 65535;
    89097    $1075 = $1074 << 7;
    89098    $1076 = $1072 | $1075;
    89099    (_genop($1066,$1076)|0);
    89100    $1077 = $5;
    89101    $1078 = ($1077|0)!=(0);
    89102    if (!($1078)) {
    89103     STACKTOP = sp;return;
    89104    }
    89105    $1079 = $3;
    89106    _push_($1079);
    89107    STACKTOP = sp;return;
    89108    break;
    89109   }
    89110   case 34:  {
    89111    $1080 = $3;
    89112    $1081 = $4;
    89113    $1082 = $5;
    89114    $1083 = (_gen_values($1080,$1081,$1082)|0);
    89115    $38 = $1083;
    89116    $1084 = $38;
    89117    $1085 = ($1084|0)>=(0);
    89118    $1086 = $5;
    89119    $1087 = ($1086|0)!=(0);
    89120    if ($1085) {
    89121     if (!($1087)) {
    89122      STACKTOP = sp;return;
    89123     }
    89124     $1088 = $38;
    89125     $1089 = $3;
    89126     $1090 = ((($1089)) + 172|0);
    89127     $1091 = HEAP32[$1090>>2]|0;
    89128     $1092 = (($1091) - ($1088))|0;
    89129     HEAP32[$1090>>2] = $1092;
    89130     $1093 = $3;
    89131     $1094 = $3;
    89132     $1095 = ((($1094)) + 172|0);
    89133     $1096 = HEAP32[$1095>>2]|0;
    89134     $1097 = $1096 & 511;
    89135     $1098 = $1097 << 23;
    89136     $1099 = 55 | $1098;
    89137     $1100 = $3;
    89138     $1101 = ((($1100)) + 172|0);
    89139     $1102 = HEAP32[$1101>>2]|0;
    89140     $1103 = $1102 & 511;
    89141     $1104 = $1103 << 14;
    89142     $1105 = $1099 | $1104;
    89143     $1106 = $38;
    89144     $1107 = $1106 & 127;
    89145     $1108 = $1107 << 7;
    89146     $1109 = $1105 | $1108;
    89147     (_genop($1093,$1109)|0);
    89148     $1110 = $3;
    89149     _push_($1110);
    89150     STACKTOP = sp;return;
    89151    } else {
    89152     if (!($1087)) {
    89153      STACKTOP = sp;return;
    89154     }
    89155     $1111 = $3;
    89156     _push_($1111);
    89157     STACKTOP = sp;return;
    89158    }
    89159    break;
    89160   }
    89161   case 36:  {
    89162    $39 = 0;
    89163    $40 = 0;
    89164    while(1) {
    89165     $1112 = $4;
    89166     $1113 = ($1112|0)!=(0|0);
    89167     if (!($1113)) {
    89168      break;
    89169     }
    89170     $1114 = $3;
    89171     $1115 = $4;
    89172     $1116 = HEAP32[$1115>>2]|0;
    89173     $1117 = HEAP32[$1116>>2]|0;
    89174     $1118 = $5;
    89175     _codegen($1114,$1117,$1118);
    89176     $1119 = $3;
    89177     $1120 = $4;
    89178     $1121 = HEAP32[$1120>>2]|0;
    89179     $1122 = ((($1121)) + 4|0);
    89180     $1123 = HEAP32[$1122>>2]|0;
    89181     $1124 = $5;
    89182     _codegen($1119,$1123,$1124);
    89183     $1125 = $39;
    89184     $1126 = (($1125) + 1)|0;
    89185     $39 = $1126;
    89186     $1127 = $4;
    89187     $1128 = ((($1127)) + 4|0);
    89188     $1129 = HEAP32[$1128>>2]|0;
    89189     $4 = $1129;
    89190     $1130 = $5;
    89191     $1131 = ($1130|0)!=(0);
    89192     $1132 = $39;
    89193     $1133 = ($1132|0)==(126);
    89194     $or$cond3 = $1131 & $1133;
    89195     if (!($or$cond3)) {
    89196      continue;
    89197     }
    89198     $1134 = $39;
    89199     $1135 = $1134<<1;
    89200     $1136 = $3;
    89201     $1137 = ((($1136)) + 172|0);
    89202     $1138 = HEAP32[$1137>>2]|0;
    89203     $1139 = (($1138) - ($1135))|0;
    89204     HEAP32[$1137>>2] = $1139;
    89205     $1140 = $3;
    89206     $1141 = $3;
    89207     $1142 = ((($1141)) + 172|0);
    89208     $1143 = HEAP32[$1142>>2]|0;
    89209     $1144 = $1143 & 511;
    89210     $1145 = $1144 << 23;
    89211     $1146 = 63 | $1145;
    89212     $1147 = $3;
    89213     $1148 = ((($1147)) + 172|0);
    89214     $1149 = HEAP32[$1148>>2]|0;
    89215     $1150 = $1149 & 511;
    89216     $1151 = $1150 << 14;
    89217     $1152 = $1146 | $1151;
    89218     $1153 = $39;
    89219     $1154 = $1153 & 127;
    89220     $1155 = $1154 << 7;
    89221     $1156 = $1152 | $1155;
    89222     (_genop($1140,$1156)|0);
    89223     $1157 = $40;
    89224     $1158 = ($1157<<24>>24)!=(0);
    89225     if ($1158) {
    89226      $1159 = $3;
    89227      $1160 = ((($1159)) + 172|0);
    89228      $1161 = HEAP32[$1160>>2]|0;
    89229      $1162 = (($1161) + -1)|0;
    89230      HEAP32[$1160>>2] = $1162;
    89231      $1163 = $3;
    89232      $1164 = $3;
    89233      $1165 = ((($1164)) + 172|0);
    89234      $1166 = HEAP32[$1165>>2]|0;
    89235      $1167 = $1166 & 511;
    89236      $1168 = $1167 << 23;
    89237      $1169 = 32 | $1168;
    89238      $1170 = $3;
    89239      $1171 = $3;
    89240      $1172 = HEAP32[$1171>>2]|0;
    89241      $1173 = (_mrb_intern_static($1172,69595,8)|0);
    89242      $1174 = (_new_msym($1170,$1173)|0);
    89243      $1175 = $1174 & 511;
    89244      $1176 = $1175 << 14;
    89245      $1177 = $1169 | $1176;
    89246      $1178 = $1177 | 128;
    89247      (_genop($1163,$1178)|0);
    89248     }
    89249     $1179 = $3;
    89250     _push_($1179);
    89251     $40 = 1;
    89252     $39 = 0;
    89253    }
    89254    $1180 = $5;
    89255    $1181 = ($1180|0)!=(0);
    89256    if (!($1181)) {
    89257     STACKTOP = sp;return;
    89258    }
    89259    $1182 = $39;
    89260    $1183 = $1182<<1;
    89261    $1184 = $3;
    89262    $1185 = ((($1184)) + 172|0);
    89263    $1186 = HEAP32[$1185>>2]|0;
    89264    $1187 = (($1186) - ($1183))|0;
    89265    HEAP32[$1185>>2] = $1187;
    89266    $1188 = $3;
    89267    $1189 = $3;
    89268    $1190 = ((($1189)) + 172|0);
    89269    $1191 = HEAP32[$1190>>2]|0;
    89270    $1192 = $1191 & 511;
    89271    $1193 = $1192 << 23;
    89272    $1194 = 63 | $1193;
    89273    $1195 = $3;
    89274    $1196 = ((($1195)) + 172|0);
    89275    $1197 = HEAP32[$1196>>2]|0;
    89276    $1198 = $1197 & 511;
    89277    $1199 = $1198 << 14;
    89278    $1200 = $1194 | $1199;
    89279    $1201 = $39;
    89280    $1202 = $1201 & 127;
    89281    $1203 = $1202 << 7;
    89282    $1204 = $1200 | $1203;
    89283    (_genop($1188,$1204)|0);
    89284    $1205 = $40;
    89285    $1206 = ($1205<<24>>24)!=(0);
    89286    if ($1206) {
    89287     $1207 = $3;
    89288     $1208 = ((($1207)) + 172|0);
    89289     $1209 = HEAP32[$1208>>2]|0;
    89290     $1210 = (($1209) + -1)|0;
    89291     HEAP32[$1208>>2] = $1210;
    89292     $1211 = $3;
    89293     $1212 = $3;
    89294     $1213 = ((($1212)) + 172|0);
    89295     $1214 = HEAP32[$1213>>2]|0;
    89296     $1215 = $1214 & 511;
    89297     $1216 = $1215 << 23;
    89298     $1217 = 32 | $1216;
    89299     $1218 = $3;
    89300     $1219 = $3;
    89301     $1220 = HEAP32[$1219>>2]|0;
    89302     $1221 = (_mrb_intern_static($1220,69595,8)|0);
    89303     $1222 = (_new_msym($1218,$1221)|0);
    89304     $1223 = $1222 & 511;
    89305     $1224 = $1223 << 14;
    89306     $1225 = $1217 | $1224;
    89307     $1226 = $1225 | 128;
    89308     (_genop($1211,$1226)|0);
    89309    }
    89310    $1227 = $3;
    89311    _push_($1227);
    89312    STACKTOP = sp;return;
    89313    break;
    89314   }
    89315   case 66:  {
    89316    $1228 = $3;
    89317    $1229 = $4;
    89318    _codegen($1228,$1229,1);
    89319    STACKTOP = sp;return;
    89320    break;
    89321   }
    89322   case 24:  {
    89323    $1230 = $3;
    89324    $1231 = $4;
    89325    $1232 = ((($1231)) + 4|0);
    89326    $1233 = HEAP32[$1232>>2]|0;
    89327    _codegen($1230,$1233,1);
    89328    $1234 = $3;
    89329    $1235 = ((($1234)) + 172|0);
    89330    $1236 = HEAP32[$1235>>2]|0;
    89331    $1237 = (($1236) + -1)|0;
    89332    HEAP32[$1235>>2] = $1237;
    89333    $1238 = $3;
    89334    $1239 = $4;
    89335    $1240 = HEAP32[$1239>>2]|0;
    89336    $1241 = $3;
    89337    $1242 = ((($1241)) + 172|0);
    89338    $1243 = HEAP32[$1242>>2]|0;
    89339    $1244 = $5;
    89340    _gen_assignment($1238,$1240,$1243,$1244);
    89341    STACKTOP = sp;return;
    89342    break;
    89343   }
    89344   case 23:  {
    89345    $41 = 0;
    89346    $42 = 0;
    89347    $43 = 0;
    89348    $1245 = $4;
    89349    $1246 = ((($1245)) + 4|0);
    89350    $1247 = HEAP32[$1246>>2]|0;
    89351    $44 = $1247;
    89352    $1248 = $3;
    89353    $1249 = ((($1248)) + 172|0);
    89354    $1250 = HEAP32[$1249>>2]|0;
    89355    $46 = $1250;
    89356    $1251 = $44;
    89357    $1252 = HEAP32[$1251>>2]|0;
    89358    $1253 = $1252;
    89359    $1254 = ($1253|0)==(34);
    89360    if ($1254) {
    89361     $1255 = $44;
    89362     $1256 = ((($1255)) + 4|0);
    89363     $1257 = HEAP32[$1256>>2]|0;
    89364     $1258 = (_nosplat($1257)|0);
    89365     $1259 = $1258&255;
    89366     $1260 = ($1259|0)!=(0);
    89367     if ($1260) {
    89368      $1261 = $44;
    89369      $1262 = ((($1261)) + 4|0);
    89370      $1263 = HEAP32[$1262>>2]|0;
    89371      $44 = $1263;
    89372      while(1) {
    89373       $1264 = $44;
    89374       $1265 = ($1264|0)!=(0|0);
    89375       if (!($1265)) {
    89376        break;
    89377       }
    89378       $1266 = $3;
    89379       $1267 = $44;
    89380       $1268 = HEAP32[$1267>>2]|0;
    89381       _codegen($1266,$1268,1);
    89382       $1269 = $41;
    89383       $1270 = (($1269) + 1)|0;
    89384       $41 = $1270;
    89385       $1271 = $44;
    89386       $1272 = ((($1271)) + 4|0);
    89387       $1273 = HEAP32[$1272>>2]|0;
    89388       $44 = $1273;
    89389      }
    89390      $1274 = $4;
    89391      $1275 = HEAP32[$1274>>2]|0;
    89392      $4 = $1275;
    89393      $1276 = $4;
    89394      $1277 = HEAP32[$1276>>2]|0;
    89395      $1278 = ($1277|0)!=(0|0);
    89396      L213: do {
    89397       if ($1278) {
    89398        $1279 = $4;
    89399        $1280 = HEAP32[$1279>>2]|0;
    89400        $44 = $1280;
    89401        $42 = 0;
    89402        while(1) {
    89403         $1281 = $44;
    89404         $1282 = ($1281|0)!=(0|0);
    89405         if (!($1282)) {
    89406          break L213;
    89407         }
    89408         $1283 = $3;
    89409         $1284 = $44;
    89410         $1285 = HEAP32[$1284>>2]|0;
    89411         $1286 = $46;
    89412         $1287 = $42;
    89413         $1288 = (($1286) + ($1287))|0;
    89414         _gen_assignment($1283,$1285,$1288,0);
    89415         $1289 = $42;
    89416         $1290 = (($1289) + 1)|0;
    89417         $42 = $1290;
    89418         $1291 = $44;
    89419         $1292 = ((($1291)) + 4|0);
    89420         $1293 = HEAP32[$1292>>2]|0;
    89421         $44 = $1293;
    89422        }
    89423       }
    89424      } while(0);
    89425      $1294 = $4;
    89426      $1295 = ((($1294)) + 4|0);
    89427      $1296 = HEAP32[$1295>>2]|0;
    89428      $44 = $1296;
    89429      $1297 = $44;
    89430      $1298 = ($1297|0)!=(0|0);
    89431      L219: do {
    89432       if ($1298) {
    89433        $1299 = $44;
    89434        $1300 = ((($1299)) + 4|0);
    89435        $1301 = HEAP32[$1300>>2]|0;
    89436        $1302 = ($1301|0)!=(0|0);
    89437        L221: do {
    89438         if ($1302) {
    89439          $1303 = $44;
    89440          $1304 = ((($1303)) + 4|0);
    89441          $1305 = HEAP32[$1304>>2]|0;
    89442          $1306 = HEAP32[$1305>>2]|0;
    89443          $45 = $1306;
    89444          while(1) {
    89445           $1307 = $45;
    89446           $1308 = ($1307|0)!=(0|0);
    89447           if (!($1308)) {
    89448            break L221;
    89449           }
    89450           $1309 = $43;
    89451           $1310 = (($1309) + 1)|0;
    89452           $43 = $1310;
    89453           $1311 = $45;
    89454           $1312 = ((($1311)) + 4|0);
    89455           $1313 = HEAP32[$1312>>2]|0;
    89456           $45 = $1313;
    89457          }
    89458         }
    89459        } while(0);
    89460        $1314 = $44;
    89461        $1315 = HEAP32[$1314>>2]|0;
    89462        $1316 = ($1315|0)!=(0|0);
    89463        if ($1316) {
    89464         $1317 = $41;
    89465         $1318 = $43;
    89466         $1319 = $42;
    89467         $1320 = (($1318) + ($1319))|0;
    89468         $1321 = ($1317|0)<($1320|0);
    89469         if ($1321) {
    89470          $47 = 0;
    89471         } else {
    89472          $1322 = $41;
    89473          $1323 = $43;
    89474          $1324 = (($1322) - ($1323))|0;
    89475          $1325 = $42;
    89476          $1326 = (($1324) - ($1325))|0;
    89477          $47 = $1326;
    89478         }
    89479         $1327 = $3;
    89480         $1328 = $3;
    89481         $1329 = ((($1328)) + 172|0);
    89482         $1330 = HEAP32[$1329>>2]|0;
    89483         $1331 = $1330 & 511;
    89484         $1332 = $1331 << 23;
    89485         $1333 = 55 | $1332;
    89486         $1334 = $46;
    89487         $1335 = $42;
    89488         $1336 = (($1334) + ($1335))|0;
    89489         $1337 = $1336 & 511;
    89490         $1338 = $1337 << 14;
    89491         $1339 = $1333 | $1338;
    89492         $1340 = $47;
    89493         $1341 = $1340 & 127;
    89494         $1342 = $1341 << 7;
    89495         $1343 = $1339 | $1342;
    89496         (_genop($1327,$1343)|0);
    89497         $1344 = $3;
    89498         $1345 = $44;
    89499         $1346 = HEAP32[$1345>>2]|0;
    89500         $1347 = $3;
    89501         $1348 = ((($1347)) + 172|0);
    89502         $1349 = HEAP32[$1348>>2]|0;
    89503         _gen_assignment($1344,$1346,$1349,0);
    89504         $1350 = $47;
    89505         $1351 = $42;
    89506         $1352 = (($1351) + ($1350))|0;
    89507         $42 = $1352;
    89508        }
    89509        $1353 = $44;
    89510        $1354 = ((($1353)) + 4|0);
    89511        $1355 = HEAP32[$1354>>2]|0;
    89512        $1356 = ($1355|0)!=(0|0);
    89513        if ($1356) {
    89514         $1357 = $44;
    89515         $1358 = ((($1357)) + 4|0);
    89516         $1359 = HEAP32[$1358>>2]|0;
    89517         $1360 = HEAP32[$1359>>2]|0;
    89518         $1361 = ($1360|0)!=(0|0);
    89519         if ($1361) {
    89520          $1362 = $44;
    89521          $1363 = ((($1362)) + 4|0);
    89522          $1364 = HEAP32[$1363>>2]|0;
    89523          $1365 = HEAP32[$1364>>2]|0;
    89524          $44 = $1365;
    89525          while(1) {
    89526           $1366 = $42;
    89527           $1367 = $41;
    89528           $1368 = ($1366|0)<($1367|0);
    89529           if (!($1368)) {
    89530            break L219;
    89531           }
    89532           $1369 = $3;
    89533           $1370 = $44;
    89534           $1371 = HEAP32[$1370>>2]|0;
    89535           $1372 = $46;
    89536           $1373 = $42;
    89537           $1374 = (($1372) + ($1373))|0;
    89538           _gen_assignment($1369,$1371,$1374,0);
    89539           $1375 = $44;
    89540           $1376 = ((($1375)) + 4|0);
    89541           $1377 = HEAP32[$1376>>2]|0;
    89542           $44 = $1377;
    89543           $1378 = $42;
    89544           $1379 = (($1378) + 1)|0;
    89545           $42 = $1379;
    89546          }
    89547         }
    89548        }
    89549       }
    89550      } while(0);
    89551      $1380 = $41;
    89552      $1381 = $3;
    89553      $1382 = ((($1381)) + 172|0);
    89554      $1383 = HEAP32[$1382>>2]|0;
    89555      $1384 = (($1383) - ($1380))|0;
    89556      HEAP32[$1382>>2] = $1384;
    89557      $1385 = $5;
    89558      $1386 = ($1385|0)!=(0);
    89559      if (!($1386)) {
    89560       STACKTOP = sp;return;
    89561      }
    89562      $1387 = $3;
    89563      $1388 = $46;
    89564      $1389 = $1388 & 511;
    89565      $1390 = $1389 << 23;
    89566      $1391 = 55 | $1390;
    89567      $1392 = $46;
    89568      $1393 = $1392 & 511;
    89569      $1394 = $1393 << 14;
    89570      $1395 = $1391 | $1394;
    89571      $1396 = $41;
    89572      $1397 = $1396 & 127;
    89573      $1398 = $1397 << 7;
    89574      $1399 = $1395 | $1398;
    89575      (_genop($1387,$1399)|0);
    89576      $1400 = $3;
    89577      _push_($1400);
    89578      STACKTOP = sp;return;
    89579     }
    89580    }
    89581    $1401 = $3;
    89582    $1402 = $44;
    89583    _codegen($1401,$1402,1);
    89584    $1403 = $3;
    89585    $1404 = $4;
    89586    $1405 = HEAP32[$1404>>2]|0;
    89587    $1406 = $46;
    89588    $1407 = $5;
    89589    _gen_vmassignment($1403,$1405,$1406,$1407);
    89590    $1408 = $5;
    89591    $1409 = ($1408|0)!=(0);
    89592    if ($1409) {
    89593     STACKTOP = sp;return;
    89594    }
    89595    $1410 = $3;
    89596    $1411 = ((($1410)) + 172|0);
    89597    $1412 = HEAP32[$1411>>2]|0;
    89598    $1413 = (($1412) + -1)|0;
    89599    HEAP32[$1411>>2] = $1413;
    89600    STACKTOP = sp;return;
    89601    break;
    89602   }
    89603   case 28:  {
    89604    $1414 = $4;
    89605    $1415 = ((($1414)) + 4|0);
    89606    $1416 = HEAP32[$1415>>2]|0;
    89607    $1417 = HEAP32[$1416>>2]|0;
    89608    $1418 = $1417;
    89609    $48 = $1418;
    89610    $1419 = $3;
    89611    $1420 = HEAP32[$1419>>2]|0;
    89612    $1421 = $48;
    89613    $1422 = (_mrb_sym2name_len($1420,$1421,$49)|0);
    89614    $50 = $1422;
    89615    $1423 = $3;
    89616    $1424 = $4;
    89617    $1425 = HEAP32[$1424>>2]|0;
    89618    _codegen($1423,$1425,1);
    89619    $1426 = HEAP32[$49>>2]|0;
    89620    $1427 = ($1426|0)==(2);
    89621    do {
    89622     if ($1427) {
    89623      $1428 = $50;
    89624      $1429 = HEAP8[$1428>>0]|0;
    89625      $1430 = $1429 << 24 >> 24;
    89626      $1431 = ($1430|0)==(124);
    89627      if ($1431) {
    89628       $1432 = $50;
    89629       $1433 = ((($1432)) + 1|0);
    89630       $1434 = HEAP8[$1433>>0]|0;
    89631       $1435 = $1434 << 24 >> 24;
    89632       $1436 = ($1435|0)==(124);
    89633       if (!($1436)) {
    89634        label = 152;
    89635       }
    89636      } else {
    89637       label = 152;
    89638      }
    89639      if ((label|0) == 152) {
    89640       $1437 = $50;
    89641       $1438 = HEAP8[$1437>>0]|0;
    89642       $1439 = $1438 << 24 >> 24;
    89643       $1440 = ($1439|0)==(38);
    89644       if (!($1440)) {
    89645        break;
    89646       }
    89647       $1441 = $50;
    89648       $1442 = ((($1441)) + 1|0);
    89649       $1443 = HEAP8[$1442>>0]|0;
    89650       $1444 = $1443 << 24 >> 24;
    89651       $1445 = ($1444|0)==(38);
    89652       if (!($1445)) {
    89653        break;
    89654       }
    89655      }
    89656      $1446 = $3;
    89657      $1447 = ((($1446)) + 172|0);
    89658      $1448 = HEAP32[$1447>>2]|0;
    89659      $1449 = (($1448) + -1)|0;
    89660      HEAP32[$1447>>2] = $1449;
    89661      $1450 = $3;
    89662      $1451 = $50;
    89663      $1452 = HEAP8[$1451>>0]|0;
    89664      $1453 = $1452 << 24 >> 24;
    89665      $1454 = ($1453|0)==(124);
    89666      $1455 = $1454 ? 24 : 25;
    89667      $1456 = $1455 & 127;
    89668      $1457 = $3;
    89669      $1458 = ((($1457)) + 172|0);
    89670      $1459 = HEAP32[$1458>>2]|0;
    89671      $1460 = $1459 & 511;
    89672      $1461 = $1460 << 23;
    89673      $1462 = $1456 | $1461;
    89674      $1463 = $1462 | 4194176;
    89675      $1464 = (_genop_peep($1450,$1463,0)|0);
    89676      $52 = $1464;
    89677      $1465 = $3;
    89678      $1466 = $4;
    89679      $1467 = ((($1466)) + 4|0);
    89680      $1468 = HEAP32[$1467>>2]|0;
    89681      $1469 = ((($1468)) + 4|0);
    89682      $1470 = HEAP32[$1469>>2]|0;
    89683      $1471 = HEAP32[$1470>>2]|0;
    89684      _codegen($1465,$1471,1);
    89685      $1472 = $3;
    89686      $1473 = ((($1472)) + 172|0);
    89687      $1474 = HEAP32[$1473>>2]|0;
    89688      $1475 = (($1474) + -1)|0;
    89689      HEAP32[$1473>>2] = $1475;
    89690      $1476 = $3;
    89691      $1477 = $4;
    89692      $1478 = HEAP32[$1477>>2]|0;
    89693      $1479 = $3;
    89694      $1480 = ((($1479)) + 172|0);
    89695      $1481 = HEAP32[$1480>>2]|0;
    89696      $1482 = $5;
    89697      _gen_assignment($1476,$1478,$1481,$1482);
    89698      $1483 = $3;
    89699      $1484 = $52;
    89700      _dispatch($1483,$1484);
    89701      STACKTOP = sp;return;
    89702     }
    89703    } while(0);
    89704    $1485 = $3;
    89705    $1486 = $4;
    89706    $1487 = ((($1486)) + 4|0);
    89707    $1488 = HEAP32[$1487>>2]|0;
    89708    $1489 = ((($1488)) + 4|0);
    89709    $1490 = HEAP32[$1489>>2]|0;
    89710    $1491 = HEAP32[$1490>>2]|0;
    89711    _codegen($1485,$1491,1);
    89712    $1492 = $3;
    89713    _push_($1492);
    89714    $1493 = $3;
    89715    $1494 = ((($1493)) + 172|0);
    89716    $1495 = HEAP32[$1494>>2]|0;
    89717    $1496 = (($1495) + -1)|0;
    89718    HEAP32[$1494>>2] = $1496;
    89719    $1497 = $3;
    89720    $1498 = ((($1497)) + 172|0);
    89721    $1499 = HEAP32[$1498>>2]|0;
    89722    $1500 = (($1499) + -1)|0;
    89723    HEAP32[$1498>>2] = $1500;
    89724    $1501 = $3;
    89725    $1502 = ((($1501)) + 172|0);
    89726    $1503 = HEAP32[$1502>>2]|0;
    89727    $1504 = (($1503) + -1)|0;
    89728    HEAP32[$1502>>2] = $1504;
    89729    $1505 = $3;
    89730    $1506 = $48;
    89731    $1507 = (_new_msym($1505,$1506)|0);
    89732    $51 = $1507;
    89733    $1508 = HEAP32[$49>>2]|0;
    89734    $1509 = ($1508|0)==(1);
    89735    if ($1509) {
    89736     $1510 = $50;
    89737     $1511 = HEAP8[$1510>>0]|0;
    89738     $1512 = $1511 << 24 >> 24;
    89739     $1513 = ($1512|0)==(43);
    89740     if ($1513) {
    89741      $1514 = $3;
    89742      $1515 = $3;
    89743      $1516 = ((($1515)) + 172|0);
    89744      $1517 = HEAP32[$1516>>2]|0;
    89745      $1518 = $1517 & 511;
    89746      $1519 = $1518 << 23;
    89747      $1520 = 44 | $1519;
    89748      $1521 = $51;
    89749      $1522 = $1521 & 511;
    89750      $1523 = $1522 << 14;
    89751      $1524 = $1520 | $1523;
    89752      $1525 = $1524 | 128;
    89753      $1526 = $5;
    89754      (_genop_peep($1514,$1525,$1526)|0);
    89755     } else {
    89756      label = 158;
    89757     }
    89758    } else {
    89759     label = 158;
    89760    }
    89761    do {
    89762     if ((label|0) == 158) {
    89763      $1527 = HEAP32[$49>>2]|0;
    89764      $1528 = ($1527|0)==(1);
    89765      if ($1528) {
    89766       $1529 = $50;
    89767       $1530 = HEAP8[$1529>>0]|0;
    89768       $1531 = $1530 << 24 >> 24;
    89769       $1532 = ($1531|0)==(45);
    89770       if ($1532) {
    89771        $1533 = $3;
    89772        $1534 = $3;
    89773        $1535 = ((($1534)) + 172|0);
    89774        $1536 = HEAP32[$1535>>2]|0;
    89775        $1537 = $1536 & 511;
    89776        $1538 = $1537 << 23;
    89777        $1539 = 46 | $1538;
    89778        $1540 = $51;
    89779        $1541 = $1540 & 511;
    89780        $1542 = $1541 << 14;
    89781        $1543 = $1539 | $1542;
    89782        $1544 = $1543 | 128;
    89783        $1545 = $5;
    89784        (_genop_peep($1533,$1544,$1545)|0);
    89785        break;
    89786       }
    89787      }
    89788      $1546 = HEAP32[$49>>2]|0;
    89789      $1547 = ($1546|0)==(1);
    89790      if ($1547) {
    89791       $1548 = $50;
    89792       $1549 = HEAP8[$1548>>0]|0;
    89793       $1550 = $1549 << 24 >> 24;
    89794       $1551 = ($1550|0)==(42);
    89795       if ($1551) {
    89796        $1552 = $3;
    89797        $1553 = $3;
    89798        $1554 = ((($1553)) + 172|0);
    89799        $1555 = HEAP32[$1554>>2]|0;
    89800        $1556 = $1555 & 511;
    89801        $1557 = $1556 << 23;
    89802        $1558 = 48 | $1557;
    89803        $1559 = $51;
    89804        $1560 = $1559 & 511;
    89805        $1561 = $1560 << 14;
    89806        $1562 = $1558 | $1561;
    89807        $1563 = $1562 | 128;
    89808        (_genop($1552,$1563)|0);
    89809        break;
    89810       }
    89811      }
    89812      $1564 = HEAP32[$49>>2]|0;
    89813      $1565 = ($1564|0)==(1);
    89814      if ($1565) {
    89815       $1566 = $50;
    89816       $1567 = HEAP8[$1566>>0]|0;
    89817       $1568 = $1567 << 24 >> 24;
    89818       $1569 = ($1568|0)==(47);
    89819       if ($1569) {
    89820        $1570 = $3;
    89821        $1571 = $3;
    89822        $1572 = ((($1571)) + 172|0);
    89823        $1573 = HEAP32[$1572>>2]|0;
    89824        $1574 = $1573 & 511;
    89825        $1575 = $1574 << 23;
    89826        $1576 = 49 | $1575;
    89827        $1577 = $51;
    89828        $1578 = $1577 & 511;
    89829        $1579 = $1578 << 14;
    89830        $1580 = $1576 | $1579;
    89831        $1581 = $1580 | 128;
    89832        (_genop($1570,$1581)|0);
    89833        break;
    89834       }
    89835      }
    89836      $1582 = HEAP32[$49>>2]|0;
    89837      $1583 = ($1582|0)==(1);
    89838      if ($1583) {
    89839       $1584 = $50;
    89840       $1585 = HEAP8[$1584>>0]|0;
    89841       $1586 = $1585 << 24 >> 24;
    89842       $1587 = ($1586|0)==(60);
    89843       if ($1587) {
    89844        $1588 = $3;
    89845        $1589 = $3;
    89846        $1590 = ((($1589)) + 172|0);
    89847        $1591 = HEAP32[$1590>>2]|0;
    89848        $1592 = $1591 & 511;
    89849        $1593 = $1592 << 23;
    89850        $1594 = 51 | $1593;
    89851        $1595 = $51;
    89852        $1596 = $1595 & 511;
    89853        $1597 = $1596 << 14;
    89854        $1598 = $1594 | $1597;
    89855        $1599 = $1598 | 128;
    89856        (_genop($1588,$1599)|0);
    89857        break;
    89858       }
    89859      }
    89860      $1600 = HEAP32[$49>>2]|0;
    89861      $1601 = ($1600|0)==(2);
    89862      if ($1601) {
    89863       $1602 = $50;
    89864       $1603 = HEAP8[$1602>>0]|0;
    89865       $1604 = $1603 << 24 >> 24;
    89866       $1605 = ($1604|0)==(60);
    89867       if ($1605) {
    89868        $1606 = $50;
    89869        $1607 = ((($1606)) + 1|0);
    89870        $1608 = HEAP8[$1607>>0]|0;
    89871        $1609 = $1608 << 24 >> 24;
    89872        $1610 = ($1609|0)==(61);
    89873        if ($1610) {
    89874         $1611 = $3;
    89875         $1612 = $3;
    89876         $1613 = ((($1612)) + 172|0);
    89877         $1614 = HEAP32[$1613>>2]|0;
    89878         $1615 = $1614 & 511;
    89879         $1616 = $1615 << 23;
    89880         $1617 = 52 | $1616;
    89881         $1618 = $51;
    89882         $1619 = $1618 & 511;
    89883         $1620 = $1619 << 14;
    89884         $1621 = $1617 | $1620;
    89885         $1622 = $1621 | 128;
    89886         (_genop($1611,$1622)|0);
    89887         break;
    89888        }
    89889       }
    89890      }
    89891      $1623 = HEAP32[$49>>2]|0;
    89892      $1624 = ($1623|0)==(1);
    89893      if ($1624) {
    89894       $1625 = $50;
    89895       $1626 = HEAP8[$1625>>0]|0;
    89896       $1627 = $1626 << 24 >> 24;
    89897       $1628 = ($1627|0)==(62);
    89898       if ($1628) {
    89899        $1629 = $3;
    89900        $1630 = $3;
    89901        $1631 = ((($1630)) + 172|0);
    89902        $1632 = HEAP32[$1631>>2]|0;
    89903        $1633 = $1632 & 511;
    89904        $1634 = $1633 << 23;
    89905        $1635 = 53 | $1634;
    89906        $1636 = $51;
    89907        $1637 = $1636 & 511;
    89908        $1638 = $1637 << 14;
    89909        $1639 = $1635 | $1638;
    89910        $1640 = $1639 | 128;
    89911        (_genop($1629,$1640)|0);
    89912        break;
    89913       }
    89914      }
    89915      $1641 = HEAP32[$49>>2]|0;
    89916      $1642 = ($1641|0)==(2);
    89917      if ($1642) {
    89918       $1643 = $50;
    89919       $1644 = HEAP8[$1643>>0]|0;
    89920       $1645 = $1644 << 24 >> 24;
    89921       $1646 = ($1645|0)==(62);
    89922       if ($1646) {
    89923        $1647 = $50;
    89924        $1648 = ((($1647)) + 1|0);
    89925        $1649 = HEAP8[$1648>>0]|0;
    89926        $1650 = $1649 << 24 >> 24;
    89927        $1651 = ($1650|0)==(61);
    89928        if ($1651) {
    89929         $1652 = $3;
    89930         $1653 = $3;
    89931         $1654 = ((($1653)) + 172|0);
    89932         $1655 = HEAP32[$1654>>2]|0;
    89933         $1656 = $1655 & 511;
    89934         $1657 = $1656 << 23;
    89935         $1658 = 54 | $1657;
    89936         $1659 = $51;
    89937         $1660 = $1659 & 511;
    89938         $1661 = $1660 << 14;
    89939         $1662 = $1658 | $1661;
    89940         $1663 = $1662 | 128;
    89941         (_genop($1652,$1663)|0);
    89942         break;
    89943        }
    89944       }
    89945      }
    89946      $1664 = $3;
    89947      $1665 = $3;
    89948      $1666 = ((($1665)) + 172|0);
    89949      $1667 = HEAP32[$1666>>2]|0;
    89950      $1668 = $1667 & 511;
    89951      $1669 = $1668 << 23;
    89952      $1670 = 32 | $1669;
    89953      $1671 = $51;
    89954      $1672 = $1671 & 511;
    89955      $1673 = $1672 << 14;
    89956      $1674 = $1670 | $1673;
    89957      $1675 = $1674 | 128;
    89958      (_genop($1664,$1675)|0);
    89959     }
    89960    } while(0);
    89961    $1676 = $3;
    89962    $1677 = $4;
    89963    $1678 = HEAP32[$1677>>2]|0;
    89964    $1679 = $3;
    89965    $1680 = ((($1679)) + 172|0);
    89966    $1681 = HEAP32[$1680>>2]|0;
    89967    $1682 = $5;
    89968    _gen_assignment($1676,$1678,$1681,$1682);
    89969    STACKTOP = sp;return;
    89970    break;
    89971   }
    89972   case 32:  {
    89973    $53 = 0;
    89974    $54 = 0;
    89975    $55 = 0;
    89976    $1683 = $3;
    89977    _push_($1683);
    89978    $1684 = $4;
    89979    $1685 = ($1684|0)!=(0|0);
    89980    if ($1685) {
    89981     $1686 = $4;
    89982     $1687 = HEAP32[$1686>>2]|0;
    89983     $56 = $1687;
    89984     $1688 = $56;
    89985     $1689 = ($1688|0)!=(0|0);
    89986     if ($1689) {
    89987      $1690 = $3;
    89988      $1691 = $56;
    89989      $1692 = (_gen_values($1690,$1691,1)|0);
    89990      $53 = $1692;
    89991      $1693 = $53;
    89992      $1694 = ($1693|0)<(0);
    89993      if ($1694) {
    89994       $55 = 1;
    89995       $54 = 1;
    89996       $53 = 1;
    89997       $1695 = $3;
    89998       _push_($1695);
    89999      }
    90000     }
    90001    }
    90002    $1696 = $4;
    90003    $1697 = ($1696|0)!=(0|0);
    90004    if ($1697) {
    90005     $1698 = $4;
    90006     $1699 = ((($1698)) + 4|0);
    90007     $1700 = HEAP32[$1699>>2]|0;
    90008     $1701 = ($1700|0)!=(0|0);
    90009     if ($1701) {
    90010      $1702 = $3;
    90011      $1703 = $4;
    90012      $1704 = ((($1703)) + 4|0);
    90013      $1705 = HEAP32[$1704>>2]|0;
    90014      _codegen($1702,$1705,1);
    90015      $1706 = $3;
    90016      $$sink12 = $1706;
    90017     } else {
    90018      label = 190;
    90019     }
    90020    } else {
    90021     label = 190;
    90022    }
    90023    if ((label|0) == 190) {
    90024     $1707 = $3;
    90025     $1708 = $3;
    90026     $1709 = ((($1708)) + 172|0);
    90027     $1710 = HEAP32[$1709>>2]|0;
    90028     $1711 = $1710 & 511;
    90029     $1712 = $1711 << 23;
    90030     $1713 = 5 | $1712;
    90031     (_genop($1707,$1713)|0);
    90032     $1714 = $3;
    90033     _push_($1714);
    90034     $1715 = $3;
    90035     $$sink12 = $1715;
    90036    }
    90037    $1716 = ((($$sink12)) + 172|0);
    90038    $1717 = HEAP32[$1716>>2]|0;
    90039    $1718 = (($1717) + -1)|0;
    90040    HEAP32[$1716>>2] = $1718;
    90041    $1719 = $53;
    90042    $1720 = (($1719) + 1)|0;
    90043    $1721 = $3;
    90044    $1722 = ((($1721)) + 172|0);
    90045    $1723 = HEAP32[$1722>>2]|0;
    90046    $1724 = (($1723) - ($1720))|0;
    90047    HEAP32[$1722>>2] = $1724;
    90048    $1725 = $55;
    90049    $1726 = ($1725|0)!=(0);
    90050    if ($1726) {
    90051     $53 = 127;
    90052    }
    90053    $1727 = $3;
    90054    $1728 = $3;
    90055    $1729 = ((($1728)) + 172|0);
    90056    $1730 = HEAP32[$1729>>2]|0;
    90057    $1731 = $1730 & 511;
    90058    $1732 = $1731 << 23;
    90059    $1733 = 36 | $1732;
    90060    $1734 = $53;
    90061    $1735 = $1734 & 127;
    90062    $1736 = $1735 << 7;
    90063    $1737 = $1733 | $1736;
    90064    (_genop($1727,$1737)|0);
    90065    $1738 = $5;
    90066    $1739 = ($1738|0)!=(0);
    90067    if (!($1739)) {
    90068     STACKTOP = sp;return;
    90069    }
    90070    $1740 = $3;
    90071    _push_($1740);
    90072    STACKTOP = sp;return;
    90073    break;
    90074   }
    90075   case 33:  {
    90076    $1741 = $3;
    90077    $57 = $1741;
    90078    $58 = 0;
    90079    $59 = 0;
    90080    $1742 = $3;
    90081    _push_($1742);
    90082    while(1) {
    90083     $1743 = $57;
    90084     $1744 = ((($1743)) + 184|0);
    90085     $1745 = HEAP16[$1744>>1]|0;
    90086     $1746 = ($1745&65535) >>> 15;
    90087     $1747 = $1746&255;
    90088     $1748 = ($1747<<24>>24)!=(0);
    90089     $1749 = $1748 ^ 1;
    90090     if (!($1749)) {
    90091      break;
    90092     }
    90093     $1750 = $58;
    90094     $1751 = (($1750) + 1)|0;
    90095     $58 = $1751;
    90096     $1752 = $57;
    90097     $1753 = ((($1752)) + 164|0);
    90098     $1754 = HEAP32[$1753>>2]|0;
    90099     $57 = $1754;
    90100     $1755 = $57;
    90101     $1756 = ($1755|0)!=(0|0);
    90102     if (!($1756)) {
    90103      break;
    90104     }
    90105    }
    90106    $1757 = $57;
    90107    $1758 = ($1757|0)!=(0|0);
    90108    if ($1758) {
    90109     $1759 = $57;
    90110     $1760 = ((($1759)) + 184|0);
    90111     $1761 = HEAP16[$1760>>1]|0;
    90112     $1762 = ($1761 << 1)&65535;
    90113     $1763 = ($1762<<16>>16) >> 1;
    90114     $1764 = $1763 << 16 >> 16;
    90115     $59 = $1764;
    90116    }
    90117    $1765 = $3;
    90118    $1766 = $3;
    90119    $1767 = ((($1766)) + 172|0);
    90120    $1768 = HEAP32[$1767>>2]|0;
    90121    $1769 = $1768 & 511;
    90122    $1770 = $1769 << 23;
    90123    $1771 = 37 | $1770;
    90124    $1772 = $59;
    90125    $1773 = $1772 << 4;
    90126    $1774 = $58;
    90127    $1775 = $1774 & 15;
    90128    $1776 = $1773 | $1775;
    90129    $1777 = $1776 & 65535;
    90130    $1778 = $1777 << 7;
    90131    $1779 = $1771 | $1778;
    90132    (_genop($1765,$1779)|0);
    90133    $1780 = $3;
    90134    _push_($1780);
    90135    $1781 = $3;
    90136    _push_($1781);
    90137    $1782 = $3;
    90138    $1783 = ((($1782)) + 172|0);
    90139    $1784 = HEAP32[$1783>>2]|0;
    90140    $1785 = (($1784) + -1)|0;
    90141    HEAP32[$1783>>2] = $1785;
    90142    $1786 = $4;
    90143    $1787 = ($1786|0)!=(0|0);
    90144    if ($1787) {
    90145     $1788 = $4;
    90146     $1789 = ((($1788)) + 4|0);
    90147     $1790 = HEAP32[$1789>>2]|0;
    90148     $1791 = ($1790|0)!=(0|0);
    90149     if ($1791) {
    90150      $1792 = $3;
    90151      $1793 = $4;
    90152      $1794 = ((($1793)) + 4|0);
    90153      $1795 = HEAP32[$1794>>2]|0;
    90154      _codegen($1792,$1795,1);
    90155      $1796 = $3;
    90156      $1797 = ((($1796)) + 172|0);
    90157      $1798 = HEAP32[$1797>>2]|0;
    90158      $1799 = (($1798) + -1)|0;
    90159      HEAP32[$1797>>2] = $1799;
    90160     }
    90161    }
    90162    $1800 = $3;
    90163    $1801 = ((($1800)) + 172|0);
    90164    $1802 = HEAP32[$1801>>2]|0;
    90165    $1803 = (($1802) + -1)|0;
    90166    HEAP32[$1801>>2] = $1803;
    90167    $1804 = $3;
    90168    $1805 = ((($1804)) + 172|0);
    90169    $1806 = HEAP32[$1805>>2]|0;
    90170    $1807 = (($1806) + -1)|0;
    90171    HEAP32[$1805>>2] = $1807;
    90172    $1808 = $3;
    90173    $1809 = $3;
    90174    $1810 = ((($1809)) + 172|0);
    90175    $1811 = HEAP32[$1810>>2]|0;
    90176    $1812 = $1811 & 511;
    90177    $1813 = $1812 << 23;
    90178    $1814 = 36 | $1813;
    90179    $1815 = $1814 | 16256;
    90180    (_genop($1808,$1815)|0);
    90181    $1816 = $5;
    90182    $1817 = ($1816|0)!=(0);
    90183    if (!($1817)) {
    90184     STACKTOP = sp;return;
    90185    }
    90186    $1818 = $3;
    90187    _push_($1818);
    90188    STACKTOP = sp;return;
    90189    break;
    90190   }
    90191   case 37:  {
    90192    $1819 = $4;
    90193    $1820 = ($1819|0)!=(0|0);
    90194    $1821 = $3;
    90195    if ($1820) {
    90196     $1822 = $4;
    90197     _codegen($1821,$1822,1);
    90198     $1823 = $3;
    90199     $1824 = ((($1823)) + 172|0);
    90200     $1825 = HEAP32[$1824>>2]|0;
    90201     $1826 = (($1825) + -1)|0;
    90202     HEAP32[$1824>>2] = $1826;
    90203    } else {
    90204     $1827 = $3;
    90205     $1828 = ((($1827)) + 172|0);
    90206     $1829 = HEAP32[$1828>>2]|0;
    90207     $1830 = $1829 & 511;
    90208     $1831 = $1830 << 23;
    90209     $1832 = 5 | $1831;
    90210     (_genop($1821,$1832)|0);
    90211    }
    90212    $1833 = $3;
    90213    $1834 = ((($1833)) + 188|0);
    90214    $1835 = HEAP32[$1834>>2]|0;
    90215    $1836 = ($1835|0)!=(0|0);
    90216    $1837 = $3;
    90217    $1838 = $3;
    90218    $1839 = ((($1838)) + 172|0);
    90219    $1840 = HEAP32[$1839>>2]|0;
    90220    $1841 = $1840 & 511;
    90221    $1842 = $1841 << 23;
    90222    $1843 = 41 | $1842;
    90223    if ($1836) {
    90224     $1844 = $1843 | 32768;
    90225     (_genop($1837,$1844)|0);
    90226    } else {
    90227     (_genop_peep($1837,$1843,0)|0);
    90228    }
    90229    $1845 = $5;
    90230    $1846 = ($1845|0)!=(0);
    90231    if (!($1846)) {
    90232     STACKTOP = sp;return;
    90233    }
    90234    $1847 = $3;
    90235    _push_($1847);
    90236    STACKTOP = sp;return;
    90237    break;
    90238   }
    90239   case 38:  {
    90240    $1848 = $3;
    90241    $60 = $1848;
    90242    $61 = 0;
    90243    $62 = 0;
    90244    $63 = 0;
    90245    $64 = 0;
    90246    while(1) {
    90247     $1849 = $60;
    90248     $1850 = ((($1849)) + 184|0);
    90249     $1851 = HEAP16[$1850>>1]|0;
    90250     $1852 = ($1851&65535) >>> 15;
    90251     $1853 = $1852&255;
    90252     $1854 = ($1853<<24>>24)!=(0);
    90253     $1855 = $1854 ^ 1;
    90254     if (!($1855)) {
    90255      break;
    90256     }
    90257     $1856 = $61;
    90258     $1857 = (($1856) + 1)|0;
    90259     $61 = $1857;
    90260     $1858 = $60;
    90261     $1859 = ((($1858)) + 164|0);
    90262     $1860 = HEAP32[$1859>>2]|0;
    90263     $60 = $1860;
    90264     $1861 = $60;
    90265     $1862 = ($1861|0)!=(0|0);
    90266     if (!($1862)) {
    90267      break;
    90268     }
    90269    }
    90270    $1863 = $60;
    90271    $1864 = ($1863|0)!=(0|0);
    90272    if ($1864) {
    90273     $1865 = $60;
    90274     $1866 = ((($1865)) + 184|0);
    90275     $1867 = HEAP16[$1866>>1]|0;
    90276     $1868 = ($1867 << 1)&65535;
    90277     $1869 = ($1868<<16>>16) >> 1;
    90278     $1870 = $1869 << 16 >> 16;
    90279     $62 = $1870;
    90280    }
    90281    $1871 = $3;
    90282    $1872 = $3;
    90283    $1873 = ((($1872)) + 172|0);
    90284    $1874 = HEAP32[$1873>>2]|0;
    90285    $1875 = $1874 & 511;
    90286    $1876 = $1875 << 23;
    90287    $1877 = 43 | $1876;
    90288    $1878 = $62;
    90289    $1879 = $1878 << 4;
    90290    $1880 = $61;
    90291    $1881 = $1880 & 15;
    90292    $1882 = $1879 | $1881;
    90293    $1883 = $1882 & 65535;
    90294    $1884 = $1883 << 7;
    90295    $1885 = $1877 | $1884;
    90296    (_genop($1871,$1885)|0);
    90297    $1886 = $3;
    90298    _push_($1886);
    90299    $1887 = $4;
    90300    $1888 = ($1887|0)!=(0|0);
    90301    if ($1888) {
    90302     $1889 = $3;
    90303     $1890 = $4;
    90304     $1891 = (_gen_values($1889,$1890,1)|0);
    90305     $63 = $1891;
    90306     $1892 = $63;
    90307     $1893 = ($1892|0)<(0);
    90308     if ($1893) {
    90309      $64 = 1;
    90310      $63 = 1;
    90311      $1894 = $3;
    90312      _push_($1894);
    90313     }
    90314    }
    90315    $1895 = $63;
    90316    $1896 = (($1895) + 1)|0;
    90317    $1897 = $3;
    90318    $1898 = ((($1897)) + 172|0);
    90319    $1899 = HEAP32[$1898>>2]|0;
    90320    $1900 = (($1899) - ($1896))|0;
    90321    HEAP32[$1898>>2] = $1900;
    90322    $1901 = $64;
    90323    $1902 = ($1901|0)!=(0);
    90324    if ($1902) {
    90325     $63 = 127;
    90326    }
    90327    $1903 = $3;
    90328    $1904 = $3;
    90329    $1905 = ((($1904)) + 172|0);
    90330    $1906 = HEAP32[$1905>>2]|0;
    90331    $1907 = $1906 & 511;
    90332    $1908 = $1907 << 23;
    90333    $1909 = 32 | $1908;
    90334    $1910 = $3;
    90335    $1911 = $3;
    90336    $1912 = HEAP32[$1911>>2]|0;
    90337    $1913 = (_mrb_intern_static($1912,69604,4)|0);
    90338    $1914 = (_new_msym($1910,$1913)|0);
    90339    $1915 = $1914 & 511;
    90340    $1916 = $1915 << 14;
    90341    $1917 = $1909 | $1916;
    90342    $1918 = $63;
    90343    $1919 = $1918 & 127;
    90344    $1920 = $1919 << 7;
    90345    $1921 = $1917 | $1920;
    90346    (_genop($1903,$1921)|0);
    90347    $1922 = $5;
    90348    $1923 = ($1922|0)!=(0);
    90349    if (!($1923)) {
    90350     STACKTOP = sp;return;
    90351    }
    90352    $1924 = $3;
    90353    _push_($1924);
    90354    STACKTOP = sp;return;
    90355    break;
    90356   }
    90357   case 13:  {
    90358    $1925 = $3;
    90359    $1926 = $4;
    90360    _loop_break($1925,$1926);
    90361    $1927 = $5;
    90362    $1928 = ($1927|0)!=(0);
    90363    if (!($1928)) {
    90364     STACKTOP = sp;return;
    90365    }
    90366    $1929 = $3;
    90367    _push_($1929);
    90368    STACKTOP = sp;return;
    90369    break;
    90370   }
    90371   case 14:  {
    90372    $1930 = $3;
    90373    $1931 = ((($1930)) + 188|0);
    90374    $1932 = HEAP32[$1931>>2]|0;
    90375    $1933 = ($1932|0)!=(0|0);
    90376    $1934 = $3;
    90377    do {
    90378     if ($1933) {
    90379      $1935 = ((($1934)) + 188|0);
    90380      $1936 = HEAP32[$1935>>2]|0;
    90381      $1937 = HEAP32[$1936>>2]|0;
    90382      $1938 = ($1937|0)==(0);
    90383      if ($1938) {
    90384       $1939 = $3;
    90385       $1940 = ((($1939)) + 192|0);
    90386       $1941 = HEAP32[$1940>>2]|0;
    90387       $1942 = $3;
    90388       $1943 = ((($1942)) + 188|0);
    90389       $1944 = HEAP32[$1943>>2]|0;
    90390       $1945 = ((($1944)) + 20|0);
    90391       $1946 = HEAP32[$1945>>2]|0;
    90392       $1947 = ($1941|0)>($1946|0);
    90393       if ($1947) {
    90394        $1948 = $3;
    90395        $1949 = $3;
    90396        $1950 = ((($1949)) + 192|0);
    90397        $1951 = HEAP32[$1950>>2]|0;
    90398        $1952 = $3;
    90399        $1953 = ((($1952)) + 188|0);
    90400        $1954 = HEAP32[$1953>>2]|0;
    90401        $1955 = ((($1954)) + 20|0);
    90402        $1956 = HEAP32[$1955>>2]|0;
    90403        $1957 = (($1951) - ($1956))|0;
    90404        $1958 = $1957 & 511;
    90405        $1959 = $1958 << 23;
    90406        $1960 = 31 | $1959;
    90407        (_genop_peep($1948,$1960,0)|0);
    90408       }
    90409       $1961 = $3;
    90410       $1962 = $4;
    90411       _codegen($1961,$1962,0);
    90412       $1963 = $3;
    90413       $1964 = $3;
    90414       $1965 = ((($1964)) + 188|0);
    90415       $1966 = HEAP32[$1965>>2]|0;
    90416       $1967 = ((($1966)) + 4|0);
    90417       $1968 = HEAP32[$1967>>2]|0;
    90418       $1969 = $3;
    90419       $1970 = ((($1969)) + 176|0);
    90420       $1971 = HEAP32[$1970>>2]|0;
    90421       $1972 = (($1968) - ($1971))|0;
    90422       $1973 = (($1972) + 32767)|0;
    90423       $1974 = $1973 & 65535;
    90424       $1975 = $1974 << 7;
    90425       $1976 = 23 | $1975;
    90426       (_genop($1963,$1976)|0);
    90427       break;
    90428      }
    90429      $1977 = $4;
    90430      $1978 = ($1977|0)!=(0|0);
    90431      $1979 = $3;
    90432      if ($1978) {
    90433       $1980 = $4;
    90434       _codegen($1979,$1980,1);
    90435       $1981 = $3;
    90436       $1982 = ((($1981)) + 172|0);
    90437       $1983 = HEAP32[$1982>>2]|0;
    90438       $1984 = (($1983) + -1)|0;
    90439       HEAP32[$1982>>2] = $1984;
    90440      } else {
    90441       $1985 = $3;
    90442       $1986 = ((($1985)) + 172|0);
    90443       $1987 = HEAP32[$1986>>2]|0;
    90444       $1988 = $1987 & 511;
    90445       $1989 = $1988 << 23;
    90446       $1990 = 5 | $1989;
    90447       (_genop($1979,$1990)|0);
    90448      }
    90449      $1991 = $3;
    90450      $1992 = $3;
    90451      $1993 = ((($1992)) + 172|0);
    90452      $1994 = HEAP32[$1993>>2]|0;
    90453      $1995 = $1994 & 511;
    90454      $1996 = $1995 << 23;
    90455      $1997 = 41 | $1996;
    90456      (_genop_peep($1991,$1997,0)|0);
    90457     } else {
    90458      _raise_error($1934,69609);
    90459     }
    90460    } while(0);
    90461    $1998 = $5;
    90462    $1999 = ($1998|0)!=(0);
    90463    if (!($1999)) {
    90464     STACKTOP = sp;return;
    90465    }
    90466    $2000 = $3;
    90467    _push_($2000);
    90468    STACKTOP = sp;return;
    90469    break;
    90470   }
    90471   case 15:  {
    90472    $2001 = $3;
    90473    $2002 = ((($2001)) + 188|0);
    90474    $2003 = HEAP32[$2002>>2]|0;
    90475    $2004 = ($2003|0)!=(0|0);
    90476    $2005 = $3;
    90477    if (!($2004)) {
    90478     _raise_error($2005,69625);
    90479     STACKTOP = sp;return;
    90480    }
    90481    $2006 = ((($2005)) + 192|0);
    90482    $2007 = HEAP32[$2006>>2]|0;
    90483    $2008 = $3;
    90484    $2009 = ((($2008)) + 188|0);
    90485    $2010 = HEAP32[$2009>>2]|0;
    90486    $2011 = ((($2010)) + 20|0);
    90487    $2012 = HEAP32[$2011>>2]|0;
    90488    $2013 = ($2007|0)>($2012|0);
    90489    if ($2013) {
    90490     $2014 = $3;
    90491     $2015 = $3;
    90492     $2016 = ((($2015)) + 192|0);
    90493     $2017 = HEAP32[$2016>>2]|0;
    90494     $2018 = $3;
    90495     $2019 = ((($2018)) + 188|0);
    90496     $2020 = HEAP32[$2019>>2]|0;
    90497     $2021 = ((($2020)) + 20|0);
    90498     $2022 = HEAP32[$2021>>2]|0;
    90499     $2023 = (($2017) - ($2022))|0;
    90500     $2024 = $2023 & 511;
    90501     $2025 = $2024 << 23;
    90502     $2026 = 31 | $2025;
    90503     (_genop_peep($2014,$2026,0)|0);
    90504    }
    90505    $2027 = $3;
    90506    $2028 = $3;
    90507    $2029 = ((($2028)) + 188|0);
    90508    $2030 = HEAP32[$2029>>2]|0;
    90509    $2031 = ((($2030)) + 8|0);
    90510    $2032 = HEAP32[$2031>>2]|0;
    90511    $2033 = $3;
    90512    $2034 = ((($2033)) + 176|0);
    90513    $2035 = HEAP32[$2034>>2]|0;
    90514    $2036 = (($2032) - ($2035))|0;
    90515    $2037 = (($2036) + 32767)|0;
    90516    $2038 = $2037 & 65535;
    90517    $2039 = $2038 << 7;
    90518    $2040 = 23 | $2039;
    90519    (_genop($2027,$2040)|0);
    90520    STACKTOP = sp;return;
    90521    break;
    90522   }
    90523   case 16:  {
    90524    $65 = 69641;
    90525    $2041 = $3;
    90526    $2042 = ((($2041)) + 188|0);
    90527    $2043 = HEAP32[$2042>>2]|0;
    90528    $2044 = ($2043|0)!=(0|0);
    90529    $2045 = $3;
    90530    if (!($2044)) {
    90531     $2046 = $65;
    90532     _raise_error($2045,$2046);
    90533     STACKTOP = sp;return;
    90534    }
    90535    $2047 = ((($2045)) + 188|0);
    90536    $2048 = HEAP32[$2047>>2]|0;
    90537    $66 = $2048;
    90538    $67 = 0;
    90539    while(1) {
    90540     $2049 = $66;
    90541     $2050 = ($2049|0)!=(0|0);
    90542     if ($2050) {
    90543      $2051 = $66;
    90544      $2052 = HEAP32[$2051>>2]|0;
    90545      $2053 = ($2052|0)!=(4);
    90546      $3658 = $2053;
    90547     } else {
    90548      $3658 = 0;
    90549     }
    90550     $2054 = $66;
    90551     if (!($3658)) {
    90552      break;
    90553     }
    90554     $2055 = HEAP32[$2054>>2]|0;
    90555     $2056 = ($2055|0)==(3);
    90556     if ($2056) {
    90557      $2057 = $67;
    90558      $2058 = (($2057) + 1)|0;
    90559      $67 = $2058;
    90560     }
    90561     $2059 = $66;
    90562     $2060 = ((($2059)) + 24|0);
    90563     $2061 = HEAP32[$2060>>2]|0;
    90564     $66 = $2061;
    90565    }
    90566    $2062 = ($2054|0)!=(0|0);
    90567    if (!($2062)) {
    90568     $2063 = $3;
    90569     $2064 = $65;
    90570     _raise_error($2063,$2064);
    90571     STACKTOP = sp;return;
    90572    }
    90573    $2065 = $67;
    90574    $2066 = ($2065|0)>(0);
    90575    L416: do {
    90576     if ($2066) {
    90577      while(1) {
    90578       $2067 = $67;
    90579       $2068 = (($2067) + -1)|0;
    90580       $67 = $2068;
    90581       $2069 = ($2067|0)!=(0);
    90582       if (!($2069)) {
    90583        break L416;
    90584       }
    90585       $2070 = $3;
    90586       (_genop_peep($2070,8388636,0)|0);
    90587      }
    90588     }
    90589    } while(0);
    90590    $2071 = $3;
    90591    $2072 = ((($2071)) + 192|0);
    90592    $2073 = HEAP32[$2072>>2]|0;
    90593    $2074 = $66;
    90594    $2075 = ((($2074)) + 20|0);
    90595    $2076 = HEAP32[$2075>>2]|0;
    90596    $2077 = ($2073|0)>($2076|0);
    90597    if ($2077) {
    90598     $2078 = $3;
    90599     $2079 = $3;
    90600     $2080 = ((($2079)) + 192|0);
    90601     $2081 = HEAP32[$2080>>2]|0;
    90602     $2082 = $66;
    90603     $2083 = ((($2082)) + 20|0);
    90604     $2084 = HEAP32[$2083>>2]|0;
    90605     $2085 = (($2081) - ($2084))|0;
    90606     $2086 = $2085 & 511;
    90607     $2087 = $2086 << 23;
    90608     $2088 = 31 | $2087;
    90609     (_genop_peep($2078,$2088,0)|0);
    90610    }
    90611    $2089 = $3;
    90612    $2090 = $66;
    90613    $2091 = ((($2090)) + 4|0);
    90614    $2092 = HEAP32[$2091>>2]|0;
    90615    $2093 = $3;
    90616    $2094 = ((($2093)) + 176|0);
    90617    $2095 = HEAP32[$2094>>2]|0;
    90618    $2096 = (($2092) - ($2095))|0;
    90619    $2097 = (($2096) + 32767)|0;
    90620    $2098 = $2097 & 65535;
    90621    $2099 = $2098 << 7;
    90622    $2100 = 23 | $2099;
    90623    (_genop($2089,$2100)|0);
    90624    STACKTOP = sp;return;
    90625    break;
    90626   }
    90627   case 39:  {
    90628    $2101 = $5;
    90629    $2102 = ($2101|0)!=(0);
    90630    if (!($2102)) {
    90631     STACKTOP = sp;return;
    90632    }
    90633    $2103 = $3;
    90634    $2104 = $4;
    90635    $2105 = $2104;
    90636    $2106 = (_lv_idx($2103,$2105)|0);
    90637    $68 = $2106;
    90638    $2107 = $68;
    90639    $2108 = ($2107|0)>(0);
    90640    L429: do {
    90641     if ($2108) {
    90642      $2109 = $3;
    90643      $2110 = $3;
    90644      $2111 = ((($2110)) + 172|0);
    90645      $2112 = HEAP32[$2111>>2]|0;
    90646      $2113 = $2112 & 511;
    90647      $2114 = $2113 << 23;
    90648      $2115 = 1 | $2114;
    90649      $2116 = $68;
    90650      $2117 = $2116 & 511;
    90651      $2118 = $2117 << 14;
    90652      $2119 = $2115 | $2118;
    90653      (_genop_peep($2109,$2119,0)|0);
    90654     } else {
    90655      $69 = 0;
    90656      $2120 = $3;
    90657      $2121 = ((($2120)) + 164|0);
    90658      $2122 = HEAP32[$2121>>2]|0;
    90659      $70 = $2122;
    90660      while(1) {
    90661       $2123 = $70;
    90662       $2124 = ($2123|0)!=(0|0);
    90663       if (!($2124)) {
    90664        break L429;
    90665       }
    90666       $2125 = $70;
    90667       $2126 = $4;
    90668       $2127 = $2126;
    90669       $2128 = (_lv_idx($2125,$2127)|0);
    90670       $68 = $2128;
    90671       $2129 = $68;
    90672       $2130 = ($2129|0)>(0);
    90673       if ($2130) {
    90674        break;
    90675       }
    90676       $2146 = $69;
    90677       $2147 = (($2146) + 1)|0;
    90678       $69 = $2147;
    90679       $2148 = $70;
    90680       $2149 = ((($2148)) + 164|0);
    90681       $2150 = HEAP32[$2149>>2]|0;
    90682       $70 = $2150;
    90683      }
    90684      $2131 = $3;
    90685      $2132 = $3;
    90686      $2133 = ((($2132)) + 172|0);
    90687      $2134 = HEAP32[$2133>>2]|0;
    90688      $2135 = $2134 & 511;
    90689      $2136 = $2135 << 23;
    90690      $2137 = 21 | $2136;
    90691      $2138 = $68;
    90692      $2139 = $2138 & 511;
    90693      $2140 = $2139 << 14;
    90694      $2141 = $2137 | $2140;
    90695      $2142 = $69;
    90696      $2143 = $2142 & 127;
    90697      $2144 = $2143 << 7;
    90698      $2145 = $2141 | $2144;
    90699      (_genop($2131,$2145)|0);
    90700     }
    90701    } while(0);
    90702    $2151 = $3;
    90703    _push_($2151);
    90704    STACKTOP = sp;return;
    90705    break;
    90706   }
    90707   case 41:  {
    90708    $2152 = $5;
    90709    $2153 = ($2152|0)!=(0);
    90710    if (!($2153)) {
    90711     STACKTOP = sp;return;
    90712    }
    90713    $2154 = $3;
    90714    $2155 = $4;
    90715    $2156 = $2155;
    90716    $2157 = (_new_sym_1167($2154,$2156)|0);
    90717    $71 = $2157;
    90718    $2158 = $3;
    90719    $2159 = $3;
    90720    $2160 = ((($2159)) + 172|0);
    90721    $2161 = HEAP32[$2160>>2]|0;
    90722    $2162 = $2161 & 511;
    90723    $2163 = $2162 << 23;
    90724    $2164 = 9 | $2163;
    90725    $2165 = $71;
    90726    $2166 = $2165 & 65535;
    90727    $2167 = $2166 << 7;
    90728    $2168 = $2164 | $2167;
    90729    (_genop($2158,$2168)|0);
    90730    $2169 = $3;
    90731    _push_($2169);
    90732    STACKTOP = sp;return;
    90733    break;
    90734   }
    90735   case 42:  {
    90736    $2170 = $5;
    90737    $2171 = ($2170|0)!=(0);
    90738    if (!($2171)) {
    90739     STACKTOP = sp;return;
    90740    }
    90741    $2172 = $3;
    90742    $2173 = $4;
    90743    $2174 = $2173;
    90744    $2175 = (_new_sym_1167($2172,$2174)|0);
    90745    $72 = $2175;
    90746    $2176 = $3;
    90747    $2177 = $3;
    90748    $2178 = ((($2177)) + 172|0);
    90749    $2179 = HEAP32[$2178>>2]|0;
    90750    $2180 = $2179 & 511;
    90751    $2181 = $2180 << 23;
    90752    $2182 = 13 | $2181;
    90753    $2183 = $72;
    90754    $2184 = $2183 & 65535;
    90755    $2185 = $2184 << 7;
    90756    $2186 = $2182 | $2185;
    90757    (_genop($2176,$2186)|0);
    90758    $2187 = $3;
    90759    _push_($2187);
    90760    STACKTOP = sp;return;
    90761    break;
    90762   }
    90763   case 44:  {
    90764    $2188 = $5;
    90765    $2189 = ($2188|0)!=(0);
    90766    if (!($2189)) {
    90767     STACKTOP = sp;return;
    90768    }
    90769    $2190 = $3;
    90770    $2191 = $4;
    90771    $2192 = $2191;
    90772    $2193 = (_new_sym_1167($2190,$2192)|0);
    90773    $73 = $2193;
    90774    $2194 = $3;
    90775    $2195 = $3;
    90776    $2196 = ((($2195)) + 172|0);
    90777    $2197 = HEAP32[$2196>>2]|0;
    90778    $2198 = $2197 & 511;
    90779    $2199 = $2198 << 23;
    90780    $2200 = 15 | $2199;
    90781    $2201 = $73;
    90782    $2202 = $2201 & 65535;
    90783    $2203 = $2202 << 7;
    90784    $2204 = $2200 | $2203;
    90785    (_genop($2194,$2204)|0);
    90786    $2205 = $3;
    90787    _push_($2205);
    90788    STACKTOP = sp;return;
    90789    break;
    90790   }
    90791   case 43:  {
    90792    $2206 = $3;
    90793    $2207 = $4;
    90794    $2208 = $2207;
    90795    $2209 = (_new_sym_1167($2206,$2208)|0);
    90796    $74 = $2209;
    90797    $2210 = $3;
    90798    $2211 = $3;
    90799    $2212 = ((($2211)) + 172|0);
    90800    $2213 = HEAP32[$2212>>2]|0;
    90801    $2214 = $2213 & 511;
    90802    $2215 = $2214 << 23;
    90803    $2216 = 17 | $2215;
    90804    $2217 = $74;
    90805    $2218 = $2217 & 65535;
    90806    $2219 = $2218 << 7;
    90807    $2220 = $2216 | $2219;
    90808    (_genop($2210,$2220)|0);
    90809    $2221 = $5;
    90810    $2222 = ($2221|0)!=(0);
    90811    if (!($2222)) {
    90812     STACKTOP = sp;return;
    90813    }
    90814    $2223 = $3;
    90815    _push_($2223);
    90816    STACKTOP = sp;return;
    90817    break;
    90818   }
    90819   case 89:  {
    90820    $2224 = $3;
    90821    $2225 = $4;
    90822    _codegen($2224,$2225,1);
    90823    STACKTOP = sp;return;
    90824    break;
    90825   }
    90826   case 46:  {
    90827    $2226 = $5;
    90828    $2227 = ($2226|0)!=(0);
    90829    if (!($2227)) {
    90830     STACKTOP = sp;return;
    90831    }
    90832    ;HEAP8[$75>>0]=HEAP8[69658>>0]|0;HEAP8[$75+1>>0]=HEAP8[69658+1>>0]|0;
    90833    $2228 = $4;
    90834    $2229 = $2228;
    90835    $2230 = $2229&255;
    90836    $2231 = ((($75)) + 1|0);
    90837    HEAP8[$2231>>0] = $2230;
    90838    $2232 = $3;
    90839    $2233 = HEAP32[$2232>>2]|0;
    90840    _mrb_str_new($78,$2233,$75,2);
    90841    ;HEAP32[$76>>2]=HEAP32[$78>>2]|0;HEAP32[$76+4>>2]=HEAP32[$78+4>>2]|0;
    90842    $2234 = $3;
    90843    $2235 = $3;
    90844    $2236 = HEAP32[$2235>>2]|0;
    90845    ;HEAP32[$$byval_copy>>2]=HEAP32[$76>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$76+4>>2]|0;
    90846    $2237 = (_mrb_intern_str($2236,$$byval_copy)|0);
    90847    $2238 = (_new_sym_1167($2234,$2237)|0);
    90848    $77 = $2238;
    90849    $2239 = $3;
    90850    $2240 = $3;
    90851    $2241 = ((($2240)) + 172|0);
    90852    $2242 = HEAP32[$2241>>2]|0;
    90853    $2243 = $2242 & 511;
    90854    $2244 = $2243 << 23;
    90855    $2245 = 9 | $2244;
    90856    $2246 = $77;
    90857    $2247 = $2246 & 65535;
    90858    $2248 = $2247 << 7;
    90859    $2249 = $2245 | $2248;
    90860    (_genop($2239,$2249)|0);
    90861    $2250 = $3;
    90862    _push_($2250);
    90863    STACKTOP = sp;return;
    90864    break;
    90865   }
    90866   case 45:  {
    90867    $2251 = $5;
    90868    $2252 = ($2251|0)!=(0);
    90869    if (!($2252)) {
    90870     STACKTOP = sp;return;
    90871    }
    90872    $2253 = $3;
    90873    $2254 = HEAP32[$2253>>2]|0;
    90874    $80 = $2254;
    90875    $2255 = $4;
    90876    $2256 = $2255;
    90877    _mrb_fixnum_value_1173($81,$2256);
    90878    $2257 = $80;
    90879    _mrb_str_buf_new($82,$2257,4);
    90880    $2258 = $80;
    90881    ;HEAP32[$$byval_copy13>>2]=HEAP32[$82>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$82+4>>2]|0;
    90882    _mrb_str_cat($83,$2258,$$byval_copy13,69658,1);
    90883    $2259 = $80;
    90884    $2260 = $80;
    90885    ;HEAP32[$$byval_copy14>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$81+4>>2]|0;
    90886    _mrb_fixnum_to_str($84,$2260,$$byval_copy14,10);
    90887    ;HEAP32[$$byval_copy15>>2]=HEAP32[$82>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$82+4>>2]|0;
    90888    ;HEAP32[$$byval_copy16>>2]=HEAP32[$84>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$84+4>>2]|0;
    90889    _mrb_str_cat_str($85,$2259,$$byval_copy15,$$byval_copy16);
    90890    $2261 = $3;
    90891    $2262 = $80;
    90892    ;HEAP32[$$byval_copy17>>2]=HEAP32[$82>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$82+4>>2]|0;
    90893    $2263 = (_mrb_intern_str($2262,$$byval_copy17)|0);
    90894    $2264 = (_new_sym_1167($2261,$2263)|0);
    90895    $79 = $2264;
    90896    $2265 = $3;
    90897    $2266 = $3;
    90898    $2267 = ((($2266)) + 172|0);
    90899    $2268 = HEAP32[$2267>>2]|0;
    90900    $2269 = $2268 & 511;
    90901    $2270 = $2269 << 23;
    90902    $2271 = 9 | $2270;
    90903    $2272 = $79;
    90904    $2273 = $2272 & 65535;
    90905    $2274 = $2273 << 7;
    90906    $2275 = $2271 | $2274;
    90907    (_genop($2265,$2275)|0);
    90908    $2276 = $3;
    90909    _push_($2276);
    90910    STACKTOP = sp;return;
    90911    break;
    90912   }
    90913   case 91:  {
    90914    $3656 = $3;
    90915    $3657 = $4;
    90916    _codegen($3656,$3657,0);
    90917    STACKTOP = sp;return;
    90918    break;
    90919   }
    90920   case 69:  {
    90921    $2277 = $3;
    90922    $2278 = $4;
    90923    _codegen($2277,$2278,1);
    90924    STACKTOP = sp;return;
    90925    break;
    90926   }
    90927   case 50:  {
    90928    $2279 = $5;
    90929    $2280 = ($2279|0)!=(0);
    90930    if (!($2280)) {
    90931     STACKTOP = sp;return;
    90932    }
    90933    $2281 = $4;
    90934    $2282 = HEAP32[$2281>>2]|0;
    90935    $86 = $2282;
    90936    $2283 = $4;
    90937    $2284 = ((($2283)) + 4|0);
    90938    $2285 = HEAP32[$2284>>2]|0;
    90939    $2286 = HEAP32[$2285>>2]|0;
    90940    $2287 = $2286;
    90941    $87 = $2287;
    90942    $2288 = $3;
    90943    $2289 = $86;
    90944    $2290 = $87;
    90945    $2291 = (_readint_mrb_int($2288,$2289,$2290,0,$90)|0);
    90946    $88 = $2291;
    90947    $2292 = HEAP8[$90>>0]|0;
    90948    $2293 = ($2292<<24>>24)!=(0);
    90949    if ($2293) {
    90950     $2294 = $3;
    90951     $2295 = $86;
    90952     $2296 = $87;
    90953     $2297 = (+_readint_float($2294,$2295,$2296));
    90954     $91 = $2297;
    90955     $2298 = $3;
    90956     $2299 = $3;
    90957     $2300 = HEAP32[$2299>>2]|0;
    90958     $2301 = $91;
    90959     $2302 = $2301;
    90960     _mrb_float_value_1175($93,$2300,$2302);
    90961     ;HEAP32[$$byval_copy18>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$93+4>>2]|0;
    90962     $2303 = (_new_lit($2298,$$byval_copy18)|0);
    90963     $92 = $2303;
    90964     $2304 = $3;
    90965     $2305 = $3;
    90966     $2306 = ((($2305)) + 172|0);
    90967     $2307 = HEAP32[$2306>>2]|0;
    90968     $2308 = $2307 & 511;
    90969     $2309 = $2308 << 23;
    90970     $2310 = 2 | $2309;
    90971     $2311 = $92;
    90972     $2312 = $2311 & 65535;
    90973     $2313 = $2312 << 7;
    90974     $2314 = $2310 | $2313;
    90975     (_genop($2304,$2314)|0);
    90976    } else {
    90977     $2315 = $88;
    90978     $2316 = ($2315|0)<(32767);
    90979     $2317 = $88;
    90980     $2318 = ($2317|0)>(-32767);
    90981     $or$cond7 = $2316 & $2318;
    90982     $2319 = $3;
    90983     if ($or$cond7) {
    90984      $2320 = ((($2319)) + 172|0);
    90985      $2321 = HEAP32[$2320>>2]|0;
    90986      $2322 = $2321 & 511;
    90987      $2323 = $2322 << 23;
    90988      $2324 = 3 | $2323;
    90989      $2325 = $88;
    90990      $2326 = (($2325) + 32767)|0;
    90991      $2327 = $2326 & 65535;
    90992      $2328 = $2327 << 7;
    90993      $2329 = $2324 | $2328;
    90994      $89 = $2329;
    90995     } else {
    90996      $2330 = $88;
    90997      _mrb_fixnum_value_1173($95,$2330);
    90998      ;HEAP32[$$byval_copy19>>2]=HEAP32[$95>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$95+4>>2]|0;
    90999      $2331 = (_new_lit($2319,$$byval_copy19)|0);
    91000      $94 = $2331;
    91001      $2332 = $3;
    91002      $2333 = ((($2332)) + 172|0);
    91003      $2334 = HEAP32[$2333>>2]|0;
    91004      $2335 = $2334 & 511;
    91005      $2336 = $2335 << 23;
    91006      $2337 = 2 | $2336;
    91007      $2338 = $94;
    91008      $2339 = $2338 & 65535;
    91009      $2340 = $2339 << 7;
    91010      $2341 = $2337 | $2340;
    91011      $89 = $2341;
    91012     }
    91013     $2342 = $3;
    91014     $2343 = $89;
    91015     (_genop($2342,$2343)|0);
    91016    }
    91017    $2344 = $3;
    91018    _push_($2344);
    91019    STACKTOP = sp;return;
    91020    break;
    91021   }
    91022   case 51:  {
    91023    $2345 = $5;
    91024    $2346 = ($2345|0)!=(0);
    91025    if (!($2346)) {
    91026     STACKTOP = sp;return;
    91027    }
    91028    $2347 = $4;
    91029    $96 = $2347;
    91030    $2348 = $96;
    91031    $2349 = (+_strtof($2348,0));
    91032    $97 = $2349;
    91033    $2350 = $3;
    91034    $2351 = $3;
    91035    $2352 = HEAP32[$2351>>2]|0;
    91036    $2353 = $97;
    91037    _mrb_float_value_1175($99,$2352,$2353);
    91038    ;HEAP32[$$byval_copy20>>2]=HEAP32[$99>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$99+4>>2]|0;
    91039    $2354 = (_new_lit($2350,$$byval_copy20)|0);
    91040    $98 = $2354;
    91041    $2355 = $3;
    91042    $2356 = $3;
    91043    $2357 = ((($2356)) + 172|0);
    91044    $2358 = HEAP32[$2357>>2]|0;
    91045    $2359 = $2358 & 511;
    91046    $2360 = $2359 << 23;
    91047    $2361 = 2 | $2360;
    91048    $2362 = $98;
    91049    $2363 = $2362 & 65535;
    91050    $2364 = $2363 << 7;
    91051    $2365 = $2361 | $2364;
    91052    (_genop($2355,$2365)|0);
    91053    $2366 = $3;
    91054    _push_($2366);
    91055    STACKTOP = sp;return;
    91056    break;
    91057   }
    91058   case 52:  {
    91059    $2367 = $4;
    91060    $2368 = HEAP32[$2367>>2]|0;
    91061    $2369 = $2368;
    91062    $6 = $2369;
    91063    $2370 = $4;
    91064    $2371 = ((($2370)) + 4|0);
    91065    $2372 = HEAP32[$2371>>2]|0;
    91066    $4 = $2372;
    91067    $2373 = $6;
    91068    switch ($2373|0) {
    91069    case 51:  {
    91070     $2374 = $4;
    91071     $100 = $2374;
    91072     $2375 = $100;
    91073     $2376 = (+_strtof($2375,0));
    91074     $101 = $2376;
    91075     $2377 = $3;
    91076     $2378 = $3;
    91077     $2379 = HEAP32[$2378>>2]|0;
    91078     $2380 = $101;
    91079     $2381 = -$2380;
    91080     _mrb_float_value_1175($103,$2379,$2381);
    91081     ;HEAP32[$$byval_copy21>>2]=HEAP32[$103>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$103+4>>2]|0;
    91082     $2382 = (_new_lit($2377,$$byval_copy21)|0);
    91083     $102 = $2382;
    91084     $2383 = $3;
    91085     $2384 = $3;
    91086     $2385 = ((($2384)) + 172|0);
    91087     $2386 = HEAP32[$2385>>2]|0;
    91088     $2387 = $2386 & 511;
    91089     $2388 = $2387 << 23;
    91090     $2389 = 2 | $2388;
    91091     $2390 = $102;
    91092     $2391 = $2390 & 65535;
    91093     $2392 = $2391 << 7;
    91094     $2393 = $2389 | $2392;
    91095     (_genop($2383,$2393)|0);
    91096     $2394 = $3;
    91097     _push_($2394);
    91098     STACKTOP = sp;return;
    91099     break;
    91100    }
    91101    case 50:  {
    91102     $2395 = $4;
    91103     $2396 = HEAP32[$2395>>2]|0;
    91104     $104 = $2396;
    91105     $2397 = $4;
    91106     $2398 = ((($2397)) + 4|0);
    91107     $2399 = HEAP32[$2398>>2]|0;
    91108     $2400 = HEAP32[$2399>>2]|0;
    91109     $2401 = $2400;
    91110     $105 = $2401;
    91111     $2402 = $3;
    91112     $2403 = $104;
    91113     $2404 = $105;
    91114     $2405 = (_readint_mrb_int($2402,$2403,$2404,1,$108)|0);
    91115     $106 = $2405;
    91116     $2406 = HEAP8[$108>>0]|0;
    91117     $2407 = ($2406<<24>>24)!=(0);
    91118     if ($2407) {
    91119      $2408 = $3;
    91120      $2409 = $104;
    91121      $2410 = $105;
    91122      $2411 = (+_readint_float($2408,$2409,$2410));
    91123      $109 = $2411;
    91124      $2412 = $3;
    91125      $2413 = $3;
    91126      $2414 = HEAP32[$2413>>2]|0;
    91127      $2415 = $109;
    91128      $2416 = -$2415;
    91129      $2417 = $2416;
    91130      _mrb_float_value_1175($111,$2414,$2417);
    91131      ;HEAP32[$$byval_copy22>>2]=HEAP32[$111>>2]|0;HEAP32[$$byval_copy22+4>>2]=HEAP32[$111+4>>2]|0;
    91132      $2418 = (_new_lit($2412,$$byval_copy22)|0);
    91133      $110 = $2418;
    91134      $2419 = $3;
    91135      $2420 = $3;
    91136      $2421 = ((($2420)) + 172|0);
    91137      $2422 = HEAP32[$2421>>2]|0;
    91138      $2423 = $2422 & 511;
    91139      $2424 = $2423 << 23;
    91140      $2425 = 2 | $2424;
    91141      $2426 = $110;
    91142      $2427 = $2426 & 65535;
    91143      $2428 = $2427 << 7;
    91144      $2429 = $2425 | $2428;
    91145      (_genop($2419,$2429)|0);
    91146     } else {
    91147      $2430 = $106;
    91148      $2431 = ($2430|0)<(32767);
    91149      $2432 = $106;
    91150      $2433 = ($2432|0)>(-32767);
    91151      $or$cond9 = $2431 & $2433;
    91152      $2434 = $3;
    91153      if ($or$cond9) {
    91154       $2435 = ((($2434)) + 172|0);
    91155       $2436 = HEAP32[$2435>>2]|0;
    91156       $2437 = $2436 & 511;
    91157       $2438 = $2437 << 23;
    91158       $2439 = 3 | $2438;
    91159       $2440 = $106;
    91160       $2441 = (($2440) + 32767)|0;
    91161       $2442 = $2441 & 65535;
    91162       $2443 = $2442 << 7;
    91163       $2444 = $2439 | $2443;
    91164       $107 = $2444;
    91165      } else {
    91166       $2445 = $106;
    91167       _mrb_fixnum_value_1173($113,$2445);
    91168       ;HEAP32[$$byval_copy23>>2]=HEAP32[$113>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[$113+4>>2]|0;
    91169       $2446 = (_new_lit($2434,$$byval_copy23)|0);
    91170       $112 = $2446;
    91171       $2447 = $3;
    91172       $2448 = ((($2447)) + 172|0);
    91173       $2449 = HEAP32[$2448>>2]|0;
    91174       $2450 = $2449 & 511;
    91175       $2451 = $2450 << 23;
    91176       $2452 = 2 | $2451;
    91177       $2453 = $112;
    91178       $2454 = $2453 & 65535;
    91179       $2455 = $2454 << 7;
    91180       $2456 = $2452 | $2455;
    91181       $107 = $2456;
    91182      }
    91183      $2457 = $3;
    91184      $2458 = $107;
    91185      (_genop($2457,$2458)|0);
    91186     }
    91187     $2459 = $3;
    91188     _push_($2459);
    91189     STACKTOP = sp;return;
    91190     break;
    91191    }
    91192    default: {
    91193     $2460 = $3;
    91194     $2461 = $3;
    91195     $2462 = HEAP32[$2461>>2]|0;
    91196     $2463 = (_mrb_intern_static($2462,69660,1)|0);
    91197     $2464 = (_new_msym($2460,$2463)|0);
    91198     $114 = $2464;
    91199     $2465 = $3;
    91200     $2466 = $3;
    91201     $2467 = ((($2466)) + 172|0);
    91202     $2468 = HEAP32[$2467>>2]|0;
    91203     $2469 = $2468 & 511;
    91204     $2470 = $2469 << 23;
    91205     $2471 = 3 | $2470;
    91206     (_genop($2465,$2471)|0);
    91207     $2472 = $3;
    91208     _push_($2472);
    91209     $2473 = $3;
    91210     $2474 = $4;
    91211     _codegen($2473,$2474,1);
    91212     $2475 = $3;
    91213     $2476 = ((($2475)) + 172|0);
    91214     $2477 = HEAP32[$2476>>2]|0;
    91215     $2478 = (($2477) + -1)|0;
    91216     HEAP32[$2476>>2] = $2478;
    91217     $2479 = $3;
    91218     $2480 = ((($2479)) + 172|0);
    91219     $2481 = HEAP32[$2480>>2]|0;
    91220     $2482 = (($2481) + -1)|0;
    91221     HEAP32[$2480>>2] = $2482;
    91222     $2483 = $3;
    91223     $2484 = $3;
    91224     $2485 = ((($2484)) + 172|0);
    91225     $2486 = HEAP32[$2485>>2]|0;
    91226     $2487 = $2486 & 511;
    91227     $2488 = $2487 << 23;
    91228     $2489 = 46 | $2488;
    91229     $2490 = $114;
    91230     $2491 = $2490 & 511;
    91231     $2492 = $2491 << 14;
    91232     $2493 = $2489 | $2492;
    91233     $2494 = $2493 | 256;
    91234     (_genop($2483,$2494)|0);
    91235     STACKTOP = sp;return;
    91236    }
    91237    }
    91238    break;
    91239   }
    91240   case 55:  {
    91241    $2495 = $5;
    91242    $2496 = ($2495|0)!=(0);
    91243    if (!($2496)) {
    91244     STACKTOP = sp;return;
    91245    }
    91246    $2497 = $4;
    91247    $2498 = HEAP32[$2497>>2]|0;
    91248    $115 = $2498;
    91249    $2499 = $4;
    91250    $2500 = ((($2499)) + 4|0);
    91251    $2501 = HEAP32[$2500>>2]|0;
    91252    $2502 = $2501;
    91253    $116 = $2502;
    91254    $2503 = $3;
    91255    $2504 = HEAP32[$2503>>2]|0;
    91256    $2505 = (_mrb_gc_arena_save($2504)|0);
    91257    $117 = $2505;
    91258    $2506 = $3;
    91259    $2507 = $3;
    91260    $2508 = HEAP32[$2507>>2]|0;
    91261    $2509 = $115;
    91262    $2510 = $116;
    91263    _mrb_str_new($119,$2508,$2509,$2510);
    91264    ;HEAP32[$$byval_copy24>>2]=HEAP32[$119>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$119+4>>2]|0;
    91265    $2511 = (_new_lit($2506,$$byval_copy24)|0);
    91266    $118 = $2511;
    91267    $2512 = $3;
    91268    $2513 = HEAP32[$2512>>2]|0;
    91269    $2514 = $117;
    91270    _mrb_gc_arena_restore($2513,$2514);
    91271    $2515 = $3;
    91272    $2516 = $3;
    91273    $2517 = ((($2516)) + 172|0);
    91274    $2518 = HEAP32[$2517>>2]|0;
    91275    $2519 = $2518 & 511;
    91276    $2520 = $2519 << 23;
    91277    $2521 = 61 | $2520;
    91278    $2522 = $118;
    91279    $2523 = $2522 & 65535;
    91280    $2524 = $2523 << 7;
    91281    $2525 = $2521 | $2524;
    91282    (_genop($2515,$2525)|0);
    91283    $2526 = $3;
    91284    _push_($2526);
    91285    STACKTOP = sp;return;
    91286    break;
    91287   }
    91288   case 99:  {
    91289    $2527 = $4;
    91290    $2528 = ((($2527)) + 16|0);
    91291    $2529 = HEAP32[$2528>>2]|0;
    91292    $4 = $2529;
    91293    break;
    91294   }
    91295   case 56:  {
    91296    break;
    91297   }
    91298   case 101:  {
    91299    $2585 = $3;
    91300    $2586 = $4;
    91301    $2587 = $5;
    91302    _gen_literal_array($2585,$2586,0,$2587);
    91303    STACKTOP = sp;return;
    91304    break;
    91305   }
    91306   case 102:  {
    91307    $2588 = $3;
    91308    $2589 = $4;
    91309    $2590 = $5;
    91310    _gen_literal_array($2588,$2589,1,$2590);
    91311    STACKTOP = sp;return;
    91312    break;
    91313   }
    91314   case 58:  {
    91315    $2591 = $3;
    91316    $2592 = HEAP32[$2591>>2]|0;
    91317    $2593 = (_mrb_gc_arena_save($2592)|0);
    91318    $123 = $2593;
    91319    $2594 = $3;
    91320    $2595 = $3;
    91321    $2596 = HEAP32[$2595>>2]|0;
    91322    $2597 = (_mrb_intern_static($2596,69662,6)|0);
    91323    $2598 = (_new_sym_1167($2594,$2597)|0);
    91324    $124 = $2598;
    91325    $2599 = $5;
    91326    $2600 = ($2599|0)==(0);
    91327    if ($2600) {
    91328     $2601 = $3;
    91329     _push_($2601);
    91330    }
    91331    $2602 = $3;
    91332    $2603 = $3;
    91333    $2604 = ((($2603)) + 172|0);
    91334    $2605 = HEAP32[$2604>>2]|0;
    91335    $2606 = $2605 & 511;
    91336    $2607 = $2606 << 23;
    91337    $2608 = 66 | $2607;
    91338    (_genop($2602,$2608)|0);
    91339    $2609 = $3;
    91340    $2610 = $3;
    91341    $2611 = ((($2610)) + 172|0);
    91342    $2612 = HEAP32[$2611>>2]|0;
    91343    $2613 = $2612 & 511;
    91344    $2614 = $2613 << 23;
    91345    $2615 = 19 | $2614;
    91346    $2616 = $124;
    91347    $2617 = $2616 & 65535;
    91348    $2618 = $2617 << 7;
    91349    $2619 = $2615 | $2618;
    91350    (_genop($2609,$2619)|0);
    91351    $2620 = $3;
    91352    _push_($2620);
    91353    $2621 = $3;
    91354    $2622 = $4;
    91355    $2623 = HEAP32[$2622>>2]|0;
    91356    _codegen($2621,$2623,1);
    91357    $2624 = $4;
    91358    $2625 = ((($2624)) + 4|0);
    91359    $2626 = HEAP32[$2625>>2]|0;
    91360    $122 = $2626;
    91361    while(1) {
    91362     $2627 = $122;
    91363     $2628 = ($2627|0)!=(0|0);
    91364     if (!($2628)) {
    91365      break;
    91366     }
    91367     $2629 = $122;
    91368     $2630 = HEAP32[$2629>>2]|0;
    91369     $2631 = HEAP32[$2630>>2]|0;
    91370     $2632 = $2631;
    91371     $2633 = ($2632|0)==(57);
    91372     if ($2633) {
    91373      $2634 = $122;
    91374      $2635 = HEAP32[$2634>>2]|0;
    91375      HEAP32[$2635>>2] = (55);
    91376     }
    91377     $2636 = $3;
    91378     $2637 = $122;
    91379     $2638 = HEAP32[$2637>>2]|0;
    91380     _codegen($2636,$2638,1);
    91381     $2639 = $3;
    91382     $2640 = ((($2639)) + 172|0);
    91383     $2641 = HEAP32[$2640>>2]|0;
    91384     $2642 = (($2641) + -1)|0;
    91385     HEAP32[$2640>>2] = $2642;
    91386     $2643 = $3;
    91387     $2644 = ((($2643)) + 172|0);
    91388     $2645 = HEAP32[$2644>>2]|0;
    91389     $2646 = (($2645) + -1)|0;
    91390     HEAP32[$2644>>2] = $2646;
    91391     $2647 = $3;
    91392     $2648 = $3;
    91393     $2649 = ((($2648)) + 172|0);
    91394     $2650 = HEAP32[$2649>>2]|0;
    91395     $2651 = $2650 & 511;
    91396     $2652 = $2651 << 23;
    91397     $2653 = 62 | $2652;
    91398     $2654 = $3;
    91399     $2655 = ((($2654)) + 172|0);
    91400     $2656 = HEAP32[$2655>>2]|0;
    91401     $2657 = (($2656) + 1)|0;
    91402     $2658 = $2657 & 511;
    91403     $2659 = $2658 << 14;
    91404     $2660 = $2653 | $2659;
    91405     (_genop_peep($2647,$2660,1)|0);
    91406     $2661 = $3;
    91407     _push_($2661);
    91408     $2662 = $122;
    91409     $2663 = ((($2662)) + 4|0);
    91410     $2664 = HEAP32[$2663>>2]|0;
    91411     $122 = $2664;
    91412    }
    91413    $2665 = $3;
    91414    $2666 = ((($2665)) + 172|0);
    91415    $2667 = HEAP32[$2666>>2]|0;
    91416    $2668 = (($2667) + -1)|0;
    91417    HEAP32[$2666>>2] = $2668;
    91418    $2669 = $3;
    91419    $2670 = ((($2669)) + 172|0);
    91420    $2671 = HEAP32[$2670>>2]|0;
    91421    $2672 = (($2671) + -1)|0;
    91422    HEAP32[$2670>>2] = $2672;
    91423    $2673 = $3;
    91424    $2674 = $3;
    91425    $2675 = HEAP32[$2674>>2]|0;
    91426    $2676 = (_mrb_intern_static($2675,69669,1)|0);
    91427    $2677 = (_new_sym_1167($2673,$2676)|0);
    91428    $124 = $2677;
    91429    $2678 = $3;
    91430    $2679 = $3;
    91431    $2680 = ((($2679)) + 172|0);
    91432    $2681 = HEAP32[$2680>>2]|0;
    91433    $2682 = $2681 & 511;
    91434    $2683 = $2682 << 23;
    91435    $2684 = 32 | $2683;
    91436    $2685 = $124;
    91437    $2686 = $2685 & 511;
    91438    $2687 = $2686 << 14;
    91439    $2688 = $2684 | $2687;
    91440    $2689 = $2688 | 128;
    91441    (_genop($2678,$2689)|0);
    91442    $2690 = $5;
    91443    $2691 = ($2690|0)==(0);
    91444    $2692 = $3;
    91445    if ($2691) {
    91446     $2693 = ((($2692)) + 172|0);
    91447     $2694 = HEAP32[$2693>>2]|0;
    91448     $2695 = (($2694) + -1)|0;
    91449     HEAP32[$2693>>2] = $2695;
    91450    } else {
    91451     _push_($2692);
    91452    }
    91453    $2696 = $3;
    91454    $2697 = HEAP32[$2696>>2]|0;
    91455    $2698 = $123;
    91456    _mrb_gc_arena_restore($2697,$2698);
    91457    STACKTOP = sp;return;
    91458    break;
    91459   }
    91460   case 57:  {
    91461    $2699 = $4;
    91462    $2700 = HEAP32[$2699>>2]|0;
    91463    $125 = $2700;
    91464    $2701 = $4;
    91465    $2702 = ((($2701)) + 4|0);
    91466    $2703 = HEAP32[$2702>>2]|0;
    91467    $2704 = $2703;
    91468    $126 = $2704;
    91469    $2705 = $3;
    91470    $2706 = HEAP32[$2705>>2]|0;
    91471    $2707 = (_mrb_gc_arena_save($2706)|0);
    91472    $127 = $2707;
    91473    $2708 = $3;
    91474    $2709 = $3;
    91475    $2710 = HEAP32[$2709>>2]|0;
    91476    $2711 = (_mrb_intern_static($2710,69662,6)|0);
    91477    $2712 = (_new_sym_1167($2708,$2711)|0);
    91478    $128 = $2712;
    91479    $2713 = $3;
    91480    $2714 = $3;
    91481    $2715 = HEAP32[$2714>>2]|0;
    91482    $2716 = $125;
    91483    $2717 = $126;
    91484    _mrb_str_new($130,$2715,$2716,$2717);
    91485    ;HEAP32[$$byval_copy25>>2]=HEAP32[$130>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[$130+4>>2]|0;
    91486    $2718 = (_new_lit($2713,$$byval_copy25)|0);
    91487    $129 = $2718;
    91488    $2719 = $5;
    91489    $2720 = ($2719|0)==(0);
    91490    if ($2720) {
    91491     $2721 = $3;
    91492     _push_($2721);
    91493    }
    91494    $2722 = $3;
    91495    $2723 = $3;
    91496    $2724 = ((($2723)) + 172|0);
    91497    $2725 = HEAP32[$2724>>2]|0;
    91498    $2726 = $2725 & 511;
    91499    $2727 = $2726 << 23;
    91500    $2728 = 66 | $2727;
    91501    (_genop($2722,$2728)|0);
    91502    $2729 = $3;
    91503    $2730 = $3;
    91504    $2731 = ((($2730)) + 172|0);
    91505    $2732 = HEAP32[$2731>>2]|0;
    91506    $2733 = $2732 & 511;
    91507    $2734 = $2733 << 23;
    91508    $2735 = 19 | $2734;
    91509    $2736 = $128;
    91510    $2737 = $2736 & 65535;
    91511    $2738 = $2737 << 7;
    91512    $2739 = $2735 | $2738;
    91513    (_genop($2729,$2739)|0);
    91514    $2740 = $3;
    91515    _push_($2740);
    91516    $2741 = $3;
    91517    $2742 = $3;
    91518    $2743 = ((($2742)) + 172|0);
    91519    $2744 = HEAP32[$2743>>2]|0;
    91520    $2745 = $2744 & 511;
    91521    $2746 = $2745 << 23;
    91522    $2747 = 61 | $2746;
    91523    $2748 = $129;
    91524    $2749 = $2748 & 65535;
    91525    $2750 = $2749 << 7;
    91526    $2751 = $2747 | $2750;
    91527    (_genop($2741,$2751)|0);
    91528    $2752 = $3;
    91529    $2753 = ((($2752)) + 172|0);
    91530    $2754 = HEAP32[$2753>>2]|0;
    91531    $2755 = (($2754) + -1)|0;
    91532    HEAP32[$2753>>2] = $2755;
    91533    $2756 = $3;
    91534    $2757 = $3;
    91535    $2758 = HEAP32[$2757>>2]|0;
    91536    $2759 = (_mrb_intern_static($2758,69669,1)|0);
    91537    $2760 = (_new_sym_1167($2756,$2759)|0);
    91538    $128 = $2760;
    91539    $2761 = $3;
    91540    $2762 = $3;
    91541    $2763 = ((($2762)) + 172|0);
    91542    $2764 = HEAP32[$2763>>2]|0;
    91543    $2765 = $2764 & 511;
    91544    $2766 = $2765 << 23;
    91545    $2767 = 32 | $2766;
    91546    $2768 = $128;
    91547    $2769 = $2768 & 511;
    91548    $2770 = $2769 << 14;
    91549    $2771 = $2767 | $2770;
    91550    $2772 = $2771 | 128;
    91551    (_genop($2761,$2772)|0);
    91552    $2773 = $5;
    91553    $2774 = ($2773|0)==(0);
    91554    $2775 = $3;
    91555    if ($2774) {
    91556     $2776 = ((($2775)) + 172|0);
    91557     $2777 = HEAP32[$2776>>2]|0;
    91558     $2778 = (($2777) + -1)|0;
    91559     HEAP32[$2776>>2] = $2778;
    91560    } else {
    91561     _push_($2775);
    91562    }
    91563    $2779 = $3;
    91564    $2780 = HEAP32[$2779>>2]|0;
    91565    $2781 = $127;
    91566    _mrb_gc_arena_restore($2780,$2781);
    91567    STACKTOP = sp;return;
    91568    break;
    91569   }
    91570   case 59:  {
    91571    $2782 = $5;
    91572    $2783 = ($2782|0)!=(0);
    91573    if (!($2783)) {
    91574     STACKTOP = sp;return;
    91575    }
    91576    $2784 = $4;
    91577    $2785 = HEAP32[$2784>>2]|0;
    91578    $131 = $2785;
    91579    $2786 = $4;
    91580    $2787 = ((($2786)) + 4|0);
    91581    $2788 = HEAP32[$2787>>2]|0;
    91582    $2789 = HEAP32[$2788>>2]|0;
    91583    $132 = $2789;
    91584    $2790 = $4;
    91585    $2791 = ((($2790)) + 4|0);
    91586    $2792 = HEAP32[$2791>>2]|0;
    91587    $2793 = ((($2792)) + 4|0);
    91588    $2794 = HEAP32[$2793>>2]|0;
    91589    $133 = $2794;
    91590    $2795 = $3;
    91591    $2796 = HEAP32[$2795>>2]|0;
    91592    $2797 = (_mrb_gc_arena_save($2796)|0);
    91593    $134 = $2797;
    91594    $2798 = $3;
    91595    $2799 = $3;
    91596    $2800 = HEAP32[$2799>>2]|0;
    91597    $2801 = (_mrb_intern_static($2800,69671,6)|0);
    91598    $2802 = (_new_sym_1167($2798,$2801)|0);
    91599    $135 = $2802;
    91600    $2803 = $3;
    91601    $2804 = $3;
    91602    $2805 = HEAP32[$2804>>2]|0;
    91603    $2806 = $131;
    91604    _mrb_str_new_cstr($137,$2805,$2806);
    91605    ;HEAP32[$$byval_copy26>>2]=HEAP32[$137>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$137+4>>2]|0;
    91606    $2807 = (_new_lit($2803,$$byval_copy26)|0);
    91607    $136 = $2807;
    91608    $138 = 1;
    91609    $2808 = $3;
    91610    $2809 = $3;
    91611    $2810 = ((($2809)) + 172|0);
    91612    $2811 = HEAP32[$2810>>2]|0;
    91613    $2812 = $2811 & 511;
    91614    $2813 = $2812 << 23;
    91615    $2814 = 66 | $2813;
    91616    (_genop($2808,$2814)|0);
    91617    $2815 = $3;
    91618    $2816 = $3;
    91619    $2817 = ((($2816)) + 172|0);
    91620    $2818 = HEAP32[$2817>>2]|0;
    91621    $2819 = $2818 & 511;
    91622    $2820 = $2819 << 23;
    91623    $2821 = 19 | $2820;
    91624    $2822 = $135;
    91625    $2823 = $2822 & 65535;
    91626    $2824 = $2823 << 7;
    91627    $2825 = $2821 | $2824;
    91628    (_genop($2815,$2825)|0);
    91629    $2826 = $3;
    91630    _push_($2826);
    91631    $2827 = $3;
    91632    $2828 = $3;
    91633    $2829 = ((($2828)) + 172|0);
    91634    $2830 = HEAP32[$2829>>2]|0;
    91635    $2831 = $2830 & 511;
    91636    $2832 = $2831 << 23;
    91637    $2833 = 61 | $2832;
    91638    $2834 = $136;
    91639    $2835 = $2834 & 65535;
    91640    $2836 = $2835 << 7;
    91641    $2837 = $2833 | $2836;
    91642    (_genop($2827,$2837)|0);
    91643    $2838 = $132;
    91644    $2839 = ($2838|0)!=(0|0);
    91645    $2840 = $133;
    91646    $2841 = ($2840|0)!=(0|0);
    91647    $or$cond11 = $2839 | $2841;
    91648    if ($or$cond11) {
    91649     $2842 = $3;
    91650     _push_($2842);
    91651     $2843 = $132;
    91652     $2844 = ($2843|0)!=(0|0);
    91653     $2845 = $3;
    91654     $2846 = $3;
    91655     if ($2844) {
    91656      $2847 = HEAP32[$2846>>2]|0;
    91657      $2848 = $132;
    91658      _mrb_str_new_cstr($139,$2847,$2848);
    91659      ;HEAP32[$$byval_copy27>>2]=HEAP32[$139>>2]|0;HEAP32[$$byval_copy27+4>>2]=HEAP32[$139+4>>2]|0;
    91660      $2849 = (_new_lit($2845,$$byval_copy27)|0);
    91661      $136 = $2849;
    91662      $2850 = $3;
    91663      $2851 = $3;
    91664      $2852 = ((($2851)) + 172|0);
    91665      $2853 = HEAP32[$2852>>2]|0;
    91666      $2854 = $2853 & 511;
    91667      $2855 = $2854 << 23;
    91668      $2856 = 61 | $2855;
    91669      $2857 = $136;
    91670      $2858 = $2857 & 65535;
    91671      $2859 = $2858 << 7;
    91672      $2860 = $2856 | $2859;
    91673      (_genop($2850,$2860)|0);
    91674     } else {
    91675      $2861 = ((($2846)) + 172|0);
    91676      $2862 = HEAP32[$2861>>2]|0;
    91677      $2863 = $2862 & 511;
    91678      $2864 = $2863 << 23;
    91679      $2865 = 5 | $2864;
    91680      (_genop($2845,$2865)|0);
    91681     }
    91682     $2866 = $138;
    91683     $2867 = (($2866) + 1)|0;
    91684     $138 = $2867;
    91685     $2868 = $133;
    91686     $2869 = ($2868|0)!=(0|0);
    91687     if ($2869) {
    91688      $2870 = $3;
    91689      _push_($2870);
    91690      $2871 = $3;
    91691      $2872 = $3;
    91692      $2873 = HEAP32[$2872>>2]|0;
    91693      $2874 = $133;
    91694      _mrb_str_new($140,$2873,$2874,1);
    91695      ;HEAP32[$$byval_copy28>>2]=HEAP32[$140>>2]|0;HEAP32[$$byval_copy28+4>>2]=HEAP32[$140+4>>2]|0;
    91696      $2875 = (_new_lit($2871,$$byval_copy28)|0);
    91697      $136 = $2875;
    91698      $2876 = $3;
    91699      $2877 = $3;
    91700      $2878 = ((($2877)) + 172|0);
    91701      $2879 = HEAP32[$2878>>2]|0;
    91702      $2880 = $2879 & 511;
    91703      $2881 = $2880 << 23;
    91704      $2882 = 61 | $2881;
    91705      $2883 = $136;
    91706      $2884 = $2883 & 65535;
    91707      $2885 = $2884 << 7;
    91708      $2886 = $2882 | $2885;
    91709      (_genop($2876,$2886)|0);
    91710      $2887 = $138;
    91711      $2888 = (($2887) + 1)|0;
    91712      $138 = $2888;
    91713      $2889 = $3;
    91714      $2890 = ((($2889)) + 172|0);
    91715      $2891 = HEAP32[$2890>>2]|0;
    91716      $2892 = (($2891) + -1)|0;
    91717      HEAP32[$2890>>2] = $2892;
    91718     }
    91719     $2893 = $3;
    91720     $2894 = ((($2893)) + 172|0);
    91721     $2895 = HEAP32[$2894>>2]|0;
    91722     $2896 = (($2895) + -1)|0;
    91723     HEAP32[$2894>>2] = $2896;
    91724    }
    91725    $2897 = $3;
    91726    $2898 = ((($2897)) + 172|0);
    91727    $2899 = HEAP32[$2898>>2]|0;
    91728    $2900 = (($2899) + -1)|0;
    91729    HEAP32[$2898>>2] = $2900;
    91730    $2901 = $3;
    91731    $2902 = $3;
    91732    $2903 = HEAP32[$2902>>2]|0;
    91733    $2904 = (_mrb_intern_static($2903,69678,7)|0);
    91734    $2905 = (_new_sym_1167($2901,$2904)|0);
    91735    $135 = $2905;
    91736    $2906 = $3;
    91737    $2907 = $3;
    91738    $2908 = ((($2907)) + 172|0);
    91739    $2909 = HEAP32[$2908>>2]|0;
    91740    $2910 = $2909 & 511;
    91741    $2911 = $2910 << 23;
    91742    $2912 = 32 | $2911;
    91743    $2913 = $135;
    91744    $2914 = $2913 & 511;
    91745    $2915 = $2914 << 14;
    91746    $2916 = $2912 | $2915;
    91747    $2917 = $138;
    91748    $2918 = $2917 & 127;
    91749    $2919 = $2918 << 7;
    91750    $2920 = $2916 | $2919;
    91751    (_genop($2906,$2920)|0);
    91752    $2921 = $3;
    91753    $2922 = HEAP32[$2921>>2]|0;
    91754    $2923 = $134;
    91755    _mrb_gc_arena_restore($2922,$2923);
    91756    $2924 = $3;
    91757    _push_($2924);
    91758    STACKTOP = sp;return;
    91759    break;
    91760   }
    91761   case 60:  {
    91762    $2925 = $5;
    91763    $2926 = ($2925|0)!=(0);
    91764    $2927 = $4;
    91765    $2928 = HEAP32[$2927>>2]|0;
    91766    if (!($2926)) {
    91767     $150 = $2928;
    91768     while(1) {
    91769      $3098 = $150;
    91770      $3099 = ($3098|0)!=(0|0);
    91771      if (!($3099)) {
    91772       break;
    91773      }
    91774      $3100 = $150;
    91775      $3101 = HEAP32[$3100>>2]|0;
    91776      $3102 = HEAP32[$3101>>2]|0;
    91777      $3103 = $3102;
    91778      $3104 = ($3103|0)!=(55);
    91779      if ($3104) {
    91780       $3105 = $3;
    91781       $3106 = $150;
    91782       $3107 = HEAP32[$3106>>2]|0;
    91783       _codegen($3105,$3107,0);
    91784      }
    91785      $3108 = $150;
    91786      $3109 = ((($3108)) + 4|0);
    91787      $3110 = HEAP32[$3109>>2]|0;
    91788      $150 = $3110;
    91789     }
    91790     STACKTOP = sp;return;
    91791    }
    91792    $141 = $2928;
    91793    $2929 = $3;
    91794    $2930 = HEAP32[$2929>>2]|0;
    91795    $2931 = (_mrb_gc_arena_save($2930)|0);
    91796    $142 = $2931;
    91797    $2932 = $3;
    91798    $2933 = $3;
    91799    $2934 = HEAP32[$2933>>2]|0;
    91800    $2935 = (_mrb_intern_static($2934,69671,6)|0);
    91801    $2936 = (_new_sym_1167($2932,$2935)|0);
    91802    $143 = $2936;
    91803    $144 = 1;
    91804    $2937 = $3;
    91805    $2938 = $3;
    91806    $2939 = ((($2938)) + 172|0);
    91807    $2940 = HEAP32[$2939>>2]|0;
    91808    $2941 = $2940 & 511;
    91809    $2942 = $2941 << 23;
    91810    $2943 = 66 | $2942;
    91811    (_genop($2937,$2943)|0);
    91812    $2944 = $3;
    91813    $2945 = $3;
    91814    $2946 = ((($2945)) + 172|0);
    91815    $2947 = HEAP32[$2946>>2]|0;
    91816    $2948 = $2947 & 511;
    91817    $2949 = $2948 << 23;
    91818    $2950 = 19 | $2949;
    91819    $2951 = $143;
    91820    $2952 = $2951 & 65535;
    91821    $2953 = $2952 << 7;
    91822    $2954 = $2950 | $2953;
    91823    (_genop($2944,$2954)|0);
    91824    $2955 = $3;
    91825    _push_($2955);
    91826    $2956 = $3;
    91827    $2957 = $141;
    91828    $2958 = HEAP32[$2957>>2]|0;
    91829    _codegen($2956,$2958,1);
    91830    $2959 = $141;
    91831    $2960 = ((($2959)) + 4|0);
    91832    $2961 = HEAP32[$2960>>2]|0;
    91833    $141 = $2961;
    91834    while(1) {
    91835     $2962 = $141;
    91836     $2963 = ($2962|0)!=(0|0);
    91837     if (!($2963)) {
    91838      break;
    91839     }
    91840     $2964 = $3;
    91841     $2965 = $141;
    91842     $2966 = HEAP32[$2965>>2]|0;
    91843     _codegen($2964,$2966,1);
    91844     $2967 = $3;
    91845     $2968 = ((($2967)) + 172|0);
    91846     $2969 = HEAP32[$2968>>2]|0;
    91847     $2970 = (($2969) + -1)|0;
    91848     HEAP32[$2968>>2] = $2970;
    91849     $2971 = $3;
    91850     $2972 = ((($2971)) + 172|0);
    91851     $2973 = HEAP32[$2972>>2]|0;
    91852     $2974 = (($2973) + -1)|0;
    91853     HEAP32[$2972>>2] = $2974;
    91854     $2975 = $3;
    91855     $2976 = $3;
    91856     $2977 = ((($2976)) + 172|0);
    91857     $2978 = HEAP32[$2977>>2]|0;
    91858     $2979 = $2978 & 511;
    91859     $2980 = $2979 << 23;
    91860     $2981 = 62 | $2980;
    91861     $2982 = $3;
    91862     $2983 = ((($2982)) + 172|0);
    91863     $2984 = HEAP32[$2983>>2]|0;
    91864     $2985 = (($2984) + 1)|0;
    91865     $2986 = $2985 & 511;
    91866     $2987 = $2986 << 14;
    91867     $2988 = $2981 | $2987;
    91868     (_genop_peep($2975,$2988,1)|0);
    91869     $2989 = $3;
    91870     _push_($2989);
    91871     $2990 = $141;
    91872     $2991 = ((($2990)) + 4|0);
    91873     $2992 = HEAP32[$2991>>2]|0;
    91874     $141 = $2992;
    91875    }
    91876    $2993 = $4;
    91877    $2994 = ((($2993)) + 4|0);
    91878    $2995 = HEAP32[$2994>>2]|0;
    91879    $2996 = ((($2995)) + 4|0);
    91880    $2997 = HEAP32[$2996>>2]|0;
    91881    $141 = $2997;
    91882    $2998 = $141;
    91883    $2999 = HEAP32[$2998>>2]|0;
    91884    $3000 = ($2999|0)!=(0|0);
    91885    if ($3000) {
    91886     $3001 = $141;
    91887     $3002 = HEAP32[$3001>>2]|0;
    91888     $146 = $3002;
    91889     $3003 = $3;
    91890     $3004 = $3;
    91891     $3005 = HEAP32[$3004>>2]|0;
    91892     $3006 = $146;
    91893     _mrb_str_new_cstr($147,$3005,$3006);
    91894     ;HEAP32[$$byval_copy29>>2]=HEAP32[$147>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$147+4>>2]|0;
    91895     $3007 = (_new_lit($3003,$$byval_copy29)|0);
    91896     $145 = $3007;
    91897     $3008 = $3;
    91898     $3009 = $4;
    91899     $3010 = HEAP32[$3009>>2]|0;
    91900     _codegen($3008,$3010,1);
    91901     $3011 = $3;
    91902     $3012 = $3;
    91903     $3013 = ((($3012)) + 172|0);
    91904     $3014 = HEAP32[$3013>>2]|0;
    91905     $3015 = $3014 & 511;
    91906     $3016 = $3015 << 23;
    91907     $3017 = 61 | $3016;
    91908     $3018 = $145;
    91909     $3019 = $3018 & 65535;
    91910     $3020 = $3019 << 7;
    91911     $3021 = $3017 | $3020;
    91912     (_genop($3011,$3021)|0);
    91913     $3022 = $3;
    91914     $3023 = ((($3022)) + 172|0);
    91915     $3024 = HEAP32[$3023>>2]|0;
    91916     $3025 = (($3024) + -1)|0;
    91917     HEAP32[$3023>>2] = $3025;
    91918     $3026 = $3;
    91919     $3027 = $3;
    91920     $3028 = ((($3027)) + 172|0);
    91921     $3029 = HEAP32[$3028>>2]|0;
    91922     $3030 = $3029 & 511;
    91923     $3031 = $3030 << 23;
    91924     $3032 = 62 | $3031;
    91925     $3033 = $3;
    91926     $3034 = ((($3033)) + 172|0);
    91927     $3035 = HEAP32[$3034>>2]|0;
    91928     $3036 = (($3035) + 1)|0;
    91929     $3037 = $3036 & 511;
    91930     $3038 = $3037 << 14;
    91931     $3039 = $3032 | $3038;
    91932     (_genop_peep($3026,$3039,1)|0);
    91933    }
    91934    $3040 = $141;
    91935    $3041 = ((($3040)) + 4|0);
    91936    $3042 = HEAP32[$3041>>2]|0;
    91937    $3043 = ($3042|0)!=(0|0);
    91938    if ($3043) {
    91939     $3044 = $141;
    91940     $3045 = ((($3044)) + 4|0);
    91941     $3046 = HEAP32[$3045>>2]|0;
    91942     $148 = $3046;
    91943     $3047 = $3;
    91944     _push_($3047);
    91945     $3048 = $3;
    91946     $3049 = $3;
    91947     $3050 = HEAP32[$3049>>2]|0;
    91948     $3051 = $148;
    91949     _mrb_str_new_cstr($149,$3050,$3051);
    91950     ;HEAP32[$$byval_copy30>>2]=HEAP32[$149>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$149+4>>2]|0;
    91951     $3052 = (_new_lit($3048,$$byval_copy30)|0);
    91952     $145 = $3052;
    91953     $3053 = $3;
    91954     $3054 = $3;
    91955     $3055 = ((($3054)) + 172|0);
    91956     $3056 = HEAP32[$3055>>2]|0;
    91957     $3057 = $3056 & 511;
    91958     $3058 = $3057 << 23;
    91959     $3059 = 61 | $3058;
    91960     $3060 = $145;
    91961     $3061 = $3060 & 65535;
    91962     $3062 = $3061 << 7;
    91963     $3063 = $3059 | $3062;
    91964     (_genop($3053,$3063)|0);
    91965     $3064 = $144;
    91966     $3065 = (($3064) + 1)|0;
    91967     $144 = $3065;
    91968     $3066 = $3;
    91969     $3067 = ((($3066)) + 172|0);
    91970     $3068 = HEAP32[$3067>>2]|0;
    91971     $3069 = (($3068) + -1)|0;
    91972     HEAP32[$3067>>2] = $3069;
    91973    }
    91974    $3070 = $3;
    91975    $3071 = ((($3070)) + 172|0);
    91976    $3072 = HEAP32[$3071>>2]|0;
    91977    $3073 = (($3072) + -1)|0;
    91978    HEAP32[$3071>>2] = $3073;
    91979    $3074 = $3;
    91980    $3075 = $3;
    91981    $3076 = HEAP32[$3075>>2]|0;
    91982    $3077 = (_mrb_intern_static($3076,69678,7)|0);
    91983    $3078 = (_new_sym_1167($3074,$3077)|0);
    91984    $143 = $3078;
    91985    $3079 = $3;
    91986    $3080 = $3;
    91987    $3081 = ((($3080)) + 172|0);
    91988    $3082 = HEAP32[$3081>>2]|0;
    91989    $3083 = $3082 & 511;
    91990    $3084 = $3083 << 23;
    91991    $3085 = 32 | $3084;
    91992    $3086 = $143;
    91993    $3087 = $3086 & 511;
    91994    $3088 = $3087 << 14;
    91995    $3089 = $3085 | $3088;
    91996    $3090 = $144;
    91997    $3091 = $3090 & 127;
    91998    $3092 = $3091 << 7;
    91999    $3093 = $3089 | $3092;
    92000    (_genop($3079,$3093)|0);
    92001    $3094 = $3;
    92002    $3095 = HEAP32[$3094>>2]|0;
    92003    $3096 = $142;
    92004    _mrb_gc_arena_restore($3095,$3096);
    92005    $3097 = $3;
    92006    _push_($3097);
    92007    STACKTOP = sp;return;
    92008    break;
    92009   }
    92010   case 54:  {
    92011    $3111 = $5;
    92012    $3112 = ($3111|0)!=(0);
    92013    if (!($3112)) {
    92014     STACKTOP = sp;return;
    92015    }
    92016    $3113 = $3;
    92017    $3114 = $4;
    92018    $3115 = $3114;
    92019    $3116 = (_new_sym_1167($3113,$3115)|0);
    92020    $151 = $3116;
    92021    $3117 = $3;
    92022    $3118 = $3;
    92023    $3119 = ((($3118)) + 172|0);
    92024    $3120 = HEAP32[$3119>>2]|0;
    92025    $3121 = $3120 & 511;
    92026    $3122 = $3121 << 23;
    92027    $3123 = 4 | $3122;
    92028    $3124 = $151;
    92029    $3125 = $3124 & 65535;
    92030    $3126 = $3125 << 7;
    92031    $3127 = $3123 | $3126;
    92032    (_genop($3117,$3127)|0);
    92033    $3128 = $3;
    92034    _push_($3128);
    92035    STACKTOP = sp;return;
    92036    break;
    92037   }
    92038   case 97:  {
    92039    $3129 = $3;
    92040    $3130 = $4;
    92041    $3131 = $5;
    92042    _codegen($3129,$3130,$3131);
    92043    $3132 = $5;
    92044    $3133 = ($3132|0)!=(0);
    92045    if (!($3133)) {
    92046     STACKTOP = sp;return;
    92047    }
    92048    $3134 = $3;
    92049    _gen_send_intern($3134);
    92050    STACKTOP = sp;return;
    92051    break;
    92052   }
    92053   case 85:  {
    92054    $3135 = $5;
    92055    $3136 = ($3135|0)!=(0);
    92056    if (!($3136)) {
    92057     STACKTOP = sp;return;
    92058    }
    92059    $3137 = $3;
    92060    $3138 = $3;
    92061    $3139 = ((($3138)) + 172|0);
    92062    $3140 = HEAP32[$3139>>2]|0;
    92063    $3141 = $3140 & 511;
    92064    $3142 = $3141 << 23;
    92065    $3143 = 6 | $3142;
    92066    (_genop($3137,$3143)|0);
    92067    $3144 = $3;
    92068    _push_($3144);
    92069    STACKTOP = sp;return;
    92070    break;
    92071   }
    92072   case 86:  {
    92073    $3145 = $5;
    92074    $3146 = ($3145|0)!=(0);
    92075    if (!($3146)) {
    92076     STACKTOP = sp;return;
    92077    }
    92078    $3147 = $3;
    92079    $3148 = $3;
    92080    $3149 = ((($3148)) + 172|0);
    92081    $3150 = HEAP32[$3149>>2]|0;
    92082    $3151 = $3150 & 511;
    92083    $3152 = $3151 << 23;
    92084    $3153 = 5 | $3152;
    92085    (_genop($3147,$3153)|0);
    92086    $3154 = $3;
    92087    _push_($3154);
    92088    STACKTOP = sp;return;
    92089    break;
    92090   }
    92091   case 87:  {
    92092    $3155 = $5;
    92093    $3156 = ($3155|0)!=(0);
    92094    if (!($3156)) {
    92095     STACKTOP = sp;return;
    92096    }
    92097    $3157 = $3;
    92098    $3158 = $3;
    92099    $3159 = ((($3158)) + 172|0);
    92100    $3160 = HEAP32[$3159>>2]|0;
    92101    $3161 = $3160 & 511;
    92102    $3162 = $3161 << 23;
    92103    $3163 = 7 | $3162;
    92104    (_genop($3157,$3163)|0);
    92105    $3164 = $3;
    92106    _push_($3164);
    92107    STACKTOP = sp;return;
    92108    break;
    92109   }
    92110   case 88:  {
    92111    $3165 = $5;
    92112    $3166 = ($3165|0)!=(0);
    92113    if (!($3166)) {
    92114     STACKTOP = sp;return;
    92115    }
    92116    $3167 = $3;
    92117    $3168 = $3;
    92118    $3169 = ((($3168)) + 172|0);
    92119    $3170 = HEAP32[$3169>>2]|0;
    92120    $3171 = $3170 & 511;
    92121    $3172 = $3171 << 23;
    92122    $3173 = 8 | $3172;
    92123    (_genop($3167,$3173)|0);
    92124    $3174 = $3;
    92125    _push_($3174);
    92126    STACKTOP = sp;return;
    92127    break;
    92128   }
    92129   case 72:  {
    92130    $3175 = $3;
    92131    $3176 = $4;
    92132    $3177 = HEAP32[$3176>>2]|0;
    92133    $3178 = $3177;
    92134    $3179 = (_new_msym($3175,$3178)|0);
    92135    $152 = $3179;
    92136    $3180 = $3;
    92137    $3181 = $4;
    92138    $3182 = ((($3181)) + 4|0);
    92139    $3183 = HEAP32[$3182>>2]|0;
    92140    $3184 = $3183;
    92141    $3185 = (_new_msym($3180,$3184)|0);
    92142    $153 = $3185;
    92143    $3186 = $3;
    92144    $3187 = $3;
    92145    $3188 = HEAP32[$3187>>2]|0;
    92146    $3189 = (_mrb_intern_static($3188,69686,12)|0);
    92147    $3190 = (_new_msym($3186,$3189)|0);
    92148    $154 = $3190;
    92149    $3191 = $3;
    92150    $3192 = $3;
    92151    $3193 = ((($3192)) + 172|0);
    92152    $3194 = HEAP32[$3193>>2]|0;
    92153    $3195 = $3194 & 511;
    92154    $3196 = $3195 << 23;
    92155    $3197 = 72 | $3196;
    92156    (_genop($3191,$3197)|0);
    92157    $3198 = $3;
    92158    _push_($3198);
    92159    $3199 = $3;
    92160    $3200 = $3;
    92161    $3201 = ((($3200)) + 172|0);
    92162    $3202 = HEAP32[$3201>>2]|0;
    92163    $3203 = $3202 & 511;
    92164    $3204 = $3203 << 23;
    92165    $3205 = 4 | $3204;
    92166    $3206 = $152;
    92167    $3207 = $3206 & 65535;
    92168    $3208 = $3207 << 7;
    92169    $3209 = $3205 | $3208;
    92170    (_genop($3199,$3209)|0);
    92171    $3210 = $3;
    92172    _push_($3210);
    92173    $3211 = $3;
    92174    $3212 = $3;
    92175    $3213 = ((($3212)) + 172|0);
    92176    $3214 = HEAP32[$3213>>2]|0;
    92177    $3215 = $3214 & 511;
    92178    $3216 = $3215 << 23;
    92179    $3217 = 4 | $3216;
    92180    $3218 = $153;
    92181    $3219 = $3218 & 65535;
    92182    $3220 = $3219 << 7;
    92183    $3221 = $3217 | $3220;
    92184    (_genop($3211,$3221)|0);
    92185    $3222 = $3;
    92186    _push_($3222);
    92187    $3223 = $3;
    92188    $3224 = $3;
    92189    $3225 = ((($3224)) + 172|0);
    92190    $3226 = HEAP32[$3225>>2]|0;
    92191    $3227 = $3226 & 511;
    92192    $3228 = $3227 << 23;
    92193    $3229 = 5 | $3228;
    92194    (_genop($3223,$3229)|0);
    92195    $3230 = $3;
    92196    $3231 = ((($3230)) + 172|0);
    92197    $3232 = HEAP32[$3231>>2]|0;
    92198    $3233 = (($3232) - 3)|0;
    92199    HEAP32[$3231>>2] = $3233;
    92200    $3234 = $3;
    92201    $3235 = $3;
    92202    $3236 = ((($3235)) + 172|0);
    92203    $3237 = HEAP32[$3236>>2]|0;
    92204    $3238 = $3237 & 511;
    92205    $3239 = $3238 << 23;
    92206    $3240 = 32 | $3239;
    92207    $3241 = $154;
    92208    $3242 = $3241 & 511;
    92209    $3243 = $3242 << 14;
    92210    $3244 = $3240 | $3243;
    92211    $3245 = $3244 | 256;
    92212    (_genop($3234,$3245)|0);
    92213    $3246 = $5;
    92214    $3247 = ($3246|0)!=(0);
    92215    if (!($3247)) {
    92216     STACKTOP = sp;return;
    92217    }
    92218    $3248 = $3;
    92219    _push_($3248);
    92220    STACKTOP = sp;return;
    92221    break;
    92222   }
    92223   case 73:  {
    92224    $3249 = $3;
    92225    $3250 = $3;
    92226    $3251 = HEAP32[$3250>>2]|0;
    92227    $3252 = (_mrb_intern_static($3251,69699,12)|0);
    92228    $3253 = (_new_msym($3249,$3252)|0);
    92229    $155 = $3253;
    92230    $156 = 0;
    92231    $3254 = $4;
    92232    $157 = $3254;
    92233    $3255 = $3;
    92234    $3256 = $3;
    92235    $3257 = ((($3256)) + 172|0);
    92236    $3258 = HEAP32[$3257>>2]|0;
    92237    $3259 = $3258 & 511;
    92238    $3260 = $3259 << 23;
    92239    $3261 = 72 | $3260;
    92240    (_genop($3255,$3261)|0);
    92241    $3262 = $3;
    92242    _push_($3262);
    92243    while(1) {
    92244     $3263 = $157;
    92245     $3264 = ($3263|0)!=(0|0);
    92246     if (!($3264)) {
    92247      break;
    92248     }
    92249     $3265 = $3;
    92250     $3266 = $157;
    92251     $3267 = HEAP32[$3266>>2]|0;
    92252     $3268 = $3267;
    92253     $3269 = (_new_msym($3265,$3268)|0);
    92254     $158 = $3269;
    92255     $3270 = $3;
    92256     $3271 = $3;
    92257     $3272 = ((($3271)) + 172|0);
    92258     $3273 = HEAP32[$3272>>2]|0;
    92259     $3274 = $3273 & 511;
    92260     $3275 = $3274 << 23;
    92261     $3276 = 4 | $3275;
    92262     $3277 = $158;
    92263     $3278 = $3277 & 65535;
    92264     $3279 = $3278 << 7;
    92265     $3280 = $3276 | $3279;
    92266     (_genop($3270,$3280)|0);
    92267     $3281 = $3;
    92268     _push_($3281);
    92269     $3282 = $157;
    92270     $3283 = ((($3282)) + 4|0);
    92271     $3284 = HEAP32[$3283>>2]|0;
    92272     $157 = $3284;
    92273     $3285 = $156;
    92274     $3286 = (($3285) + 1)|0;
    92275     $156 = $3286;
    92276    }
    92277    $3287 = $156;
    92278    $3288 = (($3287) + 1)|0;
    92279    $3289 = $3;
    92280    $3290 = ((($3289)) + 172|0);
    92281    $3291 = HEAP32[$3290>>2]|0;
    92282    $3292 = (($3291) - ($3288))|0;
    92283    HEAP32[$3290>>2] = $3292;
    92284    $3293 = $3;
    92285    $3294 = $3;
    92286    $3295 = ((($3294)) + 172|0);
    92287    $3296 = HEAP32[$3295>>2]|0;
    92288    $3297 = $3296 & 511;
    92289    $3298 = $3297 << 23;
    92290    $3299 = 32 | $3298;
    92291    $3300 = $155;
    92292    $3301 = $3300 & 511;
    92293    $3302 = $3301 << 14;
    92294    $3303 = $3299 | $3302;
    92295    $3304 = $156;
    92296    $3305 = $3304 & 127;
    92297    $3306 = $3305 << 7;
    92298    $3307 = $3303 | $3306;
    92299    (_genop($3293,$3307)|0);
    92300    $3308 = $5;
    92301    $3309 = ($3308|0)!=(0);
    92302    if (!($3309)) {
    92303     STACKTOP = sp;return;
    92304    }
    92305    $3310 = $3;
    92306    _push_($3310);
    92307    STACKTOP = sp;return;
    92308    break;
    92309   }
    92310   case 74:  {
    92311    $3311 = $4;
    92312    $3312 = HEAP32[$3311>>2]|0;
    92313    $3313 = HEAP32[$3312>>2]|0;
    92314    $3314 = ($3313|0)==(0|0);
    92315    do {
    92316     if ($3314) {
    92317      $3315 = $3;
    92318      $3316 = $3;
    92319      $3317 = ((($3316)) + 172|0);
    92320      $3318 = HEAP32[$3317>>2]|0;
    92321      $3319 = $3318 & 511;
    92322      $3320 = $3319 << 23;
    92323      $3321 = 5 | $3320;
    92324      (_genop($3315,$3321)|0);
    92325      $3322 = $3;
    92326      _push_($3322);
    92327     } else {
    92328      $3323 = $4;
    92329      $3324 = HEAP32[$3323>>2]|0;
    92330      $3325 = HEAP32[$3324>>2]|0;
    92331      $3326 = ($3325|0)==((1)|0);
    92332      $3327 = $3;
    92333      if ($3326) {
    92334       $3328 = $3;
    92335       $3329 = ((($3328)) + 172|0);
    92336       $3330 = HEAP32[$3329>>2]|0;
    92337       $3331 = $3330 & 511;
    92338       $3332 = $3331 << 23;
    92339       $3333 = 66 | $3332;
    92340       (_genop($3327,$3333)|0);
    92341       $3334 = $3;
    92342       _push_($3334);
    92343       break;
    92344      } else {
    92345       $3335 = $4;
    92346       $3336 = HEAP32[$3335>>2]|0;
    92347       $3337 = HEAP32[$3336>>2]|0;
    92348       _codegen($3327,$3337,1);
    92349       break;
    92350      }
    92351     }
    92352    } while(0);
    92353    $3338 = $4;
    92354    $3339 = ((($3338)) + 4|0);
    92355    $3340 = HEAP32[$3339>>2]|0;
    92356    $3341 = HEAP32[$3340>>2]|0;
    92357    $3342 = ($3341|0)!=(0|0);
    92358    $3343 = $3;
    92359    if ($3342) {
    92360     $3344 = $4;
    92361     $3345 = ((($3344)) + 4|0);
    92362     $3346 = HEAP32[$3345>>2]|0;
    92363     $3347 = HEAP32[$3346>>2]|0;
    92364     _codegen($3343,$3347,1);
    92365    } else {
    92366     $3348 = $3;
    92367     $3349 = ((($3348)) + 172|0);
    92368     $3350 = HEAP32[$3349>>2]|0;
    92369     $3351 = $3350 & 511;
    92370     $3352 = $3351 << 23;
    92371     $3353 = 5 | $3352;
    92372     (_genop($3343,$3353)|0);
    92373     $3354 = $3;
    92374     _push_($3354);
    92375    }
    92376    $3355 = $3;
    92377    $3356 = ((($3355)) + 172|0);
    92378    $3357 = HEAP32[$3356>>2]|0;
    92379    $3358 = (($3357) + -1)|0;
    92380    HEAP32[$3356>>2] = $3358;
    92381    $3359 = $3;
    92382    $3360 = ((($3359)) + 172|0);
    92383    $3361 = HEAP32[$3360>>2]|0;
    92384    $3362 = (($3361) + -1)|0;
    92385    HEAP32[$3360>>2] = $3362;
    92386    $3363 = $3;
    92387    $3364 = $4;
    92388    $3365 = HEAP32[$3364>>2]|0;
    92389    $3366 = ((($3365)) + 4|0);
    92390    $3367 = HEAP32[$3366>>2]|0;
    92391    $3368 = $3367;
    92392    $3369 = (_new_msym($3363,$3368)|0);
    92393    $159 = $3369;
    92394    $3370 = $3;
    92395    $3371 = $3;
    92396    $3372 = ((($3371)) + 172|0);
    92397    $3373 = HEAP32[$3372>>2]|0;
    92398    $3374 = $3373 & 511;
    92399    $3375 = $3374 << 23;
    92400    $3376 = 67 | $3375;
    92401    $3377 = $159;
    92402    $3378 = $3377 & 511;
    92403    $3379 = $3378 << 14;
    92404    $3380 = $3376 | $3379;
    92405    (_genop($3370,$3380)|0);
    92406    $3381 = $3;
    92407    $3382 = $4;
    92408    $3383 = ((($3382)) + 4|0);
    92409    $3384 = HEAP32[$3383>>2]|0;
    92410    $3385 = ((($3384)) + 4|0);
    92411    $3386 = HEAP32[$3385>>2]|0;
    92412    $3387 = HEAP32[$3386>>2]|0;
    92413    $3388 = $5;
    92414    $3389 = (_scope_body($3381,$3387,$3388)|0);
    92415    $159 = $3389;
    92416    $3390 = $3;
    92417    $3391 = $3;
    92418    $3392 = ((($3391)) + 172|0);
    92419    $3393 = HEAP32[$3392>>2]|0;
    92420    $3394 = $3393 & 511;
    92421    $3395 = $3394 << 23;
    92422    $3396 = 69 | $3395;
    92423    $3397 = $159;
    92424    $3398 = $3397 & 65535;
    92425    $3399 = $3398 << 7;
    92426    $3400 = $3396 | $3399;
    92427    (_genop($3390,$3400)|0);
    92428    $3401 = $5;
    92429    $3402 = ($3401|0)!=(0);
    92430    if (!($3402)) {
    92431     STACKTOP = sp;return;
    92432    }
    92433    $3403 = $3;
    92434    _push_($3403);
    92435    STACKTOP = sp;return;
    92436    break;
    92437   }
    92438   case 75:  {
    92439    $3404 = $4;
    92440    $3405 = HEAP32[$3404>>2]|0;
    92441    $3406 = HEAP32[$3405>>2]|0;
    92442    $3407 = ($3406|0)==(0|0);
    92443    do {
    92444     if ($3407) {
    92445      $3408 = $3;
    92446      $3409 = $3;
    92447      $3410 = ((($3409)) + 172|0);
    92448      $3411 = HEAP32[$3410>>2]|0;
    92449      $3412 = $3411 & 511;
    92450      $3413 = $3412 << 23;
    92451      $3414 = 5 | $3413;
    92452      (_genop($3408,$3414)|0);
    92453      $3415 = $3;
    92454      _push_($3415);
    92455     } else {
    92456      $3416 = $4;
    92457      $3417 = HEAP32[$3416>>2]|0;
    92458      $3418 = HEAP32[$3417>>2]|0;
    92459      $3419 = ($3418|0)==((1)|0);
    92460      $3420 = $3;
    92461      if ($3419) {
    92462       $3421 = $3;
    92463       $3422 = ((($3421)) + 172|0);
    92464       $3423 = HEAP32[$3422>>2]|0;
    92465       $3424 = $3423 & 511;
    92466       $3425 = $3424 << 23;
    92467       $3426 = 66 | $3425;
    92468       (_genop($3420,$3426)|0);
    92469       $3427 = $3;
    92470       _push_($3427);
    92471       break;
    92472      } else {
    92473       $3428 = $4;
    92474       $3429 = HEAP32[$3428>>2]|0;
    92475       $3430 = HEAP32[$3429>>2]|0;
    92476       _codegen($3420,$3430,1);
    92477       break;
    92478      }
    92479     }
    92480    } while(0);
    92481    $3431 = $3;
    92482    $3432 = ((($3431)) + 172|0);
    92483    $3433 = HEAP32[$3432>>2]|0;
    92484    $3434 = (($3433) + -1)|0;
    92485    HEAP32[$3432>>2] = $3434;
    92486    $3435 = $3;
    92487    $3436 = $4;
    92488    $3437 = HEAP32[$3436>>2]|0;
    92489    $3438 = ((($3437)) + 4|0);
    92490    $3439 = HEAP32[$3438>>2]|0;
    92491    $3440 = $3439;
    92492    $3441 = (_new_msym($3435,$3440)|0);
    92493    $160 = $3441;
    92494    $3442 = $3;
    92495    $3443 = $3;
    92496    $3444 = ((($3443)) + 172|0);
    92497    $3445 = HEAP32[$3444>>2]|0;
    92498    $3446 = $3445 & 511;
    92499    $3447 = $3446 << 23;
    92500    $3448 = 68 | $3447;
    92501    $3449 = $160;
    92502    $3450 = $3449 & 511;
    92503    $3451 = $3450 << 14;
    92504    $3452 = $3448 | $3451;
    92505    (_genop($3442,$3452)|0);
    92506    $3453 = $3;
    92507    $3454 = $4;
    92508    $3455 = ((($3454)) + 4|0);
    92509    $3456 = HEAP32[$3455>>2]|0;
    92510    $3457 = HEAP32[$3456>>2]|0;
    92511    $3458 = $5;
    92512    $3459 = (_scope_body($3453,$3457,$3458)|0);
    92513    $160 = $3459;
    92514    $3460 = $3;
    92515    $3461 = $3;
    92516    $3462 = ((($3461)) + 172|0);
    92517    $3463 = HEAP32[$3462>>2]|0;
    92518    $3464 = $3463 & 511;
    92519    $3465 = $3464 << 23;
    92520    $3466 = 69 | $3465;
    92521    $3467 = $160;
    92522    $3468 = $3467 & 65535;
    92523    $3469 = $3468 << 7;
    92524    $3470 = $3466 | $3469;
    92525    (_genop($3460,$3470)|0);
    92526    $3471 = $5;
    92527    $3472 = ($3471|0)!=(0);
    92528    if (!($3472)) {
    92529     STACKTOP = sp;return;
    92530    }
    92531    $3473 = $3;
    92532    _push_($3473);
    92533    STACKTOP = sp;return;
    92534    break;
    92535   }
    92536   case 76:  {
    92537    $3474 = $3;
    92538    $3475 = $4;
    92539    $3476 = HEAP32[$3475>>2]|0;
    92540    _codegen($3474,$3476,1);
    92541    $3477 = $3;
    92542    $3478 = ((($3477)) + 172|0);
    92543    $3479 = HEAP32[$3478>>2]|0;
    92544    $3480 = (($3479) + -1)|0;
    92545    HEAP32[$3478>>2] = $3480;
    92546    $3481 = $3;
    92547    $3482 = $3;
    92548    $3483 = ((($3482)) + 172|0);
    92549    $3484 = HEAP32[$3483>>2]|0;
    92550    $3485 = $3484 & 511;
    92551    $3486 = $3485 << 23;
    92552    $3487 = 71 | $3486;
    92553    $3488 = $3;
    92554    $3489 = ((($3488)) + 172|0);
    92555    $3490 = HEAP32[$3489>>2]|0;
    92556    $3491 = $3490 & 511;
    92557    $3492 = $3491 << 14;
    92558    $3493 = $3487 | $3492;
    92559    (_genop($3481,$3493)|0);
    92560    $3494 = $3;
    92561    $3495 = $4;
    92562    $3496 = ((($3495)) + 4|0);
    92563    $3497 = HEAP32[$3496>>2]|0;
    92564    $3498 = HEAP32[$3497>>2]|0;
    92565    $3499 = $5;
    92566    $3500 = (_scope_body($3494,$3498,$3499)|0);
    92567    $161 = $3500;
    92568    $3501 = $3;
    92569    $3502 = $3;
    92570    $3503 = ((($3502)) + 172|0);
    92571    $3504 = HEAP32[$3503>>2]|0;
    92572    $3505 = $3504 & 511;
    92573    $3506 = $3505 << 23;
    92574    $3507 = 69 | $3506;
    92575    $3508 = $161;
    92576    $3509 = $3508 & 65535;
    92577    $3510 = $3509 << 7;
    92578    $3511 = $3507 | $3510;
    92579    (_genop($3501,$3511)|0);
    92580    $3512 = $5;
    92581    $3513 = ($3512|0)!=(0);
    92582    if (!($3513)) {
    92583     STACKTOP = sp;return;
    92584    }
    92585    $3514 = $3;
    92586    _push_($3514);
    92587    STACKTOP = sp;return;
    92588    break;
    92589   }
    92590   case 70:  {
    92591    $3515 = $3;
    92592    $3516 = $4;
    92593    $3517 = HEAP32[$3516>>2]|0;
    92594    $3518 = $3517;
    92595    $3519 = (_new_msym($3515,$3518)|0);
    92596    $162 = $3519;
    92597    $3520 = $3;
    92598    $3521 = $4;
    92599    $3522 = ((($3521)) + 4|0);
    92600    $3523 = HEAP32[$3522>>2]|0;
    92601    $3524 = (_lambda_body($3520,$3523,0)|0);
    92602    $163 = $3524;
    92603    $3525 = $3;
    92604    $3526 = $3;
    92605    $3527 = ((($3526)) + 172|0);
    92606    $3528 = HEAP32[$3527>>2]|0;
    92607    $3529 = $3528 & 511;
    92608    $3530 = $3529 << 23;
    92609    $3531 = 72 | $3530;
    92610    (_genop($3525,$3531)|0);
    92611    $3532 = $3;
    92612    _push_($3532);
    92613    $3533 = $3;
    92614    $3534 = $3;
    92615    $3535 = ((($3534)) + 172|0);
    92616    $3536 = HEAP32[$3535>>2]|0;
    92617    $3537 = $3536 & 511;
    92618    $3538 = $3537 << 23;
    92619    $3539 = 64 | $3538;
    92620    $3540 = $163;
    92621    $3541 = $3540 & 16383;
    92622    $3542 = $3541 << 9;
    92623    $3543 = $3542 | 128;
    92624    $3544 = $3539 | $3543;
    92625    (_genop($3533,$3544)|0);
    92626    $3545 = $3;
    92627    _push_($3545);
    92628    $3546 = $3;
    92629    $3547 = ((($3546)) + 172|0);
    92630    $3548 = HEAP32[$3547>>2]|0;
    92631    $3549 = (($3548) + -1)|0;
    92632    HEAP32[$3547>>2] = $3549;
    92633    $3550 = $3;
    92634    $3551 = ((($3550)) + 172|0);
    92635    $3552 = HEAP32[$3551>>2]|0;
    92636    $3553 = (($3552) + -1)|0;
    92637    HEAP32[$3551>>2] = $3553;
    92638    $3554 = $3;
    92639    $3555 = $3;
    92640    $3556 = ((($3555)) + 172|0);
    92641    $3557 = HEAP32[$3556>>2]|0;
    92642    $3558 = $3557 & 511;
    92643    $3559 = $3558 << 23;
    92644    $3560 = 70 | $3559;
    92645    $3561 = $162;
    92646    $3562 = $3561 & 511;
    92647    $3563 = $3562 << 14;
    92648    $3564 = $3560 | $3563;
    92649    (_genop($3554,$3564)|0);
    92650    $3565 = $5;
    92651    $3566 = ($3565|0)!=(0);
    92652    if (!($3566)) {
    92653     STACKTOP = sp;return;
    92654    }
    92655    $3567 = $3;
    92656    $3568 = $3;
    92657    $3569 = ((($3568)) + 172|0);
    92658    $3570 = HEAP32[$3569>>2]|0;
    92659    $3571 = $3570 & 511;
    92660    $3572 = $3571 << 23;
    92661    $3573 = 4 | $3572;
    92662    $3574 = $162;
    92663    $3575 = $3574 & 65535;
    92664    $3576 = $3575 << 7;
    92665    $3577 = $3573 | $3576;
    92666    (_genop($3567,$3577)|0);
    92667    $3578 = $3;
    92668    _push_($3578);
    92669    STACKTOP = sp;return;
    92670    break;
    92671   }
    92672   case 71:  {
    92673    $3579 = $4;
    92674    $3580 = HEAP32[$3579>>2]|0;
    92675    $164 = $3580;
    92676    $3581 = $3;
    92677    $3582 = $4;
    92678    $3583 = ((($3582)) + 4|0);
    92679    $3584 = HEAP32[$3583>>2]|0;
    92680    $3585 = HEAP32[$3584>>2]|0;
    92681    $3586 = $3585;
    92682    $3587 = (_new_msym($3581,$3586)|0);
    92683    $165 = $3587;
    92684    $3588 = $3;
    92685    $3589 = $4;
    92686    $3590 = ((($3589)) + 4|0);
    92687    $3591 = HEAP32[$3590>>2]|0;
    92688    $3592 = ((($3591)) + 4|0);
    92689    $3593 = HEAP32[$3592>>2]|0;
    92690    $3594 = (_lambda_body($3588,$3593,0)|0);
    92691    $166 = $3594;
    92692    $3595 = $3;
    92693    $3596 = $164;
    92694    _codegen($3595,$3596,1);
    92695    $3597 = $3;
    92696    $3598 = ((($3597)) + 172|0);
    92697    $3599 = HEAP32[$3598>>2]|0;
    92698    $3600 = (($3599) + -1)|0;
    92699    HEAP32[$3598>>2] = $3600;
    92700    $3601 = $3;
    92701    $3602 = $3;
    92702    $3603 = ((($3602)) + 172|0);
    92703    $3604 = HEAP32[$3603>>2]|0;
    92704    $3605 = $3604 & 511;
    92705    $3606 = $3605 << 23;
    92706    $3607 = 71 | $3606;
    92707    $3608 = $3;
    92708    $3609 = ((($3608)) + 172|0);
    92709    $3610 = HEAP32[$3609>>2]|0;
    92710    $3611 = $3610 & 511;
    92711    $3612 = $3611 << 14;
    92712    $3613 = $3607 | $3612;
    92713    (_genop($3601,$3613)|0);
    92714    $3614 = $3;
    92715    _push_($3614);
    92716    $3615 = $3;
    92717    $3616 = $3;
    92718    $3617 = ((($3616)) + 172|0);
    92719    $3618 = HEAP32[$3617>>2]|0;
    92720    $3619 = $3618 & 511;
    92721    $3620 = $3619 << 23;
    92722    $3621 = 64 | $3620;
    92723    $3622 = $166;
    92724    $3623 = $3622 & 16383;
    92725    $3624 = $3623 << 9;
    92726    $3625 = $3624 | 128;
    92727    $3626 = $3621 | $3625;
    92728    (_genop($3615,$3626)|0);
    92729    $3627 = $3;
    92730    $3628 = ((($3627)) + 172|0);
    92731    $3629 = HEAP32[$3628>>2]|0;
    92732    $3630 = (($3629) + -1)|0;
    92733    HEAP32[$3628>>2] = $3630;
    92734    $3631 = $3;
    92735    $3632 = $3;
    92736    $3633 = ((($3632)) + 172|0);
    92737    $3634 = HEAP32[$3633>>2]|0;
    92738    $3635 = $3634 & 511;
    92739    $3636 = $3635 << 23;
    92740    $3637 = 70 | $3636;
    92741    $3638 = $165;
    92742    $3639 = $3638 & 511;
    92743    $3640 = $3639 << 14;
    92744    $3641 = $3637 | $3640;
    92745    (_genop($3631,$3641)|0);
    92746    $3642 = $5;
    92747    $3643 = ($3642|0)!=(0);
    92748    if (!($3643)) {
    92749     STACKTOP = sp;return;
    92750    }
    92751    $3644 = $3;
    92752    $3645 = $3;
    92753    $3646 = ((($3645)) + 172|0);
    92754    $3647 = HEAP32[$3646>>2]|0;
    92755    $3648 = $3647 & 511;
    92756    $3649 = $3648 << 23;
    92757    $3650 = 4 | $3649;
    92758    $3651 = $165;
    92759    $3652 = $3651 & 65535;
    92760    $3653 = $3652 << 7;
    92761    $3654 = $3650 | $3653;
    92762    (_genop($3644,$3654)|0);
    92763    $3655 = $3;
    92764    _push_($3655);
    92765    STACKTOP = sp;return;
    92766    break;
    92767   }
    92768   default: {
    92769    STACKTOP = sp;return;
    92770   }
    92771   }
    92772  } while(0);
    92773  $2530 = $5;
    92774  $2531 = ($2530|0)!=(0);
    92775  $2532 = $4;
    92776  if ($2531) {
    92777   $120 = $2532;
    92778   $2533 = $120;
    92779   $2534 = ($2533|0)!=(0|0);
    92780   if (!($2534)) {
    92781    STACKTOP = sp;return;
    92782   }
    92783   $2535 = $3;
    92784   $2536 = $120;
    92785   $2537 = HEAP32[$2536>>2]|0;
    92786   _codegen($2535,$2537,1);
    92787   $2538 = $120;
    92788   $2539 = ((($2538)) + 4|0);
    92789   $2540 = HEAP32[$2539>>2]|0;
    92790   $120 = $2540;
    92791   while(1) {
    92792    $2541 = $120;
    92793    $2542 = ($2541|0)!=(0|0);
    92794    if (!($2542)) {
    92795     break;
    92796    }
    92797    $2543 = $3;
    92798    $2544 = $120;
    92799    $2545 = HEAP32[$2544>>2]|0;
    92800    _codegen($2543,$2545,1);
    92801    $2546 = $3;
    92802    $2547 = ((($2546)) + 172|0);
    92803    $2548 = HEAP32[$2547>>2]|0;
    92804    $2549 = (($2548) + -1)|0;
    92805    HEAP32[$2547>>2] = $2549;
    92806    $2550 = $3;
    92807    $2551 = ((($2550)) + 172|0);
    92808    $2552 = HEAP32[$2551>>2]|0;
    92809    $2553 = (($2552) + -1)|0;
    92810    HEAP32[$2551>>2] = $2553;
    92811    $2554 = $3;
    92812    $2555 = $3;
    92813    $2556 = ((($2555)) + 172|0);
    92814    $2557 = HEAP32[$2556>>2]|0;
    92815    $2558 = $2557 & 511;
    92816    $2559 = $2558 << 23;
    92817    $2560 = 62 | $2559;
    92818    $2561 = $3;
    92819    $2562 = ((($2561)) + 172|0);
    92820    $2563 = HEAP32[$2562>>2]|0;
    92821    $2564 = (($2563) + 1)|0;
    92822    $2565 = $2564 & 511;
    92823    $2566 = $2565 << 14;
    92824    $2567 = $2560 | $2566;
    92825    (_genop_peep($2554,$2567,1)|0);
    92826    $2568 = $3;
    92827    _push_($2568);
    92828    $2569 = $120;
    92829    $2570 = ((($2569)) + 4|0);
    92830    $2571 = HEAP32[$2570>>2]|0;
    92831    $120 = $2571;
    92832   }
    92833   STACKTOP = sp;return;
    92834  } else {
    92835   $121 = $2532;
    92836   while(1) {
    92837    $2572 = $121;
    92838    $2573 = ($2572|0)!=(0|0);
    92839    if (!($2573)) {
    92840     break;
    92841    }
    92842    $2574 = $121;
    92843    $2575 = HEAP32[$2574>>2]|0;
    92844    $2576 = HEAP32[$2575>>2]|0;
    92845    $2577 = $2576;
    92846    $2578 = ($2577|0)!=(55);
    92847    if ($2578) {
    92848     $2579 = $3;
    92849     $2580 = $121;
    92850     $2581 = HEAP32[$2580>>2]|0;
    92851     _codegen($2579,$2581,0);
    92852    }
    92853    $2582 = $121;
    92854    $2583 = ((($2582)) + 4|0);
    92855    $2584 = HEAP32[$2583>>2]|0;
    92856    $121 = $2584;
    92857   }
    92858   STACKTOP = sp;return;
    92859  }
    92860 }
    92861 function _genop($0,$1) {
    92862  $0 = $0|0;
    92863  $1 = $1|0;
    92864  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    92865  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    92866  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    92867  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    92868  sp = STACKTOP;
    92869  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    92870  $2 = $0;
    92871  $3 = $1;
    92872  $4 = $2;
    92873  $5 = ((($4)) + 176|0);
    92874  $6 = HEAP32[$5>>2]|0;
    92875  $7 = $2;
    92876  $8 = ((($7)) + 212|0);
    92877  $9 = HEAP32[$8>>2]|0;
    92878  $10 = ($6|0)==($9|0);
    92879  if ($10) {
    92880   $11 = $2;
    92881   $12 = ((($11)) + 212|0);
    92882   $13 = HEAP32[$12>>2]|0;
    92883   $14 = $13<<1;
    92884   HEAP32[$12>>2] = $14;
    92885   $15 = $2;
    92886   $16 = $2;
    92887   $17 = ((($16)) + 204|0);
    92888   $18 = HEAP32[$17>>2]|0;
    92889   $19 = $2;
    92890   $20 = ((($19)) + 212|0);
    92891   $21 = HEAP32[$20>>2]|0;
    92892   $22 = $21<<2;
    92893   $23 = (_codegen_realloc($15,$18,$22)|0);
    92894   $24 = $2;
    92895   $25 = ((($24)) + 204|0);
    92896   HEAP32[$25>>2] = $23;
    92897   $26 = $2;
    92898   $27 = ((($26)) + 208|0);
    92899   $28 = HEAP32[$27>>2]|0;
    92900   $29 = ($28|0)!=(0|0);
    92901   if ($29) {
    92902    $30 = $2;
    92903    $31 = $2;
    92904    $32 = ((($31)) + 208|0);
    92905    $33 = HEAP32[$32>>2]|0;
    92906    $34 = $2;
    92907    $35 = ((($34)) + 212|0);
    92908    $36 = HEAP32[$35>>2]|0;
    92909    $37 = $36<<1;
    92910    $38 = (_codegen_realloc($30,$33,$37)|0);
    92911    $39 = $2;
    92912    $40 = ((($39)) + 208|0);
    92913    HEAP32[$40>>2] = $38;
    92914    $41 = $2;
    92915    $42 = ((($41)) + 208|0);
    92916    $43 = HEAP32[$42>>2]|0;
    92917    $44 = $2;
    92918    $45 = ((($44)) + 216|0);
    92919    $46 = HEAP32[$45>>2]|0;
    92920    $47 = ((($46)) + 32|0);
    92921    HEAP32[$47>>2] = $43;
    92922   }
    92923  }
    92924  $48 = $3;
    92925  $49 = $2;
    92926  $50 = ((($49)) + 204|0);
    92927  $51 = HEAP32[$50>>2]|0;
    92928  $52 = $2;
    92929  $53 = ((($52)) + 176|0);
    92930  $54 = HEAP32[$53>>2]|0;
    92931  $55 = (($51) + ($54<<2)|0);
    92932  HEAP32[$55>>2] = $48;
    92933  $56 = $2;
    92934  $57 = ((($56)) + 208|0);
    92935  $58 = HEAP32[$57>>2]|0;
    92936  $59 = ($58|0)!=(0|0);
    92937  if (!($59)) {
    92938   $70 = $2;
    92939   $71 = ((($70)) + 176|0);
    92940   $72 = HEAP32[$71>>2]|0;
    92941   $73 = (($72) + 1)|0;
    92942   HEAP32[$71>>2] = $73;
    92943   STACKTOP = sp;return ($72|0);
    92944  }
    92945  $60 = $2;
    92946  $61 = ((($60)) + 200|0);
    92947  $62 = HEAP16[$61>>1]|0;
    92948  $63 = $2;
    92949  $64 = ((($63)) + 208|0);
    92950  $65 = HEAP32[$64>>2]|0;
    92951  $66 = $2;
    92952  $67 = ((($66)) + 176|0);
    92953  $68 = HEAP32[$67>>2]|0;
    92954  $69 = (($65) + ($68<<1)|0);
    92955  HEAP16[$69>>1] = $62;
    92956  $70 = $2;
    92957  $71 = ((($70)) + 176|0);
    92958  $72 = HEAP32[$71>>2]|0;
    92959  $73 = (($72) + 1)|0;
    92960  HEAP32[$71>>2] = $73;
    92961  STACKTOP = sp;return ($72|0);
    92962 }
    92963 function _push_($0) {
    92964  $0 = $0|0;
    92965  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
    92966  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    92967  sp = STACKTOP;
    92968  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    92969  $1 = $0;
    92970  $2 = $1;
    92971  $3 = ((($2)) + 172|0);
    92972  $4 = HEAP32[$3>>2]|0;
    92973  $5 = ($4|0)>(511);
    92974  if ($5) {
    92975   $6 = $1;
    92976   _codegen_error($6,69816);
    92977  }
    92978  $7 = $1;
    92979  $8 = ((($7)) + 172|0);
    92980  $9 = HEAP32[$8>>2]|0;
    92981  $10 = (($9) + 1)|0;
    92982  HEAP32[$8>>2] = $10;
    92983  $11 = $1;
    92984  $12 = ((($11)) + 172|0);
    92985  $13 = HEAP32[$12>>2]|0;
    92986  $14 = $1;
    92987  $15 = ((($14)) + 234|0);
    92988  $16 = HEAP16[$15>>1]|0;
    92989  $17 = $16&65535;
    92990  $18 = ($13|0)>($17|0);
    92991  if (!($18)) {
    92992   STACKTOP = sp;return;
    92993  }
    92994  $19 = $1;
    92995  $20 = ((($19)) + 172|0);
    92996  $21 = HEAP32[$20>>2]|0;
    92997  $22 = $21&65535;
    92998  $23 = $1;
    92999  $24 = ((($23)) + 234|0);
    93000  HEAP16[$24>>1] = $22;
    93001  STACKTOP = sp;return;
    93002 }
    93003 function _loop_push($0,$1) {
    93004  $0 = $0|0;
    93005  $1 = $1|0;
    93006  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    93007  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    93008  sp = STACKTOP;
    93009  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    93010  $2 = $0;
    93011  $3 = $1;
    93012  $5 = $2;
    93013  $6 = (_codegen_palloc($5,28)|0);
    93014  $4 = $6;
    93015  $7 = $3;
    93016  $8 = $4;
    93017  HEAP32[$8>>2] = $7;
    93018  $9 = $4;
    93019  $10 = ((($9)) + 12|0);
    93020  HEAP32[$10>>2] = 0;
    93021  $11 = $4;
    93022  $12 = ((($11)) + 8|0);
    93023  HEAP32[$12>>2] = 0;
    93024  $13 = $4;
    93025  $14 = ((($13)) + 4|0);
    93026  HEAP32[$14>>2] = 0;
    93027  $15 = $2;
    93028  $16 = ((($15)) + 188|0);
    93029  $17 = HEAP32[$16>>2]|0;
    93030  $18 = $4;
    93031  $19 = ((($18)) + 24|0);
    93032  HEAP32[$19>>2] = $17;
    93033  $20 = $2;
    93034  $21 = ((($20)) + 192|0);
    93035  $22 = HEAP32[$21>>2]|0;
    93036  $23 = $4;
    93037  $24 = ((($23)) + 20|0);
    93038  HEAP32[$24>>2] = $22;
    93039  $25 = $2;
    93040  $26 = ((($25)) + 172|0);
    93041  $27 = HEAP32[$26>>2]|0;
    93042  $28 = $4;
    93043  $29 = ((($28)) + 16|0);
    93044  HEAP32[$29>>2] = $27;
    93045  $30 = $4;
    93046  $31 = $2;
    93047  $32 = ((($31)) + 188|0);
    93048  HEAP32[$32>>2] = $30;
    93049  $33 = $4;
    93050  STACKTOP = sp;return ($33|0);
    93051 }
    93052 function _dispatch($0,$1) {
    93053  $0 = $0|0;
    93054  $1 = $1|0;
    93055  var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    93056  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    93057  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, $vararg_buffer = 0, label = 0, sp = 0;
    93058  sp = STACKTOP;
    93059  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    93060  $vararg_buffer = sp;
    93061  $2 = $0;
    93062  $3 = $1;
    93063  $7 = $2;
    93064  $8 = ((($7)) + 176|0);
    93065  $9 = HEAP32[$8>>2]|0;
    93066  $10 = $3;
    93067  $11 = (($9) - ($10))|0;
    93068  $4 = $11;
    93069  $12 = $2;
    93070  $13 = ((($12)) + 204|0);
    93071  $14 = HEAP32[$13>>2]|0;
    93072  $15 = $3;
    93073  $16 = (($14) + ($15<<2)|0);
    93074  $17 = HEAP32[$16>>2]|0;
    93075  $5 = $17;
    93076  $18 = $5;
    93077  $19 = $18 & 127;
    93078  $6 = $19;
    93079  $20 = $2;
    93080  $21 = ((($20)) + 176|0);
    93081  $22 = HEAP32[$21>>2]|0;
    93082  $23 = $2;
    93083  $24 = ((($23)) + 180|0);
    93084  HEAP32[$24>>2] = $22;
    93085  $25 = $6;
    93086  $$off = (($25) + -23)|0;
    93087  $switch = ($$off>>>0)<(4);
    93088  if (!($switch)) {
    93089   $26 = HEAP32[637]|0;
    93090   (_fprintf($26,69938,$vararg_buffer)|0);
    93091   $27 = $2;
    93092   _scope_error($27);
    93093  }
    93094  $28 = $6;
    93095  $29 = $28 & 127;
    93096  $30 = $5;
    93097  $31 = $30 >>> 23;
    93098  $32 = $31 & 511;
    93099  $33 = $32 & 511;
    93100  $34 = $33 << 23;
    93101  $35 = $29 | $34;
    93102  $36 = $4;
    93103  $37 = (($36) + 32767)|0;
    93104  $38 = $37 & 65535;
    93105  $39 = $38 << 7;
    93106  $40 = $35 | $39;
    93107  $41 = $2;
    93108  $42 = ((($41)) + 204|0);
    93109  $43 = HEAP32[$42>>2]|0;
    93110  $44 = $3;
    93111  $45 = (($43) + ($44<<2)|0);
    93112  HEAP32[$45>>2] = $40;
    93113  STACKTOP = sp;return;
    93114 }
    93115 function _new_msym($0,$1) {
    93116  $0 = $0|0;
    93117  $1 = $1|0;
    93118  var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    93119  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
    93120  var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
    93121  var $64 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    93122  sp = STACKTOP;
    93123  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    93124  $3 = $0;
    93125  $4 = $1;
    93126  $7 = $3;
    93127  $8 = ((($7)) + 216|0);
    93128  $9 = HEAP32[$8>>2]|0;
    93129  $10 = ((($9)) + 48|0);
    93130  $11 = HEAP32[$10>>2]|0;
    93131  $6 = $11;
    93132  $12 = $6;
    93133  $13 = ($12>>>0)>(256);
    93134  $$ = $13 ? 256 : $11;
    93135  $6 = $$;
    93136  $5 = 0;
    93137  while(1) {
    93138   $14 = $5;
    93139   $15 = $6;
    93140   $16 = ($14>>>0)<($15>>>0);
    93141   if (!($16)) {
    93142    break;
    93143   }
    93144   $17 = $3;
    93145   $18 = ((($17)) + 216|0);
    93146   $19 = HEAP32[$18>>2]|0;
    93147   $20 = ((($19)) + 16|0);
    93148   $21 = HEAP32[$20>>2]|0;
    93149   $22 = $5;
    93150   $23 = (($21) + ($22<<2)|0);
    93151   $24 = HEAP32[$23>>2]|0;
    93152   $25 = $4;
    93153   $26 = ($24|0)==($25|0);
    93154   if ($26) {
    93155    label = 4;
    93156    break;
    93157   }
    93158   $28 = $3;
    93159   $29 = ((($28)) + 216|0);
    93160   $30 = HEAP32[$29>>2]|0;
    93161   $31 = ((($30)) + 16|0);
    93162   $32 = HEAP32[$31>>2]|0;
    93163   $33 = $5;
    93164   $34 = (($32) + ($33<<2)|0);
    93165   $35 = HEAP32[$34>>2]|0;
    93166   $36 = ($35|0)==(0);
    93167   if ($36) {
    93168    break;
    93169   }
    93170   $37 = $5;
    93171   $38 = (($37) + 1)|0;
    93172   $5 = $38;
    93173  }
    93174  if ((label|0) == 4) {
    93175   $27 = $5;
    93176   $2 = $27;
    93177   $64 = $2;
    93178   STACKTOP = sp;return ($64|0);
    93179  }
    93180  $39 = $5;
    93181  $40 = ($39|0)==(256);
    93182  if ($40) {
    93183   $41 = $3;
    93184   _codegen_error($41,69911);
    93185  }
    93186  $42 = $4;
    93187  $43 = $3;
    93188  $44 = ((($43)) + 216|0);
    93189  $45 = HEAP32[$44>>2]|0;
    93190  $46 = ((($45)) + 16|0);
    93191  $47 = HEAP32[$46>>2]|0;
    93192  $48 = $5;
    93193  $49 = (($47) + ($48<<2)|0);
    93194  HEAP32[$49>>2] = $42;
    93195  $50 = $5;
    93196  $51 = $3;
    93197  $52 = ((($51)) + 216|0);
    93198  $53 = HEAP32[$52>>2]|0;
    93199  $54 = ((($53)) + 48|0);
    93200  $55 = HEAP32[$54>>2]|0;
    93201  $56 = ($50|0)==($55|0);
    93202  if ($56) {
    93203   $57 = $3;
    93204   $58 = ((($57)) + 216|0);
    93205   $59 = HEAP32[$58>>2]|0;
    93206   $60 = ((($59)) + 48|0);
    93207   $61 = HEAP32[$60>>2]|0;
    93208   $62 = (($61) + 1)|0;
    93209   HEAP32[$60>>2] = $62;
    93210  }
    93211  $63 = $5;
    93212  $2 = $63;
    93213  $64 = $2;
    93214  STACKTOP = sp;return ($64|0);
    93215 }
    93216 function _dispatch_linked($0,$1) {
    93217  $0 = $0|0;
    93218  $1 = $1|0;
    93219  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    93220  var $9 = 0, label = 0, sp = 0;
    93221  sp = STACKTOP;
    93222  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    93223  $2 = $0;
    93224  $3 = $1;
    93225  $6 = $3;
    93226  $7 = ($6|0)!=(0);
    93227  if (!($7)) {
    93228   STACKTOP = sp;return;
    93229  }
    93230  while(1) {
    93231   $8 = $2;
    93232   $9 = ((($8)) + 204|0);
    93233   $10 = HEAP32[$9>>2]|0;
    93234   $11 = $3;
    93235   $12 = (($10) + ($11<<2)|0);
    93236   $13 = HEAP32[$12>>2]|0;
    93237   $4 = $13;
    93238   $14 = $4;
    93239   $15 = $14 >>> 7;
    93240   $16 = $15 & 65535;
    93241   $17 = (($16) - 32767)|0;
    93242   $5 = $17;
    93243   $18 = $2;
    93244   $19 = $3;
    93245   _dispatch($18,$19);
    93246   $20 = $5;
    93247   $21 = ($20|0)!=(0);
    93248   if (!($21)) {
    93249    break;
    93250   }
    93251   $22 = $5;
    93252   $3 = $22;
    93253  }
    93254  STACKTOP = sp;return;
    93255 }
    93256 function _gen_assignment($0,$1,$2,$3) {
    93257  $0 = $0|0;
    93258  $1 = $1|0;
    93259  $2 = $2|0;
    93260  $3 = $3|0;
    93261  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    93262  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    93263  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    93264  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    93265  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    93266  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0;
    93267  var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    93268  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
    93269  var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
    93270  var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    93271  sp = STACKTOP;
    93272  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    93273  $vararg_buffer = sp;
    93274  $4 = $0;
    93275  $5 = $1;
    93276  $6 = $2;
    93277  $7 = $3;
    93278  $12 = $5;
    93279  $13 = HEAP32[$12>>2]|0;
    93280  $14 = $13;
    93281  $9 = $14;
    93282  $15 = $5;
    93283  $16 = ((($15)) + 4|0);
    93284  $17 = HEAP32[$16>>2]|0;
    93285  $5 = $17;
    93286  $18 = $9;
    93287  L1: do {
    93288   switch ($18|0) {
    93289   case 41:  {
    93290    $19 = $4;
    93291    $20 = $5;
    93292    $21 = $20;
    93293    $22 = (_new_sym_1167($19,$21)|0);
    93294    $8 = $22;
    93295    $23 = $4;
    93296    $24 = $6;
    93297    $25 = $24 & 511;
    93298    $26 = $25 << 23;
    93299    $27 = 10 | $26;
    93300    $28 = $8;
    93301    $29 = $28 & 65535;
    93302    $30 = $29 << 7;
    93303    $31 = $27 | $30;
    93304    $32 = $7;
    93305    (_genop_peep($23,$31,$32)|0);
    93306    break;
    93307   }
    93308   case 39:  {
    93309    $33 = $4;
    93310    $34 = $5;
    93311    $35 = $34;
    93312    $36 = (_lv_idx($33,$35)|0);
    93313    $8 = $36;
    93314    $37 = $8;
    93315    $38 = ($37|0)>(0);
    93316    if ($38) {
    93317     $39 = $8;
    93318     $40 = $6;
    93319     $41 = ($39|0)!=($40|0);
    93320     if (!($41)) {
    93321      break L1;
    93322     }
    93323     $42 = $4;
    93324     $43 = $8;
    93325     $44 = $43 & 511;
    93326     $45 = $44 << 23;
    93327     $46 = 1 | $45;
    93328     $47 = $6;
    93329     $48 = $47 & 511;
    93330     $49 = $48 << 14;
    93331     $50 = $46 | $49;
    93332     $51 = $7;
    93333     (_genop_peep($42,$50,$51)|0);
    93334     break L1;
    93335    }
    93336    $10 = 0;
    93337    $52 = $4;
    93338    $53 = ((($52)) + 164|0);
    93339    $54 = HEAP32[$53>>2]|0;
    93340    $11 = $54;
    93341    while(1) {
    93342     $55 = $11;
    93343     $56 = ($55|0)!=(0|0);
    93344     if (!($56)) {
    93345      break L1;
    93346     }
    93347     $57 = $11;
    93348     $58 = $5;
    93349     $59 = $58;
    93350     $60 = (_lv_idx($57,$59)|0);
    93351     $8 = $60;
    93352     $61 = $8;
    93353     $62 = ($61|0)>(0);
    93354     if ($62) {
    93355      break;
    93356     }
    93357     $77 = $10;
    93358     $78 = (($77) + 1)|0;
    93359     $10 = $78;
    93360     $79 = $11;
    93361     $80 = ((($79)) + 164|0);
    93362     $81 = HEAP32[$80>>2]|0;
    93363     $11 = $81;
    93364    }
    93365    $63 = $4;
    93366    $64 = $6;
    93367    $65 = $64 & 511;
    93368    $66 = $65 << 23;
    93369    $67 = 22 | $66;
    93370    $68 = $8;
    93371    $69 = $68 & 511;
    93372    $70 = $69 << 14;
    93373    $71 = $67 | $70;
    93374    $72 = $10;
    93375    $73 = $72 & 127;
    93376    $74 = $73 << 7;
    93377    $75 = $71 | $74;
    93378    $76 = $7;
    93379    (_genop_peep($63,$75,$76)|0);
    93380    break;
    93381   }
    93382   case 42:  {
    93383    $82 = $4;
    93384    $83 = $5;
    93385    $84 = $83;
    93386    $85 = (_new_sym_1167($82,$84)|0);
    93387    $8 = $85;
    93388    $86 = $4;
    93389    $87 = $6;
    93390    $88 = $87 & 511;
    93391    $89 = $88 << 23;
    93392    $90 = 14 | $89;
    93393    $91 = $8;
    93394    $92 = $91 & 65535;
    93395    $93 = $92 << 7;
    93396    $94 = $90 | $93;
    93397    $95 = $7;
    93398    (_genop_peep($86,$94,$95)|0);
    93399    break;
    93400   }
    93401   case 44:  {
    93402    $96 = $4;
    93403    $97 = $5;
    93404    $98 = $97;
    93405    $99 = (_new_sym_1167($96,$98)|0);
    93406    $8 = $99;
    93407    $100 = $4;
    93408    $101 = $6;
    93409    $102 = $101 & 511;
    93410    $103 = $102 << 23;
    93411    $104 = 16 | $103;
    93412    $105 = $8;
    93413    $106 = $105 & 65535;
    93414    $107 = $106 << 7;
    93415    $108 = $104 | $107;
    93416    $109 = $7;
    93417    (_genop_peep($100,$108,$109)|0);
    93418    break;
    93419   }
    93420   case 43:  {
    93421    $110 = $4;
    93422    $111 = $5;
    93423    $112 = $111;
    93424    $113 = (_new_sym_1167($110,$112)|0);
    93425    $8 = $113;
    93426    $114 = $4;
    93427    $115 = $6;
    93428    $116 = $115 & 511;
    93429    $117 = $116 << 23;
    93430    $118 = 18 | $117;
    93431    $119 = $8;
    93432    $120 = $119 & 65535;
    93433    $121 = $120 << 7;
    93434    $122 = $118 | $121;
    93435    $123 = $7;
    93436    (_genop_peep($114,$122,$123)|0);
    93437    break;
    93438   }
    93439   case 77:  {
    93440    $124 = $4;
    93441    $125 = $5;
    93442    $126 = ((($125)) + 4|0);
    93443    $127 = HEAP32[$126>>2]|0;
    93444    $128 = $127;
    93445    $129 = (_new_sym_1167($124,$128)|0);
    93446    $8 = $129;
    93447    $130 = $4;
    93448    $131 = $4;
    93449    $132 = ((($131)) + 172|0);
    93450    $133 = HEAP32[$132>>2]|0;
    93451    $134 = $133 & 511;
    93452    $135 = $134 << 23;
    93453    $136 = 1 | $135;
    93454    $137 = $6;
    93455    $138 = $137 & 511;
    93456    $139 = $138 << 14;
    93457    $140 = $136 | $139;
    93458    (_genop_peep($130,$140,0)|0);
    93459    $141 = $4;
    93460    _push_($141);
    93461    $142 = $4;
    93462    $143 = $5;
    93463    $144 = HEAP32[$143>>2]|0;
    93464    _codegen($142,$144,1);
    93465    $145 = $4;
    93466    $146 = ((($145)) + 172|0);
    93467    $147 = HEAP32[$146>>2]|0;
    93468    $148 = (($147) - 2)|0;
    93469    HEAP32[$146>>2] = $148;
    93470    $149 = $4;
    93471    $150 = $4;
    93472    $151 = ((($150)) + 172|0);
    93473    $152 = HEAP32[$151>>2]|0;
    93474    $153 = $152 & 511;
    93475    $154 = $153 << 23;
    93476    $155 = 20 | $154;
    93477    $156 = $8;
    93478    $157 = $156 & 65535;
    93479    $158 = $157 << 7;
    93480    $159 = $155 | $158;
    93481    $160 = $7;
    93482    (_genop_peep($149,$159,$160)|0);
    93483    break;
    93484   }
    93485   case 29:  {
    93486    $161 = $4;
    93487    _push_($161);
    93488    $162 = $4;
    93489    $163 = $5;
    93490    $164 = $4;
    93491    $165 = $5;
    93492    $166 = ((($165)) + 4|0);
    93493    $167 = HEAP32[$166>>2]|0;
    93494    $168 = HEAP32[$167>>2]|0;
    93495    $169 = $168;
    93496    $170 = (_attrsym($164,$169)|0);
    93497    $171 = $6;
    93498    _gen_call($162,$163,$170,$171,0);
    93499    $172 = $4;
    93500    $173 = ((($172)) + 172|0);
    93501    $174 = HEAP32[$173>>2]|0;
    93502    $175 = (($174) + -1)|0;
    93503    HEAP32[$173>>2] = $175;
    93504    $176 = $7;
    93505    $177 = ($176|0)!=(0);
    93506    if ($177) {
    93507     $178 = $4;
    93508     $179 = $4;
    93509     $180 = ((($179)) + 172|0);
    93510     $181 = HEAP32[$180>>2]|0;
    93511     $182 = $181 & 511;
    93512     $183 = $182 << 23;
    93513     $184 = 1 | $183;
    93514     $185 = $6;
    93515     $186 = $185 & 511;
    93516     $187 = $186 << 14;
    93517     $188 = $184 | $187;
    93518     $189 = $7;
    93519     (_genop_peep($178,$188,$189)|0);
    93520    }
    93521    break;
    93522   }
    93523   case 23:  {
    93524    $190 = $4;
    93525    $191 = $5;
    93526    $192 = HEAP32[$191>>2]|0;
    93527    $193 = $6;
    93528    $194 = $7;
    93529    _gen_vmassignment($190,$192,$193,$194);
    93530    break;
    93531   }
    93532   case 86:  {
    93533    break;
    93534   }
    93535   default: {
    93536    $195 = $9;
    93537    HEAP32[$vararg_buffer>>2] = $195;
    93538    (_printf(69872,$vararg_buffer)|0);
    93539   }
    93540   }
    93541  } while(0);
    93542  $196 = $7;
    93543  $197 = ($196|0)!=(0);
    93544  if (!($197)) {
    93545   STACKTOP = sp;return;
    93546  }
    93547  $198 = $4;
    93548  _push_($198);
    93549  STACKTOP = sp;return;
    93550 }
    93551 function _loop_pop($0,$1) {
    93552  $0 = $0|0;
    93553  $1 = $1|0;
    93554  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    93555  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    93556  sp = STACKTOP;
    93557  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    93558  $2 = $0;
    93559  $3 = $1;
    93560  $4 = $3;
    93561  $5 = ($4|0)!=(0);
    93562  if ($5) {
    93563   $6 = $2;
    93564   $7 = $2;
    93565   $8 = ((($7)) + 172|0);
    93566   $9 = HEAP32[$8>>2]|0;
    93567   $10 = $9 & 511;
    93568   $11 = $10 << 23;
    93569   $12 = 5 | $11;
    93570   (_genop($6,$12)|0);
    93571  }
    93572  $13 = $2;
    93573  $14 = $2;
    93574  $15 = ((($14)) + 188|0);
    93575  $16 = HEAP32[$15>>2]|0;
    93576  $17 = ((($16)) + 12|0);
    93577  $18 = HEAP32[$17>>2]|0;
    93578  _dispatch_linked($13,$18);
    93579  $19 = $2;
    93580  $20 = ((($19)) + 188|0);
    93581  $21 = HEAP32[$20>>2]|0;
    93582  $22 = ((($21)) + 24|0);
    93583  $23 = HEAP32[$22>>2]|0;
    93584  $24 = $2;
    93585  $25 = ((($24)) + 188|0);
    93586  HEAP32[$25>>2] = $23;
    93587  $26 = $3;
    93588  $27 = ($26|0)!=(0);
    93589  if (!($27)) {
    93590   STACKTOP = sp;return;
    93591  }
    93592  $28 = $2;
    93593  _push_($28);
    93594  STACKTOP = sp;return;
    93595 }
    93596 function _scope_body($0,$1,$2) {
    93597  $0 = $0|0;
    93598  $1 = $1|0;
    93599  $2 = $2|0;
    93600  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    93601  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    93602  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    93603  sp = STACKTOP;
    93604  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    93605  $4 = $0;
    93606  $5 = $1;
    93607  $6 = $2;
    93608  $8 = $4;
    93609  $9 = HEAP32[$8>>2]|0;
    93610  $10 = $4;
    93611  $11 = $5;
    93612  $12 = HEAP32[$11>>2]|0;
    93613  $13 = (_scope_new($9,$10,$12)|0);
    93614  $7 = $13;
    93615  $14 = $7;
    93616  $15 = ($14|0)==(0|0);
    93617  if ($15) {
    93618   $16 = $4;
    93619   _raise_error($16,69839);
    93620  }
    93621  $17 = $7;
    93622  $18 = $5;
    93623  $19 = ((($18)) + 4|0);
    93624  $20 = HEAP32[$19>>2]|0;
    93625  _codegen($17,$20,1);
    93626  $21 = $4;
    93627  $22 = ((($21)) + 204|0);
    93628  $23 = HEAP32[$22>>2]|0;
    93629  $24 = ($23|0)!=(0|0);
    93630  do {
    93631   if ($24) {
    93632    $26 = $6;
    93633    $27 = ($26|0)!=(0);
    93634    $28 = $7;
    93635    if (!($27)) {
    93636     (_genop($28,41)|0);
    93637     break;
    93638    }
    93639    $29 = ((($28)) + 234|0);
    93640    $30 = HEAP16[$29>>1]|0;
    93641    $31 = $30&65535;
    93642    $32 = ($31|0)==(0);
    93643    $33 = $7;
    93644    if ($32) {
    93645     (_genop($33,5)|0);
    93646     $34 = $7;
    93647     (_genop($34,41)|0);
    93648     break;
    93649    } else {
    93650     $35 = $7;
    93651     $36 = ((($35)) + 172|0);
    93652     $37 = HEAP32[$36>>2]|0;
    93653     $38 = (($37) - 1)|0;
    93654     $39 = $38 & 511;
    93655     $40 = $39 << 23;
    93656     $41 = 41 | $40;
    93657     (_genop_peep($33,$41,0)|0);
    93658     break;
    93659    }
    93660   } else {
    93661    $25 = $7;
    93662    (_genop($25,74)|0);
    93663   }
    93664  } while(0);
    93665  $42 = $7;
    93666  _scope_finish($42);
    93667  $43 = $4;
    93668  $44 = ((($43)) + 216|0);
    93669  $45 = HEAP32[$44>>2]|0;
    93670  $46 = ($45|0)!=(0|0);
    93671  if ($46) {
    93672   $47 = $4;
    93673   $48 = ((($47)) + 216|0);
    93674   $49 = HEAP32[$48>>2]|0;
    93675   $50 = ((($49)) + 52|0);
    93676   $51 = HEAP32[$50>>2]|0;
    93677   $52 = (($51) - 1)|0;
    93678   $3 = $52;
    93679   $53 = $3;
    93680   STACKTOP = sp;return ($53|0);
    93681  } else {
    93682   $3 = 0;
    93683   $53 = $3;
    93684   STACKTOP = sp;return ($53|0);
    93685  }
    93686  return (0)|0;
    93687 }
    93688 function _genop_peep($0,$1,$2) {
    93689  $0 = $0|0;
    93690  $1 = $1|0;
    93691  $2 = $2|0;
    93692  var $$sink = 0, $$sink3 = 0, $$sink7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
    93693  var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
    93694  var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
    93695  var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
    93696  var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
    93697  var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
    93698  var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
    93699  var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
    93700  var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
    93701  var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
    93702  var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
    93703  var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
    93704  var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
    93705  var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
    93706  var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
    93707  var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
    93708  var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
    93709  var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
    93710  var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0;
    93711  var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0;
    93712  var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0;
    93713  var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0;
    93714  var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0;
    93715  var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0;
    93716  var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0;
    93717  var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0;
    93718  var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0;
    93719  var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
    93720  var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
    93721  var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond9 = 0, label = 0, sp = 0;
    93722  sp = STACKTOP;
    93723  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    93724  $11 = sp;
    93725  $4 = $0;
    93726  $5 = $1;
    93727  $6 = $2;
    93728  $12 = $4;
    93729  $13 = (_no_optimize($12)|0);
    93730  $14 = ($13<<24>>24)!=(0);
    93731  L1: do {
    93732   if (!($14)) {
    93733    $15 = $4;
    93734    $16 = ((($15)) + 180|0);
    93735    $17 = HEAP32[$16>>2]|0;
    93736    $18 = $4;
    93737    $19 = ((($18)) + 176|0);
    93738    $20 = HEAP32[$19>>2]|0;
    93739    $21 = ($17|0)!=($20|0);
    93740    if ($21) {
    93741     $22 = $4;
    93742     $23 = ((($22)) + 176|0);
    93743     $24 = HEAP32[$23>>2]|0;
    93744     $25 = ($24|0)>(0);
    93745     if ($25) {
    93746      $26 = $4;
    93747      $27 = ((($26)) + 204|0);
    93748      $28 = HEAP32[$27>>2]|0;
    93749      $29 = $4;
    93750      $30 = ((($29)) + 176|0);
    93751      $31 = HEAP32[$30>>2]|0;
    93752      $32 = (($31) - 1)|0;
    93753      $33 = (($28) + ($32<<2)|0);
    93754      $34 = HEAP32[$33>>2]|0;
    93755      $7 = $34;
    93756      $35 = $5;
    93757      $36 = $35 & 127;
    93758      $8 = $36;
    93759      $37 = $7;
    93760      $38 = $37 & 127;
    93761      $9 = $38;
    93762      $39 = $8;
    93763      switch ($39|0) {
    93764      case 1:  {
    93765       $40 = $5;
    93766       $41 = $40 >>> 23;
    93767       $42 = $41 & 511;
    93768       $43 = $5;
    93769       $44 = $43 >>> 14;
    93770       $45 = $44 & 511;
    93771       $46 = ($42|0)==($45|0);
    93772       if ($46) {
    93773        $3 = 0;
    93774        $588 = $3;
    93775        STACKTOP = sp;return ($588|0);
    93776       }
    93777       $47 = $6;
    93778       $48 = ($47|0)!=(0);
    93779       if ($48) {
    93780        break L1;
    93781       }
    93782       $49 = $9;
    93783       switch ($49|0) {
    93784       case 1:  {
    93785        $50 = $5;
    93786        $51 = $50 >>> 23;
    93787        $52 = $51 & 511;
    93788        $53 = $7;
    93789        $54 = $53 >>> 23;
    93790        $55 = $54 & 511;
    93791        $56 = ($52|0)==($55|0);
    93792        if ($56) {
    93793         $57 = $4;
    93794         $58 = ((($57)) + 176|0);
    93795         $59 = HEAP32[$58>>2]|0;
    93796         $60 = (($59) + -1)|0;
    93797         HEAP32[$58>>2] = $60;
    93798         $61 = $5;
    93799         $62 = $4;
    93800         $63 = ((($62)) + 204|0);
    93801         $64 = HEAP32[$63>>2]|0;
    93802         $65 = $4;
    93803         $66 = ((($65)) + 176|0);
    93804         $67 = HEAP32[$66>>2]|0;
    93805         $68 = (($64) + ($67<<2)|0);
    93806         HEAP32[$68>>2] = $61;
    93807        }
    93808        $69 = $5;
    93809        $70 = $69 >>> 14;
    93810        $71 = $70 & 511;
    93811        $72 = $7;
    93812        $73 = $72 >>> 23;
    93813        $74 = $73 & 511;
    93814        $75 = ($71|0)==($74|0);
    93815        if ($75) {
    93816         $76 = $5;
    93817         $77 = $76 >>> 23;
    93818         $78 = $77 & 511;
    93819         $79 = $7;
    93820         $80 = $79 >>> 14;
    93821         $81 = $80 & 511;
    93822         $82 = ($78|0)==($81|0);
    93823         if ($82) {
    93824          $3 = 0;
    93825          $588 = $3;
    93826          STACKTOP = sp;return ($588|0);
    93827         }
    93828        }
    93829        $83 = $5;
    93830        $84 = $83 >>> 14;
    93831        $85 = $84 & 511;
    93832        $86 = $7;
    93833        $87 = $86 >>> 23;
    93834        $88 = $87 & 511;
    93835        $89 = ($85|0)==($88|0);
    93836        if (!($89)) {
    93837         break L1;
    93838        }
    93839        $90 = $7;
    93840        $91 = $90 >>> 23;
    93841        $92 = $91 & 511;
    93842        $93 = $4;
    93843        $94 = ((($93)) + 232|0);
    93844        $95 = HEAP16[$94>>1]|0;
    93845        $96 = $95&65535;
    93846        $97 = ($92|0)>=($96|0);
    93847        if (!($97)) {
    93848         break L1;
    93849        }
    93850        $98 = $4;
    93851        $99 = ((($98)) + 176|0);
    93852        $100 = HEAP32[$99>>2]|0;
    93853        $101 = (($100) + -1)|0;
    93854        HEAP32[$99>>2] = $101;
    93855        $102 = $4;
    93856        $103 = $5;
    93857        $104 = $103 >>> 23;
    93858        $105 = $104 & 511;
    93859        $106 = $105 & 511;
    93860        $107 = $106 << 23;
    93861        $108 = 1 | $107;
    93862        $109 = $7;
    93863        $110 = $109 >>> 14;
    93864        $111 = $110 & 511;
    93865        $112 = $111 & 511;
    93866        $113 = $112 << 14;
    93867        $114 = $108 | $113;
    93868        $115 = $6;
    93869        $116 = (_genop_peep($102,$114,$115)|0);
    93870        $3 = $116;
    93871        $588 = $3;
    93872        STACKTOP = sp;return ($588|0);
    93873        break;
    93874       }
    93875       case 3:  {
    93876        $117 = $5;
    93877        $118 = $117 >>> 14;
    93878        $119 = $118 & 511;
    93879        $120 = $7;
    93880        $121 = $120 >>> 23;
    93881        $122 = $121 & 511;
    93882        $123 = ($119|0)==($122|0);
    93883        if (!($123)) {
    93884         break L1;
    93885        }
    93886        $124 = $7;
    93887        $125 = $124 >>> 23;
    93888        $126 = $125 & 511;
    93889        $127 = $4;
    93890        $128 = ((($127)) + 232|0);
    93891        $129 = HEAP16[$128>>1]|0;
    93892        $130 = $129&65535;
    93893        $131 = ($126|0)>=($130|0);
    93894        if (!($131)) {
    93895         break L1;
    93896        }
    93897        $132 = $5;
    93898        $133 = $132 >>> 23;
    93899        $134 = $133 & 511;
    93900        $135 = $134 & 511;
    93901        $136 = $135 << 23;
    93902        $137 = 3 | $136;
    93903        $138 = $7;
    93904        $139 = $138 >>> 7;
    93905        $140 = $139 & 65535;
    93906        $141 = (($140) - 32767)|0;
    93907        $142 = (($141) + 32767)|0;
    93908        $143 = $142 & 65535;
    93909        $144 = $143 << 7;
    93910        $145 = $137 | $144;
    93911        $146 = $4;
    93912        $147 = ((($146)) + 204|0);
    93913        $148 = HEAP32[$147>>2]|0;
    93914        $149 = $4;
    93915        $150 = ((($149)) + 176|0);
    93916        $151 = HEAP32[$150>>2]|0;
    93917        $152 = (($151) - 1)|0;
    93918        $153 = (($148) + ($152<<2)|0);
    93919        HEAP32[$153>>2] = $145;
    93920        $3 = 0;
    93921        $588 = $3;
    93922        STACKTOP = sp;return ($588|0);
    93923        break;
    93924       }
    93925       case 21: case 58: case 65: case 63: case 55:  {
    93926        $154 = $5;
    93927        $155 = $154 >>> 14;
    93928        $156 = $155 & 511;
    93929        $157 = $7;
    93930        $158 = $157 >>> 23;
    93931        $159 = $158 & 511;
    93932        $160 = ($156|0)==($159|0);
    93933        if (!($160)) {
    93934         break L1;
    93935        }
    93936        $161 = $7;
    93937        $162 = $161 >>> 23;
    93938        $163 = $162 & 511;
    93939        $164 = $4;
    93940        $165 = ((($164)) + 232|0);
    93941        $166 = HEAP16[$165>>1]|0;
    93942        $167 = $166&65535;
    93943        $168 = ($163|0)>=($167|0);
    93944        if (!($168)) {
    93945         break L1;
    93946        }
    93947        $169 = $9;
    93948        $170 = $169 & 127;
    93949        $171 = $5;
    93950        $172 = $171 >>> 23;
    93951        $173 = $172 & 511;
    93952        $174 = $173 & 511;
    93953        $175 = $174 << 23;
    93954        $176 = $170 | $175;
    93955        $177 = $7;
    93956        $178 = $177 >>> 14;
    93957        $179 = $178 & 511;
    93958        $180 = $179 & 511;
    93959        $181 = $180 << 14;
    93960        $182 = $176 | $181;
    93961        $183 = $7;
    93962        $184 = $183 >>> 7;
    93963        $185 = $184 & 127;
    93964        $186 = $185 & 127;
    93965        $187 = $186 << 7;
    93966        $188 = $182 | $187;
    93967        $189 = $4;
    93968        $190 = ((($189)) + 204|0);
    93969        $191 = HEAP32[$190>>2]|0;
    93970        $192 = $4;
    93971        $193 = ((($192)) + 176|0);
    93972        $194 = HEAP32[$193>>2]|0;
    93973        $195 = (($194) - 1)|0;
    93974        $196 = (($191) + ($195<<2)|0);
    93975        HEAP32[$196>>2] = $188;
    93976        $3 = 0;
    93977        $588 = $3;
    93978        STACKTOP = sp;return ($588|0);
    93979        break;
    93980       }
    93981       case 61: case 2: case 11: case 17: case 15: case 13: case 9: case 4:  {
    93982        $197 = $5;
    93983        $198 = $197 >>> 14;
    93984        $199 = $198 & 511;
    93985        $200 = $7;
    93986        $201 = $200 >>> 23;
    93987        $202 = $201 & 511;
    93988        $203 = ($199|0)==($202|0);
    93989        if (!($203)) {
    93990         break L1;
    93991        }
    93992        $204 = $7;
    93993        $205 = $204 >>> 23;
    93994        $206 = $205 & 511;
    93995        $207 = $4;
    93996        $208 = ((($207)) + 232|0);
    93997        $209 = HEAP16[$208>>1]|0;
    93998        $210 = $209&65535;
    93999        $211 = ($206|0)>=($210|0);
    94000        if (!($211)) {
    94001         break L1;
    94002        }
    94003        $212 = $9;
    94004        $213 = $212 & 127;
    94005        $214 = $5;
    94006        $215 = $214 >>> 23;
    94007        $216 = $215 & 511;
    94008        $217 = $216 & 511;
    94009        $218 = $217 << 23;
    94010        $219 = $213 | $218;
    94011        $220 = $7;
    94012        $221 = $220 >>> 7;
    94013        $222 = $221 & 65535;
    94014        $223 = $222 & 65535;
    94015        $224 = $223 << 7;
    94016        $225 = $219 | $224;
    94017        $226 = $4;
    94018        $227 = ((($226)) + 204|0);
    94019        $228 = HEAP32[$227>>2]|0;
    94020        $229 = $4;
    94021        $230 = ((($229)) + 176|0);
    94022        $231 = HEAP32[$230>>2]|0;
    94023        $232 = (($231) - 1)|0;
    94024        $233 = (($228) + ($232<<2)|0);
    94025        HEAP32[$233>>2] = $225;
    94026        $3 = 0;
    94027        $588 = $3;
    94028        STACKTOP = sp;return ($588|0);
    94029        break;
    94030       }
    94031       case 71:  {
    94032        $234 = $5;
    94033        $235 = $234 >>> 14;
    94034        $236 = $235 & 511;
    94035        $237 = $7;
    94036        $238 = $237 >>> 23;
    94037        $239 = $238 & 511;
    94038        $240 = ($236|0)==($239|0);
    94039        if (!($240)) {
    94040         break L1;
    94041        }
    94042        $241 = $7;
    94043        $242 = $241 >>> 23;
    94044        $243 = $242 & 511;
    94045        $244 = $4;
    94046        $245 = ((($244)) + 232|0);
    94047        $246 = HEAP16[$245>>1]|0;
    94048        $247 = $246&65535;
    94049        $248 = ($243|0)>=($247|0);
    94050        if (!($248)) {
    94051         break L1;
    94052        }
    94053        $249 = $9;
    94054        $250 = $249 & 127;
    94055        $251 = $5;
    94056        $252 = $251 >>> 23;
    94057        $253 = $252 & 511;
    94058        $254 = $253 & 511;
    94059        $255 = $254 << 23;
    94060        $256 = $250 | $255;
    94061        $257 = $7;
    94062        $258 = $257 >>> 14;
    94063        $259 = $258 & 511;
    94064        $260 = $259 & 511;
    94065        $261 = $260 << 14;
    94066        $262 = $256 | $261;
    94067        $263 = $4;
    94068        $264 = ((($263)) + 204|0);
    94069        $265 = HEAP32[$264>>2]|0;
    94070        $266 = $4;
    94071        $267 = ((($266)) + 176|0);
    94072        $268 = HEAP32[$267>>2]|0;
    94073        $269 = (($268) - 1)|0;
    94074        $270 = (($265) + ($269<<2)|0);
    94075        HEAP32[$270>>2] = $262;
    94076        $3 = 0;
    94077        $588 = $3;
    94078        STACKTOP = sp;return ($588|0);
    94079        break;
    94080       }
    94081       case 66: case 8: case 7: case 6: case 5:  {
    94082        $271 = $5;
    94083        $272 = $271 >>> 14;
    94084        $273 = $272 & 511;
    94085        $274 = $7;
    94086        $275 = $274 >>> 23;
    94087        $276 = $275 & 511;
    94088        $277 = ($273|0)==($276|0);
    94089        if (!($277)) {
    94090         break L1;
    94091        }
    94092        $278 = $7;
    94093        $279 = $278 >>> 23;
    94094        $280 = $279 & 511;
    94095        $281 = $4;
    94096        $282 = ((($281)) + 232|0);
    94097        $283 = HEAP16[$282>>1]|0;
    94098        $284 = $283&65535;
    94099        $285 = ($280|0)>=($284|0);
    94100        if (!($285)) {
    94101         break L1;
    94102        }
    94103        $286 = $9;
    94104        $287 = $286 & 127;
    94105        $288 = $5;
    94106        $289 = $288 >>> 23;
    94107        $290 = $289 & 511;
    94108        $291 = $290 & 511;
    94109        $292 = $291 << 23;
    94110        $293 = $287 | $292;
    94111        $294 = $4;
    94112        $295 = ((($294)) + 204|0);
    94113        $296 = HEAP32[$295>>2]|0;
    94114        $297 = $4;
    94115        $298 = ((($297)) + 176|0);
    94116        $299 = HEAP32[$298>>2]|0;
    94117        $300 = (($299) - 1)|0;
    94118        $301 = (($296) + ($300<<2)|0);
    94119        HEAP32[$301>>2] = $293;
    94120        $3 = 0;
    94121        $588 = $3;
    94122        STACKTOP = sp;return ($588|0);
    94123        break;
    94124       }
    94125       default: {
    94126        break L1;
    94127       }
    94128       }
    94129       break;
    94130      }
    94131      case 10: case 20: case 18: case 16: case 14:  {
    94132       $302 = $6;
    94133       $303 = ($302|0)==(0);
    94134       $304 = $9;
    94135       $305 = ($304|0)==(1);
    94136       $or$cond9 = $303 & $305;
    94137       if (!($or$cond9)) {
    94138        break L1;
    94139       }
    94140       $306 = $5;
    94141       $307 = $306 >>> 23;
    94142       $308 = $307 & 511;
    94143       $309 = $7;
    94144       $310 = $309 >>> 23;
    94145       $311 = $310 & 511;
    94146       $312 = ($308|0)==($311|0);
    94147       if (!($312)) {
    94148        break L1;
    94149       }
    94150       $313 = $8;
    94151       $314 = $313 & 127;
    94152       $315 = $7;
    94153       $316 = $315 >>> 14;
    94154       $317 = $316 & 511;
    94155       $318 = $317 & 511;
    94156       $319 = $318 << 23;
    94157       $320 = $314 | $319;
    94158       $321 = $5;
    94159       $322 = $321 >>> 7;
    94160       $323 = $322 & 65535;
    94161       $324 = $323 & 65535;
    94162       $325 = $324 << 7;
    94163       $326 = $320 | $325;
    94164       $327 = $4;
    94165       $328 = ((($327)) + 204|0);
    94166       $329 = HEAP32[$328>>2]|0;
    94167       $330 = $4;
    94168       $331 = ((($330)) + 176|0);
    94169       $332 = HEAP32[$331>>2]|0;
    94170       $333 = (($332) - 1)|0;
    94171       $334 = (($329) + ($333<<2)|0);
    94172       HEAP32[$334>>2] = $326;
    94173       $3 = 0;
    94174       $588 = $3;
    94175       STACKTOP = sp;return ($588|0);
    94176       break;
    94177      }
    94178      case 22:  {
    94179       $335 = $6;
    94180       $336 = ($335|0)==(0);
    94181       $337 = $9;
    94182       $338 = ($337|0)==(1);
    94183       $or$cond11 = $336 & $338;
    94184       if (!($or$cond11)) {
    94185        break L1;
    94186       }
    94187       $339 = $5;
    94188       $340 = $339 >>> 23;
    94189       $341 = $340 & 511;
    94190       $342 = $7;
    94191       $343 = $342 >>> 23;
    94192       $344 = $343 & 511;
    94193       $345 = ($341|0)==($344|0);
    94194       if (!($345)) {
    94195        break L1;
    94196       }
    94197       $346 = $8;
    94198       $347 = $346 & 127;
    94199       $348 = $7;
    94200       $349 = $348 >>> 14;
    94201       $350 = $349 & 511;
    94202       $351 = $350 & 511;
    94203       $352 = $351 << 23;
    94204       $353 = $347 | $352;
    94205       $354 = $5;
    94206       $355 = $354 >>> 14;
    94207       $356 = $355 & 511;
    94208       $357 = $356 & 511;
    94209       $358 = $357 << 14;
    94210       $359 = $353 | $358;
    94211       $360 = $5;
    94212       $361 = $360 >>> 7;
    94213       $362 = $361 & 127;
    94214       $363 = $362 & 127;
    94215       $364 = $363 << 7;
    94216       $365 = $359 | $364;
    94217       $366 = $4;
    94218       $367 = ((($366)) + 204|0);
    94219       $368 = HEAP32[$367>>2]|0;
    94220       $369 = $4;
    94221       $370 = ((($369)) + 176|0);
    94222       $371 = HEAP32[$370>>2]|0;
    94223       $372 = (($371) - 1)|0;
    94224       $373 = (($368) + ($372<<2)|0);
    94225       HEAP32[$373>>2] = $365;
    94226       $3 = 0;
    94227       $588 = $3;
    94228       STACKTOP = sp;return ($588|0);
    94229       break;
    94230      }
    94231      case 31:  {
    94232       $374 = $9;
    94233       $375 = ($374|0)==(31);
    94234       if (!($375)) {
    94235        break L1;
    94236       }
    94237       $376 = $7;
    94238       $377 = $376 >>> 23;
    94239       $378 = $377 & 511;
    94240       $379 = $5;
    94241       $380 = $379 >>> 23;
    94242       $381 = $380 & 511;
    94243       $382 = (($378) + ($381))|0;
    94244       $383 = $382 & 511;
    94245       $384 = $383 << 23;
    94246       $385 = 31 | $384;
    94247       $386 = $4;
    94248       $387 = ((($386)) + 204|0);
    94249       $388 = HEAP32[$387>>2]|0;
    94250       $389 = $4;
    94251       $390 = ((($389)) + 176|0);
    94252       $391 = HEAP32[$390>>2]|0;
    94253       $392 = (($391) - 1)|0;
    94254       $393 = (($388) + ($392<<2)|0);
    94255       HEAP32[$393>>2] = $385;
    94256       $3 = 0;
    94257       $588 = $3;
    94258       STACKTOP = sp;return ($588|0);
    94259       break;
    94260      }
    94261      case 28:  {
    94262       $394 = $9;
    94263       $395 = ($394|0)==(28);
    94264       if (!($395)) {
    94265        break L1;
    94266       }
    94267       $396 = $7;
    94268       $397 = $396 >>> 23;
    94269       $398 = $397 & 511;
    94270       $399 = $5;
    94271       $400 = $399 >>> 23;
    94272       $401 = $400 & 511;
    94273       $402 = (($398) + ($401))|0;
    94274       $403 = $402 & 511;
    94275       $404 = $403 << 23;
    94276       $405 = 28 | $404;
    94277       $406 = $4;
    94278       $407 = ((($406)) + 204|0);
    94279       $408 = HEAP32[$407>>2]|0;
    94280       $409 = $4;
    94281       $410 = ((($409)) + 176|0);
    94282       $411 = HEAP32[$410>>2]|0;
    94283       $412 = (($411) - 1)|0;
    94284       $413 = (($408) + ($412<<2)|0);
    94285       HEAP32[$413>>2] = $405;
    94286       $3 = 0;
    94287       $588 = $3;
    94288       STACKTOP = sp;return ($588|0);
    94289       break;
    94290      }
    94291      case 41:  {
    94292       $414 = $9;
    94293       switch ($414|0) {
    94294       case 41:  {
    94295        $3 = 0;
    94296        $588 = $3;
    94297        STACKTOP = sp;return ($588|0);
    94298        break;
    94299       }
    94300       case 1:  {
    94301        $415 = $7;
    94302        $416 = $415 >>> 23;
    94303        $417 = $416 & 511;
    94304        $418 = $4;
    94305        $419 = ((($418)) + 232|0);
    94306        $420 = HEAP16[$419>>1]|0;
    94307        $421 = $420&65535;
    94308        $422 = ($417|0)>=($421|0);
    94309        if (!($422)) {
    94310         break L1;
    94311        }
    94312        $423 = $7;
    94313        $424 = $423 >>> 14;
    94314        $425 = $424 & 511;
    94315        $426 = $425 & 511;
    94316        $427 = $426 << 23;
    94317        $428 = 41 | $427;
    94318        $429 = $4;
    94319        $430 = ((($429)) + 204|0);
    94320        $431 = HEAP32[$430>>2]|0;
    94321        $432 = $4;
    94322        $433 = ((($432)) + 176|0);
    94323        $434 = HEAP32[$433>>2]|0;
    94324        $435 = (($434) - 1)|0;
    94325        $436 = (($431) + ($435<<2)|0);
    94326        HEAP32[$436>>2] = $428;
    94327        $3 = 0;
    94328        $588 = $3;
    94329        STACKTOP = sp;return ($588|0);
    94330        break;
    94331       }
    94332       case 10: case 22: case 20: case 18: case 16: case 14:  {
    94333        $437 = $4;
    94334        $438 = ((($437)) + 176|0);
    94335        $439 = HEAP32[$438>>2]|0;
    94336        $440 = (($439) + -1)|0;
    94337        HEAP32[$438>>2] = $440;
    94338        $441 = $4;
    94339        $442 = $7;
    94340        (_genop_peep($441,$442,0)|0);
    94341        $443 = $4;
    94342        $444 = ((($443)) + 204|0);
    94343        $445 = HEAP32[$444>>2]|0;
    94344        $446 = $4;
    94345        $447 = ((($446)) + 176|0);
    94346        $448 = HEAP32[$447>>2]|0;
    94347        $449 = (($448) - 1)|0;
    94348        $450 = (($445) + ($449<<2)|0);
    94349        $451 = HEAP32[$450>>2]|0;
    94350        $7 = $451;
    94351        $452 = $4;
    94352        $453 = $7;
    94353        $454 = $453 >>> 23;
    94354        $455 = $454 & 511;
    94355        $456 = $455 & 511;
    94356        $457 = $456 << 23;
    94357        $458 = 41 | $457;
    94358        $459 = (_genop($452,$458)|0);
    94359        $3 = $459;
    94360        $588 = $3;
    94361        STACKTOP = sp;return ($588|0);
    94362        break;
    94363       }
    94364       default: {
    94365        break L1;
    94366       }
    94367       }
    94368       break;
    94369      }
    94370      case 46: case 44:  {
    94371       $460 = $9;
    94372       $461 = ($460|0)==(3);
    94373       if ($461) {
    94374        $462 = $7;
    94375        $463 = $462 >>> 7;
    94376        $464 = $463 & 65535;
    94377        $465 = (($464) - 32767)|0;
    94378        $10 = $465;
    94379        $466 = $8;
    94380        $467 = ($466|0)==(46);
    94381        if ($467) {
    94382         $468 = $10;
    94383         $469 = (0 - ($468))|0;
    94384         $10 = $469;
    94385        }
    94386        $470 = $10;
    94387        $471 = ($470|0)>(127);
    94388        $472 = $10;
    94389        $473 = ($472|0)<(-127);
    94390        $or$cond = $471 | $473;
    94391        if ($or$cond) {
    94392         break L1;
    94393        }
    94394        $474 = $10;
    94395        $475 = (0)<=($474|0);
    94396        $476 = $5;
    94397        $477 = $476 >>> 23;
    94398        $478 = $477 & 511;
    94399        $479 = $478 & 511;
    94400        $480 = $479 << 23;
    94401        if ($475) {
    94402         $481 = 45 | $480;
    94403         $482 = $5;
    94404         $483 = $482 >>> 14;
    94405         $484 = $483 & 511;
    94406         $485 = $484 & 511;
    94407         $486 = $485 << 14;
    94408         $487 = $481 | $486;
    94409         $488 = $10;
    94410         $489 = $488 & 127;
    94411         $490 = $489 << 7;
    94412         $491 = $487 | $490;
    94413         $492 = $4;
    94414         $493 = ((($492)) + 204|0);
    94415         $494 = HEAP32[$493>>2]|0;
    94416         $495 = $4;
    94417         $$sink = $491;$$sink3 = $494;$$sink7 = $495;
    94418        } else {
    94419         $496 = 47 | $480;
    94420         $497 = $5;
    94421         $498 = $497 >>> 14;
    94422         $499 = $498 & 511;
    94423         $500 = $499 & 511;
    94424         $501 = $500 << 14;
    94425         $502 = $496 | $501;
    94426         $503 = $10;
    94427         $504 = (0 - ($503))|0;
    94428         $505 = $504 & 127;
    94429         $506 = $505 << 7;
    94430         $507 = $502 | $506;
    94431         $508 = $4;
    94432         $509 = ((($508)) + 204|0);
    94433         $510 = HEAP32[$509>>2]|0;
    94434         $511 = $4;
    94435         $$sink = $507;$$sink3 = $510;$$sink7 = $511;
    94436        }
    94437        $512 = ((($$sink7)) + 176|0);
    94438        $513 = HEAP32[$512>>2]|0;
    94439        $514 = (($513) - 1)|0;
    94440        $515 = (($$sink3) + ($514<<2)|0);
    94441        HEAP32[$515>>2] = $$sink;
    94442        $3 = 0;
    94443        $588 = $3;
    94444        STACKTOP = sp;return ($588|0);
    94445       }
    94446       break;
    94447      }
    94448      case 62:  {
    94449       break;
    94450      }
    94451      case 25: case 24:  {
    94452       $548 = $9;
    94453       $549 = ($548|0)==(1);
    94454       if (!($549)) {
    94455        break L1;
    94456       }
    94457       $550 = $5;
    94458       $551 = $550 >>> 23;
    94459       $552 = $551 & 511;
    94460       $553 = $7;
    94461       $554 = $553 >>> 23;
    94462       $555 = $554 & 511;
    94463       $556 = ($552|0)==($555|0);
    94464       if (!($556)) {
    94465        break L1;
    94466       }
    94467       $557 = $8;
    94468       $558 = $557 & 127;
    94469       $559 = $7;
    94470       $560 = $559 >>> 14;
    94471       $561 = $560 & 511;
    94472       $562 = $561 & 511;
    94473       $563 = $562 << 23;
    94474       $564 = $558 | $563;
    94475       $565 = $5;
    94476       $566 = $565 >>> 7;
    94477       $567 = $566 & 65535;
    94478       $568 = (($567) - 32767)|0;
    94479       $569 = (($568) + 32767)|0;
    94480       $570 = $569 & 65535;
    94481       $571 = $570 << 7;
    94482       $572 = $564 | $571;
    94483       $573 = $4;
    94484       $574 = ((($573)) + 204|0);
    94485       $575 = HEAP32[$574>>2]|0;
    94486       $576 = $4;
    94487       $577 = ((($576)) + 176|0);
    94488       $578 = HEAP32[$577>>2]|0;
    94489       $579 = (($578) - 1)|0;
    94490       $580 = (($575) + ($579<<2)|0);
    94491       HEAP32[$580>>2] = $572;
    94492       $581 = $4;
    94493       $582 = ((($581)) + 176|0);
    94494       $583 = HEAP32[$582>>2]|0;
    94495       $584 = (($583) - 1)|0;
    94496       $3 = $584;
    94497       $588 = $3;
    94498       STACKTOP = sp;return ($588|0);
    94499       break;
    94500      }
    94501      default: {
    94502       break L1;
    94503      }
    94504      }
    94505      $516 = $9;
    94506      $517 = ($516|0)==(61);
    94507      if ($517) {
    94508       $518 = $4;
    94509       $519 = ((($518)) + 216|0);
    94510       $520 = HEAP32[$519>>2]|0;
    94511       $521 = ((($520)) + 12|0);
    94512       $522 = HEAP32[$521>>2]|0;
    94513       $523 = $7;
    94514       $524 = $523 >>> 7;
    94515       $525 = $524 & 65535;
    94516       $526 = (($522) + ($525<<3)|0);
    94517       ;HEAP32[$11>>2]=HEAP32[$526>>2]|0;HEAP32[$11+4>>2]=HEAP32[$526+4>>2]|0;
    94518       $527 = ((($11)) + 4|0);
    94519       $528 = HEAP32[$527>>2]|0;
    94520       $529 = ($528|0)==(16);
    94521       if ($529) {
    94522        $530 = HEAP32[$11>>2]|0;
    94523        $531 = HEAP32[$530>>2]|0;
    94524        $532 = $531 >>> 11;
    94525        $533 = $532 & 8;
    94526        $534 = ($533|0)!=(0);
    94527        $535 = HEAP32[$11>>2]|0;
    94528        if ($534) {
    94529         $536 = HEAP32[$535>>2]|0;
    94530         $537 = $536 >>> 11;
    94531         $538 = $537 & 496;
    94532         $539 = $538 >> 4;
    94533         $543 = $539;
    94534        } else {
    94535         $540 = ((($535)) + 12|0);
    94536         $541 = HEAP32[$540>>2]|0;
    94537         $543 = $541;
    94538        }
    94539        $542 = ($543|0)==(0);
    94540        if ($542) {
    94541         $544 = $4;
    94542         $545 = ((($544)) + 176|0);
    94543         $546 = HEAP32[$545>>2]|0;
    94544         $547 = (($546) + -1)|0;
    94545         HEAP32[$545>>2] = $547;
    94546         $3 = 0;
    94547         $588 = $3;
    94548         STACKTOP = sp;return ($588|0);
    94549        }
    94550       }
    94551      }
    94552     }
    94553    }
    94554   }
    94555  } while(0);
    94556  $585 = $4;
    94557  $586 = $5;
    94558  $587 = (_genop($585,$586)|0);
    94559  $3 = $587;
    94560  $588 = $3;
    94561  STACKTOP = sp;return ($588|0);
    94562 }
    94563 function _lambda_body($0,$1,$2) {
    94564  $0 = $0|0;
    94565  $1 = $1|0;
    94566  $2 = $2|0;
    94567  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    94568  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    94569  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    94570  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    94571  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    94572  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
    94573  var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
    94574  var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
    94575  var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
    94576  var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
    94577  var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
    94578  var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
    94579  var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
    94580  var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    94581  sp = STACKTOP;
    94582  STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
    94583  $3 = $0;
    94584  $4 = $1;
    94585  $5 = $2;
    94586  $22 = $3;
    94587  $7 = $22;
    94588  $23 = $3;
    94589  $24 = HEAP32[$23>>2]|0;
    94590  $25 = $3;
    94591  $26 = $4;
    94592  $27 = HEAP32[$26>>2]|0;
    94593  $28 = (_scope_new($24,$25,$27)|0);
    94594  $3 = $28;
    94595  $29 = $3;
    94596  $30 = ($29|0)==(0|0);
    94597  if ($30) {
    94598   $31 = $7;
    94599   _raise_error($31,69839);
    94600  }
    94601  $32 = $5;
    94602  $33 = ($32|0)!=(0);
    94603  $34 = $33 ^ 1;
    94604  $35 = $34&1;
    94605  $36 = $35&255;
    94606  $37 = $3;
    94607  $38 = ((($37)) + 184|0);
    94608  $39 = $36&255;
    94609  $40 = HEAP16[$38>>1]|0;
    94610  $41 = $39 & 1;
    94611  $42 = ($41 << 15)&65535;
    94612  $43 = $40 & 32767;
    94613  $44 = $43 | $42;
    94614  HEAP16[$38>>1] = $44;
    94615  $45 = $5;
    94616  $46 = ($45|0)!=(0);
    94617  if ($46) {
    94618   $47 = $3;
    94619   $48 = (_loop_push($47,1)|0);
    94620   $8 = $48;
    94621   $49 = $3;
    94622   $50 = (_new_label($49)|0);
    94623   $51 = $8;
    94624   $52 = ((($51)) + 4|0);
    94625   HEAP32[$52>>2] = $50;
    94626  }
    94627  $53 = $4;
    94628  $54 = ((($53)) + 4|0);
    94629  $55 = HEAP32[$54>>2]|0;
    94630  $4 = $55;
    94631  $56 = $4;
    94632  $57 = HEAP32[$56>>2]|0;
    94633  $58 = ($57|0)!=(0|0);
    94634  if ($58) {
    94635   $59 = $4;
    94636   $60 = HEAP32[$59>>2]|0;
    94637   $61 = HEAP32[$60>>2]|0;
    94638   $62 = (_node_len($61)|0);
    94639   $10 = $62;
    94640   $63 = $4;
    94641   $64 = HEAP32[$63>>2]|0;
    94642   $65 = HEAP32[$64>>2]|0;
    94643   $19 = $65;
    94644   while(1) {
    94645    $66 = $19;
    94646    $67 = ($66|0)!=(0|0);
    94647    if (!($67)) {
    94648     break;
    94649    }
    94650    $68 = $19;
    94651    $69 = ((($68)) + 4|0);
    94652    $70 = HEAP32[$69>>2]|0;
    94653    $19 = $70;
    94654   }
    94655   $71 = $4;
    94656   $72 = HEAP32[$71>>2]|0;
    94657   $73 = ((($72)) + 4|0);
    94658   $74 = HEAP32[$73>>2]|0;
    94659   $75 = HEAP32[$74>>2]|0;
    94660   $76 = (_node_len($75)|0);
    94661   $11 = $76;
    94662   $77 = $4;
    94663   $78 = HEAP32[$77>>2]|0;
    94664   $79 = ((($78)) + 4|0);
    94665   $80 = HEAP32[$79>>2]|0;
    94666   $81 = ((($80)) + 4|0);
    94667   $82 = HEAP32[$81>>2]|0;
    94668   $83 = HEAP32[$82>>2]|0;
    94669   $84 = ($83|0)!=(0|0);
    94670   $85 = $84 ? 1 : 0;
    94671   $12 = $85;
    94672   $86 = $4;
    94673   $87 = HEAP32[$86>>2]|0;
    94674   $88 = ((($87)) + 4|0);
    94675   $89 = HEAP32[$88>>2]|0;
    94676   $90 = ((($89)) + 4|0);
    94677   $91 = HEAP32[$90>>2]|0;
    94678   $92 = ((($91)) + 4|0);
    94679   $93 = HEAP32[$92>>2]|0;
    94680   $94 = HEAP32[$93>>2]|0;
    94681   $95 = (_node_len($94)|0);
    94682   $13 = $95;
    94683   $15 = 0;
    94684   $14 = 0;
    94685   $96 = $4;
    94686   $97 = HEAP32[$96>>2]|0;
    94687   $98 = ((($97)) + 4|0);
    94688   $99 = HEAP32[$98>>2]|0;
    94689   $100 = ((($99)) + 4|0);
    94690   $101 = HEAP32[$100>>2]|0;
    94691   $102 = ((($101)) + 4|0);
    94692   $103 = HEAP32[$102>>2]|0;
    94693   $104 = ((($103)) + 4|0);
    94694   $105 = HEAP32[$104>>2]|0;
    94695   $106 = ($105|0)!=(0|0);
    94696   $107 = $106 ? 1 : 0;
    94697   $16 = $107;
    94698   $108 = $10;
    94699   $109 = $108 & 31;
    94700   $110 = $109 << 18;
    94701   $111 = $11;
    94702   $112 = $111 & 31;
    94703   $113 = $112 << 13;
    94704   $114 = $110 | $113;
    94705   $115 = $12;
    94706   $116 = $115 & 1;
    94707   $117 = $116 << 12;
    94708   $118 = $114 | $117;
    94709   $119 = $13;
    94710   $120 = $119 & 31;
    94711   $121 = $120 << 7;
    94712   $122 = $118 | $121;
    94713   $123 = $14;
    94714   $124 = $123 & 31;
    94715   $125 = $124 << 2;
    94716   $126 = $122 | $125;
    94717   $127 = $15;
    94718   $128 = $127 & 1;
    94719   $129 = $128 << 1;
    94720   $130 = $126 | $129;
    94721   $131 = $16;
    94722   $132 = $131 & 1;
    94723   $133 = $130 | $132;
    94724   $9 = $133;
    94725   $134 = $10;
    94726   $135 = $11;
    94727   $136 = (($134) + ($135))|0;
    94728   $137 = $136 & 63;
    94729   $138 = $137 << 6;
    94730   $139 = $12;
    94731   $140 = $139 & 1;
    94732   $141 = $140 << 5;
    94733   $142 = $138 | $141;
    94734   $143 = $13;
    94735   $144 = $143 & 31;
    94736   $145 = $142 | $144;
    94737   $146 = $3;
    94738   $147 = ((($146)) + 184|0);
    94739   $148 = $145&65535;
    94740   $149 = HEAP16[$147>>1]|0;
    94741   $150 = $148 & 32767;
    94742   $151 = $149 & -32768;
    94743   $152 = $151 | $150;
    94744   HEAP16[$147>>1] = $152;
    94745   $153 = $3;
    94746   $154 = $9;
    94747   $155 = $154 & 33554431;
    94748   $156 = $155 << 7;
    94749   $157 = 38 | $156;
    94750   (_genop($153,$157)|0);
    94751   $158 = $3;
    94752   $159 = (_new_label($158)|0);
    94753   $17 = $159;
    94754   $18 = 0;
    94755   while(1) {
    94756    $160 = $18;
    94757    $161 = $11;
    94758    $162 = ($160|0)<($161|0);
    94759    if (!($162)) {
    94760     break;
    94761    }
    94762    $163 = $3;
    94763    (_new_label($163)|0);
    94764    $164 = $3;
    94765    (_genop($164,4194199)|0);
    94766    $165 = $18;
    94767    $166 = (($165) + 1)|0;
    94768    $18 = $166;
    94769   }
    94770   $167 = $11;
    94771   $168 = ($167|0)>(0);
    94772   if ($168) {
    94773    $169 = $3;
    94774    (_genop($169,4194199)|0);
    94775   }
    94776   $170 = $4;
    94777   $171 = HEAP32[$170>>2]|0;
    94778   $172 = ((($171)) + 4|0);
    94779   $173 = HEAP32[$172>>2]|0;
    94780   $174 = HEAP32[$173>>2]|0;
    94781   $20 = $174;
    94782   $18 = 0;
    94783   while(1) {
    94784    $175 = $20;
    94785    $176 = ($175|0)!=(0|0);
    94786    if (!($176)) {
    94787     break;
    94788    }
    94789    $177 = $3;
    94790    $178 = $17;
    94791    $179 = $18;
    94792    $180 = (($178) + ($179))|0;
    94793    _dispatch($177,$180);
    94794    $181 = $3;
    94795    $182 = $20;
    94796    $183 = HEAP32[$182>>2]|0;
    94797    $184 = ((($183)) + 4|0);
    94798    $185 = HEAP32[$184>>2]|0;
    94799    _codegen($181,$185,1);
    94800    $186 = $3;
    94801    $187 = $20;
    94802    $188 = HEAP32[$187>>2]|0;
    94803    $189 = HEAP32[$188>>2]|0;
    94804    $190 = $189;
    94805    $191 = (_lv_idx($186,$190)|0);
    94806    $21 = $191;
    94807    $192 = $3;
    94808    $193 = ((($192)) + 172|0);
    94809    $194 = HEAP32[$193>>2]|0;
    94810    $195 = (($194) + -1)|0;
    94811    HEAP32[$193>>2] = $195;
    94812    $196 = $3;
    94813    $197 = $21;
    94814    $198 = $197 & 511;
    94815    $199 = $198 << 23;
    94816    $200 = 1 | $199;
    94817    $201 = $3;
    94818    $202 = ((($201)) + 172|0);
    94819    $203 = HEAP32[$202>>2]|0;
    94820    $204 = $203 & 511;
    94821    $205 = $204 << 14;
    94822    $206 = $200 | $205;
    94823    (_genop_peep($196,$206,0)|0);
    94824    $207 = $18;
    94825    $208 = (($207) + 1)|0;
    94826    $18 = $208;
    94827    $209 = $20;
    94828    $210 = ((($209)) + 4|0);
    94829    $211 = HEAP32[$210>>2]|0;
    94830    $20 = $211;
    94831   }
    94832   $212 = $11;
    94833   $213 = ($212|0)>(0);
    94834   if ($213) {
    94835    $214 = $3;
    94836    $215 = $17;
    94837    $216 = $18;
    94838    $217 = (($215) + ($216))|0;
    94839    _dispatch($214,$217);
    94840   }
    94841  }
    94842  $218 = $3;
    94843  $219 = $4;
    94844  $220 = ((($219)) + 4|0);
    94845  $221 = HEAP32[$220>>2]|0;
    94846  $222 = HEAP32[$221>>2]|0;
    94847  _codegen($218,$222,1);
    94848  $223 = $3;
    94849  $224 = ((($223)) + 172|0);
    94850  $225 = HEAP32[$224>>2]|0;
    94851  $226 = (($225) + -1)|0;
    94852  HEAP32[$224>>2] = $226;
    94853  $227 = $3;
    94854  $228 = ((($227)) + 176|0);
    94855  $229 = HEAP32[$228>>2]|0;
    94856  $230 = ($229|0)>(0);
    94857  do {
    94858   if ($230) {
    94859    $231 = $3;
    94860    $232 = ((($231)) + 204|0);
    94861    $233 = HEAP32[$232>>2]|0;
    94862    $234 = $3;
    94863    $235 = ((($234)) + 176|0);
    94864    $236 = HEAP32[$235>>2]|0;
    94865    $237 = (($236) - 1)|0;
    94866    $238 = (($233) + ($237<<2)|0);
    94867    $239 = HEAP32[$238>>2]|0;
    94868    $6 = $239;
    94869    $240 = $6;
    94870    $241 = $240 & 127;
    94871    $242 = ($241|0)!=(41);
    94872    if (!($242)) {
    94873     $243 = $6;
    94874     $244 = $243 >>> 14;
    94875     $245 = $244 & 511;
    94876     $246 = ($245|0)!=(0);
    94877     if (!($246)) {
    94878      $247 = $3;
    94879      $248 = ((($247)) + 176|0);
    94880      $249 = HEAP32[$248>>2]|0;
    94881      $250 = $3;
    94882      $251 = ((($250)) + 180|0);
    94883      $252 = HEAP32[$251>>2]|0;
    94884      $253 = ($249|0)==($252|0);
    94885      if (!($253)) {
    94886       break;
    94887      }
    94888     }
    94889    }
    94890    $254 = $3;
    94891    $255 = ((($254)) + 234|0);
    94892    $256 = HEAP16[$255>>1]|0;
    94893    $257 = $256&65535;
    94894    $258 = ($257|0)==(0);
    94895    $259 = $3;
    94896    if ($258) {
    94897     (_genop($259,5)|0);
    94898     $260 = $3;
    94899     (_genop($260,41)|0);
    94900     break;
    94901    } else {
    94902     $261 = $3;
    94903     $262 = ((($261)) + 172|0);
    94904     $263 = HEAP32[$262>>2]|0;
    94905     $264 = $263 & 511;
    94906     $265 = $264 << 23;
    94907     $266 = 41 | $265;
    94908     (_genop_peep($259,$266,0)|0);
    94909     break;
    94910    }
    94911   }
    94912  } while(0);
    94913  $267 = $5;
    94914  $268 = ($267|0)!=(0);
    94915  if (!($268)) {
    94916   $270 = $3;
    94917   _scope_finish($270);
    94918   $271 = $7;
    94919   $272 = ((($271)) + 216|0);
    94920   $273 = HEAP32[$272>>2]|0;
    94921   $274 = ((($273)) + 52|0);
    94922   $275 = HEAP32[$274>>2]|0;
    94923   $276 = (($275) - 1)|0;
    94924   STACKTOP = sp;return ($276|0);
    94925  }
    94926  $269 = $3;
    94927  _loop_pop($269,0);
    94928  $270 = $3;
    94929  _scope_finish($270);
    94930  $271 = $7;
    94931  $272 = ((($271)) + 216|0);
    94932  $273 = HEAP32[$272>>2]|0;
    94933  $274 = ((($273)) + 52|0);
    94934  $275 = HEAP32[$274>>2]|0;
    94935  $276 = (($275) - 1)|0;
    94936  STACKTOP = sp;return ($276|0);
    94937 }
    94938 function _new_label($0) {
    94939  $0 = $0|0;
    94940  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    94941  sp = STACKTOP;
    94942  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    94943  $1 = $0;
    94944  $2 = $1;
    94945  $3 = ((($2)) + 176|0);
    94946  $4 = HEAP32[$3>>2]|0;
    94947  $5 = $1;
    94948  $6 = ((($5)) + 180|0);
    94949  HEAP32[$6>>2] = $4;
    94950  $7 = $1;
    94951  $8 = ((($7)) + 176|0);
    94952  $9 = HEAP32[$8>>2]|0;
    94953  STACKTOP = sp;return ($9|0);
    94954 }
    94955 function _for_body($0,$1) {
    94956  $0 = $0|0;
    94957  $1 = $1|0;
    94958  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    94959  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0;
    94960  var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
    94961  var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
    94962  var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
    94963  var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
    94964  var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    94965  sp = STACKTOP;
    94966  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    94967  $2 = $0;
    94968  $3 = $1;
    94969  $9 = $2;
    94970  $4 = $9;
    94971  $10 = $2;
    94972  $11 = $3;
    94973  $12 = ((($11)) + 4|0);
    94974  $13 = HEAP32[$12>>2]|0;
    94975  $14 = HEAP32[$13>>2]|0;
    94976  _codegen($10,$14,1);
    94977  $15 = $2;
    94978  $16 = HEAP32[$15>>2]|0;
    94979  $17 = $2;
    94980  $18 = (_scope_new($16,$17,0)|0);
    94981  $2 = $18;
    94982  $19 = $2;
    94983  $20 = ($19|0)==(0|0);
    94984  if ($20) {
    94985   $21 = $4;
    94986   _raise_error($21,69839);
    94987  }
    94988  $22 = $2;
    94989  _push_($22);
    94990  $23 = $2;
    94991  $24 = (_loop_push($23,2)|0);
    94992  $6 = $24;
    94993  $25 = $2;
    94994  $26 = (_new_label($25)|0);
    94995  $27 = $6;
    94996  $28 = ((($27)) + 4|0);
    94997  HEAP32[$28>>2] = $26;
    94998  $29 = $3;
    94999  $30 = HEAP32[$29>>2]|0;
    95000  $7 = $30;
    95001  $31 = $2;
    95002  (_genop($31,33554470)|0);
    95003  $32 = $7;
    95004  $33 = HEAP32[$32>>2]|0;
    95005  $34 = ($33|0)!=(0|0);
    95006  if ($34) {
    95007   $35 = $7;
    95008   $36 = HEAP32[$35>>2]|0;
    95009   $37 = ((($36)) + 4|0);
    95010   $38 = HEAP32[$37>>2]|0;
    95011   $39 = ($38|0)!=(0|0);
    95012   if ($39) {
    95013    label = 7;
    95014   } else {
    95015    $40 = $7;
    95016    $41 = ((($40)) + 4|0);
    95017    $42 = HEAP32[$41>>2]|0;
    95018    $43 = ($42|0)!=(0|0);
    95019    if ($43) {
    95020     label = 7;
    95021    } else {
    95022     $44 = $2;
    95023     $45 = $7;
    95024     $46 = HEAP32[$45>>2]|0;
    95025     $47 = HEAP32[$46>>2]|0;
    95026     _gen_assignment($44,$47,1,0);
    95027    }
    95028   }
    95029  } else {
    95030   label = 7;
    95031  }
    95032  if ((label|0) == 7) {
    95033   $48 = $2;
    95034   $49 = $7;
    95035   _gen_vmassignment($48,$49,1,1);
    95036  }
    95037  $50 = $2;
    95038  $51 = $3;
    95039  $52 = ((($51)) + 4|0);
    95040  $53 = HEAP32[$52>>2]|0;
    95041  $54 = ((($53)) + 4|0);
    95042  $55 = HEAP32[$54>>2]|0;
    95043  $56 = HEAP32[$55>>2]|0;
    95044  _codegen($50,$56,1);
    95045  $57 = $2;
    95046  $58 = ((($57)) + 172|0);
    95047  $59 = HEAP32[$58>>2]|0;
    95048  $60 = (($59) + -1)|0;
    95049  HEAP32[$58>>2] = $60;
    95050  $61 = $2;
    95051  $62 = ((($61)) + 176|0);
    95052  $63 = HEAP32[$62>>2]|0;
    95053  $64 = ($63|0)>(0);
    95054  do {
    95055   if ($64) {
    95056    $65 = $2;
    95057    $66 = ((($65)) + 204|0);
    95058    $67 = HEAP32[$66>>2]|0;
    95059    $68 = $2;
    95060    $69 = ((($68)) + 176|0);
    95061    $70 = HEAP32[$69>>2]|0;
    95062    $71 = (($70) - 1)|0;
    95063    $72 = (($67) + ($71<<2)|0);
    95064    $73 = HEAP32[$72>>2]|0;
    95065    $8 = $73;
    95066    $74 = $8;
    95067    $75 = $74 & 127;
    95068    $76 = ($75|0)!=(41);
    95069    if (!($76)) {
    95070     $77 = $8;
    95071     $78 = $77 >>> 14;
    95072     $79 = $78 & 511;
    95073     $80 = ($79|0)!=(0);
    95074     if (!($80)) {
    95075      $81 = $2;
    95076      $82 = ((($81)) + 176|0);
    95077      $83 = HEAP32[$82>>2]|0;
    95078      $84 = $2;
    95079      $85 = ((($84)) + 180|0);
    95080      $86 = HEAP32[$85>>2]|0;
    95081      $87 = ($83|0)==($86|0);
    95082      if (!($87)) {
    95083       break;
    95084      }
    95085     }
    95086    }
    95087    $88 = $2;
    95088    $89 = $2;
    95089    $90 = ((($89)) + 172|0);
    95090    $91 = HEAP32[$90>>2]|0;
    95091    $92 = $91 & 511;
    95092    $93 = $92 << 23;
    95093    $94 = 41 | $93;
    95094    (_genop_peep($88,$94,0)|0);
    95095   }
    95096  } while(0);
    95097  $95 = $2;
    95098  _loop_pop($95,0);
    95099  $96 = $2;
    95100  _scope_finish($96);
    95101  $97 = $4;
    95102  $2 = $97;
    95103  $98 = $2;
    95104  $99 = $2;
    95105  $100 = ((($99)) + 172|0);
    95106  $101 = HEAP32[$100>>2]|0;
    95107  $102 = $101 & 511;
    95108  $103 = $102 << 23;
    95109  $104 = 64 | $103;
    95110  $105 = $2;
    95111  $106 = ((($105)) + 216|0);
    95112  $107 = HEAP32[$106>>2]|0;
    95113  $108 = ((($107)) + 52|0);
    95114  $109 = HEAP32[$108>>2]|0;
    95115  $110 = (($109) - 1)|0;
    95116  $111 = $110 & 16383;
    95117  $112 = $111 << 9;
    95118  $113 = $112 | 256;
    95119  $114 = $104 | $113;
    95120  (_genop($98,$114)|0);
    95121  $115 = $2;
    95122  $116 = ((($115)) + 172|0);
    95123  $117 = HEAP32[$116>>2]|0;
    95124  $118 = (($117) + -1)|0;
    95125  HEAP32[$116>>2] = $118;
    95126  $119 = $2;
    95127  $120 = $2;
    95128  $121 = HEAP32[$120>>2]|0;
    95129  $122 = (_mrb_intern_static($121,69856,4)|0);
    95130  $123 = (_new_msym($119,$122)|0);
    95131  $5 = $123;
    95132  $124 = $2;
    95133  $125 = $2;
    95134  $126 = ((($125)) + 172|0);
    95135  $127 = HEAP32[$126>>2]|0;
    95136  $128 = $127 & 511;
    95137  $129 = $128 << 23;
    95138  $130 = 33 | $129;
    95139  $131 = $5;
    95140  $132 = $131 & 511;
    95141  $133 = $132 << 14;
    95142  $134 = $130 | $133;
    95143  (_genop($124,$134)|0);
    95144  STACKTOP = sp;return;
    95145 }
    95146 function _gen_call($0,$1,$2,$3,$4) {
    95147  $0 = $0|0;
    95148  $1 = $1|0;
    95149  $2 = $2|0;
    95150  $3 = $3|0;
    95151  $4 = $4|0;
    95152  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    95153  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    95154  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    95155  var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
    95156  var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
    95157  var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
    95158  var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
    95159  var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
    95160  var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
    95161  var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
    95162  var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
    95163  var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0;
    95164  var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0;
    95165  var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0;
    95166  var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0;
    95167  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
    95168  var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
    95169  var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
    95170  var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
    95171  sp = STACKTOP;
    95172  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    95173  $16 = sp + 4|0;
    95174  $5 = $0;
    95175  $6 = $1;
    95176  $7 = $2;
    95177  $8 = $3;
    95178  $9 = $4;
    95179  $18 = $7;
    95180  $19 = ($18|0)!=(0);
    95181  if ($19) {
    95182   $20 = $7;
    95183   $26 = $20;
    95184  } else {
    95185   $21 = $6;
    95186   $22 = ((($21)) + 4|0);
    95187   $23 = HEAP32[$22>>2]|0;
    95188   $24 = HEAP32[$23>>2]|0;
    95189   $25 = $24;
    95190   $26 = $25;
    95191  }
    95192  $10 = $26;
    95193  $12 = 0;
    95194  $13 = 0;
    95195  $14 = 0;
    95196  $15 = 0;
    95197  $27 = $5;
    95198  $28 = $6;
    95199  $29 = HEAP32[$28>>2]|0;
    95200  _codegen($27,$29,1);
    95201  $30 = $5;
    95202  $31 = $10;
    95203  $32 = (_new_msym($30,$31)|0);
    95204  $11 = $32;
    95205  $33 = $6;
    95206  $34 = ((($33)) + 4|0);
    95207  $35 = HEAP32[$34>>2]|0;
    95208  $36 = ((($35)) + 4|0);
    95209  $37 = HEAP32[$36>>2]|0;
    95210  $38 = HEAP32[$37>>2]|0;
    95211  $6 = $38;
    95212  $39 = $6;
    95213  $40 = ($39|0)!=(0|0);
    95214  if ($40) {
    95215   $41 = $5;
    95216   $42 = $6;
    95217   $43 = HEAP32[$42>>2]|0;
    95218   $44 = (_gen_values($41,$43,1)|0);
    95219   $12 = $44;
    95220   $45 = $12;
    95221   $46 = ($45|0)<(0);
    95222   if ($46) {
    95223    $14 = 1;
    95224    $13 = 1;
    95225    $12 = 1;
    95226    $47 = $5;
    95227    _push_($47);
    95228   }
    95229  }
    95230  $48 = $8;
    95231  $49 = ($48|0)!=(0);
    95232  do {
    95233   if ($49) {
    95234    $50 = $14;
    95235    $51 = ($50|0)!=(0);
    95236    $52 = $5;
    95237    if ($51) {
    95238     $53 = ((($52)) + 172|0);
    95239     $54 = HEAP32[$53>>2]|0;
    95240     $55 = (($54) + -1)|0;
    95241     HEAP32[$53>>2] = $55;
    95242     $56 = $5;
    95243     $57 = $5;
    95244     $58 = ((($57)) + 172|0);
    95245     $59 = HEAP32[$58>>2]|0;
    95246     $60 = $59 & 511;
    95247     $61 = $60 << 23;
    95248     $62 = 57 | $61;
    95249     $63 = $8;
    95250     $64 = $63 & 511;
    95251     $65 = $64 << 14;
    95252     $66 = $62 | $65;
    95253     (_genop($56,$66)|0);
    95254     $67 = $5;
    95255     _push_($67);
    95256     break;
    95257    } else {
    95258     $68 = $5;
    95259     $69 = ((($68)) + 172|0);
    95260     $70 = HEAP32[$69>>2]|0;
    95261     $71 = $70 & 511;
    95262     $72 = $71 << 23;
    95263     $73 = 1 | $72;
    95264     $74 = $8;
    95265     $75 = $74 & 511;
    95266     $76 = $75 << 14;
    95267     $77 = $73 | $76;
    95268     (_genop($52,$77)|0);
    95269     $78 = $5;
    95270     _push_($78);
    95271     $79 = $12;
    95272     $80 = (($79) + 1)|0;
    95273     $12 = $80;
    95274     break;
    95275    }
    95276   }
    95277  } while(0);
    95278  $81 = $6;
    95279  $82 = ($81|0)!=(0|0);
    95280  if ($82) {
    95281   $83 = $6;
    95282   $84 = ((($83)) + 4|0);
    95283   $85 = HEAP32[$84>>2]|0;
    95284   $86 = ($85|0)!=(0|0);
    95285   if ($86) {
    95286    $13 = 1;
    95287    $87 = $5;
    95288    $88 = $6;
    95289    $89 = ((($88)) + 4|0);
    95290    $90 = HEAP32[$89>>2]|0;
    95291    _codegen($87,$90,1);
    95292    $91 = $5;
    95293    $92 = ((($91)) + 172|0);
    95294    $93 = HEAP32[$92>>2]|0;
    95295    $94 = (($93) + -1)|0;
    95296    HEAP32[$92>>2] = $94;
    95297   } else {
    95298    label = 14;
    95299   }
    95300  } else {
    95301   label = 14;
    95302  }
    95303  if ((label|0) == 14) {
    95304   $95 = $5;
    95305   $96 = ((($95)) + 172|0);
    95306   $97 = HEAP32[$96>>2]|0;
    95307   $15 = $97;
    95308  }
    95309  $98 = $5;
    95310  _push_($98);
    95311  $99 = $5;
    95312  $100 = ((($99)) + 172|0);
    95313  $101 = HEAP32[$100>>2]|0;
    95314  $102 = (($101) + -1)|0;
    95315  HEAP32[$100>>2] = $102;
    95316  $103 = $12;
    95317  $104 = (($103) + 1)|0;
    95318  $105 = $5;
    95319  $106 = ((($105)) + 172|0);
    95320  $107 = HEAP32[$106>>2]|0;
    95321  $108 = (($107) - ($104))|0;
    95322  HEAP32[$106>>2] = $108;
    95323  $109 = $5;
    95324  $110 = HEAP32[$109>>2]|0;
    95325  $111 = $10;
    95326  $112 = (_mrb_sym2name_len($110,$111,$16)|0);
    95327  $17 = $112;
    95328  $113 = $13;
    95329  $114 = ($113|0)==(0);
    95330  $115 = HEAP32[$16>>2]|0;
    95331  $116 = ($115|0)==(1);
    95332  $or$cond = $114 & $116;
    95333  if ($or$cond) {
    95334   $117 = $17;
    95335   $118 = HEAP8[$117>>0]|0;
    95336   $119 = $118 << 24 >> 24;
    95337   $120 = ($119|0)==(43);
    95338   if ($120) {
    95339    $121 = $5;
    95340    $122 = $5;
    95341    $123 = ((($122)) + 172|0);
    95342    $124 = HEAP32[$123>>2]|0;
    95343    $125 = $124 & 511;
    95344    $126 = $125 << 23;
    95345    $127 = 44 | $126;
    95346    $128 = $11;
    95347    $129 = $128 & 511;
    95348    $130 = $129 << 14;
    95349    $131 = $127 | $130;
    95350    $132 = $12;
    95351    $133 = $132 & 127;
    95352    $134 = $133 << 7;
    95353    $135 = $131 | $134;
    95354    $136 = $9;
    95355    (_genop_peep($121,$135,$136)|0);
    95356   } else {
    95357    label = 18;
    95358   }
    95359  } else {
    95360   label = 18;
    95361  }
    95362  do {
    95363   if ((label|0) == 18) {
    95364    $137 = $13;
    95365    $138 = ($137|0)==(0);
    95366    $139 = HEAP32[$16>>2]|0;
    95367    $140 = ($139|0)==(1);
    95368    $or$cond3 = $138 & $140;
    95369    if ($or$cond3) {
    95370     $141 = $17;
    95371     $142 = HEAP8[$141>>0]|0;
    95372     $143 = $142 << 24 >> 24;
    95373     $144 = ($143|0)==(45);
    95374     if ($144) {
    95375      $145 = $5;
    95376      $146 = $5;
    95377      $147 = ((($146)) + 172|0);
    95378      $148 = HEAP32[$147>>2]|0;
    95379      $149 = $148 & 511;
    95380      $150 = $149 << 23;
    95381      $151 = 46 | $150;
    95382      $152 = $11;
    95383      $153 = $152 & 511;
    95384      $154 = $153 << 14;
    95385      $155 = $151 | $154;
    95386      $156 = $12;
    95387      $157 = $156 & 127;
    95388      $158 = $157 << 7;
    95389      $159 = $155 | $158;
    95390      $160 = $9;
    95391      (_genop_peep($145,$159,$160)|0);
    95392      break;
    95393     }
    95394    }
    95395    $161 = $13;
    95396    $162 = ($161|0)==(0);
    95397    $163 = HEAP32[$16>>2]|0;
    95398    $164 = ($163|0)==(1);
    95399    $or$cond5 = $162 & $164;
    95400    if ($or$cond5) {
    95401     $165 = $17;
    95402     $166 = HEAP8[$165>>0]|0;
    95403     $167 = $166 << 24 >> 24;
    95404     $168 = ($167|0)==(42);
    95405     if ($168) {
    95406      $169 = $5;
    95407      $170 = $5;
    95408      $171 = ((($170)) + 172|0);
    95409      $172 = HEAP32[$171>>2]|0;
    95410      $173 = $172 & 511;
    95411      $174 = $173 << 23;
    95412      $175 = 48 | $174;
    95413      $176 = $11;
    95414      $177 = $176 & 511;
    95415      $178 = $177 << 14;
    95416      $179 = $175 | $178;
    95417      $180 = $12;
    95418      $181 = $180 & 127;
    95419      $182 = $181 << 7;
    95420      $183 = $179 | $182;
    95421      (_genop($169,$183)|0);
    95422      break;
    95423     }
    95424    }
    95425    $184 = $13;
    95426    $185 = ($184|0)==(0);
    95427    $186 = HEAP32[$16>>2]|0;
    95428    $187 = ($186|0)==(1);
    95429    $or$cond7 = $185 & $187;
    95430    if ($or$cond7) {
    95431     $188 = $17;
    95432     $189 = HEAP8[$188>>0]|0;
    95433     $190 = $189 << 24 >> 24;
    95434     $191 = ($190|0)==(47);
    95435     if ($191) {
    95436      $192 = $5;
    95437      $193 = $5;
    95438      $194 = ((($193)) + 172|0);
    95439      $195 = HEAP32[$194>>2]|0;
    95440      $196 = $195 & 511;
    95441      $197 = $196 << 23;
    95442      $198 = 49 | $197;
    95443      $199 = $11;
    95444      $200 = $199 & 511;
    95445      $201 = $200 << 14;
    95446      $202 = $198 | $201;
    95447      $203 = $12;
    95448      $204 = $203 & 127;
    95449      $205 = $204 << 7;
    95450      $206 = $202 | $205;
    95451      (_genop($192,$206)|0);
    95452      break;
    95453     }
    95454    }
    95455    $207 = $13;
    95456    $208 = ($207|0)==(0);
    95457    $209 = HEAP32[$16>>2]|0;
    95458    $210 = ($209|0)==(1);
    95459    $or$cond9 = $208 & $210;
    95460    if ($or$cond9) {
    95461     $211 = $17;
    95462     $212 = HEAP8[$211>>0]|0;
    95463     $213 = $212 << 24 >> 24;
    95464     $214 = ($213|0)==(60);
    95465     if ($214) {
    95466      $215 = $5;
    95467      $216 = $5;
    95468      $217 = ((($216)) + 172|0);
    95469      $218 = HEAP32[$217>>2]|0;
    95470      $219 = $218 & 511;
    95471      $220 = $219 << 23;
    95472      $221 = 51 | $220;
    95473      $222 = $11;
    95474      $223 = $222 & 511;
    95475      $224 = $223 << 14;
    95476      $225 = $221 | $224;
    95477      $226 = $12;
    95478      $227 = $226 & 127;
    95479      $228 = $227 << 7;
    95480      $229 = $225 | $228;
    95481      (_genop($215,$229)|0);
    95482      break;
    95483     }
    95484    }
    95485    $230 = $13;
    95486    $231 = ($230|0)==(0);
    95487    $232 = HEAP32[$16>>2]|0;
    95488    $233 = ($232|0)==(2);
    95489    $or$cond11 = $231 & $233;
    95490    if ($or$cond11) {
    95491     $234 = $17;
    95492     $235 = HEAP8[$234>>0]|0;
    95493     $236 = $235 << 24 >> 24;
    95494     $237 = ($236|0)==(60);
    95495     if ($237) {
    95496      $238 = $17;
    95497      $239 = ((($238)) + 1|0);
    95498      $240 = HEAP8[$239>>0]|0;
    95499      $241 = $240 << 24 >> 24;
    95500      $242 = ($241|0)==(61);
    95501      if ($242) {
    95502       $243 = $5;
    95503       $244 = $5;
    95504       $245 = ((($244)) + 172|0);
    95505       $246 = HEAP32[$245>>2]|0;
    95506       $247 = $246 & 511;
    95507       $248 = $247 << 23;
    95508       $249 = 52 | $248;
    95509       $250 = $11;
    95510       $251 = $250 & 511;
    95511       $252 = $251 << 14;
    95512       $253 = $249 | $252;
    95513       $254 = $12;
    95514       $255 = $254 & 127;
    95515       $256 = $255 << 7;
    95516       $257 = $253 | $256;
    95517       (_genop($243,$257)|0);
    95518       break;
    95519      }
    95520     }
    95521    }
    95522    $258 = $13;
    95523    $259 = ($258|0)==(0);
    95524    $260 = HEAP32[$16>>2]|0;
    95525    $261 = ($260|0)==(1);
    95526    $or$cond13 = $259 & $261;
    95527    if ($or$cond13) {
    95528     $262 = $17;
    95529     $263 = HEAP8[$262>>0]|0;
    95530     $264 = $263 << 24 >> 24;
    95531     $265 = ($264|0)==(62);
    95532     if ($265) {
    95533      $266 = $5;
    95534      $267 = $5;
    95535      $268 = ((($267)) + 172|0);
    95536      $269 = HEAP32[$268>>2]|0;
    95537      $270 = $269 & 511;
    95538      $271 = $270 << 23;
    95539      $272 = 53 | $271;
    95540      $273 = $11;
    95541      $274 = $273 & 511;
    95542      $275 = $274 << 14;
    95543      $276 = $272 | $275;
    95544      $277 = $12;
    95545      $278 = $277 & 127;
    95546      $279 = $278 << 7;
    95547      $280 = $276 | $279;
    95548      (_genop($266,$280)|0);
    95549      break;
    95550     }
    95551    }
    95552    $281 = $13;
    95553    $282 = ($281|0)==(0);
    95554    $283 = HEAP32[$16>>2]|0;
    95555    $284 = ($283|0)==(2);
    95556    $or$cond15 = $282 & $284;
    95557    if ($or$cond15) {
    95558     $285 = $17;
    95559     $286 = HEAP8[$285>>0]|0;
    95560     $287 = $286 << 24 >> 24;
    95561     $288 = ($287|0)==(62);
    95562     if ($288) {
    95563      $289 = $17;
    95564      $290 = ((($289)) + 1|0);
    95565      $291 = HEAP8[$290>>0]|0;
    95566      $292 = $291 << 24 >> 24;
    95567      $293 = ($292|0)==(61);
    95568      if ($293) {
    95569       $294 = $5;
    95570       $295 = $5;
    95571       $296 = ((($295)) + 172|0);
    95572       $297 = HEAP32[$296>>2]|0;
    95573       $298 = $297 & 511;
    95574       $299 = $298 << 23;
    95575       $300 = 54 | $299;
    95576       $301 = $11;
    95577       $302 = $301 & 511;
    95578       $303 = $302 << 14;
    95579       $304 = $300 | $303;
    95580       $305 = $12;
    95581       $306 = $305 & 127;
    95582       $307 = $306 << 7;
    95583       $308 = $304 | $307;
    95584       (_genop($294,$308)|0);
    95585       break;
    95586      }
    95587     }
    95588    }
    95589    $309 = $13;
    95590    $310 = ($309|0)==(0);
    95591    $311 = HEAP32[$16>>2]|0;
    95592    $312 = ($311|0)==(2);
    95593    $or$cond17 = $310 & $312;
    95594    if ($or$cond17) {
    95595     $313 = $17;
    95596     $314 = HEAP8[$313>>0]|0;
    95597     $315 = $314 << 24 >> 24;
    95598     $316 = ($315|0)==(61);
    95599     if ($316) {
    95600      $317 = $17;
    95601      $318 = ((($317)) + 1|0);
    95602      $319 = HEAP8[$318>>0]|0;
    95603      $320 = $319 << 24 >> 24;
    95604      $321 = ($320|0)==(61);
    95605      if ($321) {
    95606       $322 = $5;
    95607       $323 = $5;
    95608       $324 = ((($323)) + 172|0);
    95609       $325 = HEAP32[$324>>2]|0;
    95610       $326 = $325 & 511;
    95611       $327 = $326 << 23;
    95612       $328 = 50 | $327;
    95613       $329 = $11;
    95614       $330 = $329 & 511;
    95615       $331 = $330 << 14;
    95616       $332 = $328 | $331;
    95617       $333 = $12;
    95618       $334 = $333 & 127;
    95619       $335 = $334 << 7;
    95620       $336 = $332 | $335;
    95621       (_genop($322,$336)|0);
    95622       break;
    95623      }
    95624     }
    95625    }
    95626    $337 = $14;
    95627    $338 = ($337|0)!=(0);
    95628    if ($338) {
    95629     $12 = 127;
    95630    }
    95631    $339 = $15;
    95632    $340 = ($339|0)>(0);
    95633    $341 = $5;
    95634    $342 = $5;
    95635    $343 = ((($342)) + 172|0);
    95636    $344 = HEAP32[$343>>2]|0;
    95637    $345 = $344 & 511;
    95638    $346 = $345 << 23;
    95639    if ($340) {
    95640     $347 = 32 | $346;
    95641     $348 = $11;
    95642     $349 = $348 & 511;
    95643     $350 = $349 << 14;
    95644     $351 = $347 | $350;
    95645     $352 = $12;
    95646     $353 = $352 & 127;
    95647     $354 = $353 << 7;
    95648     $355 = $351 | $354;
    95649     (_genop($341,$355)|0);
    95650     break;
    95651    } else {
    95652     $356 = 33 | $346;
    95653     $357 = $11;
    95654     $358 = $357 & 511;
    95655     $359 = $358 << 14;
    95656     $360 = $356 | $359;
    95657     $361 = $12;
    95658     $362 = $361 & 127;
    95659     $363 = $362 << 7;
    95660     $364 = $360 | $363;
    95661     (_genop($341,$364)|0);
    95662     break;
    95663    }
    95664   }
    95665  } while(0);
    95666  $365 = $9;
    95667  $366 = ($365|0)!=(0);
    95668  if (!($366)) {
    95669   STACKTOP = sp;return;
    95670  }
    95671  $367 = $5;
    95672  _push_($367);
    95673  STACKTOP = sp;return;
    95674 }
    95675 function _new_sym_1167($0,$1) {
    95676  $0 = $0|0;
    95677  $1 = $1|0;
    95678  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    95679  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    95680  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    95681  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    95682  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, label = 0, sp = 0;
    95683  sp = STACKTOP;
    95684  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    95685  $3 = $0;
    95686  $4 = $1;
    95687  $5 = 0;
    95688  while(1) {
    95689   $6 = $5;
    95690   $7 = $3;
    95691   $8 = ((($7)) + 216|0);
    95692   $9 = HEAP32[$8>>2]|0;
    95693   $10 = ((($9)) + 48|0);
    95694   $11 = HEAP32[$10>>2]|0;
    95695   $12 = ($6>>>0)<($11>>>0);
    95696   $13 = $3;
    95697   $14 = ((($13)) + 216|0);
    95698   $15 = HEAP32[$14>>2]|0;
    95699   if (!($12)) {
    95700    break;
    95701   }
    95702   $16 = ((($15)) + 16|0);
    95703   $17 = HEAP32[$16>>2]|0;
    95704   $18 = $5;
    95705   $19 = (($17) + ($18<<2)|0);
    95706   $20 = HEAP32[$19>>2]|0;
    95707   $21 = $4;
    95708   $22 = ($20|0)==($21|0);
    95709   $23 = $5;
    95710   if ($22) {
    95711    label = 4;
    95712    break;
    95713   }
    95714   $24 = (($23) + 1)|0;
    95715   $5 = $24;
    95716  }
    95717  if ((label|0) == 4) {
    95718   $2 = $23;
    95719   $87 = $2;
    95720   STACKTOP = sp;return ($87|0);
    95721  }
    95722  $25 = ((($15)) + 48|0);
    95723  $26 = HEAP32[$25>>2]|0;
    95724  $27 = ($26>>>0)>(125);
    95725  if ($27) {
    95726   $28 = $3;
    95727   $29 = ((($28)) + 216|0);
    95728   $30 = HEAP32[$29>>2]|0;
    95729   $31 = ((($30)) + 48|0);
    95730   $32 = HEAP32[$31>>2]|0;
    95731   $33 = ($32>>>0)<(256);
    95732   if ($33) {
    95733    $34 = $3;
    95734    $35 = $3;
    95735    $36 = ((($35)) + 216|0);
    95736    $37 = HEAP32[$36>>2]|0;
    95737    $38 = ((($37)) + 16|0);
    95738    $39 = HEAP32[$38>>2]|0;
    95739    $40 = (_codegen_realloc($34,$39,262144)|0);
    95740    $41 = $3;
    95741    $42 = ((($41)) + 216|0);
    95742    $43 = HEAP32[$42>>2]|0;
    95743    $44 = ((($43)) + 16|0);
    95744    HEAP32[$44>>2] = $40;
    95745    $5 = 0;
    95746    while(1) {
    95747     $45 = $5;
    95748     $46 = $3;
    95749     $47 = ((($46)) + 216|0);
    95750     $48 = HEAP32[$47>>2]|0;
    95751     $49 = ((($48)) + 48|0);
    95752     $50 = HEAP32[$49>>2]|0;
    95753     $51 = (256 - ($50))|0;
    95754     $52 = ($45>>>0)<($51>>>0);
    95755     $53 = $3;
    95756     $54 = ((($53)) + 216|0);
    95757     $55 = HEAP32[$54>>2]|0;
    95758     if (!($52)) {
    95759      break;
    95760     }
    95761     $56 = ((($55)) + 16|0);
    95762     $57 = HEAP32[$56>>2]|0;
    95763     $58 = $5;
    95764     $59 = $3;
    95765     $60 = ((($59)) + 216|0);
    95766     $61 = HEAP32[$60>>2]|0;
    95767     $62 = ((($61)) + 48|0);
    95768     $63 = HEAP32[$62>>2]|0;
    95769     $64 = (($58) + ($63))|0;
    95770     $65 = (($57) + ($64<<2)|0);
    95771     HEAP32[$65>>2] = 0;
    95772     $66 = $5;
    95773     $67 = (($66) + 1)|0;
    95774     $5 = $67;
    95775    }
    95776    $68 = ((($55)) + 48|0);
    95777    HEAP32[$68>>2] = 256;
    95778   }
    95779  }
    95780  $69 = $4;
    95781  $70 = $3;
    95782  $71 = ((($70)) + 216|0);
    95783  $72 = HEAP32[$71>>2]|0;
    95784  $73 = ((($72)) + 16|0);
    95785  $74 = HEAP32[$73>>2]|0;
    95786  $75 = $3;
    95787  $76 = ((($75)) + 216|0);
    95788  $77 = HEAP32[$76>>2]|0;
    95789  $78 = ((($77)) + 48|0);
    95790  $79 = HEAP32[$78>>2]|0;
    95791  $80 = (($74) + ($79<<2)|0);
    95792  HEAP32[$80>>2] = $69;
    95793  $81 = $3;
    95794  $82 = ((($81)) + 216|0);
    95795  $83 = HEAP32[$82>>2]|0;
    95796  $84 = ((($83)) + 48|0);
    95797  $85 = HEAP32[$84>>2]|0;
    95798  $86 = (($85) + 1)|0;
    95799  HEAP32[$84>>2] = $86;
    95800  $2 = $85;
    95801  $87 = $2;
    95802  STACKTOP = sp;return ($87|0);
    95803 }
    95804 function _gen_values($0,$1,$2) {
    95805  $0 = $0|0;
    95806  $1 = $1|0;
    95807  $2 = $2|0;
    95808  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    95809  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    95810  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
    95811  var $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    95812  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
    95813  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    95814  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    95815  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
    95816  sp = STACKTOP;
    95817  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    95818  $4 = $0;
    95819  $5 = $1;
    95820  $6 = $2;
    95821  $7 = 0;
    95822  while(1) {
    95823   $9 = $5;
    95824   $10 = ($9|0)!=(0|0);
    95825   if (!($10)) {
    95826    label = 19;
    95827    break;
    95828   }
    95829   $11 = $5;
    95830   $12 = HEAP32[$11>>2]|0;
    95831   $13 = HEAP32[$12>>2]|0;
    95832   $14 = $13;
    95833   $15 = ($14|0)==(66);
    95834   $16 = $15&1;
    95835   $8 = $16;
    95836   $17 = $7;
    95837   $18 = ($17|0)>=(127);
    95838   $19 = $8;
    95839   $20 = ($19|0)!=(0);
    95840   $or$cond = $18 | $20;
    95841   if ($or$cond) {
    95842    break;
    95843   }
    95844   $144 = $4;
    95845   $145 = $5;
    95846   $146 = HEAP32[$145>>2]|0;
    95847   $147 = $6;
    95848   _codegen($144,$146,$147);
    95849   $148 = $7;
    95850   $149 = (($148) + 1)|0;
    95851   $7 = $149;
    95852   $150 = $5;
    95853   $151 = ((($150)) + 4|0);
    95854   $152 = HEAP32[$151>>2]|0;
    95855   $5 = $152;
    95856  }
    95857  if ((label|0) == 19) {
    95858   $153 = $7;
    95859   $3 = $153;
    95860   $154 = $3;
    95861   STACKTOP = sp;return ($154|0);
    95862  }
    95863  $21 = $6;
    95864  $22 = ($21|0)!=(0);
    95865  L9: do {
    95866   if ($22) {
    95867    $23 = $7;
    95868    $24 = $4;
    95869    $25 = ((($24)) + 172|0);
    95870    $26 = HEAP32[$25>>2]|0;
    95871    $27 = (($26) - ($23))|0;
    95872    HEAP32[$25>>2] = $27;
    95873    $28 = $4;
    95874    $29 = $4;
    95875    $30 = ((($29)) + 172|0);
    95876    $31 = HEAP32[$30>>2]|0;
    95877    $32 = $31 & 511;
    95878    $33 = $32 << 23;
    95879    $34 = 55 | $33;
    95880    $35 = $4;
    95881    $36 = ((($35)) + 172|0);
    95882    $37 = HEAP32[$36>>2]|0;
    95883    $38 = $37 & 511;
    95884    $39 = $38 << 14;
    95885    $40 = $34 | $39;
    95886    $41 = $7;
    95887    $42 = $41 & 127;
    95888    $43 = $42 << 7;
    95889    $44 = $40 | $43;
    95890    (_genop($28,$44)|0);
    95891    $45 = $4;
    95892    _push_($45);
    95893    $46 = $4;
    95894    $47 = $5;
    95895    $48 = HEAP32[$47>>2]|0;
    95896    _codegen($46,$48,1);
    95897    $49 = $4;
    95898    $50 = ((($49)) + 172|0);
    95899    $51 = HEAP32[$50>>2]|0;
    95900    $52 = (($51) + -1)|0;
    95901    HEAP32[$50>>2] = $52;
    95902    $53 = $4;
    95903    $54 = ((($53)) + 172|0);
    95904    $55 = HEAP32[$54>>2]|0;
    95905    $56 = (($55) + -1)|0;
    95906    HEAP32[$54>>2] = $56;
    95907    $57 = $8;
    95908    $58 = ($57|0)!=(0);
    95909    $59 = $4;
    95910    $60 = $4;
    95911    $61 = ((($60)) + 172|0);
    95912    $62 = HEAP32[$61>>2]|0;
    95913    $63 = $62 & 511;
    95914    $64 = $63 << 23;
    95915    if ($58) {
    95916     $65 = 56 | $64;
    95917     $66 = $4;
    95918     $67 = ((($66)) + 172|0);
    95919     $68 = HEAP32[$67>>2]|0;
    95920     $69 = (($68) + 1)|0;
    95921     $70 = $69 & 511;
    95922     $71 = $70 << 14;
    95923     $72 = $65 | $71;
    95924     (_genop($59,$72)|0);
    95925    } else {
    95926     $73 = 57 | $64;
    95927     $74 = $4;
    95928     $75 = ((($74)) + 172|0);
    95929     $76 = HEAP32[$75>>2]|0;
    95930     $77 = (($76) + 1)|0;
    95931     $78 = $77 & 511;
    95932     $79 = $78 << 14;
    95933     $80 = $73 | $79;
    95934     (_genop($59,$80)|0);
    95935    }
    95936    $81 = $5;
    95937    $82 = ((($81)) + 4|0);
    95938    $83 = HEAP32[$82>>2]|0;
    95939    $5 = $83;
    95940    while(1) {
    95941     $84 = $5;
    95942     $85 = ($84|0)!=(0|0);
    95943     if (!($85)) {
    95944      break L9;
    95945     }
    95946     $86 = $4;
    95947     _push_($86);
    95948     $87 = $4;
    95949     $88 = $5;
    95950     $89 = HEAP32[$88>>2]|0;
    95951     _codegen($87,$89,1);
    95952     $90 = $4;
    95953     $91 = ((($90)) + 172|0);
    95954     $92 = HEAP32[$91>>2]|0;
    95955     $93 = (($92) + -1)|0;
    95956     HEAP32[$91>>2] = $93;
    95957     $94 = $4;
    95958     $95 = ((($94)) + 172|0);
    95959     $96 = HEAP32[$95>>2]|0;
    95960     $97 = (($96) + -1)|0;
    95961     HEAP32[$95>>2] = $97;
    95962     $98 = $5;
    95963     $99 = HEAP32[$98>>2]|0;
    95964     $100 = HEAP32[$99>>2]|0;
    95965     $101 = $100;
    95966     $102 = ($101|0)==(66);
    95967     $103 = $4;
    95968     $104 = $4;
    95969     $105 = ((($104)) + 172|0);
    95970     $106 = HEAP32[$105>>2]|0;
    95971     $107 = $106 & 511;
    95972     $108 = $107 << 23;
    95973     if ($102) {
    95974      $109 = 56 | $108;
    95975      $110 = $4;
    95976      $111 = ((($110)) + 172|0);
    95977      $112 = HEAP32[$111>>2]|0;
    95978      $113 = (($112) + 1)|0;
    95979      $114 = $113 & 511;
    95980      $115 = $114 << 14;
    95981      $116 = $109 | $115;
    95982      (_genop($103,$116)|0);
    95983     } else {
    95984      $117 = 57 | $108;
    95985      $118 = $4;
    95986      $119 = ((($118)) + 172|0);
    95987      $120 = HEAP32[$119>>2]|0;
    95988      $121 = (($120) + 1)|0;
    95989      $122 = $121 & 511;
    95990      $123 = $122 << 14;
    95991      $124 = $117 | $123;
    95992      (_genop($103,$124)|0);
    95993     }
    95994     $125 = $5;
    95995     $126 = ((($125)) + 4|0);
    95996     $127 = HEAP32[$126>>2]|0;
    95997     $5 = $127;
    95998    }
    95999   } else {
    96000    $128 = $4;
    96001    $129 = $5;
    96002    $130 = HEAP32[$129>>2]|0;
    96003    $131 = ((($130)) + 4|0);
    96004    $132 = HEAP32[$131>>2]|0;
    96005    _codegen($128,$132,0);
    96006    $133 = $5;
    96007    $134 = ((($133)) + 4|0);
    96008    $135 = HEAP32[$134>>2]|0;
    96009    $5 = $135;
    96010    while(1) {
    96011     $136 = $5;
    96012     $137 = ($136|0)!=(0|0);
    96013     if (!($137)) {
    96014      break L9;
    96015     }
    96016     $138 = $4;
    96017     $139 = $5;
    96018     $140 = HEAP32[$139>>2]|0;
    96019     _codegen($138,$140,0);
    96020     $141 = $5;
    96021     $142 = ((($141)) + 4|0);
    96022     $143 = HEAP32[$142>>2]|0;
    96023     $5 = $143;
    96024    }
    96025   }
    96026  } while(0);
    96027  $3 = -1;
    96028  $154 = $3;
    96029  STACKTOP = sp;return ($154|0);
    96030 }
    96031 function _nosplat($0) {
    96032  $0 = $0|0;
    96033  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    96034  sp = STACKTOP;
    96035  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    96036  $2 = $0;
    96037  while(1) {
    96038   $3 = $2;
    96039   $4 = ($3|0)!=(0|0);
    96040   if (!($4)) {
    96041    label = 6;
    96042    break;
    96043   }
    96044   $5 = $2;
    96045   $6 = HEAP32[$5>>2]|0;
    96046   $7 = HEAP32[$6>>2]|0;
    96047   $8 = $7;
    96048   $9 = ($8|0)==(66);
    96049   if ($9) {
    96050    label = 4;
    96051    break;
    96052   }
    96053   $10 = $2;
    96054   $11 = ((($10)) + 4|0);
    96055   $12 = HEAP32[$11>>2]|0;
    96056   $2 = $12;
    96057  }
    96058  if ((label|0) == 4) {
    96059   $1 = 0;
    96060   $13 = $1;
    96061   STACKTOP = sp;return ($13|0);
    96062  }
    96063  else if ((label|0) == 6) {
    96064   $1 = 1;
    96065   $13 = $1;
    96066   STACKTOP = sp;return ($13|0);
    96067  }
    96068  return (0)|0;
    96069 }
    96070 function _gen_vmassignment($0,$1,$2,$3) {
    96071  $0 = $0|0;
    96072  $1 = $1|0;
    96073  $2 = $2|0;
    96074  $3 = $3|0;
    96075  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    96076  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
    96077  var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    96078  var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
    96079  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
    96080  var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
    96081  var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    96082  sp = STACKTOP;
    96083  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    96084  $4 = $0;
    96085  $5 = $1;
    96086  $6 = $2;
    96087  $7 = $3;
    96088  $8 = 0;
    96089  $9 = 0;
    96090  $12 = $5;
    96091  $13 = HEAP32[$12>>2]|0;
    96092  $14 = ($13|0)!=(0|0);
    96093  L1: do {
    96094   if ($14) {
    96095    $15 = $5;
    96096    $16 = HEAP32[$15>>2]|0;
    96097    $10 = $16;
    96098    $8 = 0;
    96099    while(1) {
    96100     $17 = $10;
    96101     $18 = ($17|0)!=(0|0);
    96102     if (!($18)) {
    96103      break L1;
    96104     }
    96105     $19 = $4;
    96106     $20 = $4;
    96107     $21 = ((($20)) + 172|0);
    96108     $22 = HEAP32[$21>>2]|0;
    96109     $23 = $22 & 511;
    96110     $24 = $23 << 23;
    96111     $25 = 58 | $24;
    96112     $26 = $6;
    96113     $27 = $26 & 511;
    96114     $28 = $27 << 14;
    96115     $29 = $25 | $28;
    96116     $30 = $8;
    96117     $31 = $30 & 127;
    96118     $32 = $31 << 7;
    96119     $33 = $29 | $32;
    96120     (_genop($19,$33)|0);
    96121     $34 = $4;
    96122     $35 = $10;
    96123     $36 = HEAP32[$35>>2]|0;
    96124     $37 = $4;
    96125     $38 = ((($37)) + 172|0);
    96126     $39 = HEAP32[$38>>2]|0;
    96127     _gen_assignment($34,$36,$39,0);
    96128     $40 = $8;
    96129     $41 = (($40) + 1)|0;
    96130     $8 = $41;
    96131     $42 = $10;
    96132     $43 = ((($42)) + 4|0);
    96133     $44 = HEAP32[$43>>2]|0;
    96134     $10 = $44;
    96135    }
    96136   }
    96137  } while(0);
    96138  $45 = $5;
    96139  $46 = ((($45)) + 4|0);
    96140  $47 = HEAP32[$46>>2]|0;
    96141  $10 = $47;
    96142  $48 = $10;
    96143  $49 = ($48|0)!=(0|0);
    96144  if (!($49)) {
    96145   STACKTOP = sp;return;
    96146  }
    96147  $50 = $10;
    96148  $51 = ((($50)) + 4|0);
    96149  $52 = HEAP32[$51>>2]|0;
    96150  $53 = ($52|0)!=(0|0);
    96151  L10: do {
    96152   if ($53) {
    96153    $54 = $10;
    96154    $55 = ((($54)) + 4|0);
    96155    $56 = HEAP32[$55>>2]|0;
    96156    $57 = HEAP32[$56>>2]|0;
    96157    $11 = $57;
    96158    while(1) {
    96159     $58 = $11;
    96160     $59 = ($58|0)!=(0|0);
    96161     if (!($59)) {
    96162      break L10;
    96163     }
    96164     $60 = $9;
    96165     $61 = (($60) + 1)|0;
    96166     $9 = $61;
    96167     $62 = $11;
    96168     $63 = ((($62)) + 4|0);
    96169     $64 = HEAP32[$63>>2]|0;
    96170     $11 = $64;
    96171    }
    96172   }
    96173  } while(0);
    96174  $65 = $7;
    96175  $66 = ($65|0)!=(0);
    96176  $67 = $4;
    96177  if ($66) {
    96178   $68 = $4;
    96179   $69 = ((($68)) + 172|0);
    96180   $70 = HEAP32[$69>>2]|0;
    96181   $71 = $70 & 511;
    96182   $72 = $71 << 23;
    96183   $73 = 1 | $72;
    96184   $74 = $6;
    96185   $75 = $74 & 511;
    96186   $76 = $75 << 14;
    96187   $77 = $73 | $76;
    96188   (_genop($67,$77)|0);
    96189  } else {
    96190   $78 = ((($67)) + 172|0);
    96191   $79 = HEAP32[$78>>2]|0;
    96192   $80 = (($79) + -1)|0;
    96193   HEAP32[$78>>2] = $80;
    96194  }
    96195  $81 = $4;
    96196  $82 = $9;
    96197  _push_n_($81,$82);
    96198  $83 = $9;
    96199  $84 = $4;
    96200  $85 = ((($84)) + 172|0);
    96201  $86 = HEAP32[$85>>2]|0;
    96202  $87 = (($86) - ($83))|0;
    96203  HEAP32[$85>>2] = $87;
    96204  $88 = $4;
    96205  $89 = $4;
    96206  $90 = ((($89)) + 172|0);
    96207  $91 = HEAP32[$90>>2]|0;
    96208  $92 = $91 & 511;
    96209  $93 = $92 << 23;
    96210  $94 = 60 | $93;
    96211  $95 = $8;
    96212  $96 = $95 & 511;
    96213  $97 = $96 << 14;
    96214  $98 = $94 | $97;
    96215  $99 = $9;
    96216  $100 = $99 & 127;
    96217  $101 = $100 << 7;
    96218  $102 = $98 | $101;
    96219  (_genop($88,$102)|0);
    96220  $8 = 1;
    96221  $103 = $10;
    96222  $104 = HEAP32[$103>>2]|0;
    96223  $105 = ($104|0)!=(0|0);
    96224  if ($105) {
    96225   $106 = $4;
    96226   $107 = $10;
    96227   $108 = HEAP32[$107>>2]|0;
    96228   $109 = $4;
    96229   $110 = ((($109)) + 172|0);
    96230   $111 = HEAP32[$110>>2]|0;
    96231   _gen_assignment($106,$108,$111,0);
    96232  }
    96233  $112 = $10;
    96234  $113 = ((($112)) + 4|0);
    96235  $114 = HEAP32[$113>>2]|0;
    96236  $115 = ($114|0)!=(0|0);
    96237  L23: do {
    96238   if ($115) {
    96239    $116 = $10;
    96240    $117 = ((($116)) + 4|0);
    96241    $118 = HEAP32[$117>>2]|0;
    96242    $119 = HEAP32[$118>>2]|0;
    96243    $120 = ($119|0)!=(0|0);
    96244    if ($120) {
    96245     $121 = $10;
    96246     $122 = ((($121)) + 4|0);
    96247     $123 = HEAP32[$122>>2]|0;
    96248     $124 = HEAP32[$123>>2]|0;
    96249     $10 = $124;
    96250     while(1) {
    96251      $125 = $10;
    96252      $126 = ($125|0)!=(0|0);
    96253      if (!($126)) {
    96254       break L23;
    96255      }
    96256      $127 = $4;
    96257      $128 = $10;
    96258      $129 = HEAP32[$128>>2]|0;
    96259      $130 = $4;
    96260      $131 = ((($130)) + 172|0);
    96261      $132 = HEAP32[$131>>2]|0;
    96262      $133 = $8;
    96263      $134 = (($132) + ($133))|0;
    96264      _gen_assignment($127,$129,$134,0);
    96265      $135 = $10;
    96266      $136 = ((($135)) + 4|0);
    96267      $137 = HEAP32[$136>>2]|0;
    96268      $10 = $137;
    96269      $138 = $8;
    96270      $139 = (($138) + 1)|0;
    96271      $8 = $139;
    96272     }
    96273    }
    96274   }
    96275  } while(0);
    96276  $140 = $4;
    96277  _push_($140);
    96278  STACKTOP = sp;return;
    96279 }
    96280 function _loop_break($0,$1) {
    96281  $0 = $0|0;
    96282  $1 = $1|0;
    96283  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    96284  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    96285  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
    96286  var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
    96287  var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
    96288  var $99 = 0, label = 0, sp = 0;
    96289  sp = STACKTOP;
    96290  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    96291  $2 = $0;
    96292  $3 = $1;
    96293  $6 = $2;
    96294  $7 = ((($6)) + 188|0);
    96295  $8 = HEAP32[$7>>2]|0;
    96296  $9 = ($8|0)!=(0|0);
    96297  if (!($9)) {
    96298   $10 = $2;
    96299   $11 = $3;
    96300   _codegen($10,$11,0);
    96301   $12 = $2;
    96302   _raise_error($12,69799);
    96303   STACKTOP = sp;return;
    96304  }
    96305  $13 = $3;
    96306  $14 = ($13|0)!=(0|0);
    96307  if ($14) {
    96308   $15 = $2;
    96309   $16 = $3;
    96310   _codegen($15,$16,1);
    96311   $17 = $2;
    96312   $18 = ((($17)) + 172|0);
    96313   $19 = HEAP32[$18>>2]|0;
    96314   $20 = (($19) + -1)|0;
    96315   HEAP32[$18>>2] = $20;
    96316  }
    96317  $21 = $2;
    96318  $22 = ((($21)) + 188|0);
    96319  $23 = HEAP32[$22>>2]|0;
    96320  $4 = $23;
    96321  while(1) {
    96322   $24 = $4;
    96323   $25 = ($24|0)!=(0|0);
    96324   if (!($25)) {
    96325    break;
    96326   }
    96327   $26 = $4;
    96328   $27 = HEAP32[$26>>2]|0;
    96329   $28 = ($27|0)==(3);
    96330   if (!($28)) {
    96331    break;
    96332   }
    96333   $29 = $2;
    96334   (_genop_peep($29,8388636,0)|0);
    96335   $30 = $4;
    96336   $31 = ((($30)) + 24|0);
    96337   $32 = HEAP32[$31>>2]|0;
    96338   $4 = $32;
    96339  }
    96340  while(1) {
    96341   $33 = $4;
    96342   $34 = ($33|0)!=(0|0);
    96343   if ($34) {
    96344    $35 = $4;
    96345    $36 = HEAP32[$35>>2]|0;
    96346    $37 = ($36|0)==(4);
    96347    $102 = $37;
    96348   } else {
    96349    $102 = 0;
    96350   }
    96351   $38 = $4;
    96352   if (!($102)) {
    96353    break;
    96354   }
    96355   $39 = ((($38)) + 24|0);
    96356   $40 = HEAP32[$39>>2]|0;
    96357   $4 = $40;
    96358  }
    96359  $41 = ($38|0)!=(0|0);
    96360  if (!($41)) {
    96361   $42 = $2;
    96362   _codegen_error($42,69799);
    96363  }
    96364  $43 = $4;
    96365  $44 = HEAP32[$43>>2]|0;
    96366  $45 = ($44|0)==(0);
    96367  $46 = $2;
    96368  if (!($45)) {
    96369   $95 = $2;
    96370   $96 = ((($95)) + 172|0);
    96371   $97 = HEAP32[$96>>2]|0;
    96372   $98 = $97 & 511;
    96373   $99 = $98 << 23;
    96374   $100 = 41 | $99;
    96375   $101 = $100 | 16384;
    96376   (_genop($46,$101)|0);
    96377   STACKTOP = sp;return;
    96378  }
    96379  $47 = ((($46)) + 192|0);
    96380  $48 = HEAP32[$47>>2]|0;
    96381  $49 = $2;
    96382  $50 = ((($49)) + 188|0);
    96383  $51 = HEAP32[$50>>2]|0;
    96384  $52 = ((($51)) + 20|0);
    96385  $53 = HEAP32[$52>>2]|0;
    96386  $54 = ($48|0)>($53|0);
    96387  if ($54) {
    96388   $55 = $2;
    96389   $56 = $2;
    96390   $57 = ((($56)) + 192|0);
    96391   $58 = HEAP32[$57>>2]|0;
    96392   $59 = $2;
    96393   $60 = ((($59)) + 188|0);
    96394   $61 = HEAP32[$60>>2]|0;
    96395   $62 = ((($61)) + 20|0);
    96396   $63 = HEAP32[$62>>2]|0;
    96397   $64 = (($58) - ($63))|0;
    96398   $65 = $64 & 511;
    96399   $66 = $65 << 23;
    96400   $67 = 31 | $66;
    96401   (_genop_peep($55,$67,0)|0);
    96402  }
    96403  $68 = $3;
    96404  $69 = ($68|0)!=(0|0);
    96405  if ($69) {
    96406   $70 = $2;
    96407   $71 = $4;
    96408   $72 = ((($71)) + 16|0);
    96409   $73 = HEAP32[$72>>2]|0;
    96410   $74 = $73 & 511;
    96411   $75 = $74 << 23;
    96412   $76 = 1 | $75;
    96413   $77 = $2;
    96414   $78 = ((($77)) + 172|0);
    96415   $79 = HEAP32[$78>>2]|0;
    96416   $80 = $79 & 511;
    96417   $81 = $80 << 14;
    96418   $82 = $76 | $81;
    96419   (_genop_peep($70,$82,0)|0);
    96420  }
    96421  $83 = $2;
    96422  $84 = $4;
    96423  $85 = ((($84)) + 12|0);
    96424  $86 = HEAP32[$85>>2]|0;
    96425  $87 = (($86) + 32767)|0;
    96426  $88 = $87 & 65535;
    96427  $89 = $88 << 7;
    96428  $90 = 23 | $89;
    96429  $91 = (_genop($83,$90)|0);
    96430  $5 = $91;
    96431  $92 = $5;
    96432  $93 = $4;
    96433  $94 = ((($93)) + 12|0);
    96434  HEAP32[$94>>2] = $92;
    96435  STACKTOP = sp;return;
    96436 }
    96437 function _raise_error($0,$1) {
    96438  $0 = $0|0;
    96439  $1 = $1|0;
    96440  var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    96441  sp = STACKTOP;
    96442  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    96443  $$byval_copy = sp + 24|0;
    96444  $5 = sp;
    96445  $2 = $0;
    96446  $3 = $1;
    96447  $6 = $2;
    96448  $7 = $2;
    96449  $8 = HEAP32[$7>>2]|0;
    96450  $9 = $3;
    96451  _mrb_str_new_cstr($5,$8,$9);
    96452  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
    96453  $10 = (_new_lit($6,$$byval_copy)|0);
    96454  $4 = $10;
    96455  $11 = $2;
    96456  $12 = $4;
    96457  $13 = $12 & 65535;
    96458  $14 = $13 << 7;
    96459  $15 = 8388683 | $14;
    96460  (_genop($11,$15)|0);
    96461  STACKTOP = sp;return;
    96462 }
    96463 function _lv_idx($0,$1) {
    96464  $0 = $0|0;
    96465  $1 = $1|0;
    96466  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    96467  var $9 = 0, label = 0, sp = 0;
    96468  sp = STACKTOP;
    96469  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    96470  $3 = $0;
    96471  $4 = $1;
    96472  $7 = $3;
    96473  $8 = ((($7)) + 168|0);
    96474  $9 = HEAP32[$8>>2]|0;
    96475  $5 = $9;
    96476  $6 = 1;
    96477  while(1) {
    96478   $10 = $5;
    96479   $11 = ($10|0)!=(0|0);
    96480   if (!($11)) {
    96481    label = 6;
    96482    break;
    96483   }
    96484   $12 = $5;
    96485   $13 = HEAP32[$12>>2]|0;
    96486   $14 = $13;
    96487   $15 = $4;
    96488   $16 = ($14|0)==($15|0);
    96489   $17 = $6;
    96490   if ($16) {
    96491    label = 4;
    96492    break;
    96493   }
    96494   $18 = (($17) + 1)|0;
    96495   $6 = $18;
    96496   $19 = $5;
    96497   $20 = ((($19)) + 4|0);
    96498   $21 = HEAP32[$20>>2]|0;
    96499   $5 = $21;
    96500  }
    96501  if ((label|0) == 4) {
    96502   $2 = $17;
    96503   $22 = $2;
    96504   STACKTOP = sp;return ($22|0);
    96505  }
    96506  else if ((label|0) == 6) {
    96507   $2 = 0;
    96508   $22 = $2;
    96509   STACKTOP = sp;return ($22|0);
    96510  }
    96511  return (0)|0;
    96512 }
    96513 function _mrb_fixnum_value_1173($0,$1) {
    96514  $0 = $0|0;
    96515  $1 = $1|0;
    96516  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    96517  sp = STACKTOP;
    96518  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    96519  $3 = sp;
    96520  $2 = $1;
    96521  $4 = ((($3)) + 4|0);
    96522  HEAP32[$4>>2] = 3;
    96523  $5 = $2;
    96524  HEAP32[$3>>2] = $5;
    96525  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
    96526  STACKTOP = sp;return;
    96527 }
    96528 function _readint_mrb_int($0,$1,$2,$3,$4) {
    96529  $0 = $0|0;
    96530  $1 = $1|0;
    96531  $2 = $2|0;
    96532  $3 = $3|0;
    96533  $4 = $4|0;
    96534  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    96535  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    96536  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
    96537  var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, label = 0, sp = 0;
    96538  sp = STACKTOP;
    96539  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    96540  $6 = $0;
    96541  $7 = $1;
    96542  $8 = $2;
    96543  $9 = $3;
    96544  $10 = $4;
    96545  $15 = $7;
    96546  $16 = $7;
    96547  $17 = (_strlen($16)|0);
    96548  $18 = (($15) + ($17)|0);
    96549  $11 = $18;
    96550  $12 = 0;
    96551  $19 = $7;
    96552  $20 = HEAP8[$19>>0]|0;
    96553  $21 = $20 << 24 >> 24;
    96554  $22 = ($21|0)==(43);
    96555  if ($22) {
    96556   $23 = $7;
    96557   $24 = ((($23)) + 1|0);
    96558   $7 = $24;
    96559  }
    96560  while(1) {
    96561   $25 = $7;
    96562   $26 = $11;
    96563   $27 = ($25>>>0)<($26>>>0);
    96564   if (!($27)) {
    96565    label = 18;
    96566    break;
    96567   }
    96568   $28 = $7;
    96569   $29 = HEAP8[$28>>0]|0;
    96570   $14 = $29;
    96571   $30 = $14;
    96572   $31 = $30&255;
    96573   $32 = (_tolower($31)|0);
    96574   $33 = $32&255;
    96575   $14 = $33;
    96576   $13 = 0;
    96577   while(1) {
    96578    $34 = $13;
    96579    $35 = $8;
    96580    $36 = ($34|0)<($35|0);
    96581    if (!($36)) {
    96582     break;
    96583    }
    96584    $37 = $13;
    96585    $38 = (55645 + ($37)|0);
    96586    $39 = HEAP8[$38>>0]|0;
    96587    $40 = $39 << 24 >> 24;
    96588    $41 = $14;
    96589    $42 = $41 << 24 >> 24;
    96590    $43 = ($40|0)==($42|0);
    96591    if ($43) {
    96592     break;
    96593    }
    96594    $44 = $13;
    96595    $45 = (($44) + 1)|0;
    96596    $13 = $45;
    96597   }
    96598   $46 = $13;
    96599   $47 = $8;
    96600   $48 = ($46|0)==($47|0);
    96601   if ($48) {
    96602    $49 = $6;
    96603    _codegen_error($49,69775);
    96604   }
    96605   $50 = $9;
    96606   $51 = ($50<<24>>24)!=(0);
    96607   $52 = $13;
    96608   if ($51) {
    96609    $53 = (-2147483648 + ($52))|0;
    96610    $54 = $8;
    96611    $55 = (($53|0) / ($54|0))&-1;
    96612    $56 = $12;
    96613    $57 = ($55|0)>($56|0);
    96614    if ($57) {
    96615     label = 12;
    96616     break;
    96617    }
    96618    $59 = $8;
    96619    $60 = $12;
    96620    $61 = Math_imul($60, $59)|0;
    96621    $12 = $61;
    96622    $62 = $13;
    96623    $63 = $12;
    96624    $64 = (($63) - ($62))|0;
    96625    $12 = $64;
    96626   } else {
    96627    $65 = (2147483647 - ($52))|0;
    96628    $66 = $8;
    96629    $67 = (($65|0) / ($66|0))&-1;
    96630    $68 = $12;
    96631    $69 = ($67|0)<($68|0);
    96632    if ($69) {
    96633     label = 15;
    96634     break;
    96635    }
    96636    $71 = $8;
    96637    $72 = $12;
    96638    $73 = Math_imul($72, $71)|0;
    96639    $12 = $73;
    96640    $74 = $13;
    96641    $75 = $12;
    96642    $76 = (($75) + ($74))|0;
    96643    $12 = $76;
    96644   }
    96645   $77 = $7;
    96646   $78 = ((($77)) + 1|0);
    96647   $7 = $78;
    96648  }
    96649  if ((label|0) == 12) {
    96650   $58 = $10;
    96651   HEAP8[$58>>0] = 1;
    96652   $5 = 0;
    96653   $81 = $5;
    96654   STACKTOP = sp;return ($81|0);
    96655  }
    96656  else if ((label|0) == 15) {
    96657   $70 = $10;
    96658   HEAP8[$70>>0] = 1;
    96659   $5 = 0;
    96660   $81 = $5;
    96661   STACKTOP = sp;return ($81|0);
    96662  }
    96663  else if ((label|0) == 18) {
    96664   $79 = $10;
    96665   HEAP8[$79>>0] = 0;
    96666   $80 = $12;
    96667   $5 = $80;
    96668   $81 = $5;
    96669   STACKTOP = sp;return ($81|0);
    96670  }
    96671  return (0)|0;
    96672 }
    96673 function _readint_float($0,$1,$2) {
    96674  $0 = $0|0;
    96675  $1 = $1|0;
    96676  $2 = $2|0;
    96677  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    96678  var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0;
    96679  var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
    96680  sp = STACKTOP;
    96681  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    96682  $3 = $0;
    96683  $4 = $1;
    96684  $5 = $2;
    96685  $10 = $4;
    96686  $11 = $4;
    96687  $12 = (_strlen($11)|0);
    96688  $13 = (($10) + ($12)|0);
    96689  $6 = $13;
    96690  $7 = 0.0;
    96691  $14 = $4;
    96692  $15 = HEAP8[$14>>0]|0;
    96693  $16 = $15 << 24 >> 24;
    96694  $17 = ($16|0)==(43);
    96695  if ($17) {
    96696   $18 = $4;
    96697   $19 = ((($18)) + 1|0);
    96698   $4 = $19;
    96699  }
    96700  while(1) {
    96701   $20 = $4;
    96702   $21 = $6;
    96703   $22 = ($20>>>0)<($21>>>0);
    96704   if (!($22)) {
    96705    break;
    96706   }
    96707   $23 = $4;
    96708   $24 = HEAP8[$23>>0]|0;
    96709   $9 = $24;
    96710   $25 = $9;
    96711   $26 = $25&255;
    96712   $27 = (_tolower($26)|0);
    96713   $28 = $27&255;
    96714   $9 = $28;
    96715   $8 = 0;
    96716   while(1) {
    96717    $29 = $8;
    96718    $30 = $5;
    96719    $31 = ($29|0)<($30|0);
    96720    if (!($31)) {
    96721     break;
    96722    }
    96723    $32 = $8;
    96724    $33 = (55645 + ($32)|0);
    96725    $34 = HEAP8[$33>>0]|0;
    96726    $35 = $34 << 24 >> 24;
    96727    $36 = $9;
    96728    $37 = $36 << 24 >> 24;
    96729    $38 = ($35|0)==($37|0);
    96730    if ($38) {
    96731     label = 7;
    96732     break;
    96733    }
    96734    $47 = $8;
    96735    $48 = (($47) + 1)|0;
    96736    $8 = $48;
    96737   }
    96738   if ((label|0) == 7) {
    96739    label = 0;
    96740    $39 = $5;
    96741    $40 = (+($39|0));
    96742    $41 = $7;
    96743    $42 = $41 * $40;
    96744    $7 = $42;
    96745    $43 = $8;
    96746    $44 = (+($43|0));
    96747    $45 = $7;
    96748    $46 = $45 + $44;
    96749    $7 = $46;
    96750   }
    96751   $49 = $8;
    96752   $50 = $5;
    96753   $51 = ($49|0)==($50|0);
    96754   if ($51) {
    96755    $52 = $3;
    96756    _codegen_error($52,69775);
    96757   }
    96758   $53 = $4;
    96759   $54 = ((($53)) + 1|0);
    96760   $4 = $54;
    96761  }
    96762  $55 = $7;
    96763  STACKTOP = sp;return (+$55);
    96764 }
    96765 function _mrb_float_value_1175($0,$1,$2) {
    96766  $0 = $0|0;
    96767  $1 = $1|0;
    96768  $2 = +$2;
    96769  var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0;
    96770  sp = STACKTOP;
    96771  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    96772  $5 = sp;
    96773  $3 = $1;
    96774  $4 = $2;
    96775  $6 = ((($5)) + 4|0);
    96776  HEAP32[$6>>2] = 6;
    96777  $7 = $4;
    96778  HEAPF32[$5>>2] = $7;
    96779  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
    96780  STACKTOP = sp;return;
    96781 }
    96782 function _new_lit($0,$1) {
    96783  $0 = $0|0;
    96784  $1 = $1|0;
    96785  var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    96786  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
    96787  var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
    96788  var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
    96789  var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $19 = 0, $2 = 0;
    96790  var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    96791  var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
    96792  var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
    96793  var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
    96794  var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    96795  sp = STACKTOP;
    96796  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    96797  $$byval_copy = sp + 32|0;
    96798  $7 = sp;
    96799  $3 = $0;
    96800  $8 = ((($1)) + 4|0);
    96801  $9 = HEAP32[$8>>2]|0;
    96802  L1: do {
    96803   switch ($9|0) {
    96804   case 16:  {
    96805    $4 = 0;
    96806    while(1) {
    96807     $10 = $4;
    96808     $11 = $3;
    96809     $12 = ((($11)) + 216|0);
    96810     $13 = HEAP32[$12>>2]|0;
    96811     $14 = ((($13)) + 44|0);
    96812     $15 = HEAP32[$14>>2]|0;
    96813     $16 = ($10>>>0)<($15>>>0);
    96814     if (!($16)) {
    96815      break L1;
    96816     }
    96817     $17 = $3;
    96818     $18 = ((($17)) + 216|0);
    96819     $19 = HEAP32[$18>>2]|0;
    96820     $20 = ((($19)) + 12|0);
    96821     $21 = HEAP32[$20>>2]|0;
    96822     $22 = $4;
    96823     $23 = (($21) + ($22<<3)|0);
    96824     $5 = $23;
    96825     $24 = $5;
    96826     $25 = ((($24)) + 4|0);
    96827     $26 = HEAP32[$25>>2]|0;
    96828     $27 = ($26|0)!=(16);
    96829     if (!($27)) {
    96830      $28 = $5;
    96831      $29 = HEAP32[$28>>2]|0;
    96832      $30 = HEAP32[$29>>2]|0;
    96833      $31 = $30 >>> 11;
    96834      $32 = $31 & 8;
    96835      $33 = ($32|0)!=(0);
    96836      $34 = $5;
    96837      $35 = HEAP32[$34>>2]|0;
    96838      if ($33) {
    96839       $36 = HEAP32[$35>>2]|0;
    96840       $37 = $36 >>> 11;
    96841       $38 = $37 & 496;
    96842       $39 = $38 >> 4;
    96843       $42 = $39;
    96844      } else {
    96845       $40 = ((($35)) + 12|0);
    96846       $41 = HEAP32[$40>>2]|0;
    96847       $42 = $41;
    96848      }
    96849      $6 = $42;
    96850      $43 = HEAP32[$1>>2]|0;
    96851      $44 = HEAP32[$43>>2]|0;
    96852      $45 = $44 >>> 11;
    96853      $46 = $45 & 8;
    96854      $47 = ($46|0)!=(0);
    96855      $48 = HEAP32[$1>>2]|0;
    96856      if ($47) {
    96857       $49 = HEAP32[$48>>2]|0;
    96858       $50 = $49 >>> 11;
    96859       $51 = $50 & 496;
    96860       $52 = $51 >> 4;
    96861       $56 = $52;
    96862      } else {
    96863       $53 = ((($48)) + 12|0);
    96864       $54 = HEAP32[$53>>2]|0;
    96865       $56 = $54;
    96866      }
    96867      $55 = ($42|0)!=($56|0);
    96868      if (!($55)) {
    96869       $57 = $5;
    96870       $58 = HEAP32[$57>>2]|0;
    96871       $59 = HEAP32[$58>>2]|0;
    96872       $60 = $59 >>> 11;
    96873       $61 = $60 & 8;
    96874       $62 = ($61|0)!=(0);
    96875       $63 = $5;
    96876       $64 = HEAP32[$63>>2]|0;
    96877       $65 = ((($64)) + 12|0);
    96878       if ($62) {
    96879        $78 = $65;
    96880       } else {
    96881        $66 = ((($65)) + 8|0);
    96882        $67 = HEAP32[$66>>2]|0;
    96883        $78 = $67;
    96884       }
    96885       $68 = HEAP32[$1>>2]|0;
    96886       $69 = HEAP32[$68>>2]|0;
    96887       $70 = $69 >>> 11;
    96888       $71 = $70 & 8;
    96889       $72 = ($71|0)!=(0);
    96890       $73 = HEAP32[$1>>2]|0;
    96891       $74 = ((($73)) + 12|0);
    96892       if ($72) {
    96893        $79 = $74;
    96894       } else {
    96895        $75 = ((($74)) + 8|0);
    96896        $76 = HEAP32[$75>>2]|0;
    96897        $79 = $76;
    96898       }
    96899       $77 = $6;
    96900       $80 = (_memcmp($78,$79,$77)|0);
    96901       $81 = ($80|0)==(0);
    96902       if ($81) {
    96903        break;
    96904       }
    96905      }
    96906     }
    96907     $83 = $4;
    96908     $84 = (($83) + 1)|0;
    96909     $4 = $84;
    96910    }
    96911    $82 = $4;
    96912    $2 = $82;
    96913    $187 = $2;
    96914    STACKTOP = sp;return ($187|0);
    96915    break;
    96916   }
    96917   case 6:  {
    96918    $4 = 0;
    96919    while(1) {
    96920     $85 = $4;
    96921     $86 = $3;
    96922     $87 = ((($86)) + 216|0);
    96923     $88 = HEAP32[$87>>2]|0;
    96924     $89 = ((($88)) + 44|0);
    96925     $90 = HEAP32[$89>>2]|0;
    96926     $91 = ($85>>>0)<($90>>>0);
    96927     if (!($91)) {
    96928      break L1;
    96929     }
    96930     $92 = $3;
    96931     $93 = ((($92)) + 216|0);
    96932     $94 = HEAP32[$93>>2]|0;
    96933     $95 = ((($94)) + 12|0);
    96934     $96 = HEAP32[$95>>2]|0;
    96935     $97 = $4;
    96936     $98 = (($96) + ($97<<3)|0);
    96937     $5 = $98;
    96938     $99 = $5;
    96939     $100 = ((($99)) + 4|0);
    96940     $101 = HEAP32[$100>>2]|0;
    96941     $102 = ($101|0)!=(6);
    96942     if (!($102)) {
    96943      $103 = $5;
    96944      $104 = +HEAPF32[$103>>2];
    96945      $105 = +HEAPF32[$1>>2];
    96946      $106 = $104 == $105;
    96947      if ($106) {
    96948       break;
    96949      }
    96950     }
    96951     $108 = $4;
    96952     $109 = (($108) + 1)|0;
    96953     $4 = $109;
    96954    }
    96955    $107 = $4;
    96956    $2 = $107;
    96957    $187 = $2;
    96958    STACKTOP = sp;return ($187|0);
    96959    break;
    96960   }
    96961   case 3:  {
    96962    $4 = 0;
    96963    while(1) {
    96964     $110 = $4;
    96965     $111 = $3;
    96966     $112 = ((($111)) + 216|0);
    96967     $113 = HEAP32[$112>>2]|0;
    96968     $114 = ((($113)) + 44|0);
    96969     $115 = HEAP32[$114>>2]|0;
    96970     $116 = ($110>>>0)<($115>>>0);
    96971     if (!($116)) {
    96972      break L1;
    96973     }
    96974     $117 = $3;
    96975     $118 = ((($117)) + 216|0);
    96976     $119 = HEAP32[$118>>2]|0;
    96977     $120 = ((($119)) + 12|0);
    96978     $121 = HEAP32[$120>>2]|0;
    96979     $122 = $4;
    96980     $123 = (($121) + ($122<<3)|0);
    96981     $5 = $123;
    96982     $124 = $5;
    96983     $125 = ((($124)) + 4|0);
    96984     $126 = HEAP32[$125>>2]|0;
    96985     $127 = ($126|0)==(3);
    96986     if ($127) {
    96987      $128 = $5;
    96988      $129 = HEAP32[$128>>2]|0;
    96989      $130 = HEAP32[$1>>2]|0;
    96990      $131 = ($129|0)==($130|0);
    96991      if ($131) {
    96992       break;
    96993      }
    96994     }
    96995     $133 = $4;
    96996     $134 = (($133) + 1)|0;
    96997     $4 = $134;
    96998    }
    96999    $132 = $4;
    97000    $2 = $132;
    97001    $187 = $2;
    97002    STACKTOP = sp;return ($187|0);
    97003    break;
    97004   }
    97005   default: {
    97006    $2 = 0;
    97007    $187 = $2;
    97008    STACKTOP = sp;return ($187|0);
    97009   }
    97010   }
    97011  } while(0);
    97012  $135 = $3;
    97013  $136 = ((($135)) + 216|0);
    97014  $137 = HEAP32[$136>>2]|0;
    97015  $138 = ((($137)) + 44|0);
    97016  $139 = HEAP32[$138>>2]|0;
    97017  $140 = $3;
    97018  $141 = ((($140)) + 220|0);
    97019  $142 = HEAP32[$141>>2]|0;
    97020  $143 = ($139|0)==($142|0);
    97021  if ($143) {
    97022   $144 = $3;
    97023   $145 = ((($144)) + 220|0);
    97024   $146 = HEAP32[$145>>2]|0;
    97025   $147 = $146<<1;
    97026   HEAP32[$145>>2] = $147;
    97027   $148 = $3;
    97028   $149 = $3;
    97029   $150 = ((($149)) + 216|0);
    97030   $151 = HEAP32[$150>>2]|0;
    97031   $152 = ((($151)) + 12|0);
    97032   $153 = HEAP32[$152>>2]|0;
    97033   $154 = $3;
    97034   $155 = ((($154)) + 220|0);
    97035   $156 = HEAP32[$155>>2]|0;
    97036   $157 = $156<<3;
    97037   $158 = (_codegen_realloc($148,$153,$157)|0);
    97038   $159 = $3;
    97039   $160 = ((($159)) + 216|0);
    97040   $161 = HEAP32[$160>>2]|0;
    97041   $162 = ((($161)) + 12|0);
    97042   HEAP32[$162>>2] = $158;
    97043  }
    97044  $163 = $3;
    97045  $164 = ((($163)) + 216|0);
    97046  $165 = HEAP32[$164>>2]|0;
    97047  $166 = ((($165)) + 12|0);
    97048  $167 = HEAP32[$166>>2]|0;
    97049  $168 = $3;
    97050  $169 = ((($168)) + 216|0);
    97051  $170 = HEAP32[$169>>2]|0;
    97052  $171 = ((($170)) + 44|0);
    97053  $172 = HEAP32[$171>>2]|0;
    97054  $173 = (($167) + ($172<<3)|0);
    97055  $5 = $173;
    97056  $174 = $3;
    97057  $175 = ((($174)) + 216|0);
    97058  $176 = HEAP32[$175>>2]|0;
    97059  $177 = ((($176)) + 44|0);
    97060  $178 = HEAP32[$177>>2]|0;
    97061  $179 = (($178) + 1)|0;
    97062  HEAP32[$177>>2] = $179;
    97063  $4 = $178;
    97064  $180 = ((($1)) + 4|0);
    97065  $181 = HEAP32[$180>>2]|0;
    97066  switch ($181|0) {
    97067  case 16:  {
    97068   $182 = $5;
    97069   $183 = $3;
    97070   $184 = HEAP32[$183>>2]|0;
    97071   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
    97072   _mrb_str_pool($7,$184,$$byval_copy);
    97073   ;HEAP32[$182>>2]=HEAP32[$7>>2]|0;HEAP32[$182+4>>2]=HEAP32[$7+4>>2]|0;
    97074   break;
    97075  }
    97076  case 3: case 6:  {
    97077   $185 = $5;
    97078   ;HEAP32[$185>>2]=HEAP32[$1>>2]|0;HEAP32[$185+4>>2]=HEAP32[$1+4>>2]|0;
    97079   break;
    97080  }
    97081  default: {
    97082  }
    97083  }
    97084  $186 = $4;
    97085  $2 = $186;
    97086  $187 = $2;
    97087  STACKTOP = sp;return ($187|0);
    97088 }
    97089 function _gen_literal_array($0,$1,$2,$3) {
    97090  $0 = $0|0;
    97091  $1 = $1|0;
    97092  $2 = $2|0;
    97093  $3 = $3|0;
    97094  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
    97095  var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
    97096  var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
    97097  var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
    97098  var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
    97099  var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    97100  sp = STACKTOP;
    97101  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    97102  $4 = $0;
    97103  $5 = $1;
    97104  $6 = $2;
    97105  $7 = $3;
    97106  $10 = $7;
    97107  $11 = ($10|0)!=(0);
    97108  if (!($11)) {
    97109   while(1) {
    97110    $100 = $5;
    97111    $101 = ($100|0)!=(0|0);
    97112    if (!($101)) {
    97113     break;
    97114    }
    97115    $102 = $5;
    97116    $103 = HEAP32[$102>>2]|0;
    97117    $104 = HEAP32[$103>>2]|0;
    97118    $105 = $104;
    97119    switch ($105|0) {
    97120    case 4: case 17:  {
    97121     $106 = $4;
    97122     $107 = $5;
    97123     $108 = HEAP32[$107>>2]|0;
    97124     _codegen($106,$108,0);
    97125     break;
    97126    }
    97127    default: {
    97128    }
    97129    }
    97130    $109 = $5;
    97131    $110 = ((($109)) + 4|0);
    97132    $111 = HEAP32[$110>>2]|0;
    97133    $5 = $111;
    97134   }
    97135   STACKTOP = sp;return;
    97136  }
    97137  $8 = 0;
    97138  $9 = 0;
    97139  while(1) {
    97140   $12 = $5;
    97141   $13 = ($12|0)!=(0|0);
    97142   if (!($13)) {
    97143    break;
    97144   }
    97145   $14 = $5;
    97146   $15 = HEAP32[$14>>2]|0;
    97147   $16 = HEAP32[$15>>2]|0;
    97148   $17 = $16;
    97149   switch ($17|0) {
    97150   case 55:  {
    97151    $18 = $5;
    97152    $19 = ((($18)) + 4|0);
    97153    $20 = HEAP32[$19>>2]|0;
    97154    $21 = ($20|0)==(0|0);
    97155    if ($21) {
    97156     $22 = $5;
    97157     $23 = HEAP32[$22>>2]|0;
    97158     $24 = ((($23)) + 4|0);
    97159     $25 = HEAP32[$24>>2]|0;
    97160     $26 = ((($25)) + 4|0);
    97161     $27 = HEAP32[$26>>2]|0;
    97162     $28 = $27;
    97163     $29 = ($28|0)==(0);
    97164     if (!($29)) {
    97165      label = 7;
    97166     }
    97167    } else {
    97168     label = 7;
    97169    }
    97170    break;
    97171   }
    97172   case 17:  {
    97173    label = 7;
    97174    break;
    97175   }
    97176   case 100:  {
    97177    $35 = $9;
    97178    $36 = ($35|0)>(0);
    97179    if ($36) {
    97180     $9 = 0;
    97181     $37 = $8;
    97182     $38 = (($37) + 1)|0;
    97183     $8 = $38;
    97184     $39 = $6;
    97185     $40 = ($39<<24>>24)!=(0);
    97186     if ($40) {
    97187      $41 = $4;
    97188      _gen_send_intern($41);
    97189     }
    97190    }
    97191    break;
    97192   }
    97193   default: {
    97194   }
    97195   }
    97196   if ((label|0) == 7) {
    97197    label = 0;
    97198    $30 = $4;
    97199    $31 = $5;
    97200    $32 = HEAP32[$31>>2]|0;
    97201    _codegen($30,$32,1);
    97202    $33 = $9;
    97203    $34 = (($33) + 1)|0;
    97204    $9 = $34;
    97205   }
    97206   $42 = $9;
    97207   $43 = ($42|0)>=(2);
    97208   if ($43) {
    97209    $44 = $4;
    97210    $45 = ((($44)) + 172|0);
    97211    $46 = HEAP32[$45>>2]|0;
    97212    $47 = (($46) + -1)|0;
    97213    HEAP32[$45>>2] = $47;
    97214    $48 = $4;
    97215    $49 = ((($48)) + 172|0);
    97216    $50 = HEAP32[$49>>2]|0;
    97217    $51 = (($50) + -1)|0;
    97218    HEAP32[$49>>2] = $51;
    97219    $52 = $4;
    97220    $53 = $4;
    97221    $54 = ((($53)) + 172|0);
    97222    $55 = HEAP32[$54>>2]|0;
    97223    $56 = $55 & 511;
    97224    $57 = $56 << 23;
    97225    $58 = 62 | $57;
    97226    $59 = $4;
    97227    $60 = ((($59)) + 172|0);
    97228    $61 = HEAP32[$60>>2]|0;
    97229    $62 = (($61) + 1)|0;
    97230    $63 = $62 & 511;
    97231    $64 = $63 << 14;
    97232    $65 = $58 | $64;
    97233    (_genop_peep($52,$65,1)|0);
    97234    $66 = $4;
    97235    _push_($66);
    97236    $9 = 1;
    97237   }
    97238   $67 = $5;
    97239   $68 = ((($67)) + 4|0);
    97240   $69 = HEAP32[$68>>2]|0;
    97241   $5 = $69;
    97242  }
    97243  $70 = $9;
    97244  $71 = ($70|0)>(0);
    97245  if ($71) {
    97246   $72 = $8;
    97247   $73 = (($72) + 1)|0;
    97248   $8 = $73;
    97249   $74 = $6;
    97250   $75 = ($74<<24>>24)!=(0);
    97251   if ($75) {
    97252    $76 = $4;
    97253    _gen_send_intern($76);
    97254   }
    97255  }
    97256  $77 = $8;
    97257  $78 = $4;
    97258  $79 = ((($78)) + 172|0);
    97259  $80 = HEAP32[$79>>2]|0;
    97260  $81 = (($80) - ($77))|0;
    97261  HEAP32[$79>>2] = $81;
    97262  $82 = $4;
    97263  $83 = $4;
    97264  $84 = ((($83)) + 172|0);
    97265  $85 = HEAP32[$84>>2]|0;
    97266  $86 = $85 & 511;
    97267  $87 = $86 << 23;
    97268  $88 = 55 | $87;
    97269  $89 = $4;
    97270  $90 = ((($89)) + 172|0);
    97271  $91 = HEAP32[$90>>2]|0;
    97272  $92 = $91 & 511;
    97273  $93 = $92 << 14;
    97274  $94 = $88 | $93;
    97275  $95 = $8;
    97276  $96 = $95 & 127;
    97277  $97 = $96 << 7;
    97278  $98 = $94 | $97;
    97279  (_genop($82,$98)|0);
    97280  $99 = $4;
    97281  _push_($99);
    97282  STACKTOP = sp;return;
    97283 }
    97284 function _gen_send_intern($0) {
    97285  $0 = $0|0;
    97286  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    97287  var $9 = 0, label = 0, sp = 0;
    97288  sp = STACKTOP;
    97289  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97290  $1 = $0;
    97291  $2 = $1;
    97292  $3 = ((($2)) + 172|0);
    97293  $4 = HEAP32[$3>>2]|0;
    97294  $5 = (($4) + -1)|0;
    97295  HEAP32[$3>>2] = $5;
    97296  $6 = $1;
    97297  $7 = $1;
    97298  $8 = ((($7)) + 172|0);
    97299  $9 = HEAP32[$8>>2]|0;
    97300  $10 = $9 & 511;
    97301  $11 = $10 << 23;
    97302  $12 = 32 | $11;
    97303  $13 = $1;
    97304  $14 = $1;
    97305  $15 = HEAP32[$14>>2]|0;
    97306  $16 = (_mrb_intern_static($15,69712,6)|0);
    97307  $17 = (_new_msym($13,$16)|0);
    97308  $18 = $17 & 511;
    97309  $19 = $18 << 14;
    97310  $20 = $12 | $19;
    97311  (_genop($6,$20)|0);
    97312  $21 = $1;
    97313  _push_($21);
    97314  STACKTOP = sp;return;
    97315 }
    97316 function _codegen_realloc($0,$1,$2) {
    97317  $0 = $0|0;
    97318  $1 = $1|0;
    97319  $2 = $2|0;
    97320  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    97321  sp = STACKTOP;
    97322  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97323  $3 = $0;
    97324  $4 = $1;
    97325  $5 = $2;
    97326  $6 = $3;
    97327  $7 = HEAP32[$6>>2]|0;
    97328  $8 = $4;
    97329  $9 = $5;
    97330  $10 = (_mrb_realloc_simple($7,$8,$9)|0);
    97331  $4 = $10;
    97332  $11 = $4;
    97333  $12 = ($11|0)==(0|0);
    97334  $13 = $5;
    97335  $14 = ($13>>>0)>(0);
    97336  $or$cond = $12 & $14;
    97337  if (!($or$cond)) {
    97338   $16 = $4;
    97339   STACKTOP = sp;return ($16|0);
    97340  }
    97341  $15 = $3;
    97342  _codegen_error($15,69719);
    97343  $16 = $4;
    97344  STACKTOP = sp;return ($16|0);
    97345 }
    97346 function _codegen_error($0,$1) {
    97347  $0 = $0|0;
    97348  $1 = $1|0;
    97349  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    97350  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0;
    97351  var $vararg_ptr2 = 0, label = 0, sp = 0;
    97352  sp = STACKTOP;
    97353  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    97354  $vararg_buffer3 = sp + 16|0;
    97355  $vararg_buffer = sp;
    97356  $2 = $0;
    97357  $3 = $1;
    97358  $5 = $2;
    97359  $6 = ($5|0)!=(0|0);
    97360  if (!($6)) {
    97361   STACKTOP = sp;return;
    97362  }
    97363  while(1) {
    97364   $7 = $2;
    97365   $8 = ((($7)) + 164|0);
    97366   $9 = HEAP32[$8>>2]|0;
    97367   $10 = ($9|0)!=(0|0);
    97368   $11 = $2;
    97369   if (!($10)) {
    97370    break;
    97371   }
    97372   $12 = ((($11)) + 164|0);
    97373   $13 = HEAP32[$12>>2]|0;
    97374   $4 = $13;
    97375   $14 = $2;
    97376   $15 = ((($14)) + 4|0);
    97377   $16 = HEAP32[$15>>2]|0;
    97378   _mrb_pool_close($16);
    97379   $17 = $4;
    97380   $2 = $17;
    97381  }
    97382  $18 = ((($11)) + 196|0);
    97383  $19 = HEAP32[$18>>2]|0;
    97384  $20 = ($19|0)!=(0|0);
    97385  if ($20) {
    97386   $21 = $2;
    97387   $22 = ((($21)) + 200|0);
    97388   $23 = HEAP16[$22>>1]|0;
    97389   $24 = $23&65535;
    97390   $25 = ($24|0)!=(0);
    97391   if ($25) {
    97392    $26 = HEAP32[637]|0;
    97393    $27 = $2;
    97394    $28 = ((($27)) + 196|0);
    97395    $29 = HEAP32[$28>>2]|0;
    97396    $30 = $2;
    97397    $31 = ((($30)) + 200|0);
    97398    $32 = HEAP16[$31>>1]|0;
    97399    $33 = $32&65535;
    97400    $34 = $3;
    97401    HEAP32[$vararg_buffer>>2] = $29;
    97402    $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    97403    HEAP32[$vararg_ptr1>>2] = $33;
    97404    $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    97405    HEAP32[$vararg_ptr2>>2] = $34;
    97406    (_fprintf($26,69731,$vararg_buffer)|0);
    97407    $37 = $2;
    97408    $38 = ((($37)) + 8|0);
    97409    _longjmp(($38|0),1);
    97410    // unreachable;
    97411   }
    97412  }
    97413  $35 = HEAP32[637]|0;
    97414  $36 = $3;
    97415  HEAP32[$vararg_buffer3>>2] = $36;
    97416  (_fprintf($35,69756,$vararg_buffer3)|0);
    97417  $37 = $2;
    97418  $38 = ((($37)) + 8|0);
    97419  _longjmp(($38|0),1);
    97420  // unreachable;
    97421 }
    97422 function _push_n_($0,$1) {
    97423  $0 = $0|0;
    97424  $1 = $1|0;
    97425  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    97426  var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    97427  sp = STACKTOP;
    97428  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97429  $2 = $0;
    97430  $3 = $1;
    97431  $4 = $2;
    97432  $5 = ((($4)) + 172|0);
    97433  $6 = HEAP32[$5>>2]|0;
    97434  $7 = $3;
    97435  $8 = (($6) + ($7))|0;
    97436  $9 = ($8>>>0)>(511);
    97437  if ($9) {
    97438   $10 = $2;
    97439   _codegen_error($10,69816);
    97440  }
    97441  $11 = $3;
    97442  $12 = $2;
    97443  $13 = ((($12)) + 172|0);
    97444  $14 = HEAP32[$13>>2]|0;
    97445  $15 = (($14) + ($11))|0;
    97446  HEAP32[$13>>2] = $15;
    97447  $16 = $2;
    97448  $17 = ((($16)) + 172|0);
    97449  $18 = HEAP32[$17>>2]|0;
    97450  $19 = $2;
    97451  $20 = ((($19)) + 234|0);
    97452  $21 = HEAP16[$20>>1]|0;
    97453  $22 = $21&65535;
    97454  $23 = ($18|0)>($22|0);
    97455  if (!($23)) {
    97456   STACKTOP = sp;return;
    97457  }
    97458  $24 = $2;
    97459  $25 = ((($24)) + 172|0);
    97460  $26 = HEAP32[$25>>2]|0;
    97461  $27 = $26&65535;
    97462  $28 = $2;
    97463  $29 = ((($28)) + 234|0);
    97464  HEAP16[$29>>1] = $27;
    97465  STACKTOP = sp;return;
    97466 }
    97467 function _scope_finish($0) {
    97468  $0 = $0|0;
    97469  var $$sink = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
    97470  var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
    97471  var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    97472  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
    97473  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
    97474  var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
    97475  var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
    97476  var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
    97477  sp = STACKTOP;
    97478  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    97479  $1 = $0;
    97480  $6 = $1;
    97481  $7 = HEAP32[$6>>2]|0;
    97482  $2 = $7;
    97483  $8 = $1;
    97484  $9 = ((($8)) + 216|0);
    97485  $10 = HEAP32[$9>>2]|0;
    97486  $3 = $10;
    97487  $11 = $3;
    97488  $12 = ((($11)) + 4|0);
    97489  HEAP8[$12>>0] = 0;
    97490  $13 = $1;
    97491  $14 = ((($13)) + 204|0);
    97492  $15 = HEAP32[$14>>2]|0;
    97493  $16 = ($15|0)!=(0|0);
    97494  if ($16) {
    97495   $17 = $1;
    97496   $18 = $1;
    97497   $19 = ((($18)) + 204|0);
    97498   $20 = HEAP32[$19>>2]|0;
    97499   $21 = $1;
    97500   $22 = ((($21)) + 176|0);
    97501   $23 = HEAP32[$22>>2]|0;
    97502   $24 = $23<<2;
    97503   $25 = (_codegen_realloc($17,$20,$24)|0);
    97504   $26 = $3;
    97505   $27 = ((($26)) + 8|0);
    97506   HEAP32[$27>>2] = $25;
    97507   $28 = $1;
    97508   $29 = ((($28)) + 176|0);
    97509   $30 = HEAP32[$29>>2]|0;
    97510   $31 = $3;
    97511   $32 = ((($31)) + 40|0);
    97512   HEAP32[$32>>2] = $30;
    97513   $33 = $1;
    97514   $34 = ((($33)) + 208|0);
    97515   $35 = HEAP32[$34>>2]|0;
    97516   $36 = ($35|0)!=(0|0);
    97517   if ($36) {
    97518    $37 = $1;
    97519    $38 = $1;
    97520    $39 = ((($38)) + 208|0);
    97521    $40 = HEAP32[$39>>2]|0;
    97522    $41 = $1;
    97523    $42 = ((($41)) + 176|0);
    97524    $43 = HEAP32[$42>>2]|0;
    97525    $44 = $43<<1;
    97526    $45 = (_codegen_realloc($37,$40,$44)|0);
    97527    $46 = $3;
    97528    $$sink = $45;$$sink2 = $46;
    97529   } else {
    97530    $47 = $3;
    97531    $$sink = 0;$$sink2 = $47;
    97532   }
    97533   $48 = ((($$sink2)) + 32|0);
    97534   HEAP32[$48>>2] = $$sink;
    97535  }
    97536  $49 = $1;
    97537  $50 = $3;
    97538  $51 = ((($50)) + 12|0);
    97539  $52 = HEAP32[$51>>2]|0;
    97540  $53 = $3;
    97541  $54 = ((($53)) + 44|0);
    97542  $55 = HEAP32[$54>>2]|0;
    97543  $56 = $55<<3;
    97544  $57 = (_codegen_realloc($49,$52,$56)|0);
    97545  $58 = $3;
    97546  $59 = ((($58)) + 12|0);
    97547  HEAP32[$59>>2] = $57;
    97548  $60 = $1;
    97549  $61 = $3;
    97550  $62 = ((($61)) + 16|0);
    97551  $63 = HEAP32[$62>>2]|0;
    97552  $64 = $3;
    97553  $65 = ((($64)) + 48|0);
    97554  $66 = HEAP32[$65>>2]|0;
    97555  $67 = $66<<2;
    97556  $68 = (_codegen_realloc($60,$63,$67)|0);
    97557  $69 = $3;
    97558  $70 = ((($69)) + 16|0);
    97559  HEAP32[$70>>2] = $68;
    97560  $71 = $1;
    97561  $72 = $3;
    97562  $73 = ((($72)) + 20|0);
    97563  $74 = HEAP32[$73>>2]|0;
    97564  $75 = $3;
    97565  $76 = ((($75)) + 52|0);
    97566  $77 = HEAP32[$76>>2]|0;
    97567  $78 = $77<<2;
    97568  $79 = (_codegen_realloc($71,$74,$78)|0);
    97569  $80 = $3;
    97570  $81 = ((($80)) + 20|0);
    97571  HEAP32[$81>>2] = $79;
    97572  $82 = $1;
    97573  $83 = ((($82)) + 196|0);
    97574  $84 = HEAP32[$83>>2]|0;
    97575  $85 = ($84|0)!=(0|0);
    97576  if (!($85)) {
    97577   $126 = $1;
    97578   $127 = ((($126)) + 232|0);
    97579   $128 = HEAP16[$127>>1]|0;
    97580   $129 = $3;
    97581   HEAP16[$129>>1] = $128;
    97582   $130 = $1;
    97583   $131 = ((($130)) + 234|0);
    97584   $132 = HEAP16[$131>>1]|0;
    97585   $133 = $3;
    97586   $134 = ((($133)) + 2|0);
    97587   HEAP16[$134>>1] = $132;
    97588   $135 = $2;
    97589   $136 = $1;
    97590   $137 = ((($136)) + 236|0);
    97591   $138 = HEAP32[$137>>2]|0;
    97592   _mrb_gc_arena_restore($135,$138);
    97593   $139 = $1;
    97594   $140 = ((($139)) + 4|0);
    97595   $141 = HEAP32[$140>>2]|0;
    97596   _mrb_pool_close($141);
    97597   STACKTOP = sp;return;
    97598  }
    97599  $86 = $1;
    97600  $87 = ((($86)) + 248|0);
    97601  $88 = HEAP32[$87>>2]|0;
    97602  $89 = $1;
    97603  $90 = ((($89)) + 244|0);
    97604  $91 = HEAP16[$90>>1]|0;
    97605  $92 = (_mrb_parser_get_filename($88,$91)|0);
    97606  $93 = $1;
    97607  $94 = ((($93)) + 216|0);
    97608  $95 = HEAP32[$94>>2]|0;
    97609  $96 = ((($95)) + 28|0);
    97610  HEAP32[$96>>2] = $92;
    97611  $97 = $2;
    97612  $98 = $1;
    97613  $99 = ((($98)) + 216|0);
    97614  $100 = HEAP32[$99>>2]|0;
    97615  $101 = $1;
    97616  $102 = ((($101)) + 240|0);
    97617  $103 = HEAP32[$102>>2]|0;
    97618  $104 = $1;
    97619  $105 = ((($104)) + 176|0);
    97620  $106 = HEAP32[$105>>2]|0;
    97621  (_mrb_debug_info_append_file($97,$100,$103,$106)|0);
    97622  $107 = $1;
    97623  $108 = ((($107)) + 196|0);
    97624  $109 = HEAP32[$108>>2]|0;
    97625  $110 = (_strlen($109)|0);
    97626  $4 = $110;
    97627  $111 = $1;
    97628  $112 = $4;
    97629  $113 = (($112) + 1)|0;
    97630  $114 = (_codegen_malloc($111,$113)|0);
    97631  $5 = $114;
    97632  $115 = $5;
    97633  $116 = $1;
    97634  $117 = ((($116)) + 196|0);
    97635  $118 = HEAP32[$117>>2]|0;
    97636  $119 = $4;
    97637  _memcpy(($115|0),($118|0),($119|0))|0;
    97638  $120 = $5;
    97639  $121 = $4;
    97640  $122 = (($120) + ($121)|0);
    97641  HEAP8[$122>>0] = 0;
    97642  $123 = $5;
    97643  $124 = $3;
    97644  $125 = ((($124)) + 28|0);
    97645  HEAP32[$125>>2] = $123;
    97646  $126 = $1;
    97647  $127 = ((($126)) + 232|0);
    97648  $128 = HEAP16[$127>>1]|0;
    97649  $129 = $3;
    97650  HEAP16[$129>>1] = $128;
    97651  $130 = $1;
    97652  $131 = ((($130)) + 234|0);
    97653  $132 = HEAP16[$131>>1]|0;
    97654  $133 = $3;
    97655  $134 = ((($133)) + 2|0);
    97656  HEAP16[$134>>1] = $132;
    97657  $135 = $2;
    97658  $136 = $1;
    97659  $137 = ((($136)) + 236|0);
    97660  $138 = HEAP32[$137>>2]|0;
    97661  _mrb_gc_arena_restore($135,$138);
    97662  $139 = $1;
    97663  $140 = ((($139)) + 4|0);
    97664  $141 = HEAP32[$140>>2]|0;
    97665  _mrb_pool_close($141);
    97666  STACKTOP = sp;return;
    97667 }
    97668 function _codegen_malloc($0,$1) {
    97669  $0 = $0|0;
    97670  $1 = $1|0;
    97671  var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    97672  sp = STACKTOP;
    97673  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97674  $2 = $0;
    97675  $3 = $1;
    97676  $5 = $2;
    97677  $6 = HEAP32[$5>>2]|0;
    97678  $7 = $3;
    97679  $8 = (_mrb_malloc_simple($6,$7)|0);
    97680  $4 = $8;
    97681  $9 = $4;
    97682  $10 = ($9|0)!=(0|0);
    97683  if ($10) {
    97684   $12 = $4;
    97685   STACKTOP = sp;return ($12|0);
    97686  }
    97687  $11 = $2;
    97688  _codegen_error($11,69861);
    97689  $12 = $4;
    97690  STACKTOP = sp;return ($12|0);
    97691 }
    97692 function _node_len($0) {
    97693  $0 = $0|0;
    97694  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    97695  sp = STACKTOP;
    97696  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97697  $1 = $0;
    97698  $2 = 0;
    97699  while(1) {
    97700   $3 = $1;
    97701   $4 = ($3|0)!=(0|0);
    97702   $5 = $2;
    97703   if (!($4)) {
    97704    break;
    97705   }
    97706   $6 = (($5) + 1)|0;
    97707   $2 = $6;
    97708   $7 = $1;
    97709   $8 = ((($7)) + 4|0);
    97710   $9 = HEAP32[$8>>2]|0;
    97711   $1 = $9;
    97712  }
    97713  STACKTOP = sp;return ($5|0);
    97714 }
    97715 function _no_optimize($0) {
    97716  $0 = $0|0;
    97717  var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    97718  sp = STACKTOP;
    97719  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97720  $2 = $0;
    97721  $3 = $2;
    97722  $4 = ($3|0)!=(0|0);
    97723  if ($4) {
    97724   $5 = $2;
    97725   $6 = ((($5)) + 248|0);
    97726   $7 = HEAP32[$6>>2]|0;
    97727   $8 = ($7|0)!=(0|0);
    97728   if ($8) {
    97729    $9 = $2;
    97730    $10 = ((($9)) + 248|0);
    97731    $11 = HEAP32[$10>>2]|0;
    97732    $12 = ((($11)) + 1148|0);
    97733    $13 = HEAP8[$12>>0]|0;
    97734    $14 = $13 & 1;
    97735    $15 = $14&255;
    97736    $16 = ($15|0)!=(0);
    97737    if ($16) {
    97738     $1 = 1;
    97739     $17 = $1;
    97740     STACKTOP = sp;return ($17|0);
    97741    }
    97742   }
    97743  }
    97744  $1 = 0;
    97745  $17 = $1;
    97746  STACKTOP = sp;return ($17|0);
    97747 }
    97748 function _attrsym($0,$1) {
    97749  $0 = $0|0;
    97750  $1 = $1|0;
    97751  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    97752  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    97753  sp = STACKTOP;
    97754  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    97755  $5 = sp + 4|0;
    97756  $2 = $0;
    97757  $3 = $1;
    97758  $7 = $2;
    97759  $8 = HEAP32[$7>>2]|0;
    97760  $9 = $3;
    97761  $10 = (_mrb_sym2name_len($8,$9,$5)|0);
    97762  $4 = $10;
    97763  $11 = $2;
    97764  $12 = HEAP32[$5>>2]|0;
    97765  $13 = (($12) + 1)|0;
    97766  $14 = (($13) + 1)|0;
    97767  $15 = (_codegen_palloc($11,$14)|0);
    97768  $6 = $15;
    97769  $16 = $6;
    97770  $17 = $4;
    97771  $18 = HEAP32[$5>>2]|0;
    97772  _memcpy(($16|0),($17|0),($18|0))|0;
    97773  $19 = $6;
    97774  $20 = HEAP32[$5>>2]|0;
    97775  $21 = (($19) + ($20)|0);
    97776  HEAP8[$21>>0] = 61;
    97777  $22 = $6;
    97778  $23 = HEAP32[$5>>2]|0;
    97779  $24 = (($23) + 1)|0;
    97780  $25 = (($22) + ($24)|0);
    97781  HEAP8[$25>>0] = 0;
    97782  $26 = $2;
    97783  $27 = HEAP32[$26>>2]|0;
    97784  $28 = $6;
    97785  $29 = HEAP32[$5>>2]|0;
    97786  $30 = (($29) + 1)|0;
    97787  $31 = (_mrb_intern($27,$28,$30)|0);
    97788  STACKTOP = sp;return ($31|0);
    97789 }
    97790 function _codegen_palloc($0,$1) {
    97791  $0 = $0|0;
    97792  $1 = $1|0;
    97793  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    97794  sp = STACKTOP;
    97795  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97796  $2 = $0;
    97797  $3 = $1;
    97798  $5 = $2;
    97799  $6 = ((($5)) + 4|0);
    97800  $7 = HEAP32[$6>>2]|0;
    97801  $8 = $3;
    97802  $9 = (_mrb_pool_alloc($7,$8)|0);
    97803  $4 = $9;
    97804  $10 = $4;
    97805  $11 = ($10|0)!=(0|0);
    97806  if ($11) {
    97807   $13 = $4;
    97808   STACKTOP = sp;return ($13|0);
    97809  }
    97810  $12 = $2;
    97811  _codegen_error($12,69888);
    97812  $13 = $4;
    97813  STACKTOP = sp;return ($13|0);
    97814 }
    97815 function _scope_error($0) {
    97816  $0 = $0|0;
    97817  var $1 = 0, label = 0, sp = 0;
    97818  sp = STACKTOP;
    97819  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97820  $1 = $0;
    97821  _exit(1);
    97822  // unreachable;
    97823 }
    97824 function _scope_add_irep($0,$1) {
    97825  $0 = $0|0;
    97826  $1 = $1|0;
    97827  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    97828  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    97829  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    97830  sp = STACKTOP;
    97831  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97832  $2 = $0;
    97833  $3 = $1;
    97834  $4 = $2;
    97835  $5 = ((($4)) + 216|0);
    97836  $6 = HEAP32[$5>>2]|0;
    97837  $7 = ($6|0)==(0|0);
    97838  if ($7) {
    97839   $8 = $3;
    97840   $9 = $2;
    97841   $10 = ((($9)) + 216|0);
    97842   HEAP32[$10>>2] = $8;
    97843   STACKTOP = sp;return;
    97844  }
    97845  $11 = $2;
    97846  $12 = ((($11)) + 216|0);
    97847  $13 = HEAP32[$12>>2]|0;
    97848  $14 = ((($13)) + 52|0);
    97849  $15 = HEAP32[$14>>2]|0;
    97850  $16 = $2;
    97851  $17 = ((($16)) + 228|0);
    97852  $18 = HEAP32[$17>>2]|0;
    97853  $19 = ($15|0)==($18|0);
    97854  if ($19) {
    97855   $20 = $2;
    97856   $21 = ((($20)) + 228|0);
    97857   $22 = HEAP32[$21>>2]|0;
    97858   $23 = $22<<1;
    97859   HEAP32[$21>>2] = $23;
    97860   $24 = $2;
    97861   $25 = $2;
    97862   $26 = ((($25)) + 216|0);
    97863   $27 = HEAP32[$26>>2]|0;
    97864   $28 = ((($27)) + 20|0);
    97865   $29 = HEAP32[$28>>2]|0;
    97866   $30 = $2;
    97867   $31 = ((($30)) + 228|0);
    97868   $32 = HEAP32[$31>>2]|0;
    97869   $33 = $32<<2;
    97870   $34 = (_codegen_realloc($24,$29,$33)|0);
    97871   $35 = $2;
    97872   $36 = ((($35)) + 216|0);
    97873   $37 = HEAP32[$36>>2]|0;
    97874   $38 = ((($37)) + 20|0);
    97875   HEAP32[$38>>2] = $34;
    97876  }
    97877  $39 = $3;
    97878  $40 = $2;
    97879  $41 = ((($40)) + 216|0);
    97880  $42 = HEAP32[$41>>2]|0;
    97881  $43 = ((($42)) + 20|0);
    97882  $44 = HEAP32[$43>>2]|0;
    97883  $45 = $2;
    97884  $46 = ((($45)) + 216|0);
    97885  $47 = HEAP32[$46>>2]|0;
    97886  $48 = ((($47)) + 52|0);
    97887  $49 = HEAP32[$48>>2]|0;
    97888  $50 = (($44) + ($49<<2)|0);
    97889  HEAP32[$50>>2] = $39;
    97890  $51 = $2;
    97891  $52 = ((($51)) + 216|0);
    97892  $53 = HEAP32[$52>>2]|0;
    97893  $54 = ((($53)) + 52|0);
    97894  $55 = HEAP32[$54>>2]|0;
    97895  $56 = (($55) + 1)|0;
    97896  HEAP32[$54>>2] = $56;
    97897  STACKTOP = sp;return;
    97898 }
    97899 function _mrb_init_comparable($0) {
    97900  $0 = $0|0;
    97901  var $1 = 0, $2 = 0, label = 0, sp = 0;
    97902  sp = STACKTOP;
    97903  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97904  $1 = $0;
    97905  $2 = $1;
    97906  (_mrb_define_module($2,69967)|0);
    97907  STACKTOP = sp;return;
    97908 }
    97909 function _mrb_init_enumerable($0) {
    97910  $0 = $0|0;
    97911  var $1 = 0, $2 = 0, label = 0, sp = 0;
    97912  sp = STACKTOP;
    97913  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97914  $1 = $0;
    97915  $2 = $1;
    97916  (_mrb_define_module($2,69978)|0);
    97917  STACKTOP = sp;return;
    97918 }
    97919 function _emscripten_get_global_libc() {
    97920  var label = 0, sp = 0;
    97921  sp = STACKTOP;
    97922  return (75192|0);
    97923 }
    97924 function ___stdio_close($0) {
    97925  $0 = $0|0;
    97926  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
    97927  sp = STACKTOP;
    97928  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    97929  $vararg_buffer = sp;
    97930  $1 = ((($0)) + 60|0);
    97931  $2 = HEAP32[$1>>2]|0;
    97932  $3 = (_dummy_738($2)|0);
    97933  HEAP32[$vararg_buffer>>2] = $3;
    97934  $4 = (___syscall6(6,($vararg_buffer|0))|0);
    97935  $5 = (___syscall_ret($4)|0);
    97936  STACKTOP = sp;return ($5|0);
    97937 }
    97938 function ___stdio_write($0,$1,$2) {
    97939  $0 = $0|0;
    97940  $1 = $1|0;
    97941  $2 = $2|0;
    97942  var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
    97943  var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
    97944  var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0;
    97945  var $vararg_ptr7 = 0, label = 0, sp = 0;
    97946  sp = STACKTOP;
    97947  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    97948  $vararg_buffer3 = sp + 16|0;
    97949  $vararg_buffer = sp;
    97950  $3 = sp + 32|0;
    97951  $4 = ((($0)) + 28|0);
    97952  $5 = HEAP32[$4>>2]|0;
    97953  HEAP32[$3>>2] = $5;
    97954  $6 = ((($3)) + 4|0);
    97955  $7 = ((($0)) + 20|0);
    97956  $8 = HEAP32[$7>>2]|0;
    97957  $9 = (($8) - ($5))|0;
    97958  HEAP32[$6>>2] = $9;
    97959  $10 = ((($3)) + 8|0);
    97960  HEAP32[$10>>2] = $1;
    97961  $11 = ((($3)) + 12|0);
    97962  HEAP32[$11>>2] = $2;
    97963  $12 = (($9) + ($2))|0;
    97964  $13 = ((($0)) + 60|0);
    97965  $14 = HEAP32[$13>>2]|0;
    97966  $15 = $3;
    97967  HEAP32[$vararg_buffer>>2] = $14;
    97968  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    97969  HEAP32[$vararg_ptr1>>2] = $15;
    97970  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    97971  HEAP32[$vararg_ptr2>>2] = 2;
    97972  $16 = (___syscall146(146,($vararg_buffer|0))|0);
    97973  $17 = (___syscall_ret($16)|0);
    97974  $18 = ($12|0)==($17|0);
    97975  L1: do {
    97976   if ($18) {
    97977    label = 3;
    97978   } else {
    97979    $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17;
    97980    while(1) {
    97981     $25 = ($26|0)<(0);
    97982     if ($25) {
    97983      break;
    97984     }
    97985     $34 = (($$04855) - ($26))|0;
    97986     $35 = ((($$04954)) + 4|0);
    97987     $36 = HEAP32[$35>>2]|0;
    97988     $37 = ($26>>>0)>($36>>>0);
    97989     $38 = ((($$04954)) + 8|0);
    97990     $$150 = $37 ? $38 : $$04954;
    97991     $39 = $37 << 31 >> 31;
    97992     $$1 = (($39) + ($$04756))|0;
    97993     $40 = $37 ? $36 : 0;
    97994     $$0 = (($26) - ($40))|0;
    97995     $41 = HEAP32[$$150>>2]|0;
    97996     $42 = (($41) + ($$0)|0);
    97997     HEAP32[$$150>>2] = $42;
    97998     $43 = ((($$150)) + 4|0);
    97999     $44 = HEAP32[$43>>2]|0;
    98000     $45 = (($44) - ($$0))|0;
    98001     HEAP32[$43>>2] = $45;
    98002     $46 = HEAP32[$13>>2]|0;
    98003     $47 = $$150;
    98004     HEAP32[$vararg_buffer3>>2] = $46;
    98005     $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
    98006     HEAP32[$vararg_ptr6>>2] = $47;
    98007     $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
    98008     HEAP32[$vararg_ptr7>>2] = $$1;
    98009     $48 = (___syscall146(146,($vararg_buffer3|0))|0);
    98010     $49 = (___syscall_ret($48)|0);
    98011     $50 = ($34|0)==($49|0);
    98012     if ($50) {
    98013      label = 3;
    98014      break L1;
    98015     } else {
    98016      $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49;
    98017     }
    98018    }
    98019    $27 = ((($0)) + 16|0);
    98020    HEAP32[$27>>2] = 0;
    98021    HEAP32[$4>>2] = 0;
    98022    HEAP32[$7>>2] = 0;
    98023    $28 = HEAP32[$0>>2]|0;
    98024    $29 = $28 | 32;
    98025    HEAP32[$0>>2] = $29;
    98026    $30 = ($$04756|0)==(2);
    98027    if ($30) {
    98028     $$051 = 0;
    98029    } else {
    98030     $31 = ((($$04954)) + 4|0);
    98031     $32 = HEAP32[$31>>2]|0;
    98032     $33 = (($2) - ($32))|0;
    98033     $$051 = $33;
    98034    }
    98035   }
    98036  } while(0);
    98037  if ((label|0) == 3) {
    98038   $19 = ((($0)) + 44|0);
    98039   $20 = HEAP32[$19>>2]|0;
    98040   $21 = ((($0)) + 48|0);
    98041   $22 = HEAP32[$21>>2]|0;
    98042   $23 = (($20) + ($22)|0);
    98043   $24 = ((($0)) + 16|0);
    98044   HEAP32[$24>>2] = $23;
    98045   HEAP32[$4>>2] = $20;
    98046   HEAP32[$7>>2] = $20;
    98047   $$051 = $2;
    98048  }
    98049  STACKTOP = sp;return ($$051|0);
    98050 }
    98051 function ___stdio_seek($0,$1,$2) {
    98052  $0 = $0|0;
    98053  $1 = $1|0;
    98054  $2 = $2|0;
    98055  var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
    98056  sp = STACKTOP;
    98057  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    98058  $vararg_buffer = sp;
    98059  $3 = sp + 20|0;
    98060  $4 = ((($0)) + 60|0);
    98061  $5 = HEAP32[$4>>2]|0;
    98062  $6 = $3;
    98063  HEAP32[$vararg_buffer>>2] = $5;
    98064  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    98065  HEAP32[$vararg_ptr1>>2] = 0;
    98066  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    98067  HEAP32[$vararg_ptr2>>2] = $1;
    98068  $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
    98069  HEAP32[$vararg_ptr3>>2] = $6;
    98070  $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
    98071  HEAP32[$vararg_ptr4>>2] = $2;
    98072  $7 = (___syscall140(140,($vararg_buffer|0))|0);
    98073  $8 = (___syscall_ret($7)|0);
    98074  $9 = ($8|0)<(0);
    98075  if ($9) {
    98076   HEAP32[$3>>2] = -1;
    98077   $10 = -1;
    98078  } else {
    98079   $$pre = HEAP32[$3>>2]|0;
    98080   $10 = $$pre;
    98081  }
    98082  STACKTOP = sp;return ($10|0);
    98083 }
    98084 function ___syscall_ret($0) {
    98085  $0 = $0|0;
    98086  var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    98087  sp = STACKTOP;
    98088  $1 = ($0>>>0)>(4294963200);
    98089  if ($1) {
    98090   $2 = (0 - ($0))|0;
    98091   $3 = (___errno_location()|0);
    98092   HEAP32[$3>>2] = $2;
    98093   $$0 = -1;
    98094  } else {
    98095   $$0 = $0;
    98096  }
    98097  return ($$0|0);
    98098 }
    98099 function ___errno_location() {
    98100  var $0 = 0, $1 = 0, label = 0, sp = 0;
    98101  sp = STACKTOP;
    98102  $0 = (___pthread_self_108()|0);
    98103  $1 = ((($0)) + 64|0);
    98104  return ($1|0);
    98105 }
    98106 function ___pthread_self_108() {
    98107  var $0 = 0, label = 0, sp = 0;
    98108  sp = STACKTOP;
    98109  $0 = (_pthread_self()|0);
    98110  return ($0|0);
    98111 }
    98112 function _pthread_self() {
    98113  var label = 0, sp = 0;
    98114  sp = STACKTOP;
    98115  return (2676|0);
    98116 }
    98117 function _dummy_738($0) {
    98118  $0 = $0|0;
    98119  var label = 0, sp = 0;
    98120  sp = STACKTOP;
    98121  return ($0|0);
    98122 }
    98123 function ___stdio_read($0,$1,$2) {
    98124  $0 = $0|0;
    98125  $1 = $1|0;
    98126  $2 = $2|0;
    98127  var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    98128  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    98129  sp = STACKTOP;
    98130  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    98131  $vararg_buffer = sp;
    98132  $3 = sp + 16|0;
    98133  HEAP32[$3>>2] = $1;
    98134  $4 = ((($3)) + 4|0);
    98135  $5 = ((($0)) + 48|0);
    98136  $6 = HEAP32[$5>>2]|0;
    98137  $7 = ($6|0)!=(0);
    98138  $8 = $7&1;
    98139  $9 = (($2) - ($8))|0;
    98140  HEAP32[$4>>2] = $9;
    98141  $10 = ((($3)) + 8|0);
    98142  $11 = ((($0)) + 44|0);
    98143  $12 = HEAP32[$11>>2]|0;
    98144  HEAP32[$10>>2] = $12;
    98145  $13 = ((($3)) + 12|0);
    98146  HEAP32[$13>>2] = $6;
    98147  $14 = ((($0)) + 60|0);
    98148  $15 = HEAP32[$14>>2]|0;
    98149  $16 = $3;
    98150  HEAP32[$vararg_buffer>>2] = $15;
    98151  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    98152  HEAP32[$vararg_ptr1>>2] = $16;
    98153  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    98154  HEAP32[$vararg_ptr2>>2] = 2;
    98155  $17 = (___syscall145(145,($vararg_buffer|0))|0);
    98156  $18 = (___syscall_ret($17)|0);
    98157  $19 = ($18|0)<(1);
    98158  if ($19) {
    98159   $20 = $18 & 48;
    98160   $21 = $20 ^ 16;
    98161   $22 = HEAP32[$0>>2]|0;
    98162   $23 = $22 | $21;
    98163   HEAP32[$0>>2] = $23;
    98164   $$0 = $18;
    98165  } else {
    98166   $24 = HEAP32[$4>>2]|0;
    98167   $25 = ($18>>>0)>($24>>>0);
    98168   if ($25) {
    98169    $26 = (($18) - ($24))|0;
    98170    $27 = HEAP32[$11>>2]|0;
    98171    $28 = ((($0)) + 4|0);
    98172    HEAP32[$28>>2] = $27;
    98173    $29 = (($27) + ($26)|0);
    98174    $30 = ((($0)) + 8|0);
    98175    HEAP32[$30>>2] = $29;
    98176    $31 = HEAP32[$5>>2]|0;
    98177    $32 = ($31|0)==(0);
    98178    if ($32) {
    98179     $$0 = $2;
    98180    } else {
    98181     $33 = ((($27)) + 1|0);
    98182     HEAP32[$28>>2] = $33;
    98183     $34 = HEAP8[$27>>0]|0;
    98184     $35 = (($2) + -1)|0;
    98185     $36 = (($1) + ($35)|0);
    98186     HEAP8[$36>>0] = $34;
    98187     $$0 = $2;
    98188    }
    98189   } else {
    98190    $$0 = $18;
    98191   }
    98192  }
    98193  STACKTOP = sp;return ($$0|0);
    98194 }
    98195 function ___stdout_write($0,$1,$2) {
    98196  $0 = $0|0;
    98197  $1 = $1|0;
    98198  $2 = $2|0;
    98199  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
    98200  sp = STACKTOP;
    98201  STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
    98202  $vararg_buffer = sp;
    98203  $3 = sp + 16|0;
    98204  $4 = ((($0)) + 36|0);
    98205  HEAP32[$4>>2] = 2;
    98206  $5 = HEAP32[$0>>2]|0;
    98207  $6 = $5 & 64;
    98208  $7 = ($6|0)==(0);
    98209  if ($7) {
    98210   $8 = ((($0)) + 60|0);
    98211   $9 = HEAP32[$8>>2]|0;
    98212   $10 = $3;
    98213   HEAP32[$vararg_buffer>>2] = $9;
    98214   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    98215   HEAP32[$vararg_ptr1>>2] = 21523;
    98216   $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    98217   HEAP32[$vararg_ptr2>>2] = $10;
    98218   $11 = (___syscall54(54,($vararg_buffer|0))|0);
    98219   $12 = ($11|0)==(0);
    98220   if (!($12)) {
    98221    $13 = ((($0)) + 75|0);
    98222    HEAP8[$13>>0] = -1;
    98223   }
    98224  }
    98225  $14 = (___stdio_write($0,$1,$2)|0);
    98226  STACKTOP = sp;return ($14|0);
    98227 }
    98228 function _tolower($0) {
    98229  $0 = $0|0;
    98230  var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    98231  sp = STACKTOP;
    98232  $1 = (_isupper($0)|0);
    98233  $2 = ($1|0)==(0);
    98234  $3 = $0 | 32;
    98235  $$0 = $2 ? $0 : $3;
    98236  return ($$0|0);
    98237 }
    98238 function _isupper($0) {
    98239  $0 = $0|0;
    98240  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    98241  sp = STACKTOP;
    98242  $1 = (($0) + -65)|0;
    98243  $2 = ($1>>>0)<(26);
    98244  $3 = $2&1;
    98245  return ($3|0);
    98246 }
    98247 function _strtox_768($0,$1,$2,$3,$4) {
    98248  $0 = $0|0;
    98249  $1 = $1|0;
    98250  $2 = $2|0;
    98251  $3 = $3|0;
    98252  $4 = $4|0;
    98253  var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    98254  sp = STACKTOP;
    98255  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    98256  $5 = sp;
    98257  HEAP32[$5>>2] = 0;
    98258  $6 = ((($5)) + 4|0);
    98259  HEAP32[$6>>2] = $0;
    98260  $7 = ((($5)) + 44|0);
    98261  HEAP32[$7>>2] = $0;
    98262  $8 = ($0|0)<(0|0);
    98263  $9 = ((($0)) + 2147483647|0);
    98264  $$sink = $8 ? (-1) : $9;
    98265  $10 = ((($5)) + 8|0);
    98266  HEAP32[$10>>2] = $$sink;
    98267  $11 = ((($5)) + 76|0);
    98268  HEAP32[$11>>2] = -1;
    98269  ___shlim($5,0);
    98270  $12 = (___intscan($5,$2,1,$3,$4)|0);
    98271  $13 = tempRet0;
    98272  $14 = ($1|0)==(0|0);
    98273  if (!($14)) {
    98274   $15 = ((($5)) + 108|0);
    98275   $16 = HEAP32[$15>>2]|0;
    98276   $17 = HEAP32[$6>>2]|0;
    98277   $18 = HEAP32[$10>>2]|0;
    98278   $19 = (($17) + ($16))|0;
    98279   $20 = (($19) - ($18))|0;
    98280   $21 = (($0) + ($20)|0);
    98281   HEAP32[$1>>2] = $21;
    98282  }
    98283  tempRet0 = ($13);
    98284  STACKTOP = sp;return ($12|0);
    98285 }
    98286 function ___shlim($0,$1) {
    98287  $0 = $0|0;
    98288  $1 = $1|0;
    98289  var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    98290  sp = STACKTOP;
    98291  $2 = ((($0)) + 104|0);
    98292  HEAP32[$2>>2] = $1;
    98293  $3 = ((($0)) + 8|0);
    98294  $4 = HEAP32[$3>>2]|0;
    98295  $5 = ((($0)) + 4|0);
    98296  $6 = HEAP32[$5>>2]|0;
    98297  $7 = $4;
    98298  $8 = $6;
    98299  $9 = (($7) - ($8))|0;
    98300  $10 = ((($0)) + 108|0);
    98301  HEAP32[$10>>2] = $9;
    98302  $11 = ($1|0)!=(0);
    98303  $12 = ($9|0)>($1|0);
    98304  $or$cond = $11 & $12;
    98305  $13 = (($6) + ($1)|0);
    98306  $$sink = $or$cond ? $13 : $4;
    98307  $14 = ((($0)) + 100|0);
    98308  HEAP32[$14>>2] = $$sink;
    98309  return;
    98310 }
    98311 function ___intscan($0,$1,$2,$3,$4) {
    98312  $0 = $0|0;
    98313  $1 = $1|0;
    98314  $2 = $2|0;
    98315  $3 = $3|0;
    98316  $4 = $4|0;
    98317  var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0;
    98318  var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
    98319  var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
    98320  var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
    98321  var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
    98322  var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
    98323  var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
    98324  var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
    98325  var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
    98326  var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
    98327  var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
    98328  var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0;
    98329  var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    98330  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
    98331  var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
    98332  var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0;
    98333  var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0;
    98334  sp = STACKTOP;
    98335  $5 = ($1>>>0)>(36);
    98336  L1: do {
    98337   if ($5) {
    98338    $8 = (___errno_location()|0);
    98339    HEAP32[$8>>2] = 22;
    98340    $289 = 0;$290 = 0;
    98341   } else {
    98342    $6 = ((($0)) + 4|0);
    98343    $7 = ((($0)) + 100|0);
    98344    while(1) {
    98345     $9 = HEAP32[$6>>2]|0;
    98346     $10 = HEAP32[$7>>2]|0;
    98347     $11 = ($9>>>0)<($10>>>0);
    98348     if ($11) {
    98349      $12 = ((($9)) + 1|0);
    98350      HEAP32[$6>>2] = $12;
    98351      $13 = HEAP8[$9>>0]|0;
    98352      $14 = $13&255;
    98353      $16 = $14;
    98354     } else {
    98355      $15 = (___shgetc($0)|0);
    98356      $16 = $15;
    98357     }
    98358     $17 = (_isspace($16)|0);
    98359     $18 = ($17|0)==(0);
    98360     if ($18) {
    98361      break;
    98362     }
    98363    }
    98364    L11: do {
    98365     switch ($16|0) {
    98366     case 43: case 45:  {
    98367      $19 = ($16|0)==(45);
    98368      $20 = $19 << 31 >> 31;
    98369      $21 = HEAP32[$6>>2]|0;
    98370      $22 = HEAP32[$7>>2]|0;
    98371      $23 = ($21>>>0)<($22>>>0);
    98372      if ($23) {
    98373       $24 = ((($21)) + 1|0);
    98374       HEAP32[$6>>2] = $24;
    98375       $25 = HEAP8[$21>>0]|0;
    98376       $26 = $25&255;
    98377       $$0157 = $20;$$0159 = $26;
    98378       break L11;
    98379      } else {
    98380       $27 = (___shgetc($0)|0);
    98381       $$0157 = $20;$$0159 = $27;
    98382       break L11;
    98383      }
    98384      break;
    98385     }
    98386     default: {
    98387      $$0157 = 0;$$0159 = $16;
    98388     }
    98389     }
    98390    } while(0);
    98391    $28 = ($1|0)==(0);
    98392    $29 = $1 | 16;
    98393    $30 = ($29|0)==(16);
    98394    $31 = ($$0159|0)==(48);
    98395    $or$cond5 = $30 & $31;
    98396    do {
    98397     if ($or$cond5) {
    98398      $32 = HEAP32[$6>>2]|0;
    98399      $33 = HEAP32[$7>>2]|0;
    98400      $34 = ($32>>>0)<($33>>>0);
    98401      if ($34) {
    98402       $35 = ((($32)) + 1|0);
    98403       HEAP32[$6>>2] = $35;
    98404       $36 = HEAP8[$32>>0]|0;
    98405       $37 = $36&255;
    98406       $40 = $37;
    98407      } else {
    98408       $38 = (___shgetc($0)|0);
    98409       $40 = $38;
    98410      }
    98411      $39 = $40 | 32;
    98412      $41 = ($39|0)==(120);
    98413      if (!($41)) {
    98414       if ($28) {
    98415        $$1160169 = $40;$$1165168 = 8;
    98416        label = 46;
    98417        break;
    98418       } else {
    98419        $$1160 = $40;$$1165 = $1;
    98420        label = 32;
    98421        break;
    98422       }
    98423      }
    98424      $42 = HEAP32[$6>>2]|0;
    98425      $43 = HEAP32[$7>>2]|0;
    98426      $44 = ($42>>>0)<($43>>>0);
    98427      if ($44) {
    98428       $45 = ((($42)) + 1|0);
    98429       HEAP32[$6>>2] = $45;
    98430       $46 = HEAP8[$42>>0]|0;
    98431       $47 = $46&255;
    98432       $50 = $47;
    98433      } else {
    98434       $48 = (___shgetc($0)|0);
    98435       $50 = $48;
    98436      }
    98437      $49 = ((69990) + ($50)|0);
    98438      $51 = HEAP8[$49>>0]|0;
    98439      $52 = ($51&255)>(15);
    98440      if ($52) {
    98441       $53 = HEAP32[$7>>2]|0;
    98442       $54 = ($53|0)!=(0|0);
    98443       if ($54) {
    98444        $55 = HEAP32[$6>>2]|0;
    98445        $56 = ((($55)) + -1|0);
    98446        HEAP32[$6>>2] = $56;
    98447       }
    98448       $57 = ($2|0)==(0);
    98449       if ($57) {
    98450        ___shlim($0,0);
    98451        $289 = 0;$290 = 0;
    98452        break L1;
    98453       }
    98454       if (!($54)) {
    98455        $289 = 0;$290 = 0;
    98456        break L1;
    98457       }
    98458       $58 = HEAP32[$6>>2]|0;
    98459       $59 = ((($58)) + -1|0);
    98460       HEAP32[$6>>2] = $59;
    98461       $289 = 0;$290 = 0;
    98462       break L1;
    98463      } else {
    98464       $$1160169 = $50;$$1165168 = 16;
    98465       label = 46;
    98466      }
    98467     } else {
    98468      $$166 = $28 ? 10 : $1;
    98469      $60 = ((69990) + ($$0159)|0);
    98470      $61 = HEAP8[$60>>0]|0;
    98471      $62 = $61&255;
    98472      $63 = ($62>>>0)<($$166>>>0);
    98473      if ($63) {
    98474       $$1160 = $$0159;$$1165 = $$166;
    98475       label = 32;
    98476      } else {
    98477       $64 = HEAP32[$7>>2]|0;
    98478       $65 = ($64|0)==(0|0);
    98479       if (!($65)) {
    98480        $66 = HEAP32[$6>>2]|0;
    98481        $67 = ((($66)) + -1|0);
    98482        HEAP32[$6>>2] = $67;
    98483       }
    98484       ___shlim($0,0);
    98485       $68 = (___errno_location()|0);
    98486       HEAP32[$68>>2] = 22;
    98487       $289 = 0;$290 = 0;
    98488       break L1;
    98489      }
    98490     }
    98491    } while(0);
    98492    L43: do {
    98493     if ((label|0) == 32) {
    98494      $69 = ($$1165|0)==(10);
    98495      if ($69) {
    98496       $70 = (($$1160) + -48)|0;
    98497       $71 = ($70>>>0)<(10);
    98498       if ($71) {
    98499        $$0154222 = 0;$74 = $70;
    98500        while(1) {
    98501         $72 = ($$0154222*10)|0;
    98502         $73 = (($72) + ($74))|0;
    98503         $75 = HEAP32[$6>>2]|0;
    98504         $76 = HEAP32[$7>>2]|0;
    98505         $77 = ($75>>>0)<($76>>>0);
    98506         if ($77) {
    98507          $78 = ((($75)) + 1|0);
    98508          HEAP32[$6>>2] = $78;
    98509          $79 = HEAP8[$75>>0]|0;
    98510          $80 = $79&255;
    98511          $$2161$be = $80;
    98512         } else {
    98513          $81 = (___shgetc($0)|0);
    98514          $$2161$be = $81;
    98515         }
    98516         $82 = (($$2161$be) + -48)|0;
    98517         $83 = ($82>>>0)<(10);
    98518         $84 = ($73>>>0)<(429496729);
    98519         $85 = $83 & $84;
    98520         if ($85) {
    98521          $$0154222 = $73;$74 = $82;
    98522         } else {
    98523          break;
    98524         }
    98525        }
    98526        $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0;
    98527       } else {
    98528        $$2161$lcssa = $$1160;$291 = 0;$292 = 0;
    98529       }
    98530       $86 = (($$2161$lcssa) + -48)|0;
    98531       $87 = ($86>>>0)<(10);
    98532       if ($87) {
    98533        $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86;
    98534        while(1) {
    98535         $90 = (___muldi3(($88|0),($89|0),10,0)|0);
    98536         $91 = tempRet0;
    98537         $92 = ($93|0)<(0);
    98538         $94 = $92 << 31 >> 31;
    98539         $95 = $93 ^ -1;
    98540         $96 = $94 ^ -1;
    98541         $97 = ($91>>>0)>($96>>>0);
    98542         $98 = ($90>>>0)>($95>>>0);
    98543         $99 = ($91|0)==($96|0);
    98544         $100 = $99 & $98;
    98545         $101 = $97 | $100;
    98546         if ($101) {
    98547          $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89;
    98548          label = 72;
    98549          break L43;
    98550         }
    98551         $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0);
    98552         $103 = tempRet0;
    98553         $104 = HEAP32[$6>>2]|0;
    98554         $105 = HEAP32[$7>>2]|0;
    98555         $106 = ($104>>>0)<($105>>>0);
    98556         if ($106) {
    98557          $107 = ((($104)) + 1|0);
    98558          HEAP32[$6>>2] = $107;
    98559          $108 = HEAP8[$104>>0]|0;
    98560          $109 = $108&255;
    98561          $$3162$be = $109;
    98562         } else {
    98563          $110 = (___shgetc($0)|0);
    98564          $$3162$be = $110;
    98565         }
    98566         $111 = (($$3162$be) + -48)|0;
    98567         $112 = ($111>>>0)<(10);
    98568         $113 = ($103>>>0)<(429496729);
    98569         $114 = ($102>>>0)<(2576980378);
    98570         $115 = ($103|0)==(429496729);
    98571         $116 = $115 & $114;
    98572         $117 = $113 | $116;
    98573         $or$cond7 = $112 & $117;
    98574         if ($or$cond7) {
    98575          $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111;
    98576         } else {
    98577          break;
    98578         }
    98579        }
    98580        $118 = ($111>>>0)>(9);
    98581        if ($118) {
    98582         $$1158 = $$0157;$263 = $103;$265 = $102;
    98583        } else {
    98584         $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103;
    98585         label = 72;
    98586        }
    98587       } else {
    98588        $$1158 = $$0157;$263 = $292;$265 = $291;
    98589       }
    98590      } else {
    98591       $$1160169 = $$1160;$$1165168 = $$1165;
    98592       label = 46;
    98593      }
    98594     }
    98595    } while(0);
    98596    L63: do {
    98597     if ((label|0) == 46) {
    98598      $119 = (($$1165168) + -1)|0;
    98599      $120 = $119 & $$1165168;
    98600      $121 = ($120|0)==(0);
    98601      if ($121) {
    98602       $126 = ($$1165168*23)|0;
    98603       $127 = $126 >>> 5;
    98604       $128 = $127 & 7;
    98605       $129 = (70246 + ($128)|0);
    98606       $130 = HEAP8[$129>>0]|0;
    98607       $131 = $130 << 24 >> 24;
    98608       $132 = ((69990) + ($$1160169)|0);
    98609       $133 = HEAP8[$132>>0]|0;
    98610       $134 = $133&255;
    98611       $135 = ($134>>>0)<($$1165168>>>0);
    98612       if ($135) {
    98613        $$1155192 = 0;$138 = $134;
    98614        while(1) {
    98615         $136 = $$1155192 << $131;
    98616         $137 = $138 | $136;
    98617         $139 = HEAP32[$6>>2]|0;
    98618         $140 = HEAP32[$7>>2]|0;
    98619         $141 = ($139>>>0)<($140>>>0);
    98620         if ($141) {
    98621          $142 = ((($139)) + 1|0);
    98622          HEAP32[$6>>2] = $142;
    98623          $143 = HEAP8[$139>>0]|0;
    98624          $144 = $143&255;
    98625          $$4163$be = $144;
    98626         } else {
    98627          $145 = (___shgetc($0)|0);
    98628          $$4163$be = $145;
    98629         }
    98630         $146 = ((69990) + ($$4163$be)|0);
    98631         $147 = HEAP8[$146>>0]|0;
    98632         $148 = $147&255;
    98633         $149 = ($148>>>0)<($$1165168>>>0);
    98634         $150 = ($137>>>0)<(134217728);
    98635         $151 = $150 & $149;
    98636         if ($151) {
    98637          $$1155192 = $137;$138 = $148;
    98638         } else {
    98639          break;
    98640         }
    98641        }
    98642        $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137;
    98643       } else {
    98644        $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0;
    98645       }
    98646       $152 = (_bitshift64Lshr(-1,-1,($131|0))|0);
    98647       $153 = tempRet0;
    98648       $154 = $155&255;
    98649       $156 = ($154>>>0)>=($$1165168>>>0);
    98650       $157 = ($158>>>0)>($153>>>0);
    98651       $159 = ($160>>>0)>($152>>>0);
    98652       $161 = ($158|0)==($153|0);
    98653       $162 = $161 & $159;
    98654       $163 = $157 | $162;
    98655       $or$cond187 = $156 | $163;
    98656       if ($or$cond187) {
    98657        $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158;
    98658        label = 72;
    98659        break;
    98660       } else {
    98661        $164 = $160;$165 = $158;$169 = $155;
    98662       }
    98663       while(1) {
    98664        $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0);
    98665        $167 = tempRet0;
    98666        $168 = $169&255;
    98667        $170 = $168 | $166;
    98668        $171 = HEAP32[$6>>2]|0;
    98669        $172 = HEAP32[$7>>2]|0;
    98670        $173 = ($171>>>0)<($172>>>0);
    98671        if ($173) {
    98672         $174 = ((($171)) + 1|0);
    98673         HEAP32[$6>>2] = $174;
    98674         $175 = HEAP8[$171>>0]|0;
    98675         $176 = $175&255;
    98676         $$5$be = $176;
    98677        } else {
    98678         $177 = (___shgetc($0)|0);
    98679         $$5$be = $177;
    98680        }
    98681        $178 = ((69990) + ($$5$be)|0);
    98682        $179 = HEAP8[$178>>0]|0;
    98683        $180 = $179&255;
    98684        $181 = ($180>>>0)>=($$1165168>>>0);
    98685        $182 = ($167>>>0)>($153>>>0);
    98686        $183 = ($170>>>0)>($152>>>0);
    98687        $184 = ($167|0)==($153|0);
    98688        $185 = $184 & $183;
    98689        $186 = $182 | $185;
    98690        $or$cond = $181 | $186;
    98691        if ($or$cond) {
    98692         $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167;
    98693         label = 72;
    98694         break L63;
    98695        } else {
    98696         $164 = $170;$165 = $167;$169 = $179;
    98697        }
    98698       }
    98699      }
    98700      $122 = ((69990) + ($$1160169)|0);
    98701      $123 = HEAP8[$122>>0]|0;
    98702      $124 = $123&255;
    98703      $125 = ($124>>>0)<($$1165168>>>0);
    98704      if ($125) {
    98705       $$2156210 = 0;$189 = $124;
    98706       while(1) {
    98707        $187 = Math_imul($$2156210, $$1165168)|0;
    98708        $188 = (($189) + ($187))|0;
    98709        $190 = HEAP32[$6>>2]|0;
    98710        $191 = HEAP32[$7>>2]|0;
    98711        $192 = ($190>>>0)<($191>>>0);
    98712        if ($192) {
    98713         $193 = ((($190)) + 1|0);
    98714         HEAP32[$6>>2] = $193;
    98715         $194 = HEAP8[$190>>0]|0;
    98716         $195 = $194&255;
    98717         $$6$be = $195;
    98718        } else {
    98719         $196 = (___shgetc($0)|0);
    98720         $$6$be = $196;
    98721        }
    98722        $197 = ((69990) + ($$6$be)|0);
    98723        $198 = HEAP8[$197>>0]|0;
    98724        $199 = $198&255;
    98725        $200 = ($199>>>0)<($$1165168>>>0);
    98726        $201 = ($188>>>0)<(119304647);
    98727        $202 = $201 & $200;
    98728        if ($202) {
    98729         $$2156210 = $188;$189 = $199;
    98730        } else {
    98731         break;
    98732        }
    98733       }
    98734       $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0;
    98735      } else {
    98736       $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0;
    98737      }
    98738      $203 = $204&255;
    98739      $205 = ($203>>>0)<($$1165168>>>0);
    98740      if ($205) {
    98741       $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0);
    98742       $207 = tempRet0;
    98743       $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204;
    98744       while(1) {
    98745        $208 = ($209>>>0)>($207>>>0);
    98746        $210 = ($211>>>0)>($206>>>0);
    98747        $212 = ($209|0)==($207|0);
    98748        $213 = $212 & $210;
    98749        $214 = $208 | $213;
    98750        if ($214) {
    98751         $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209;
    98752         label = 72;
    98753         break L63;
    98754        }
    98755        $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0);
    98756        $216 = tempRet0;
    98757        $217 = $218&255;
    98758        $219 = $217 ^ -1;
    98759        $220 = ($216>>>0)>(4294967295);
    98760        $221 = ($215>>>0)>($219>>>0);
    98761        $222 = ($216|0)==(-1);
    98762        $223 = $222 & $221;
    98763        $224 = $220 | $223;
    98764        if ($224) {
    98765         $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209;
    98766         label = 72;
    98767         break L63;
    98768        }
    98769        $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0);
    98770        $226 = tempRet0;
    98771        $227 = HEAP32[$6>>2]|0;
    98772        $228 = HEAP32[$7>>2]|0;
    98773        $229 = ($227>>>0)<($228>>>0);
    98774        if ($229) {
    98775         $230 = ((($227)) + 1|0);
    98776         HEAP32[$6>>2] = $230;
    98777         $231 = HEAP8[$227>>0]|0;
    98778         $232 = $231&255;
    98779         $$7$be = $232;
    98780        } else {
    98781         $233 = (___shgetc($0)|0);
    98782         $$7$be = $233;
    98783        }
    98784        $234 = ((69990) + ($$7$be)|0);
    98785        $235 = HEAP8[$234>>0]|0;
    98786        $236 = $235&255;
    98787        $237 = ($236>>>0)<($$1165168>>>0);
    98788        if ($237) {
    98789         $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235;
    98790        } else {
    98791         $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226;
    98792         label = 72;
    98793         break;
    98794        }
    98795       }
    98796      } else {
    98797       $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296;
    98798       label = 72;
    98799      }
    98800     }
    98801    } while(0);
    98802    if ((label|0) == 72) {
    98803     $238 = ((69990) + ($$8)|0);
    98804     $239 = HEAP8[$238>>0]|0;
    98805     $240 = $239&255;
    98806     $241 = ($240>>>0)<($$1165167>>>0);
    98807     if ($241) {
    98808      while(1) {
    98809       $242 = HEAP32[$6>>2]|0;
    98810       $243 = HEAP32[$7>>2]|0;
    98811       $244 = ($242>>>0)<($243>>>0);
    98812       if ($244) {
    98813        $245 = ((($242)) + 1|0);
    98814        HEAP32[$6>>2] = $245;
    98815        $246 = HEAP8[$242>>0]|0;
    98816        $247 = $246&255;
    98817        $$9$be = $247;
    98818       } else {
    98819        $248 = (___shgetc($0)|0);
    98820        $$9$be = $248;
    98821       }
    98822       $249 = ((69990) + ($$9$be)|0);
    98823       $250 = HEAP8[$249>>0]|0;
    98824       $251 = $250&255;
    98825       $252 = ($251>>>0)<($$1165167>>>0);
    98826       if (!($252)) {
    98827        break;
    98828       }
    98829      }
    98830      $253 = (___errno_location()|0);
    98831      HEAP32[$253>>2] = 34;
    98832      $254 = $3 & 1;
    98833      $255 = ($254|0)==(0);
    98834      $256 = (0)==(0);
    98835      $257 = $255 & $256;
    98836      $$0157$ = $257 ? $$0157 : 0;
    98837      $$1158 = $$0157$;$263 = $4;$265 = $3;
    98838     } else {
    98839      $$1158 = $$0157;$263 = $294;$265 = $293;
    98840     }
    98841    }
    98842    $258 = HEAP32[$7>>2]|0;
    98843    $259 = ($258|0)==(0|0);
    98844    if (!($259)) {
    98845     $260 = HEAP32[$6>>2]|0;
    98846     $261 = ((($260)) + -1|0);
    98847     HEAP32[$6>>2] = $261;
    98848    }
    98849    $262 = ($263>>>0)<($4>>>0);
    98850    $264 = ($265>>>0)<($3>>>0);
    98851    $266 = ($263|0)==($4|0);
    98852    $267 = $266 & $264;
    98853    $268 = $262 | $267;
    98854    if (!($268)) {
    98855     $269 = $3 & 1;
    98856     $270 = ($269|0)!=(0);
    98857     $271 = (0)!=(0);
    98858     $272 = $270 | $271;
    98859     $273 = ($$1158|0)!=(0);
    98860     $or$cond12 = $272 | $273;
    98861     if (!($or$cond12)) {
    98862      $274 = (___errno_location()|0);
    98863      HEAP32[$274>>2] = 34;
    98864      $275 = (_i64Add(($3|0),($4|0),-1,-1)|0);
    98865      $276 = tempRet0;
    98866      $289 = $276;$290 = $275;
    98867      break;
    98868     }
    98869     $277 = ($263>>>0)>($4>>>0);
    98870     $278 = ($265>>>0)>($3>>>0);
    98871     $279 = ($263|0)==($4|0);
    98872     $280 = $279 & $278;
    98873     $281 = $277 | $280;
    98874     if ($281) {
    98875      $282 = (___errno_location()|0);
    98876      HEAP32[$282>>2] = 34;
    98877      $289 = $4;$290 = $3;
    98878      break;
    98879     }
    98880    }
    98881    $283 = ($$1158|0)<(0);
    98882    $284 = $283 << 31 >> 31;
    98883    $285 = $265 ^ $$1158;
    98884    $286 = $263 ^ $284;
    98885    $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0);
    98886    $288 = tempRet0;
    98887    $289 = $288;$290 = $287;
    98888   }
    98889  } while(0);
    98890  tempRet0 = ($289);
    98891  return ($290|0);
    98892 }
    98893 function ___shgetc($0) {
    98894  $0 = $0|0;
    98895  var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
    98896  var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
    98897  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    98898  sp = STACKTOP;
    98899  $1 = ((($0)) + 104|0);
    98900  $2 = HEAP32[$1>>2]|0;
    98901  $3 = ($2|0)==(0);
    98902  if ($3) {
    98903   label = 3;
    98904  } else {
    98905   $4 = ((($0)) + 108|0);
    98906   $5 = HEAP32[$4>>2]|0;
    98907   $6 = ($5|0)<($2|0);
    98908   if ($6) {
    98909    label = 3;
    98910   } else {
    98911    label = 4;
    98912   }
    98913  }
    98914  if ((label|0) == 3) {
    98915   $7 = (___uflow($0)|0);
    98916   $8 = ($7|0)<(0);
    98917   if ($8) {
    98918    label = 4;
    98919   } else {
    98920    $10 = HEAP32[$1>>2]|0;
    98921    $11 = ($10|0)==(0);
    98922    $$phi$trans$insert = ((($0)) + 8|0);
    98923    if ($11) {
    98924     $$pre = HEAP32[$$phi$trans$insert>>2]|0;
    98925     $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0);
    98926     $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0;
    98927     $$pre35 = ((($0)) + 108|0);
    98928     $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre;
    98929    } else {
    98930     $12 = HEAP32[$$phi$trans$insert>>2]|0;
    98931     $13 = ((($0)) + 4|0);
    98932     $14 = HEAP32[$13>>2]|0;
    98933     $15 = $14;
    98934     $16 = (($12) - ($15))|0;
    98935     $17 = ((($0)) + 108|0);
    98936     $18 = HEAP32[$17>>2]|0;
    98937     $19 = (($10) - ($18))|0;
    98938     $20 = ($16|0)<($19|0);
    98939     $21 = $12;
    98940     if ($20) {
    98941      $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14;
    98942     } else {
    98943      $22 = (($19) + -1)|0;
    98944      $23 = (($14) + ($22)|0);
    98945      $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14;
    98946     }
    98947    }
    98948    $24 = ((($0)) + 100|0);
    98949    HEAP32[$24>>2] = $$sink;
    98950    $25 = ($26|0)==(0|0);
    98951    if (!($25)) {
    98952     $27 = $26;
    98953     $28 = $29;
    98954     $30 = HEAP32[$$pre$phi34Z2D>>2]|0;
    98955     $31 = (($27) + 1)|0;
    98956     $32 = (($31) - ($28))|0;
    98957     $33 = (($32) + ($30))|0;
    98958     HEAP32[$$pre$phi34Z2D>>2] = $33;
    98959    }
    98960    $34 = ((($29)) + -1|0);
    98961    $35 = HEAP8[$34>>0]|0;
    98962    $36 = $35&255;
    98963    $37 = ($36|0)==($7|0);
    98964    if ($37) {
    98965     $$0 = $7;
    98966    } else {
    98967     $38 = $7&255;
    98968     HEAP8[$34>>0] = $38;
    98969     $$0 = $7;
    98970    }
    98971   }
    98972  }
    98973  if ((label|0) == 4) {
    98974   $9 = ((($0)) + 100|0);
    98975   HEAP32[$9>>2] = 0;
    98976   $$0 = -1;
    98977  }
    98978  return ($$0|0);
    98979 }
    98980 function _isspace($0) {
    98981  $0 = $0|0;
    98982  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    98983  sp = STACKTOP;
    98984  $1 = ($0|0)==(32);
    98985  $2 = (($0) + -9)|0;
    98986  $3 = ($2>>>0)<(5);
    98987  $4 = $1 | $3;
    98988  $5 = $4&1;
    98989  return ($5|0);
    98990 }
    98991 function ___uflow($0) {
    98992  $0 = $0|0;
    98993  var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    98994  sp = STACKTOP;
    98995  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    98996  $1 = sp;
    98997  $2 = (___toread($0)|0);
    98998  $3 = ($2|0)==(0);
    98999  if ($3) {
    99000   $4 = ((($0)) + 32|0);
    99001   $5 = HEAP32[$4>>2]|0;
    99002   $6 = (FUNCTION_TABLE_iiii[$5 & 511]($0,$1,1)|0);
    99003   $7 = ($6|0)==(1);
    99004   if ($7) {
    99005    $8 = HEAP8[$1>>0]|0;
    99006    $9 = $8&255;
    99007    $$0 = $9;
    99008   } else {
    99009    $$0 = -1;
    99010   }
    99011  } else {
    99012   $$0 = -1;
    99013  }
    99014  STACKTOP = sp;return ($$0|0);
    99015 }
    99016 function ___toread($0) {
    99017  $0 = $0|0;
    99018  var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    99019  var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0;
    99020  sp = STACKTOP;
    99021  $1 = ((($0)) + 74|0);
    99022  $2 = HEAP8[$1>>0]|0;
    99023  $3 = $2 << 24 >> 24;
    99024  $4 = (($3) + 255)|0;
    99025  $5 = $4 | $3;
    99026  $6 = $5&255;
    99027  HEAP8[$1>>0] = $6;
    99028  $7 = ((($0)) + 20|0);
    99029  $8 = HEAP32[$7>>2]|0;
    99030  $9 = ((($0)) + 28|0);
    99031  $10 = HEAP32[$9>>2]|0;
    99032  $11 = ($8>>>0)>($10>>>0);
    99033  if ($11) {
    99034   $12 = ((($0)) + 36|0);
    99035   $13 = HEAP32[$12>>2]|0;
    99036   (FUNCTION_TABLE_iiii[$13 & 511]($0,0,0)|0);
    99037  }
    99038  $14 = ((($0)) + 16|0);
    99039  HEAP32[$14>>2] = 0;
    99040  HEAP32[$9>>2] = 0;
    99041  HEAP32[$7>>2] = 0;
    99042  $15 = HEAP32[$0>>2]|0;
    99043  $16 = $15 & 4;
    99044  $17 = ($16|0)==(0);
    99045  if ($17) {
    99046   $19 = ((($0)) + 44|0);
    99047   $20 = HEAP32[$19>>2]|0;
    99048   $21 = ((($0)) + 48|0);
    99049   $22 = HEAP32[$21>>2]|0;
    99050   $23 = (($20) + ($22)|0);
    99051   $24 = ((($0)) + 8|0);
    99052   HEAP32[$24>>2] = $23;
    99053   $25 = ((($0)) + 4|0);
    99054   HEAP32[$25>>2] = $23;
    99055   $26 = $15 << 27;
    99056   $sext = $26 >> 31;
    99057   $$0 = $sext;
    99058  } else {
    99059   $18 = $15 | 32;
    99060   HEAP32[$0>>2] = $18;
    99061   $$0 = -1;
    99062  }
    99063  return ($$0|0);
    99064 }
    99065 function _strtoul($0,$1,$2) {
    99066  $0 = $0|0;
    99067  $1 = $1|0;
    99068  $2 = $2|0;
    99069  var $3 = 0, $4 = 0, label = 0, sp = 0;
    99070  sp = STACKTOP;
    99071  $3 = (_strtox_768($0,$1,$2,-1,0)|0);
    99072  $4 = tempRet0;
    99073  return ($3|0);
    99074 }
    99075 function _copysign($0,$1) {
    99076  $0 = +$0;
    99077  $1 = +$1;
    99078  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0;
    99079  sp = STACKTOP;
    99080  HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
    99081  $3 = HEAP32[tempDoublePtr+4>>2]|0;
    99082  HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0;
    99083  $5 = HEAP32[tempDoublePtr+4>>2]|0;
    99084  $6 = $3 & 2147483647;
    99085  $7 = $5 & -2147483648;
    99086  $8 = $7 | $6;
    99087  HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3];
    99088  return (+$9);
    99089 }
    99090 function _strcmp($0,$1) {
    99091  $0 = $0|0;
    99092  $1 = $1|0;
    99093  var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0;
    99094  var sp = 0;
    99095  sp = STACKTOP;
    99096  $2 = HEAP8[$0>>0]|0;
    99097  $3 = HEAP8[$1>>0]|0;
    99098  $4 = ($2<<24>>24)!=($3<<24>>24);
    99099  $5 = ($2<<24>>24)==(0);
    99100  $or$cond9 = $5 | $4;
    99101  if ($or$cond9) {
    99102   $$lcssa = $3;$$lcssa8 = $2;
    99103  } else {
    99104   $$011 = $1;$$0710 = $0;
    99105   while(1) {
    99106    $6 = ((($$0710)) + 1|0);
    99107    $7 = ((($$011)) + 1|0);
    99108    $8 = HEAP8[$6>>0]|0;
    99109    $9 = HEAP8[$7>>0]|0;
    99110    $10 = ($8<<24>>24)!=($9<<24>>24);
    99111    $11 = ($8<<24>>24)==(0);
    99112    $or$cond = $11 | $10;
    99113    if ($or$cond) {
    99114     $$lcssa = $9;$$lcssa8 = $8;
    99115     break;
    99116    } else {
    99117     $$011 = $7;$$0710 = $6;
    99118    }
    99119   }
    99120  }
    99121  $12 = $$lcssa8&255;
    99122  $13 = $$lcssa&255;
    99123  $14 = (($12) - ($13))|0;
    99124  return ($14|0);
    99125 }
    99126 function _memcmp($0,$1,$2) {
    99127  $0 = $0|0;
    99128  $1 = $1|0;
    99129  $2 = $2|0;
    99130  var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    99131  sp = STACKTOP;
    99132  $3 = ($2|0)==(0);
    99133  L1: do {
    99134   if ($3) {
    99135    $14 = 0;
    99136   } else {
    99137    $$01318 = $0;$$01417 = $2;$$019 = $1;
    99138    while(1) {
    99139     $4 = HEAP8[$$01318>>0]|0;
    99140     $5 = HEAP8[$$019>>0]|0;
    99141     $6 = ($4<<24>>24)==($5<<24>>24);
    99142     if (!($6)) {
    99143      break;
    99144     }
    99145     $7 = (($$01417) + -1)|0;
    99146     $8 = ((($$01318)) + 1|0);
    99147     $9 = ((($$019)) + 1|0);
    99148     $10 = ($7|0)==(0);
    99149     if ($10) {
    99150      $14 = 0;
    99151      break L1;
    99152     } else {
    99153      $$01318 = $8;$$01417 = $7;$$019 = $9;
    99154     }
    99155    }
    99156    $11 = $4&255;
    99157    $12 = $5&255;
    99158    $13 = (($11) - ($12))|0;
    99159    $14 = $13;
    99160   }
    99161  } while(0);
    99162  return ($14|0);
    99163 }
    99164 function _strncmp($0,$1,$2) {
    99165  $0 = $0|0;
    99166  $1 = $1|0;
    99167  $2 = $2|0;
    99168  var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
    99169  var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0;
    99170  sp = STACKTOP;
    99171  $3 = ($2|0)==(0);
    99172  if ($3) {
    99173   $$020 = 0;
    99174  } else {
    99175   $4 = HEAP8[$0>>0]|0;
    99176   $5 = $4&255;
    99177   $6 = ($4<<24>>24)==(0);
    99178   $7 = HEAP8[$1>>0]|0;
    99179   $8 = $7&255;
    99180   L3: do {
    99181    if ($6) {
    99182     $$lcssa = $8;$$lcssa22 = $5;
    99183    } else {
    99184     $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5;
    99185     while(1) {
    99186      $$01926 = (($$01926$in) + -1)|0;
    99187      $9 = ($10<<24>>24)!=(0);
    99188      $11 = ($$01926|0)!=(0);
    99189      $or$cond = $11 & $9;
    99190      $12 = ($13<<24>>24)==($10<<24>>24);
    99191      $or$cond21 = $12 & $or$cond;
    99192      if (!($or$cond21)) {
    99193       $$lcssa = $22;$$lcssa22 = $23;
    99194       break L3;
    99195      }
    99196      $14 = ((($$01824)) + 1|0);
    99197      $15 = ((($$025)) + 1|0);
    99198      $16 = HEAP8[$14>>0]|0;
    99199      $17 = $16&255;
    99200      $18 = ($16<<24>>24)==(0);
    99201      $19 = HEAP8[$15>>0]|0;
    99202      $20 = $19&255;
    99203      if ($18) {
    99204       $$lcssa = $20;$$lcssa22 = $17;
    99205       break;
    99206      } else {
    99207       $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17;
    99208      }
    99209     }
    99210    }
    99211   } while(0);
    99212   $21 = (($$lcssa22) - ($$lcssa))|0;
    99213   $$020 = $21;
    99214  }
    99215  return ($$020|0);
    99216 }
    99217 function _vsnprintf($0,$1,$2,$3) {
    99218  $0 = $0|0;
    99219  $1 = $1|0;
    99220  $2 = $2|0;
    99221  $3 = $3|0;
    99222  var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    99223  var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
    99224  sp = STACKTOP;
    99225  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    99226  $4 = sp + 124|0;
    99227  $5 = sp;
    99228  dest=$5; src=3180; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
    99229  $6 = (($1) + -1)|0;
    99230  $7 = ($6>>>0)>(2147483646);
    99231  if ($7) {
    99232   $8 = ($1|0)==(0);
    99233   if ($8) {
    99234    $$014 = $4;$$015 = 1;
    99235    label = 4;
    99236   } else {
    99237    $9 = (___errno_location()|0);
    99238    HEAP32[$9>>2] = 75;
    99239    $$0 = -1;
    99240   }
    99241  } else {
    99242   $$014 = $0;$$015 = $1;
    99243   label = 4;
    99244  }
    99245  if ((label|0) == 4) {
    99246   $10 = $$014;
    99247   $11 = (-2 - ($10))|0;
    99248   $12 = ($$015>>>0)>($11>>>0);
    99249   $$$015 = $12 ? $11 : $$015;
    99250   $13 = ((($5)) + 48|0);
    99251   HEAP32[$13>>2] = $$$015;
    99252   $14 = ((($5)) + 20|0);
    99253   HEAP32[$14>>2] = $$014;
    99254   $15 = ((($5)) + 44|0);
    99255   HEAP32[$15>>2] = $$014;
    99256   $16 = (($$014) + ($$$015)|0);
    99257   $17 = ((($5)) + 16|0);
    99258   HEAP32[$17>>2] = $16;
    99259   $18 = ((($5)) + 28|0);
    99260   HEAP32[$18>>2] = $16;
    99261   $19 = (_vfprintf($5,$2,$3)|0);
    99262   $20 = ($$$015|0)==(0);
    99263   if ($20) {
    99264    $$0 = $19;
    99265   } else {
    99266    $21 = HEAP32[$14>>2]|0;
    99267    $22 = HEAP32[$17>>2]|0;
    99268    $23 = ($21|0)==($22|0);
    99269    $24 = $23 << 31 >> 31;
    99270    $25 = (($21) + ($24)|0);
    99271    HEAP8[$25>>0] = 0;
    99272    $$0 = $19;
    99273   }
    99274  }
    99275  STACKTOP = sp;return ($$0|0);
    99276 }
    99277 function _vfprintf($0,$1,$2) {
    99278  $0 = $0|0;
    99279  $1 = $1|0;
    99280  $2 = $2|0;
    99281  var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    99282  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
    99283  var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0;
    99284  sp = STACKTOP;
    99285  STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
    99286  $3 = sp + 120|0;
    99287  $4 = sp + 80|0;
    99288  $5 = sp;
    99289  $6 = sp + 136|0;
    99290  dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
    99291  $vacopy_currentptr = HEAP32[$2>>2]|0;
    99292  HEAP32[$3>>2] = $vacopy_currentptr;
    99293  $7 = (_printf_core(0,$1,$3,$5,$4)|0);
    99294  $8 = ($7|0)<(0);
    99295  if ($8) {
    99296   $$0 = -1;
    99297  } else {
    99298   $9 = ((($0)) + 76|0);
    99299   $10 = HEAP32[$9>>2]|0;
    99300   $11 = ($10|0)>(-1);
    99301   if ($11) {
    99302    $12 = (___lockfile($0)|0);
    99303    $40 = $12;
    99304   } else {
    99305    $40 = 0;
    99306   }
    99307   $13 = HEAP32[$0>>2]|0;
    99308   $14 = $13 & 32;
    99309   $15 = ((($0)) + 74|0);
    99310   $16 = HEAP8[$15>>0]|0;
    99311   $17 = ($16<<24>>24)<(1);
    99312   if ($17) {
    99313    $18 = $13 & -33;
    99314    HEAP32[$0>>2] = $18;
    99315   }
    99316   $19 = ((($0)) + 48|0);
    99317   $20 = HEAP32[$19>>2]|0;
    99318   $21 = ($20|0)==(0);
    99319   if ($21) {
    99320    $23 = ((($0)) + 44|0);
    99321    $24 = HEAP32[$23>>2]|0;
    99322    HEAP32[$23>>2] = $6;
    99323    $25 = ((($0)) + 28|0);
    99324    HEAP32[$25>>2] = $6;
    99325    $26 = ((($0)) + 20|0);
    99326    HEAP32[$26>>2] = $6;
    99327    HEAP32[$19>>2] = 80;
    99328    $27 = ((($6)) + 80|0);
    99329    $28 = ((($0)) + 16|0);
    99330    HEAP32[$28>>2] = $27;
    99331    $29 = (_printf_core($0,$1,$3,$5,$4)|0);
    99332    $30 = ($24|0)==(0|0);
    99333    if ($30) {
    99334     $$1 = $29;
    99335    } else {
    99336     $31 = ((($0)) + 36|0);
    99337     $32 = HEAP32[$31>>2]|0;
    99338     (FUNCTION_TABLE_iiii[$32 & 511]($0,0,0)|0);
    99339     $33 = HEAP32[$26>>2]|0;
    99340     $34 = ($33|0)==(0|0);
    99341     $$ = $34 ? -1 : $29;
    99342     HEAP32[$23>>2] = $24;
    99343     HEAP32[$19>>2] = 0;
    99344     HEAP32[$28>>2] = 0;
    99345     HEAP32[$25>>2] = 0;
    99346     HEAP32[$26>>2] = 0;
    99347     $$1 = $$;
    99348    }
    99349   } else {
    99350    $22 = (_printf_core($0,$1,$3,$5,$4)|0);
    99351    $$1 = $22;
    99352   }
    99353   $35 = HEAP32[$0>>2]|0;
    99354   $36 = $35 & 32;
    99355   $37 = ($36|0)==(0);
    99356   $$1$ = $37 ? $$1 : -1;
    99357   $38 = $35 | $14;
    99358   HEAP32[$0>>2] = $38;
    99359   $39 = ($40|0)==(0);
    99360   if (!($39)) {
    99361    ___unlockfile($0);
    99362   }
    99363   $$0 = $$1$;
    99364  }
    99365  STACKTOP = sp;return ($$0|0);
    99366 }
    99367 function _printf_core($0,$1,$2,$3,$4) {
    99368  $0 = $0|0;
    99369  $1 = $1|0;
    99370  $2 = $2|0;
    99371  $3 = $3|0;
    99372  $4 = $4|0;
    99373  var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0;
    99374  var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0;
    99375  var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0;
    99376  var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
    99377  var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
    99378  var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
    99379  var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
    99380  var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0;
    99381  var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0;
    99382  var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
    99383  var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
    99384  var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
    99385  var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
    99386  var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
    99387  var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0;
    99388  var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0;
    99389  var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
    99390  var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
    99391  var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
    99392  var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
    99393  var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0;
    99394  var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0;
    99395  sp = STACKTOP;
    99396  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    99397  $5 = sp + 16|0;
    99398  $6 = sp;
    99399  $7 = sp + 24|0;
    99400  $8 = sp + 8|0;
    99401  $9 = sp + 20|0;
    99402  HEAP32[$5>>2] = $1;
    99403  $10 = ($0|0)!=(0|0);
    99404  $11 = ((($7)) + 40|0);
    99405  $12 = $11;
    99406  $13 = ((($7)) + 39|0);
    99407  $14 = ((($8)) + 4|0);
    99408  $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1;
    99409  L1: while(1) {
    99410   $15 = ($$0247|0)>(-1);
    99411   do {
    99412    if ($15) {
    99413     $16 = (2147483647 - ($$0247))|0;
    99414     $17 = ($$0243|0)>($16|0);
    99415     if ($17) {
    99416      $18 = (___errno_location()|0);
    99417      HEAP32[$18>>2] = 75;
    99418      $$1248 = -1;
    99419      break;
    99420     } else {
    99421      $19 = (($$0243) + ($$0247))|0;
    99422      $$1248 = $19;
    99423      break;
    99424     }
    99425    } else {
    99426     $$1248 = $$0247;
    99427    }
    99428   } while(0);
    99429   $20 = HEAP8[$21>>0]|0;
    99430   $22 = ($20<<24>>24)==(0);
    99431   if ($22) {
    99432    label = 87;
    99433    break;
    99434   } else {
    99435    $23 = $20;$25 = $21;
    99436   }
    99437   L9: while(1) {
    99438    switch ($23<<24>>24) {
    99439    case 37:  {
    99440     $$0249306 = $25;$27 = $25;
    99441     label = 9;
    99442     break L9;
    99443     break;
    99444    }
    99445    case 0:  {
    99446     $$0249$lcssa = $25;$39 = $25;
    99447     break L9;
    99448     break;
    99449    }
    99450    default: {
    99451    }
    99452    }
    99453    $24 = ((($25)) + 1|0);
    99454    HEAP32[$5>>2] = $24;
    99455    $$pre = HEAP8[$24>>0]|0;
    99456    $23 = $$pre;$25 = $24;
    99457   }
    99458   L12: do {
    99459    if ((label|0) == 9) {
    99460     while(1) {
    99461      label = 0;
    99462      $26 = ((($27)) + 1|0);
    99463      $28 = HEAP8[$26>>0]|0;
    99464      $29 = ($28<<24>>24)==(37);
    99465      if (!($29)) {
    99466       $$0249$lcssa = $$0249306;$39 = $27;
    99467       break L12;
    99468      }
    99469      $30 = ((($$0249306)) + 1|0);
    99470      $31 = ((($27)) + 2|0);
    99471      HEAP32[$5>>2] = $31;
    99472      $32 = HEAP8[$31>>0]|0;
    99473      $33 = ($32<<24>>24)==(37);
    99474      if ($33) {
    99475       $$0249306 = $30;$27 = $31;
    99476       label = 9;
    99477      } else {
    99478       $$0249$lcssa = $30;$39 = $31;
    99479       break;
    99480      }
    99481     }
    99482    }
    99483   } while(0);
    99484   $34 = $$0249$lcssa;
    99485   $35 = $21;
    99486   $36 = (($34) - ($35))|0;
    99487   if ($10) {
    99488    _out_1229($0,$21,$36);
    99489   }
    99490   $37 = ($36|0)==(0);
    99491   if (!($37)) {
    99492    $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi;
    99493    continue;
    99494   }
    99495   $38 = ((($39)) + 1|0);
    99496   $40 = HEAP8[$38>>0]|0;
    99497   $41 = $40 << 24 >> 24;
    99498   $isdigittmp = (($41) + -48)|0;
    99499   $isdigit = ($isdigittmp>>>0)<(10);
    99500   if ($isdigit) {
    99501    $42 = ((($39)) + 2|0);
    99502    $43 = HEAP8[$42>>0]|0;
    99503    $44 = ($43<<24>>24)==(36);
    99504    $45 = ((($39)) + 3|0);
    99505    $$377 = $44 ? $45 : $38;
    99506    $$$0269 = $44 ? 1 : $$0269;
    99507    $isdigittmp$ = $44 ? $isdigittmp : -1;
    99508    $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377;
    99509   } else {
    99510    $$0253 = -1;$$1270 = $$0269;$storemerge = $38;
    99511   }
    99512   HEAP32[$5>>2] = $storemerge;
    99513   $46 = HEAP8[$storemerge>>0]|0;
    99514   $47 = $46 << 24 >> 24;
    99515   $48 = (($47) + -32)|0;
    99516   $49 = ($48>>>0)<(32);
    99517   L24: do {
    99518    if ($49) {
    99519     $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge;
    99520     while(1) {
    99521      $50 = 1 << $51;
    99522      $52 = $50 & 75913;
    99523      $53 = ($52|0)==(0);
    99524      if ($53) {
    99525       $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310;
    99526       break L24;
    99527      }
    99528      $54 = $50 | $$0262311;
    99529      $55 = ((($storemerge273310)) + 1|0);
    99530      HEAP32[$5>>2] = $55;
    99531      $56 = HEAP8[$55>>0]|0;
    99532      $57 = $56 << 24 >> 24;
    99533      $58 = (($57) + -32)|0;
    99534      $59 = ($58>>>0)<(32);
    99535      if ($59) {
    99536       $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55;
    99537      } else {
    99538       $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55;
    99539       break;
    99540      }
    99541     }
    99542    } else {
    99543     $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge;
    99544    }
    99545   } while(0);
    99546   $60 = ($$lcssa295<<24>>24)==(42);
    99547   if ($60) {
    99548    $61 = ((($62)) + 1|0);
    99549    $63 = HEAP8[$61>>0]|0;
    99550    $64 = $63 << 24 >> 24;
    99551    $isdigittmp276 = (($64) + -48)|0;
    99552    $isdigit277 = ($isdigittmp276>>>0)<(10);
    99553    if ($isdigit277) {
    99554     $65 = ((($62)) + 2|0);
    99555     $66 = HEAP8[$65>>0]|0;
    99556     $67 = ($66<<24>>24)==(36);
    99557     if ($67) {
    99558      $68 = (($4) + ($isdigittmp276<<2)|0);
    99559      HEAP32[$68>>2] = 10;
    99560      $69 = HEAP8[$61>>0]|0;
    99561      $70 = $69 << 24 >> 24;
    99562      $71 = (($70) + -48)|0;
    99563      $72 = (($3) + ($71<<3)|0);
    99564      $73 = $72;
    99565      $74 = $73;
    99566      $75 = HEAP32[$74>>2]|0;
    99567      $76 = (($73) + 4)|0;
    99568      $77 = $76;
    99569      $78 = HEAP32[$77>>2]|0;
    99570      $79 = ((($62)) + 3|0);
    99571      $$0259 = $75;$$2271 = 1;$storemerge278 = $79;
    99572     } else {
    99573      label = 23;
    99574     }
    99575    } else {
    99576     label = 23;
    99577    }
    99578    if ((label|0) == 23) {
    99579     label = 0;
    99580     $80 = ($$1270|0)==(0);
    99581     if (!($80)) {
    99582      $$0 = -1;
    99583      break;
    99584     }
    99585     if ($10) {
    99586      $arglist_current = HEAP32[$2>>2]|0;
    99587      $81 = $arglist_current;
    99588      $82 = ((0) + 4|0);
    99589      $expanded4 = $82;
    99590      $expanded = (($expanded4) - 1)|0;
    99591      $83 = (($81) + ($expanded))|0;
    99592      $84 = ((0) + 4|0);
    99593      $expanded8 = $84;
    99594      $expanded7 = (($expanded8) - 1)|0;
    99595      $expanded6 = $expanded7 ^ -1;
    99596      $85 = $83 & $expanded6;
    99597      $86 = $85;
    99598      $87 = HEAP32[$86>>2]|0;
    99599      $arglist_next = ((($86)) + 4|0);
    99600      HEAP32[$2>>2] = $arglist_next;
    99601      $$0259 = $87;$$2271 = 0;$storemerge278 = $61;
    99602     } else {
    99603      $$0259 = 0;$$2271 = 0;$storemerge278 = $61;
    99604     }
    99605    }
    99606    HEAP32[$5>>2] = $storemerge278;
    99607    $88 = ($$0259|0)<(0);
    99608    $89 = $$0262$lcssa | 8192;
    99609    $90 = (0 - ($$0259))|0;
    99610    $$$0262 = $88 ? $89 : $$0262$lcssa;
    99611    $$$0259 = $88 ? $90 : $$0259;
    99612    $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278;
    99613   } else {
    99614    $91 = (_getint($5)|0);
    99615    $92 = ($91|0)<(0);
    99616    if ($92) {
    99617     $$0 = -1;
    99618     break;
    99619    }
    99620    $$pre346 = HEAP32[$5>>2]|0;
    99621    $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346;
    99622   }
    99623   $93 = HEAP8[$94>>0]|0;
    99624   $95 = ($93<<24>>24)==(46);
    99625   do {
    99626    if ($95) {
    99627     $96 = ((($94)) + 1|0);
    99628     $97 = HEAP8[$96>>0]|0;
    99629     $98 = ($97<<24>>24)==(42);
    99630     if (!($98)) {
    99631      $125 = ((($94)) + 1|0);
    99632      HEAP32[$5>>2] = $125;
    99633      $126 = (_getint($5)|0);
    99634      $$pre347$pre = HEAP32[$5>>2]|0;
    99635      $$0254 = $126;$$pre347 = $$pre347$pre;
    99636      break;
    99637     }
    99638     $99 = ((($94)) + 2|0);
    99639     $100 = HEAP8[$99>>0]|0;
    99640     $101 = $100 << 24 >> 24;
    99641     $isdigittmp274 = (($101) + -48)|0;
    99642     $isdigit275 = ($isdigittmp274>>>0)<(10);
    99643     if ($isdigit275) {
    99644      $102 = ((($94)) + 3|0);
    99645      $103 = HEAP8[$102>>0]|0;
    99646      $104 = ($103<<24>>24)==(36);
    99647      if ($104) {
    99648       $105 = (($4) + ($isdigittmp274<<2)|0);
    99649       HEAP32[$105>>2] = 10;
    99650       $106 = HEAP8[$99>>0]|0;
    99651       $107 = $106 << 24 >> 24;
    99652       $108 = (($107) + -48)|0;
    99653       $109 = (($3) + ($108<<3)|0);
    99654       $110 = $109;
    99655       $111 = $110;
    99656       $112 = HEAP32[$111>>2]|0;
    99657       $113 = (($110) + 4)|0;
    99658       $114 = $113;
    99659       $115 = HEAP32[$114>>2]|0;
    99660       $116 = ((($94)) + 4|0);
    99661       HEAP32[$5>>2] = $116;
    99662       $$0254 = $112;$$pre347 = $116;
    99663       break;
    99664      }
    99665     }
    99666     $117 = ($$3272|0)==(0);
    99667     if (!($117)) {
    99668      $$0 = -1;
    99669      break L1;
    99670     }
    99671     if ($10) {
    99672      $arglist_current2 = HEAP32[$2>>2]|0;
    99673      $118 = $arglist_current2;
    99674      $119 = ((0) + 4|0);
    99675      $expanded11 = $119;
    99676      $expanded10 = (($expanded11) - 1)|0;
    99677      $120 = (($118) + ($expanded10))|0;
    99678      $121 = ((0) + 4|0);
    99679      $expanded15 = $121;
    99680      $expanded14 = (($expanded15) - 1)|0;
    99681      $expanded13 = $expanded14 ^ -1;
    99682      $122 = $120 & $expanded13;
    99683      $123 = $122;
    99684      $124 = HEAP32[$123>>2]|0;
    99685      $arglist_next3 = ((($123)) + 4|0);
    99686      HEAP32[$2>>2] = $arglist_next3;
    99687      $330 = $124;
    99688     } else {
    99689      $330 = 0;
    99690     }
    99691     HEAP32[$5>>2] = $99;
    99692     $$0254 = $330;$$pre347 = $99;
    99693    } else {
    99694     $$0254 = -1;$$pre347 = $94;
    99695    }
    99696   } while(0);
    99697   $$0252 = 0;$128 = $$pre347;
    99698   while(1) {
    99699    $127 = HEAP8[$128>>0]|0;
    99700    $129 = $127 << 24 >> 24;
    99701    $130 = (($129) + -65)|0;
    99702    $131 = ($130>>>0)>(57);
    99703    if ($131) {
    99704     $$0 = -1;
    99705     break L1;
    99706    }
    99707    $132 = ((($128)) + 1|0);
    99708    HEAP32[$5>>2] = $132;
    99709    $133 = HEAP8[$128>>0]|0;
    99710    $134 = $133 << 24 >> 24;
    99711    $135 = (($134) + -65)|0;
    99712    $136 = ((70255 + (($$0252*58)|0)|0) + ($135)|0);
    99713    $137 = HEAP8[$136>>0]|0;
    99714    $138 = $137&255;
    99715    $139 = (($138) + -1)|0;
    99716    $140 = ($139>>>0)<(8);
    99717    if ($140) {
    99718     $$0252 = $138;$128 = $132;
    99719    } else {
    99720     break;
    99721    }
    99722   }
    99723   $141 = ($137<<24>>24)==(0);
    99724   if ($141) {
    99725    $$0 = -1;
    99726    break;
    99727   }
    99728   $142 = ($137<<24>>24)==(19);
    99729   $143 = ($$0253|0)>(-1);
    99730   do {
    99731    if ($142) {
    99732     if ($143) {
    99733      $$0 = -1;
    99734      break L1;
    99735     } else {
    99736      label = 49;
    99737     }
    99738    } else {
    99739     if ($143) {
    99740      $144 = (($4) + ($$0253<<2)|0);
    99741      HEAP32[$144>>2] = $138;
    99742      $145 = (($3) + ($$0253<<3)|0);
    99743      $146 = $145;
    99744      $147 = $146;
    99745      $148 = HEAP32[$147>>2]|0;
    99746      $149 = (($146) + 4)|0;
    99747      $150 = $149;
    99748      $151 = HEAP32[$150>>2]|0;
    99749      $152 = $6;
    99750      $153 = $152;
    99751      HEAP32[$153>>2] = $148;
    99752      $154 = (($152) + 4)|0;
    99753      $155 = $154;
    99754      HEAP32[$155>>2] = $151;
    99755      label = 49;
    99756      break;
    99757     }
    99758     if (!($10)) {
    99759      $$0 = 0;
    99760      break L1;
    99761     }
    99762     _pop_arg($6,$138,$2);
    99763    }
    99764   } while(0);
    99765   if ((label|0) == 49) {
    99766    label = 0;
    99767    if (!($10)) {
    99768     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99769     continue;
    99770    }
    99771   }
    99772   $156 = HEAP8[$128>>0]|0;
    99773   $157 = $156 << 24 >> 24;
    99774   $158 = ($$0252|0)!=(0);
    99775   $159 = $157 & 15;
    99776   $160 = ($159|0)==(3);
    99777   $or$cond281 = $158 & $160;
    99778   $161 = $157 & -33;
    99779   $$0235 = $or$cond281 ? $161 : $157;
    99780   $162 = $$1263 & 8192;
    99781   $163 = ($162|0)==(0);
    99782   $164 = $$1263 & -65537;
    99783   $$1263$ = $163 ? $$1263 : $164;
    99784   L71: do {
    99785    switch ($$0235|0) {
    99786    case 110:  {
    99787     $trunc = $$0252&255;
    99788     switch ($trunc<<24>>24) {
    99789     case 0:  {
    99790      $171 = HEAP32[$6>>2]|0;
    99791      HEAP32[$171>>2] = $$1248;
    99792      $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99793      continue L1;
    99794      break;
    99795     }
    99796     case 1:  {
    99797      $172 = HEAP32[$6>>2]|0;
    99798      HEAP32[$172>>2] = $$1248;
    99799      $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99800      continue L1;
    99801      break;
    99802     }
    99803     case 2:  {
    99804      $173 = ($$1248|0)<(0);
    99805      $174 = $173 << 31 >> 31;
    99806      $175 = HEAP32[$6>>2]|0;
    99807      $176 = $175;
    99808      $177 = $176;
    99809      HEAP32[$177>>2] = $$1248;
    99810      $178 = (($176) + 4)|0;
    99811      $179 = $178;
    99812      HEAP32[$179>>2] = $174;
    99813      $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99814      continue L1;
    99815      break;
    99816     }
    99817     case 3:  {
    99818      $180 = $$1248&65535;
    99819      $181 = HEAP32[$6>>2]|0;
    99820      HEAP16[$181>>1] = $180;
    99821      $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99822      continue L1;
    99823      break;
    99824     }
    99825     case 4:  {
    99826      $182 = $$1248&255;
    99827      $183 = HEAP32[$6>>2]|0;
    99828      HEAP8[$183>>0] = $182;
    99829      $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99830      continue L1;
    99831      break;
    99832     }
    99833     case 6:  {
    99834      $184 = HEAP32[$6>>2]|0;
    99835      HEAP32[$184>>2] = $$1248;
    99836      $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99837      continue L1;
    99838      break;
    99839     }
    99840     case 7:  {
    99841      $185 = ($$1248|0)<(0);
    99842      $186 = $185 << 31 >> 31;
    99843      $187 = HEAP32[$6>>2]|0;
    99844      $188 = $187;
    99845      $189 = $188;
    99846      HEAP32[$189>>2] = $$1248;
    99847      $190 = (($188) + 4)|0;
    99848      $191 = $190;
    99849      HEAP32[$191>>2] = $186;
    99850      $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99851      continue L1;
    99852      break;
    99853     }
    99854     default: {
    99855      $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    99856      continue L1;
    99857     }
    99858     }
    99859     break;
    99860    }
    99861    case 112:  {
    99862     $192 = ($$0254>>>0)>(8);
    99863     $193 = $192 ? $$0254 : 8;
    99864     $194 = $$1263$ | 8;
    99865     $$1236 = 120;$$1255 = $193;$$3265 = $194;
    99866     label = 61;
    99867     break;
    99868    }
    99869    case 88: case 120:  {
    99870     $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$;
    99871     label = 61;
    99872     break;
    99873    }
    99874    case 111:  {
    99875     $210 = $6;
    99876     $211 = $210;
    99877     $212 = HEAP32[$211>>2]|0;
    99878     $213 = (($210) + 4)|0;
    99879     $214 = $213;
    99880     $215 = HEAP32[$214>>2]|0;
    99881     $216 = (_fmt_o($212,$215,$11)|0);
    99882     $217 = $$1263$ & 8;
    99883     $218 = ($217|0)==(0);
    99884     $219 = $216;
    99885     $220 = (($12) - ($219))|0;
    99886     $221 = ($$0254|0)>($220|0);
    99887     $222 = (($220) + 1)|0;
    99888     $223 = $218 | $221;
    99889     $$0254$$0254$ = $223 ? $$0254 : $222;
    99890     $$0228 = $216;$$1233 = 0;$$1238 = 70719;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215;
    99891     label = 67;
    99892     break;
    99893    }
    99894    case 105: case 100:  {
    99895     $224 = $6;
    99896     $225 = $224;
    99897     $226 = HEAP32[$225>>2]|0;
    99898     $227 = (($224) + 4)|0;
    99899     $228 = $227;
    99900     $229 = HEAP32[$228>>2]|0;
    99901     $230 = ($229|0)<(0);
    99902     if ($230) {
    99903      $231 = (_i64Subtract(0,0,($226|0),($229|0))|0);
    99904      $232 = tempRet0;
    99905      $233 = $6;
    99906      $234 = $233;
    99907      HEAP32[$234>>2] = $231;
    99908      $235 = (($233) + 4)|0;
    99909      $236 = $235;
    99910      HEAP32[$236>>2] = $232;
    99911      $$0232 = 1;$$0237 = 70719;$242 = $231;$243 = $232;
    99912      label = 66;
    99913      break L71;
    99914     } else {
    99915      $237 = $$1263$ & 2048;
    99916      $238 = ($237|0)==(0);
    99917      $239 = $$1263$ & 1;
    99918      $240 = ($239|0)==(0);
    99919      $$ = $240 ? 70719 : (70721);
    99920      $$$ = $238 ? $$ : (70720);
    99921      $241 = $$1263$ & 2049;
    99922      $narrow = ($241|0)!=(0);
    99923      $$284$ = $narrow&1;
    99924      $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229;
    99925      label = 66;
    99926      break L71;
    99927     }
    99928     break;
    99929    }
    99930    case 117:  {
    99931     $165 = $6;
    99932     $166 = $165;
    99933     $167 = HEAP32[$166>>2]|0;
    99934     $168 = (($165) + 4)|0;
    99935     $169 = $168;
    99936     $170 = HEAP32[$169>>2]|0;
    99937     $$0232 = 0;$$0237 = 70719;$242 = $167;$243 = $170;
    99938     label = 66;
    99939     break;
    99940    }
    99941    case 99:  {
    99942     $259 = $6;
    99943     $260 = $259;
    99944     $261 = HEAP32[$260>>2]|0;
    99945     $262 = (($259) + 4)|0;
    99946     $263 = $262;
    99947     $264 = HEAP32[$263>>2]|0;
    99948     $265 = $261&255;
    99949     HEAP8[$13>>0] = $265;
    99950     $$2 = $13;$$2234 = 0;$$2239 = 70719;$$2251 = $11;$$5 = 1;$$6268 = $164;
    99951     break;
    99952    }
    99953    case 109:  {
    99954     $266 = (___errno_location()|0);
    99955     $267 = HEAP32[$266>>2]|0;
    99956     $268 = (_strerror($267)|0);
    99957     $$1 = $268;
    99958     label = 71;
    99959     break;
    99960    }
    99961    case 115:  {
    99962     $269 = HEAP32[$6>>2]|0;
    99963     $270 = ($269|0)!=(0|0);
    99964     $271 = $270 ? $269 : 70729;
    99965     $$1 = $271;
    99966     label = 71;
    99967     break;
    99968    }
    99969    case 67:  {
    99970     $278 = $6;
    99971     $279 = $278;
    99972     $280 = HEAP32[$279>>2]|0;
    99973     $281 = (($278) + 4)|0;
    99974     $282 = $281;
    99975     $283 = HEAP32[$282>>2]|0;
    99976     HEAP32[$8>>2] = $280;
    99977     HEAP32[$14>>2] = 0;
    99978     HEAP32[$6>>2] = $8;
    99979     $$4258355 = -1;$331 = $8;
    99980     label = 75;
    99981     break;
    99982    }
    99983    case 83:  {
    99984     $$pre349 = HEAP32[$6>>2]|0;
    99985     $284 = ($$0254|0)==(0);
    99986     if ($284) {
    99987      _pad_674($0,32,$$1260,0,$$1263$);
    99988      $$0240$lcssa357 = 0;
    99989      label = 84;
    99990     } else {
    99991      $$4258355 = $$0254;$331 = $$pre349;
    99992      label = 75;
    99993     }
    99994     break;
    99995    }
    99996    case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101:  {
    99997     $306 = +HEAPF64[$6>>3];
    99998     $307 = (_fmt_fp_1233($0,$306,$$1260,$$0254,$$1263$,$$0235)|0);
    99999     $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    100000     continue L1;
    100001     break;
    100002    }
    100003    default: {
    100004     $$2 = $21;$$2234 = 0;$$2239 = 70719;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$;
    100005    }
    100006    }
    100007   } while(0);
    100008   L95: do {
    100009    if ((label|0) == 61) {
    100010     label = 0;
    100011     $195 = $6;
    100012     $196 = $195;
    100013     $197 = HEAP32[$196>>2]|0;
    100014     $198 = (($195) + 4)|0;
    100015     $199 = $198;
    100016     $200 = HEAP32[$199>>2]|0;
    100017     $201 = $$1236 & 32;
    100018     $202 = (_fmt_x($197,$200,$11,$201)|0);
    100019     $203 = ($197|0)==(0);
    100020     $204 = ($200|0)==(0);
    100021     $205 = $203 & $204;
    100022     $206 = $$3265 & 8;
    100023     $207 = ($206|0)==(0);
    100024     $or$cond283 = $207 | $205;
    100025     $208 = $$1236 >> 4;
    100026     $209 = (70719 + ($208)|0);
    100027     $$289 = $or$cond283 ? 70719 : $209;
    100028     $$290 = $or$cond283 ? 0 : 2;
    100029     $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200;
    100030     label = 67;
    100031    }
    100032    else if ((label|0) == 66) {
    100033     label = 0;
    100034     $244 = (_fmt_u_1230($242,$243,$11)|0);
    100035     $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243;
    100036     label = 67;
    100037    }
    100038    else if ((label|0) == 71) {
    100039     label = 0;
    100040     $272 = (_memchr($$1,0,$$0254)|0);
    100041     $273 = ($272|0)==(0|0);
    100042     $274 = $272;
    100043     $275 = $$1;
    100044     $276 = (($274) - ($275))|0;
    100045     $277 = (($$1) + ($$0254)|0);
    100046     $$3257 = $273 ? $$0254 : $276;
    100047     $$1250 = $273 ? $277 : $272;
    100048     $$2 = $$1;$$2234 = 0;$$2239 = 70719;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164;
    100049    }
    100050    else if ((label|0) == 75) {
    100051     label = 0;
    100052     $$0229322 = $331;$$0240321 = 0;$$1244320 = 0;
    100053     while(1) {
    100054      $285 = HEAP32[$$0229322>>2]|0;
    100055      $286 = ($285|0)==(0);
    100056      if ($286) {
    100057       $$0240$lcssa = $$0240321;$$2245 = $$1244320;
    100058       break;
    100059      }
    100060      $287 = (_wctomb($9,$285)|0);
    100061      $288 = ($287|0)<(0);
    100062      $289 = (($$4258355) - ($$0240321))|0;
    100063      $290 = ($287>>>0)>($289>>>0);
    100064      $or$cond286 = $288 | $290;
    100065      if ($or$cond286) {
    100066       $$0240$lcssa = $$0240321;$$2245 = $287;
    100067       break;
    100068      }
    100069      $291 = ((($$0229322)) + 4|0);
    100070      $292 = (($287) + ($$0240321))|0;
    100071      $293 = ($$4258355>>>0)>($292>>>0);
    100072      if ($293) {
    100073       $$0229322 = $291;$$0240321 = $292;$$1244320 = $287;
    100074      } else {
    100075       $$0240$lcssa = $292;$$2245 = $287;
    100076       break;
    100077      }
    100078     }
    100079     $294 = ($$2245|0)<(0);
    100080     if ($294) {
    100081      $$0 = -1;
    100082      break L1;
    100083     }
    100084     _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$);
    100085     $295 = ($$0240$lcssa|0)==(0);
    100086     if ($295) {
    100087      $$0240$lcssa357 = 0;
    100088      label = 84;
    100089     } else {
    100090      $$1230333 = $331;$$1241332 = 0;
    100091      while(1) {
    100092       $296 = HEAP32[$$1230333>>2]|0;
    100093       $297 = ($296|0)==(0);
    100094       if ($297) {
    100095        $$0240$lcssa357 = $$0240$lcssa;
    100096        label = 84;
    100097        break L95;
    100098       }
    100099       $298 = (_wctomb($9,$296)|0);
    100100       $299 = (($298) + ($$1241332))|0;
    100101       $300 = ($299|0)>($$0240$lcssa|0);
    100102       if ($300) {
    100103        $$0240$lcssa357 = $$0240$lcssa;
    100104        label = 84;
    100105        break L95;
    100106       }
    100107       $301 = ((($$1230333)) + 4|0);
    100108       _out_1229($0,$9,$298);
    100109       $302 = ($299>>>0)<($$0240$lcssa>>>0);
    100110       if ($302) {
    100111        $$1230333 = $301;$$1241332 = $299;
    100112       } else {
    100113        $$0240$lcssa357 = $$0240$lcssa;
    100114        label = 84;
    100115        break;
    100116       }
    100117      }
    100118     }
    100119    }
    100120   } while(0);
    100121   if ((label|0) == 67) {
    100122    label = 0;
    100123    $245 = ($$2256|0)>(-1);
    100124    $246 = $$4266 & -65537;
    100125    $$$4266 = $245 ? $246 : $$4266;
    100126    $247 = ($248|0)!=(0);
    100127    $249 = ($250|0)!=(0);
    100128    $251 = $247 | $249;
    100129    $252 = ($$2256|0)!=(0);
    100130    $or$cond = $252 | $251;
    100131    $253 = $$0228;
    100132    $254 = (($12) - ($253))|0;
    100133    $255 = $251 ^ 1;
    100134    $256 = $255&1;
    100135    $257 = (($256) + ($254))|0;
    100136    $258 = ($$2256|0)>($257|0);
    100137    $$2256$ = $258 ? $$2256 : $257;
    100138    $$2256$$$2256 = $or$cond ? $$2256$ : $$2256;
    100139    $$0228$ = $or$cond ? $$0228 : $11;
    100140    $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266;
    100141   }
    100142   else if ((label|0) == 84) {
    100143    label = 0;
    100144    $303 = $$1263$ ^ 8192;
    100145    _pad_674($0,32,$$1260,$$0240$lcssa357,$303);
    100146    $304 = ($$1260|0)>($$0240$lcssa357|0);
    100147    $305 = $304 ? $$1260 : $$0240$lcssa357;
    100148    $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    100149    continue;
    100150   }
    100151   $308 = $$2251;
    100152   $309 = $$2;
    100153   $310 = (($308) - ($309))|0;
    100154   $311 = ($$5|0)<($310|0);
    100155   $$$5 = $311 ? $310 : $$5;
    100156   $312 = (($$$5) + ($$2234))|0;
    100157   $313 = ($$1260|0)<($312|0);
    100158   $$2261 = $313 ? $312 : $$1260;
    100159   _pad_674($0,32,$$2261,$312,$$6268);
    100160   _out_1229($0,$$2239,$$2234);
    100161   $314 = $$6268 ^ 65536;
    100162   _pad_674($0,48,$$2261,$312,$314);
    100163   _pad_674($0,48,$$$5,$310,0);
    100164   _out_1229($0,$$2,$310);
    100165   $315 = $$6268 ^ 8192;
    100166   _pad_674($0,32,$$2261,$312,$315);
    100167   $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
    100168  }
    100169  L114: do {
    100170   if ((label|0) == 87) {
    100171    $316 = ($0|0)==(0|0);
    100172    if ($316) {
    100173     $317 = ($$0269|0)==(0);
    100174     if ($317) {
    100175      $$0 = 0;
    100176     } else {
    100177      $$2242305 = 1;
    100178      while(1) {
    100179       $318 = (($4) + ($$2242305<<2)|0);
    100180       $319 = HEAP32[$318>>2]|0;
    100181       $320 = ($319|0)==(0);
    100182       if ($320) {
    100183        $$3303 = $$2242305;
    100184        break;
    100185       }
    100186       $321 = (($3) + ($$2242305<<3)|0);
    100187       _pop_arg($321,$319,$2);
    100188       $322 = (($$2242305) + 1)|0;
    100189       $323 = ($322|0)<(10);
    100190       if ($323) {
    100191        $$2242305 = $322;
    100192       } else {
    100193        $$0 = 1;
    100194        break L114;
    100195       }
    100196      }
    100197      while(1) {
    100198       $326 = (($4) + ($$3303<<2)|0);
    100199       $327 = HEAP32[$326>>2]|0;
    100200       $328 = ($327|0)==(0);
    100201       $325 = (($$3303) + 1)|0;
    100202       if (!($328)) {
    100203        $$0 = -1;
    100204        break L114;
    100205       }
    100206       $324 = ($325|0)<(10);
    100207       if ($324) {
    100208        $$3303 = $325;
    100209       } else {
    100210        $$0 = 1;
    100211        break;
    100212       }
    100213      }
    100214     }
    100215    } else {
    100216     $$0 = $$1248;
    100217    }
    100218   }
    100219  } while(0);
    100220  STACKTOP = sp;return ($$0|0);
    100221 }
    100222 function ___lockfile($0) {
    100223  $0 = $0|0;
    100224  var label = 0, sp = 0;
    100225  sp = STACKTOP;
    100226  return 0;
    100227 }
    100228 function ___unlockfile($0) {
    100229  $0 = $0|0;
    100230  var label = 0, sp = 0;
    100231  sp = STACKTOP;
    100232  return;
    100233 }
    100234 function _out_1229($0,$1,$2) {
    100235  $0 = $0|0;
    100236  $1 = $1|0;
    100237  $2 = $2|0;
    100238  var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
    100239  sp = STACKTOP;
    100240  $3 = HEAP32[$0>>2]|0;
    100241  $4 = $3 & 32;
    100242  $5 = ($4|0)==(0);
    100243  if ($5) {
    100244   (___fwritex($1,$2,$0)|0);
    100245  }
    100246  return;
    100247 }
    100248 function _getint($0) {
    100249  $0 = $0|0;
    100250  var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0;
    100251  sp = STACKTOP;
    100252  $1 = HEAP32[$0>>2]|0;
    100253  $2 = HEAP8[$1>>0]|0;
    100254  $3 = $2 << 24 >> 24;
    100255  $isdigittmp4 = (($3) + -48)|0;
    100256  $isdigit5 = ($isdigittmp4>>>0)<(10);
    100257  if ($isdigit5) {
    100258   $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4;
    100259   while(1) {
    100260    $4 = ($$06*10)|0;
    100261    $5 = (($isdigittmp7) + ($4))|0;
    100262    $6 = ((($7)) + 1|0);
    100263    HEAP32[$0>>2] = $6;
    100264    $8 = HEAP8[$6>>0]|0;
    100265    $9 = $8 << 24 >> 24;
    100266    $isdigittmp = (($9) + -48)|0;
    100267    $isdigit = ($isdigittmp>>>0)<(10);
    100268    if ($isdigit) {
    100269     $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp;
    100270    } else {
    100271     $$0$lcssa = $5;
    100272     break;
    100273    }
    100274   }
    100275  } else {
    100276   $$0$lcssa = 0;
    100277  }
    100278  return ($$0$lcssa|0);
    100279 }
    100280 function _pop_arg($0,$1,$2) {
    100281  $0 = $0|0;
    100282  $1 = $1|0;
    100283  $2 = $2|0;
    100284  var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
    100285  var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
    100286  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
    100287  var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
    100288  var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
    100289  var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0;
    100290  var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0;
    100291  var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0;
    100292  var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0;
    100293  var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0;
    100294  sp = STACKTOP;
    100295  $3 = ($1>>>0)>(20);
    100296  L1: do {
    100297   if (!($3)) {
    100298    do {
    100299     switch ($1|0) {
    100300     case 9:  {
    100301      $arglist_current = HEAP32[$2>>2]|0;
    100302      $4 = $arglist_current;
    100303      $5 = ((0) + 4|0);
    100304      $expanded28 = $5;
    100305      $expanded = (($expanded28) - 1)|0;
    100306      $6 = (($4) + ($expanded))|0;
    100307      $7 = ((0) + 4|0);
    100308      $expanded32 = $7;
    100309      $expanded31 = (($expanded32) - 1)|0;
    100310      $expanded30 = $expanded31 ^ -1;
    100311      $8 = $6 & $expanded30;
    100312      $9 = $8;
    100313      $10 = HEAP32[$9>>2]|0;
    100314      $arglist_next = ((($9)) + 4|0);
    100315      HEAP32[$2>>2] = $arglist_next;
    100316      HEAP32[$0>>2] = $10;
    100317      break L1;
    100318      break;
    100319     }
    100320     case 10:  {
    100321      $arglist_current2 = HEAP32[$2>>2]|0;
    100322      $11 = $arglist_current2;
    100323      $12 = ((0) + 4|0);
    100324      $expanded35 = $12;
    100325      $expanded34 = (($expanded35) - 1)|0;
    100326      $13 = (($11) + ($expanded34))|0;
    100327      $14 = ((0) + 4|0);
    100328      $expanded39 = $14;
    100329      $expanded38 = (($expanded39) - 1)|0;
    100330      $expanded37 = $expanded38 ^ -1;
    100331      $15 = $13 & $expanded37;
    100332      $16 = $15;
    100333      $17 = HEAP32[$16>>2]|0;
    100334      $arglist_next3 = ((($16)) + 4|0);
    100335      HEAP32[$2>>2] = $arglist_next3;
    100336      $18 = ($17|0)<(0);
    100337      $19 = $18 << 31 >> 31;
    100338      $20 = $0;
    100339      $21 = $20;
    100340      HEAP32[$21>>2] = $17;
    100341      $22 = (($20) + 4)|0;
    100342      $23 = $22;
    100343      HEAP32[$23>>2] = $19;
    100344      break L1;
    100345      break;
    100346     }
    100347     case 11:  {
    100348      $arglist_current5 = HEAP32[$2>>2]|0;
    100349      $24 = $arglist_current5;
    100350      $25 = ((0) + 4|0);
    100351      $expanded42 = $25;
    100352      $expanded41 = (($expanded42) - 1)|0;
    100353      $26 = (($24) + ($expanded41))|0;
    100354      $27 = ((0) + 4|0);
    100355      $expanded46 = $27;
    100356      $expanded45 = (($expanded46) - 1)|0;
    100357      $expanded44 = $expanded45 ^ -1;
    100358      $28 = $26 & $expanded44;
    100359      $29 = $28;
    100360      $30 = HEAP32[$29>>2]|0;
    100361      $arglist_next6 = ((($29)) + 4|0);
    100362      HEAP32[$2>>2] = $arglist_next6;
    100363      $31 = $0;
    100364      $32 = $31;
    100365      HEAP32[$32>>2] = $30;
    100366      $33 = (($31) + 4)|0;
    100367      $34 = $33;
    100368      HEAP32[$34>>2] = 0;
    100369      break L1;
    100370      break;
    100371     }
    100372     case 12:  {
    100373      $arglist_current8 = HEAP32[$2>>2]|0;
    100374      $35 = $arglist_current8;
    100375      $36 = ((0) + 8|0);
    100376      $expanded49 = $36;
    100377      $expanded48 = (($expanded49) - 1)|0;
    100378      $37 = (($35) + ($expanded48))|0;
    100379      $38 = ((0) + 8|0);
    100380      $expanded53 = $38;
    100381      $expanded52 = (($expanded53) - 1)|0;
    100382      $expanded51 = $expanded52 ^ -1;
    100383      $39 = $37 & $expanded51;
    100384      $40 = $39;
    100385      $41 = $40;
    100386      $42 = $41;
    100387      $43 = HEAP32[$42>>2]|0;
    100388      $44 = (($41) + 4)|0;
    100389      $45 = $44;
    100390      $46 = HEAP32[$45>>2]|0;
    100391      $arglist_next9 = ((($40)) + 8|0);
    100392      HEAP32[$2>>2] = $arglist_next9;
    100393      $47 = $0;
    100394      $48 = $47;
    100395      HEAP32[$48>>2] = $43;
    100396      $49 = (($47) + 4)|0;
    100397      $50 = $49;
    100398      HEAP32[$50>>2] = $46;
    100399      break L1;
    100400      break;
    100401     }
    100402     case 13:  {
    100403      $arglist_current11 = HEAP32[$2>>2]|0;
    100404      $51 = $arglist_current11;
    100405      $52 = ((0) + 4|0);
    100406      $expanded56 = $52;
    100407      $expanded55 = (($expanded56) - 1)|0;
    100408      $53 = (($51) + ($expanded55))|0;
    100409      $54 = ((0) + 4|0);
    100410      $expanded60 = $54;
    100411      $expanded59 = (($expanded60) - 1)|0;
    100412      $expanded58 = $expanded59 ^ -1;
    100413      $55 = $53 & $expanded58;
    100414      $56 = $55;
    100415      $57 = HEAP32[$56>>2]|0;
    100416      $arglist_next12 = ((($56)) + 4|0);
    100417      HEAP32[$2>>2] = $arglist_next12;
    100418      $58 = $57&65535;
    100419      $59 = $58 << 16 >> 16;
    100420      $60 = ($59|0)<(0);
    100421      $61 = $60 << 31 >> 31;
    100422      $62 = $0;
    100423      $63 = $62;
    100424      HEAP32[$63>>2] = $59;
    100425      $64 = (($62) + 4)|0;
    100426      $65 = $64;
    100427      HEAP32[$65>>2] = $61;
    100428      break L1;
    100429      break;
    100430     }
    100431     case 14:  {
    100432      $arglist_current14 = HEAP32[$2>>2]|0;
    100433      $66 = $arglist_current14;
    100434      $67 = ((0) + 4|0);
    100435      $expanded63 = $67;
    100436      $expanded62 = (($expanded63) - 1)|0;
    100437      $68 = (($66) + ($expanded62))|0;
    100438      $69 = ((0) + 4|0);
    100439      $expanded67 = $69;
    100440      $expanded66 = (($expanded67) - 1)|0;
    100441      $expanded65 = $expanded66 ^ -1;
    100442      $70 = $68 & $expanded65;
    100443      $71 = $70;
    100444      $72 = HEAP32[$71>>2]|0;
    100445      $arglist_next15 = ((($71)) + 4|0);
    100446      HEAP32[$2>>2] = $arglist_next15;
    100447      $$mask31 = $72 & 65535;
    100448      $73 = $0;
    100449      $74 = $73;
    100450      HEAP32[$74>>2] = $$mask31;
    100451      $75 = (($73) + 4)|0;
    100452      $76 = $75;
    100453      HEAP32[$76>>2] = 0;
    100454      break L1;
    100455      break;
    100456     }
    100457     case 15:  {
    100458      $arglist_current17 = HEAP32[$2>>2]|0;
    100459      $77 = $arglist_current17;
    100460      $78 = ((0) + 4|0);
    100461      $expanded70 = $78;
    100462      $expanded69 = (($expanded70) - 1)|0;
    100463      $79 = (($77) + ($expanded69))|0;
    100464      $80 = ((0) + 4|0);
    100465      $expanded74 = $80;
    100466      $expanded73 = (($expanded74) - 1)|0;
    100467      $expanded72 = $expanded73 ^ -1;
    100468      $81 = $79 & $expanded72;
    100469      $82 = $81;
    100470      $83 = HEAP32[$82>>2]|0;
    100471      $arglist_next18 = ((($82)) + 4|0);
    100472      HEAP32[$2>>2] = $arglist_next18;
    100473      $84 = $83&255;
    100474      $85 = $84 << 24 >> 24;
    100475      $86 = ($85|0)<(0);
    100476      $87 = $86 << 31 >> 31;
    100477      $88 = $0;
    100478      $89 = $88;
    100479      HEAP32[$89>>2] = $85;
    100480      $90 = (($88) + 4)|0;
    100481      $91 = $90;
    100482      HEAP32[$91>>2] = $87;
    100483      break L1;
    100484      break;
    100485     }
    100486     case 16:  {
    100487      $arglist_current20 = HEAP32[$2>>2]|0;
    100488      $92 = $arglist_current20;
    100489      $93 = ((0) + 4|0);
    100490      $expanded77 = $93;
    100491      $expanded76 = (($expanded77) - 1)|0;
    100492      $94 = (($92) + ($expanded76))|0;
    100493      $95 = ((0) + 4|0);
    100494      $expanded81 = $95;
    100495      $expanded80 = (($expanded81) - 1)|0;
    100496      $expanded79 = $expanded80 ^ -1;
    100497      $96 = $94 & $expanded79;
    100498      $97 = $96;
    100499      $98 = HEAP32[$97>>2]|0;
    100500      $arglist_next21 = ((($97)) + 4|0);
    100501      HEAP32[$2>>2] = $arglist_next21;
    100502      $$mask = $98 & 255;
    100503      $99 = $0;
    100504      $100 = $99;
    100505      HEAP32[$100>>2] = $$mask;
    100506      $101 = (($99) + 4)|0;
    100507      $102 = $101;
    100508      HEAP32[$102>>2] = 0;
    100509      break L1;
    100510      break;
    100511     }
    100512     case 17:  {
    100513      $arglist_current23 = HEAP32[$2>>2]|0;
    100514      $103 = $arglist_current23;
    100515      $104 = ((0) + 8|0);
    100516      $expanded84 = $104;
    100517      $expanded83 = (($expanded84) - 1)|0;
    100518      $105 = (($103) + ($expanded83))|0;
    100519      $106 = ((0) + 8|0);
    100520      $expanded88 = $106;
    100521      $expanded87 = (($expanded88) - 1)|0;
    100522      $expanded86 = $expanded87 ^ -1;
    100523      $107 = $105 & $expanded86;
    100524      $108 = $107;
    100525      $109 = +HEAPF64[$108>>3];
    100526      $arglist_next24 = ((($108)) + 8|0);
    100527      HEAP32[$2>>2] = $arglist_next24;
    100528      HEAPF64[$0>>3] = $109;
    100529      break L1;
    100530      break;
    100531     }
    100532     case 18:  {
    100533      $arglist_current26 = HEAP32[$2>>2]|0;
    100534      $110 = $arglist_current26;
    100535      $111 = ((0) + 8|0);
    100536      $expanded91 = $111;
    100537      $expanded90 = (($expanded91) - 1)|0;
    100538      $112 = (($110) + ($expanded90))|0;
    100539      $113 = ((0) + 8|0);
    100540      $expanded95 = $113;
    100541      $expanded94 = (($expanded95) - 1)|0;
    100542      $expanded93 = $expanded94 ^ -1;
    100543      $114 = $112 & $expanded93;
    100544      $115 = $114;
    100545      $116 = +HEAPF64[$115>>3];
    100546      $arglist_next27 = ((($115)) + 8|0);
    100547      HEAP32[$2>>2] = $arglist_next27;
    100548      HEAPF64[$0>>3] = $116;
    100549      break L1;
    100550      break;
    100551     }
    100552     default: {
    100553      break L1;
    100554     }
    100555     }
    100556    } while(0);
    100557   }
    100558  } while(0);
    100559  return;
    100560 }
    100561 function _fmt_x($0,$1,$2,$3) {
    100562  $0 = $0|0;
    100563  $1 = $1|0;
    100564  $2 = $2|0;
    100565  $3 = $3|0;
    100566  var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
    100567  var sp = 0;
    100568  sp = STACKTOP;
    100569  $4 = ($0|0)==(0);
    100570  $5 = ($1|0)==(0);
    100571  $6 = $4 & $5;
    100572  if ($6) {
    100573   $$05$lcssa = $2;
    100574  } else {
    100575   $$056 = $2;$15 = $1;$8 = $0;
    100576   while(1) {
    100577    $7 = $8 & 15;
    100578    $9 = (70767 + ($7)|0);
    100579    $10 = HEAP8[$9>>0]|0;
    100580    $11 = $10&255;
    100581    $12 = $11 | $3;
    100582    $13 = $12&255;
    100583    $14 = ((($$056)) + -1|0);
    100584    HEAP8[$14>>0] = $13;
    100585    $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0);
    100586    $17 = tempRet0;
    100587    $18 = ($16|0)==(0);
    100588    $19 = ($17|0)==(0);
    100589    $20 = $18 & $19;
    100590    if ($20) {
    100591     $$05$lcssa = $14;
    100592     break;
    100593    } else {
    100594     $$056 = $14;$15 = $17;$8 = $16;
    100595    }
    100596   }
    100597  }
    100598  return ($$05$lcssa|0);
    100599 }
    100600 function _fmt_o($0,$1,$2) {
    100601  $0 = $0|0;
    100602  $1 = $1|0;
    100603  $2 = $2|0;
    100604  var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    100605  sp = STACKTOP;
    100606  $3 = ($0|0)==(0);
    100607  $4 = ($1|0)==(0);
    100608  $5 = $3 & $4;
    100609  if ($5) {
    100610   $$0$lcssa = $2;
    100611  } else {
    100612   $$06 = $2;$11 = $1;$7 = $0;
    100613   while(1) {
    100614    $6 = $7&255;
    100615    $8 = $6 & 7;
    100616    $9 = $8 | 48;
    100617    $10 = ((($$06)) + -1|0);
    100618    HEAP8[$10>>0] = $9;
    100619    $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0);
    100620    $13 = tempRet0;
    100621    $14 = ($12|0)==(0);
    100622    $15 = ($13|0)==(0);
    100623    $16 = $14 & $15;
    100624    if ($16) {
    100625     $$0$lcssa = $10;
    100626     break;
    100627    } else {
    100628     $$06 = $10;$11 = $13;$7 = $12;
    100629    }
    100630   }
    100631  }
    100632  return ($$0$lcssa|0);
    100633 }
    100634 function _fmt_u_1230($0,$1,$2) {
    100635  $0 = $0|0;
    100636  $1 = $1|0;
    100637  $2 = $2|0;
    100638  var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    100639  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    100640  sp = STACKTOP;
    100641  $3 = ($1>>>0)>(0);
    100642  $4 = ($0>>>0)>(4294967295);
    100643  $5 = ($1|0)==(0);
    100644  $6 = $5 & $4;
    100645  $7 = $3 | $6;
    100646  if ($7) {
    100647   $$0914 = $2;$8 = $0;$9 = $1;
    100648   while(1) {
    100649    $10 = (___uremdi3(($8|0),($9|0),10,0)|0);
    100650    $11 = tempRet0;
    100651    $12 = $10&255;
    100652    $13 = $12 | 48;
    100653    $14 = ((($$0914)) + -1|0);
    100654    HEAP8[$14>>0] = $13;
    100655    $15 = (___udivdi3(($8|0),($9|0),10,0)|0);
    100656    $16 = tempRet0;
    100657    $17 = ($9>>>0)>(9);
    100658    $18 = ($8>>>0)>(4294967295);
    100659    $19 = ($9|0)==(9);
    100660    $20 = $19 & $18;
    100661    $21 = $17 | $20;
    100662    if ($21) {
    100663     $$0914 = $14;$8 = $15;$9 = $16;
    100664    } else {
    100665     break;
    100666    }
    100667   }
    100668   $$010$lcssa$off0 = $15;$$09$lcssa = $14;
    100669  } else {
    100670   $$010$lcssa$off0 = $0;$$09$lcssa = $2;
    100671  }
    100672  $22 = ($$010$lcssa$off0|0)==(0);
    100673  if ($22) {
    100674   $$1$lcssa = $$09$lcssa;
    100675  } else {
    100676   $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa;
    100677   while(1) {
    100678    $23 = (($$012>>>0) % 10)&-1;
    100679    $24 = $23 | 48;
    100680    $25 = $24&255;
    100681    $26 = ((($$111)) + -1|0);
    100682    HEAP8[$26>>0] = $25;
    100683    $27 = (($$012>>>0) / 10)&-1;
    100684    $28 = ($$012>>>0)<(10);
    100685    if ($28) {
    100686     $$1$lcssa = $26;
    100687     break;
    100688    } else {
    100689     $$012 = $27;$$111 = $26;
    100690    }
    100691   }
    100692  }
    100693  return ($$1$lcssa|0);
    100694 }
    100695 function _strerror($0) {
    100696  $0 = $0|0;
    100697  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    100698  sp = STACKTOP;
    100699  $1 = (___pthread_self_105()|0);
    100700  $2 = ((($1)) + 188|0);
    100701  $3 = HEAP32[$2>>2]|0;
    100702  $4 = (___strerror_l($0,$3)|0);
    100703  return ($4|0);
    100704 }
    100705 function _memchr($0,$1,$2) {
    100706  $0 = $0|0;
    100707  $1 = $1|0;
    100708  $2 = $2|0;
    100709  var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
    100710  var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    100711  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0;
    100712  sp = STACKTOP;
    100713  $3 = $1 & 255;
    100714  $4 = $0;
    100715  $5 = $4 & 3;
    100716  $6 = ($5|0)!=(0);
    100717  $7 = ($2|0)!=(0);
    100718  $or$cond53 = $7 & $6;
    100719  L1: do {
    100720   if ($or$cond53) {
    100721    $8 = $1&255;
    100722    $$03555 = $0;$$03654 = $2;
    100723    while(1) {
    100724     $9 = HEAP8[$$03555>>0]|0;
    100725     $10 = ($9<<24>>24)==($8<<24>>24);
    100726     if ($10) {
    100727      $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654;
    100728      label = 6;
    100729      break L1;
    100730     }
    100731     $11 = ((($$03555)) + 1|0);
    100732     $12 = (($$03654) + -1)|0;
    100733     $13 = $11;
    100734     $14 = $13 & 3;
    100735     $15 = ($14|0)!=(0);
    100736     $16 = ($12|0)!=(0);
    100737     $or$cond = $16 & $15;
    100738     if ($or$cond) {
    100739      $$03555 = $11;$$03654 = $12;
    100740     } else {
    100741      $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16;
    100742      label = 5;
    100743      break;
    100744     }
    100745    }
    100746   } else {
    100747    $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7;
    100748    label = 5;
    100749   }
    100750  } while(0);
    100751  if ((label|0) == 5) {
    100752   if ($$lcssa) {
    100753    $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa;
    100754    label = 6;
    100755   } else {
    100756    $$2 = $$035$lcssa;$$3 = 0;
    100757   }
    100758  }
    100759  L8: do {
    100760   if ((label|0) == 6) {
    100761    $17 = HEAP8[$$035$lcssa65>>0]|0;
    100762    $18 = $1&255;
    100763    $19 = ($17<<24>>24)==($18<<24>>24);
    100764    if ($19) {
    100765     $$2 = $$035$lcssa65;$$3 = $$036$lcssa64;
    100766    } else {
    100767     $20 = Math_imul($3, 16843009)|0;
    100768     $21 = ($$036$lcssa64>>>0)>(3);
    100769     L11: do {
    100770      if ($21) {
    100771       $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64;
    100772       while(1) {
    100773        $22 = HEAP32[$$046>>2]|0;
    100774        $23 = $22 ^ $20;
    100775        $24 = (($23) + -16843009)|0;
    100776        $25 = $23 & -2139062144;
    100777        $26 = $25 ^ -2139062144;
    100778        $27 = $26 & $24;
    100779        $28 = ($27|0)==(0);
    100780        if (!($28)) {
    100781         break;
    100782        }
    100783        $29 = ((($$046)) + 4|0);
    100784        $30 = (($$13745) + -4)|0;
    100785        $31 = ($30>>>0)>(3);
    100786        if ($31) {
    100787         $$046 = $29;$$13745 = $30;
    100788        } else {
    100789         $$0$lcssa = $29;$$137$lcssa = $30;
    100790         label = 11;
    100791         break L11;
    100792        }
    100793       }
    100794       $$140 = $$046;$$23839 = $$13745;
    100795      } else {
    100796       $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64;
    100797       label = 11;
    100798      }
    100799     } while(0);
    100800     if ((label|0) == 11) {
    100801      $32 = ($$137$lcssa|0)==(0);
    100802      if ($32) {
    100803       $$2 = $$0$lcssa;$$3 = 0;
    100804       break;
    100805      } else {
    100806       $$140 = $$0$lcssa;$$23839 = $$137$lcssa;
    100807      }
    100808     }
    100809     while(1) {
    100810      $33 = HEAP8[$$140>>0]|0;
    100811      $34 = ($33<<24>>24)==($18<<24>>24);
    100812      if ($34) {
    100813       $$2 = $$140;$$3 = $$23839;
    100814       break L8;
    100815      }
    100816      $35 = ((($$140)) + 1|0);
    100817      $36 = (($$23839) + -1)|0;
    100818      $37 = ($36|0)==(0);
    100819      if ($37) {
    100820       $$2 = $35;$$3 = 0;
    100821       break;
    100822      } else {
    100823       $$140 = $35;$$23839 = $36;
    100824      }
    100825     }
    100826    }
    100827   }
    100828  } while(0);
    100829  $38 = ($$3|0)!=(0);
    100830  $39 = $38 ? $$2 : 0;
    100831  return ($39|0);
    100832 }
    100833 function _pad_674($0,$1,$2,$3,$4) {
    100834  $0 = $0|0;
    100835  $1 = $1|0;
    100836  $2 = $2|0;
    100837  $3 = $3|0;
    100838  $4 = $4|0;
    100839  var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    100840  sp = STACKTOP;
    100841  STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
    100842  $5 = sp;
    100843  $6 = $4 & 73728;
    100844  $7 = ($6|0)==(0);
    100845  $8 = ($2|0)>($3|0);
    100846  $or$cond = $8 & $7;
    100847  if ($or$cond) {
    100848   $9 = (($2) - ($3))|0;
    100849   $10 = ($9>>>0)<(256);
    100850   $11 = $10 ? $9 : 256;
    100851   _memset(($5|0),($1|0),($11|0))|0;
    100852   $12 = ($9>>>0)>(255);
    100853   if ($12) {
    100854    $13 = (($2) - ($3))|0;
    100855    $$011 = $9;
    100856    while(1) {
    100857     _out_1229($0,$5,256);
    100858     $14 = (($$011) + -256)|0;
    100859     $15 = ($14>>>0)>(255);
    100860     if ($15) {
    100861      $$011 = $14;
    100862     } else {
    100863      break;
    100864     }
    100865    }
    100866    $16 = $13 & 255;
    100867    $$0$lcssa = $16;
    100868   } else {
    100869    $$0$lcssa = $9;
    100870   }
    100871   _out_1229($0,$5,$$0$lcssa);
    100872  }
    100873  STACKTOP = sp;return;
    100874 }
    100875 function _wctomb($0,$1) {
    100876  $0 = $0|0;
    100877  $1 = $1|0;
    100878  var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    100879  sp = STACKTOP;
    100880  $2 = ($0|0)==(0|0);
    100881  if ($2) {
    100882   $$0 = 0;
    100883  } else {
    100884   $3 = (_wcrtomb($0,$1,0)|0);
    100885   $$0 = $3;
    100886  }
    100887  return ($$0|0);
    100888 }
    100889 function _fmt_fp_1233($0,$1,$2,$3,$4,$5) {
    100890  $0 = $0|0;
    100891  $1 = +$1;
    100892  $2 = $2|0;
    100893  $3 = $3|0;
    100894  $4 = $4|0;
    100895  $5 = $5|0;
    100896  var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0;
    100897  var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0;
    100898  var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0;
    100899  var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0;
    100900  var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0;
    100901  var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
    100902  var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0;
    100903  var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
    100904  var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
    100905  var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
    100906  var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
    100907  var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0;
    100908  var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0;
    100909  var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0;
    100910  var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0;
    100911  var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0;
    100912  var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
    100913  var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
    100914  var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
    100915  var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0;
    100916  var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0;
    100917  var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
    100918  var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0;
    100919  var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
    100920  var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0;
    100921  var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0;
    100922  sp = STACKTOP;
    100923  STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0);
    100924  $6 = sp + 8|0;
    100925  $7 = sp;
    100926  $8 = sp + 524|0;
    100927  $9 = $8;
    100928  $10 = sp + 512|0;
    100929  HEAP32[$7>>2] = 0;
    100930  $11 = ((($10)) + 12|0);
    100931  (___DOUBLE_BITS_675($1)|0);
    100932  $12 = tempRet0;
    100933  $13 = ($12|0)<(0);
    100934  if ($13) {
    100935   $14 = -$1;
    100936   $$0471 = $14;$$0520 = 1;$$0521 = 70736;
    100937  } else {
    100938   $15 = $4 & 2048;
    100939   $16 = ($15|0)==(0);
    100940   $17 = $4 & 1;
    100941   $18 = ($17|0)==(0);
    100942   $$ = $18 ? (70737) : (70742);
    100943   $$$ = $16 ? $$ : (70739);
    100944   $19 = $4 & 2049;
    100945   $narrow = ($19|0)!=(0);
    100946   $$534$ = $narrow&1;
    100947   $$0471 = $1;$$0520 = $$534$;$$0521 = $$$;
    100948  }
    100949  (___DOUBLE_BITS_675($$0471)|0);
    100950  $20 = tempRet0;
    100951  $21 = $20 & 2146435072;
    100952  $22 = ($21>>>0)<(2146435072);
    100953  $23 = (0)<(0);
    100954  $24 = ($21|0)==(2146435072);
    100955  $25 = $24 & $23;
    100956  $26 = $22 | $25;
    100957  do {
    100958   if ($26) {
    100959    $35 = (+_frexpl($$0471,$7));
    100960    $36 = $35 * 2.0;
    100961    $37 = $36 != 0.0;
    100962    if ($37) {
    100963     $38 = HEAP32[$7>>2]|0;
    100964     $39 = (($38) + -1)|0;
    100965     HEAP32[$7>>2] = $39;
    100966    }
    100967    $40 = $5 | 32;
    100968    $41 = ($40|0)==(97);
    100969    if ($41) {
    100970     $42 = $5 & 32;
    100971     $43 = ($42|0)==(0);
    100972     $44 = ((($$0521)) + 9|0);
    100973     $$0521$ = $43 ? $$0521 : $44;
    100974     $45 = $$0520 | 2;
    100975     $46 = ($3>>>0)>(11);
    100976     $47 = (12 - ($3))|0;
    100977     $48 = ($47|0)==(0);
    100978     $49 = $46 | $48;
    100979     do {
    100980      if ($49) {
    100981       $$1472 = $36;
    100982      } else {
    100983       $$0509582 = 8.0;$$1508583 = $47;
    100984       while(1) {
    100985        $50 = (($$1508583) + -1)|0;
    100986        $51 = $$0509582 * 16.0;
    100987        $52 = ($50|0)==(0);
    100988        if ($52) {
    100989         break;
    100990        } else {
    100991         $$0509582 = $51;$$1508583 = $50;
    100992        }
    100993       }
    100994       $53 = HEAP8[$$0521$>>0]|0;
    100995       $54 = ($53<<24>>24)==(45);
    100996       if ($54) {
    100997        $55 = -$36;
    100998        $56 = $55 - $51;
    100999        $57 = $51 + $56;
    101000        $58 = -$57;
    101001        $$1472 = $58;
    101002        break;
    101003       } else {
    101004        $59 = $36 + $51;
    101005        $60 = $59 - $51;
    101006        $$1472 = $60;
    101007        break;
    101008       }
    101009      }
    101010     } while(0);
    101011     $61 = HEAP32[$7>>2]|0;
    101012     $62 = ($61|0)<(0);
    101013     $63 = (0 - ($61))|0;
    101014     $64 = $62 ? $63 : $61;
    101015     $65 = ($64|0)<(0);
    101016     $66 = $65 << 31 >> 31;
    101017     $67 = (_fmt_u_1230($64,$66,$11)|0);
    101018     $68 = ($67|0)==($11|0);
    101019     if ($68) {
    101020      $69 = ((($10)) + 11|0);
    101021      HEAP8[$69>>0] = 48;
    101022      $$0511 = $69;
    101023     } else {
    101024      $$0511 = $67;
    101025     }
    101026     $70 = $61 >> 31;
    101027     $71 = $70 & 2;
    101028     $72 = (($71) + 43)|0;
    101029     $73 = $72&255;
    101030     $74 = ((($$0511)) + -1|0);
    101031     HEAP8[$74>>0] = $73;
    101032     $75 = (($5) + 15)|0;
    101033     $76 = $75&255;
    101034     $77 = ((($$0511)) + -2|0);
    101035     HEAP8[$77>>0] = $76;
    101036     $notrhs = ($3|0)<(1);
    101037     $78 = $4 & 8;
    101038     $79 = ($78|0)==(0);
    101039     $$0523 = $8;$$2473 = $$1472;
    101040     while(1) {
    101041      $80 = (~~(($$2473)));
    101042      $81 = (70767 + ($80)|0);
    101043      $82 = HEAP8[$81>>0]|0;
    101044      $83 = $82&255;
    101045      $84 = $83 | $42;
    101046      $85 = $84&255;
    101047      $86 = ((($$0523)) + 1|0);
    101048      HEAP8[$$0523>>0] = $85;
    101049      $87 = (+($80|0));
    101050      $88 = $$2473 - $87;
    101051      $89 = $88 * 16.0;
    101052      $90 = $86;
    101053      $91 = (($90) - ($9))|0;
    101054      $92 = ($91|0)==(1);
    101055      if ($92) {
    101056       $notlhs = $89 == 0.0;
    101057       $or$cond3$not = $notrhs & $notlhs;
    101058       $or$cond = $79 & $or$cond3$not;
    101059       if ($or$cond) {
    101060        $$1524 = $86;
    101061       } else {
    101062        $93 = ((($$0523)) + 2|0);
    101063        HEAP8[$86>>0] = 46;
    101064        $$1524 = $93;
    101065       }
    101066      } else {
    101067       $$1524 = $86;
    101068      }
    101069      $94 = $89 != 0.0;
    101070      if ($94) {
    101071       $$0523 = $$1524;$$2473 = $89;
    101072      } else {
    101073       break;
    101074      }
    101075     }
    101076     $95 = ($3|0)!=(0);
    101077     $96 = $77;
    101078     $97 = $11;
    101079     $98 = $$1524;
    101080     $99 = (($98) - ($9))|0;
    101081     $100 = (($97) - ($96))|0;
    101082     $101 = (($99) + -2)|0;
    101083     $102 = ($101|0)<($3|0);
    101084     $or$cond537 = $95 & $102;
    101085     $103 = (($3) + 2)|0;
    101086     $$pn = $or$cond537 ? $103 : $99;
    101087     $$0525 = (($100) + ($45))|0;
    101088     $104 = (($$0525) + ($$pn))|0;
    101089     _pad_674($0,32,$2,$104,$4);
    101090     _out_1229($0,$$0521$,$45);
    101091     $105 = $4 ^ 65536;
    101092     _pad_674($0,48,$2,$104,$105);
    101093     _out_1229($0,$8,$99);
    101094     $106 = (($$pn) - ($99))|0;
    101095     _pad_674($0,48,$106,0,0);
    101096     _out_1229($0,$77,$100);
    101097     $107 = $4 ^ 8192;
    101098     _pad_674($0,32,$2,$104,$107);
    101099     $$sink562 = $104;
    101100     break;
    101101    }
    101102    $108 = ($3|0)<(0);
    101103    $$539 = $108 ? 6 : $3;
    101104    if ($37) {
    101105     $109 = $36 * 268435456.0;
    101106     $110 = HEAP32[$7>>2]|0;
    101107     $111 = (($110) + -28)|0;
    101108     HEAP32[$7>>2] = $111;
    101109     $$3 = $109;$$pr = $111;
    101110    } else {
    101111     $$pre = HEAP32[$7>>2]|0;
    101112     $$3 = $36;$$pr = $$pre;
    101113    }
    101114    $112 = ($$pr|0)<(0);
    101115    $113 = ((($6)) + 288|0);
    101116    $$556 = $112 ? $6 : $113;
    101117    $$0498 = $$556;$$4 = $$3;
    101118    while(1) {
    101119     $114 = (~~(($$4))>>>0);
    101120     HEAP32[$$0498>>2] = $114;
    101121     $115 = ((($$0498)) + 4|0);
    101122     $116 = (+($114>>>0));
    101123     $117 = $$4 - $116;
    101124     $118 = $117 * 1.0E+9;
    101125     $119 = $118 != 0.0;
    101126     if ($119) {
    101127      $$0498 = $115;$$4 = $118;
    101128     } else {
    101129      break;
    101130     }
    101131    }
    101132    $120 = ($$pr|0)>(0);
    101133    if ($120) {
    101134     $$1482661 = $$556;$$1499660 = $115;$122 = $$pr;
    101135     while(1) {
    101136      $121 = ($122|0)<(29);
    101137      $123 = $121 ? $122 : 29;
    101138      $$0488653 = ((($$1499660)) + -4|0);
    101139      $124 = ($$0488653>>>0)<($$1482661>>>0);
    101140      if ($124) {
    101141       $$2483$ph = $$1482661;
    101142      } else {
    101143       $$0488655 = $$0488653;$$0497654 = 0;
    101144       while(1) {
    101145        $125 = HEAP32[$$0488655>>2]|0;
    101146        $126 = (_bitshift64Shl(($125|0),0,($123|0))|0);
    101147        $127 = tempRet0;
    101148        $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0);
    101149        $129 = tempRet0;
    101150        $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0);
    101151        $131 = tempRet0;
    101152        HEAP32[$$0488655>>2] = $130;
    101153        $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0);
    101154        $133 = tempRet0;
    101155        $$0488 = ((($$0488655)) + -4|0);
    101156        $134 = ($$0488>>>0)<($$1482661>>>0);
    101157        if ($134) {
    101158         break;
    101159        } else {
    101160         $$0488655 = $$0488;$$0497654 = $132;
    101161        }
    101162       }
    101163       $135 = ($132|0)==(0);
    101164       if ($135) {
    101165        $$2483$ph = $$1482661;
    101166       } else {
    101167        $136 = ((($$1482661)) + -4|0);
    101168        HEAP32[$136>>2] = $132;
    101169        $$2483$ph = $136;
    101170       }
    101171      }
    101172      $$2500 = $$1499660;
    101173      while(1) {
    101174       $137 = ($$2500>>>0)>($$2483$ph>>>0);
    101175       if (!($137)) {
    101176        break;
    101177       }
    101178       $138 = ((($$2500)) + -4|0);
    101179       $139 = HEAP32[$138>>2]|0;
    101180       $140 = ($139|0)==(0);
    101181       if ($140) {
    101182        $$2500 = $138;
    101183       } else {
    101184        break;
    101185       }
    101186      }
    101187      $141 = HEAP32[$7>>2]|0;
    101188      $142 = (($141) - ($123))|0;
    101189      HEAP32[$7>>2] = $142;
    101190      $143 = ($142|0)>(0);
    101191      if ($143) {
    101192       $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142;
    101193      } else {
    101194       $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142;
    101195       break;
    101196      }
    101197     }
    101198    } else {
    101199     $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr;
    101200    }
    101201    $144 = ($$pr564|0)<(0);
    101202    if ($144) {
    101203     $145 = (($$539) + 25)|0;
    101204     $146 = (($145|0) / 9)&-1;
    101205     $147 = (($146) + 1)|0;
    101206     $148 = ($40|0)==(102);
    101207     $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564;
    101208     while(1) {
    101209      $149 = (0 - ($150))|0;
    101210      $151 = ($149|0)<(9);
    101211      $152 = $151 ? $149 : 9;
    101212      $153 = ($$3484648>>>0)<($$3501647>>>0);
    101213      if ($153) {
    101214       $157 = 1 << $152;
    101215       $158 = (($157) + -1)|0;
    101216       $159 = 1000000000 >>> $152;
    101217       $$0487642 = 0;$$1489641 = $$3484648;
    101218       while(1) {
    101219        $160 = HEAP32[$$1489641>>2]|0;
    101220        $161 = $160 & $158;
    101221        $162 = $160 >>> $152;
    101222        $163 = (($162) + ($$0487642))|0;
    101223        HEAP32[$$1489641>>2] = $163;
    101224        $164 = Math_imul($161, $159)|0;
    101225        $165 = ((($$1489641)) + 4|0);
    101226        $166 = ($165>>>0)<($$3501647>>>0);
    101227        if ($166) {
    101228         $$0487642 = $164;$$1489641 = $165;
    101229        } else {
    101230         break;
    101231        }
    101232       }
    101233       $167 = HEAP32[$$3484648>>2]|0;
    101234       $168 = ($167|0)==(0);
    101235       $169 = ((($$3484648)) + 4|0);
    101236       $$$3484 = $168 ? $169 : $$3484648;
    101237       $170 = ($164|0)==(0);
    101238       if ($170) {
    101239        $$$3484692 = $$$3484;$$4502 = $$3501647;
    101240       } else {
    101241        $171 = ((($$3501647)) + 4|0);
    101242        HEAP32[$$3501647>>2] = $164;
    101243        $$$3484692 = $$$3484;$$4502 = $171;
    101244       }
    101245      } else {
    101246       $154 = HEAP32[$$3484648>>2]|0;
    101247       $155 = ($154|0)==(0);
    101248       $156 = ((($$3484648)) + 4|0);
    101249       $$$3484691 = $155 ? $156 : $$3484648;
    101250       $$$3484692 = $$$3484691;$$4502 = $$3501647;
    101251      }
    101252      $172 = $148 ? $$556 : $$$3484692;
    101253      $173 = $$4502;
    101254      $174 = $172;
    101255      $175 = (($173) - ($174))|0;
    101256      $176 = $175 >> 2;
    101257      $177 = ($176|0)>($147|0);
    101258      $178 = (($172) + ($147<<2)|0);
    101259      $$$4502 = $177 ? $178 : $$4502;
    101260      $179 = HEAP32[$7>>2]|0;
    101261      $180 = (($179) + ($152))|0;
    101262      HEAP32[$7>>2] = $180;
    101263      $181 = ($180|0)<(0);
    101264      if ($181) {
    101265       $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180;
    101266      } else {
    101267       $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502;
    101268       break;
    101269      }
    101270     }
    101271    } else {
    101272     $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa;
    101273    }
    101274    $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0);
    101275    $183 = $$556;
    101276    if ($182) {
    101277     $184 = $$3484$lcssa;
    101278     $185 = (($183) - ($184))|0;
    101279     $186 = $185 >> 2;
    101280     $187 = ($186*9)|0;
    101281     $188 = HEAP32[$$3484$lcssa>>2]|0;
    101282     $189 = ($188>>>0)<(10);
    101283     if ($189) {
    101284      $$1515 = $187;
    101285     } else {
    101286      $$0514637 = $187;$$0530636 = 10;
    101287      while(1) {
    101288       $190 = ($$0530636*10)|0;
    101289       $191 = (($$0514637) + 1)|0;
    101290       $192 = ($188>>>0)<($190>>>0);
    101291       if ($192) {
    101292        $$1515 = $191;
    101293        break;
    101294       } else {
    101295        $$0514637 = $191;$$0530636 = $190;
    101296       }
    101297      }
    101298     }
    101299    } else {
    101300     $$1515 = 0;
    101301    }
    101302    $193 = ($40|0)!=(102);
    101303    $194 = $193 ? $$1515 : 0;
    101304    $195 = (($$539) - ($194))|0;
    101305    $196 = ($40|0)==(103);
    101306    $197 = ($$539|0)!=(0);
    101307    $198 = $197 & $196;
    101308    $$neg = $198 << 31 >> 31;
    101309    $199 = (($195) + ($$neg))|0;
    101310    $200 = $$3501$lcssa;
    101311    $201 = (($200) - ($183))|0;
    101312    $202 = $201 >> 2;
    101313    $203 = ($202*9)|0;
    101314    $204 = (($203) + -9)|0;
    101315    $205 = ($199|0)<($204|0);
    101316    if ($205) {
    101317     $206 = ((($$556)) + 4|0);
    101318     $207 = (($199) + 9216)|0;
    101319     $208 = (($207|0) / 9)&-1;
    101320     $209 = (($208) + -1024)|0;
    101321     $210 = (($206) + ($209<<2)|0);
    101322     $211 = (($207|0) % 9)&-1;
    101323     $$0527629 = (($211) + 1)|0;
    101324     $212 = ($$0527629|0)<(9);
    101325     if ($212) {
    101326      $$0527631 = $$0527629;$$1531630 = 10;
    101327      while(1) {
    101328       $213 = ($$1531630*10)|0;
    101329       $$0527 = (($$0527631) + 1)|0;
    101330       $exitcond = ($$0527|0)==(9);
    101331       if ($exitcond) {
    101332        $$1531$lcssa = $213;
    101333        break;
    101334       } else {
    101335        $$0527631 = $$0527;$$1531630 = $213;
    101336       }
    101337      }
    101338     } else {
    101339      $$1531$lcssa = 10;
    101340     }
    101341     $214 = HEAP32[$210>>2]|0;
    101342     $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1;
    101343     $216 = ($215|0)==(0);
    101344     $217 = ((($210)) + 4|0);
    101345     $218 = ($217|0)==($$3501$lcssa|0);
    101346     $or$cond541 = $218 & $216;
    101347     if ($or$cond541) {
    101348      $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa;
    101349     } else {
    101350      $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1;
    101351      $220 = $219 & 1;
    101352      $221 = ($220|0)==(0);
    101353      $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0;
    101354      $222 = (($$1531$lcssa|0) / 2)&-1;
    101355      $223 = ($215>>>0)<($222>>>0);
    101356      $224 = ($215|0)==($222|0);
    101357      $or$cond544 = $218 & $224;
    101358      $$559 = $or$cond544 ? 1.0 : 1.5;
    101359      $$$559 = $223 ? 0.5 : $$559;
    101360      $225 = ($$0520|0)==(0);
    101361      if ($225) {
    101362       $$1467 = $$$559;$$1469 = $$542;
    101363      } else {
    101364       $226 = HEAP8[$$0521>>0]|0;
    101365       $227 = ($226<<24>>24)==(45);
    101366       $228 = -$$542;
    101367       $229 = -$$$559;
    101368       $$$542 = $227 ? $228 : $$542;
    101369       $$$$559 = $227 ? $229 : $$$559;
    101370       $$1467 = $$$$559;$$1469 = $$$542;
    101371      }
    101372      $230 = (($214) - ($215))|0;
    101373      HEAP32[$210>>2] = $230;
    101374      $231 = $$1469 + $$1467;
    101375      $232 = $231 != $$1469;
    101376      if ($232) {
    101377       $233 = (($230) + ($$1531$lcssa))|0;
    101378       HEAP32[$210>>2] = $233;
    101379       $234 = ($233>>>0)>(999999999);
    101380       if ($234) {
    101381        $$5486623 = $$3484$lcssa;$$sink545622 = $210;
    101382        while(1) {
    101383         $235 = ((($$sink545622)) + -4|0);
    101384         HEAP32[$$sink545622>>2] = 0;
    101385         $236 = ($235>>>0)<($$5486623>>>0);
    101386         if ($236) {
    101387          $237 = ((($$5486623)) + -4|0);
    101388          HEAP32[$237>>2] = 0;
    101389          $$6 = $237;
    101390         } else {
    101391          $$6 = $$5486623;
    101392         }
    101393         $238 = HEAP32[$235>>2]|0;
    101394         $239 = (($238) + 1)|0;
    101395         HEAP32[$235>>2] = $239;
    101396         $240 = ($239>>>0)>(999999999);
    101397         if ($240) {
    101398          $$5486623 = $$6;$$sink545622 = $235;
    101399         } else {
    101400          $$5486$lcssa = $$6;$$sink545$lcssa = $235;
    101401          break;
    101402         }
    101403        }
    101404       } else {
    101405        $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210;
    101406       }
    101407       $241 = $$5486$lcssa;
    101408       $242 = (($183) - ($241))|0;
    101409       $243 = $242 >> 2;
    101410       $244 = ($243*9)|0;
    101411       $245 = HEAP32[$$5486$lcssa>>2]|0;
    101412       $246 = ($245>>>0)<(10);
    101413       if ($246) {
    101414        $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa;
    101415       } else {
    101416        $$2516618 = $244;$$2532617 = 10;
    101417        while(1) {
    101418         $247 = ($$2532617*10)|0;
    101419         $248 = (($$2516618) + 1)|0;
    101420         $249 = ($245>>>0)<($247>>>0);
    101421         if ($249) {
    101422          $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa;
    101423          break;
    101424         } else {
    101425          $$2516618 = $248;$$2532617 = $247;
    101426         }
    101427        }
    101428       }
    101429      } else {
    101430       $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa;
    101431      }
    101432     }
    101433     $250 = ((($$4492)) + 4|0);
    101434     $251 = ($$3501$lcssa>>>0)>($250>>>0);
    101435     $$$3501 = $251 ? $250 : $$3501$lcssa;
    101436     $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8;
    101437    } else {
    101438     $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa;
    101439    }
    101440    $$7505 = $$7505$ph;
    101441    while(1) {
    101442     $252 = ($$7505>>>0)>($$9$ph>>>0);
    101443     if (!($252)) {
    101444      $$lcssa673 = 0;
    101445      break;
    101446     }
    101447     $253 = ((($$7505)) + -4|0);
    101448     $254 = HEAP32[$253>>2]|0;
    101449     $255 = ($254|0)==(0);
    101450     if ($255) {
    101451      $$7505 = $253;
    101452     } else {
    101453      $$lcssa673 = 1;
    101454      break;
    101455     }
    101456    }
    101457    $256 = (0 - ($$5519$ph))|0;
    101458    do {
    101459     if ($196) {
    101460      $not$ = $197 ^ 1;
    101461      $257 = $not$&1;
    101462      $$539$ = (($257) + ($$539))|0;
    101463      $258 = ($$539$|0)>($$5519$ph|0);
    101464      $259 = ($$5519$ph|0)>(-5);
    101465      $or$cond6 = $258 & $259;
    101466      if ($or$cond6) {
    101467       $260 = (($5) + -1)|0;
    101468       $$neg567 = (($$539$) + -1)|0;
    101469       $261 = (($$neg567) - ($$5519$ph))|0;
    101470       $$0479 = $260;$$2476 = $261;
    101471      } else {
    101472       $262 = (($5) + -2)|0;
    101473       $263 = (($$539$) + -1)|0;
    101474       $$0479 = $262;$$2476 = $263;
    101475      }
    101476      $264 = $4 & 8;
    101477      $265 = ($264|0)==(0);
    101478      if ($265) {
    101479       if ($$lcssa673) {
    101480        $266 = ((($$7505)) + -4|0);
    101481        $267 = HEAP32[$266>>2]|0;
    101482        $268 = ($267|0)==(0);
    101483        if ($268) {
    101484         $$2529 = 9;
    101485        } else {
    101486         $269 = (($267>>>0) % 10)&-1;
    101487         $270 = ($269|0)==(0);
    101488         if ($270) {
    101489          $$1528614 = 0;$$3533613 = 10;
    101490          while(1) {
    101491           $271 = ($$3533613*10)|0;
    101492           $272 = (($$1528614) + 1)|0;
    101493           $273 = (($267>>>0) % ($271>>>0))&-1;
    101494           $274 = ($273|0)==(0);
    101495           if ($274) {
    101496            $$1528614 = $272;$$3533613 = $271;
    101497           } else {
    101498            $$2529 = $272;
    101499            break;
    101500           }
    101501          }
    101502         } else {
    101503          $$2529 = 0;
    101504         }
    101505        }
    101506       } else {
    101507        $$2529 = 9;
    101508       }
    101509       $275 = $$0479 | 32;
    101510       $276 = ($275|0)==(102);
    101511       $277 = $$7505;
    101512       $278 = (($277) - ($183))|0;
    101513       $279 = $278 >> 2;
    101514       $280 = ($279*9)|0;
    101515       $281 = (($280) + -9)|0;
    101516       if ($276) {
    101517        $282 = (($281) - ($$2529))|0;
    101518        $283 = ($282|0)>(0);
    101519        $$546 = $283 ? $282 : 0;
    101520        $284 = ($$2476|0)<($$546|0);
    101521        $$2476$$547 = $284 ? $$2476 : $$546;
    101522        $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0;
    101523        break;
    101524       } else {
    101525        $285 = (($281) + ($$5519$ph))|0;
    101526        $286 = (($285) - ($$2529))|0;
    101527        $287 = ($286|0)>(0);
    101528        $$548 = $287 ? $286 : 0;
    101529        $288 = ($$2476|0)<($$548|0);
    101530        $$2476$$549 = $288 ? $$2476 : $$548;
    101531        $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0;
    101532        break;
    101533       }
    101534      } else {
    101535       $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264;
    101536      }
    101537     } else {
    101538      $$pre689 = $4 & 8;
    101539      $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689;
    101540     }
    101541    } while(0);
    101542    $289 = $$3477 | $$pre$phi690Z2D;
    101543    $290 = ($289|0)!=(0);
    101544    $291 = $290&1;
    101545    $292 = $$1480 | 32;
    101546    $293 = ($292|0)==(102);
    101547    if ($293) {
    101548     $294 = ($$5519$ph|0)>(0);
    101549     $295 = $294 ? $$5519$ph : 0;
    101550     $$2513 = 0;$$pn566 = $295;
    101551    } else {
    101552     $296 = ($$5519$ph|0)<(0);
    101553     $297 = $296 ? $256 : $$5519$ph;
    101554     $298 = ($297|0)<(0);
    101555     $299 = $298 << 31 >> 31;
    101556     $300 = (_fmt_u_1230($297,$299,$11)|0);
    101557     $301 = $11;
    101558     $302 = $300;
    101559     $303 = (($301) - ($302))|0;
    101560     $304 = ($303|0)<(2);
    101561     if ($304) {
    101562      $$1512607 = $300;
    101563      while(1) {
    101564       $305 = ((($$1512607)) + -1|0);
    101565       HEAP8[$305>>0] = 48;
    101566       $306 = $305;
    101567       $307 = (($301) - ($306))|0;
    101568       $308 = ($307|0)<(2);
    101569       if ($308) {
    101570        $$1512607 = $305;
    101571       } else {
    101572        $$1512$lcssa = $305;
    101573        break;
    101574       }
    101575      }
    101576     } else {
    101577      $$1512$lcssa = $300;
    101578     }
    101579     $309 = $$5519$ph >> 31;
    101580     $310 = $309 & 2;
    101581     $311 = (($310) + 43)|0;
    101582     $312 = $311&255;
    101583     $313 = ((($$1512$lcssa)) + -1|0);
    101584     HEAP8[$313>>0] = $312;
    101585     $314 = $$1480&255;
    101586     $315 = ((($$1512$lcssa)) + -2|0);
    101587     HEAP8[$315>>0] = $314;
    101588     $316 = $315;
    101589     $317 = (($301) - ($316))|0;
    101590     $$2513 = $315;$$pn566 = $317;
    101591    }
    101592    $318 = (($$0520) + 1)|0;
    101593    $319 = (($318) + ($$3477))|0;
    101594    $$1526 = (($319) + ($291))|0;
    101595    $320 = (($$1526) + ($$pn566))|0;
    101596    _pad_674($0,32,$2,$320,$4);
    101597    _out_1229($0,$$0521,$$0520);
    101598    $321 = $4 ^ 65536;
    101599    _pad_674($0,48,$2,$320,$321);
    101600    if ($293) {
    101601     $322 = ($$9$ph>>>0)>($$556>>>0);
    101602     $$0496$$9 = $322 ? $$556 : $$9$ph;
    101603     $323 = ((($8)) + 9|0);
    101604     $324 = $323;
    101605     $325 = ((($8)) + 8|0);
    101606     $$5493597 = $$0496$$9;
    101607     while(1) {
    101608      $326 = HEAP32[$$5493597>>2]|0;
    101609      $327 = (_fmt_u_1230($326,0,$323)|0);
    101610      $328 = ($$5493597|0)==($$0496$$9|0);
    101611      if ($328) {
    101612       $334 = ($327|0)==($323|0);
    101613       if ($334) {
    101614        HEAP8[$325>>0] = 48;
    101615        $$1465 = $325;
    101616       } else {
    101617        $$1465 = $327;
    101618       }
    101619      } else {
    101620       $329 = ($327>>>0)>($8>>>0);
    101621       if ($329) {
    101622        $330 = $327;
    101623        $331 = (($330) - ($9))|0;
    101624        _memset(($8|0),48,($331|0))|0;
    101625        $$0464594 = $327;
    101626        while(1) {
    101627         $332 = ((($$0464594)) + -1|0);
    101628         $333 = ($332>>>0)>($8>>>0);
    101629         if ($333) {
    101630          $$0464594 = $332;
    101631         } else {
    101632          $$1465 = $332;
    101633          break;
    101634         }
    101635        }
    101636       } else {
    101637        $$1465 = $327;
    101638       }
    101639      }
    101640      $335 = $$1465;
    101641      $336 = (($324) - ($335))|0;
    101642      _out_1229($0,$$1465,$336);
    101643      $337 = ((($$5493597)) + 4|0);
    101644      $338 = ($337>>>0)>($$556>>>0);
    101645      if ($338) {
    101646       break;
    101647      } else {
    101648       $$5493597 = $337;
    101649      }
    101650     }
    101651     $339 = ($289|0)==(0);
    101652     if (!($339)) {
    101653      _out_1229($0,70783,1);
    101654     }
    101655     $340 = ($337>>>0)<($$7505>>>0);
    101656     $341 = ($$3477|0)>(0);
    101657     $342 = $340 & $341;
    101658     if ($342) {
    101659      $$4478590 = $$3477;$$6494589 = $337;
    101660      while(1) {
    101661       $343 = HEAP32[$$6494589>>2]|0;
    101662       $344 = (_fmt_u_1230($343,0,$323)|0);
    101663       $345 = ($344>>>0)>($8>>>0);
    101664       if ($345) {
    101665        $346 = $344;
    101666        $347 = (($346) - ($9))|0;
    101667        _memset(($8|0),48,($347|0))|0;
    101668        $$0463584 = $344;
    101669        while(1) {
    101670         $348 = ((($$0463584)) + -1|0);
    101671         $349 = ($348>>>0)>($8>>>0);
    101672         if ($349) {
    101673          $$0463584 = $348;
    101674         } else {
    101675          $$0463$lcssa = $348;
    101676          break;
    101677         }
    101678        }
    101679       } else {
    101680        $$0463$lcssa = $344;
    101681       }
    101682       $350 = ($$4478590|0)<(9);
    101683       $351 = $350 ? $$4478590 : 9;
    101684       _out_1229($0,$$0463$lcssa,$351);
    101685       $352 = ((($$6494589)) + 4|0);
    101686       $353 = (($$4478590) + -9)|0;
    101687       $354 = ($352>>>0)<($$7505>>>0);
    101688       $355 = ($$4478590|0)>(9);
    101689       $356 = $354 & $355;
    101690       if ($356) {
    101691        $$4478590 = $353;$$6494589 = $352;
    101692       } else {
    101693        $$4478$lcssa = $353;
    101694        break;
    101695       }
    101696      }
    101697     } else {
    101698      $$4478$lcssa = $$3477;
    101699     }
    101700     $357 = (($$4478$lcssa) + 9)|0;
    101701     _pad_674($0,48,$357,9,0);
    101702    } else {
    101703     $358 = ((($$9$ph)) + 4|0);
    101704     $$7505$ = $$lcssa673 ? $$7505 : $358;
    101705     $359 = ($$3477|0)>(-1);
    101706     if ($359) {
    101707      $360 = ((($8)) + 9|0);
    101708      $361 = ($$pre$phi690Z2D|0)==(0);
    101709      $362 = $360;
    101710      $363 = (0 - ($9))|0;
    101711      $364 = ((($8)) + 8|0);
    101712      $$5602 = $$3477;$$7495601 = $$9$ph;
    101713      while(1) {
    101714       $365 = HEAP32[$$7495601>>2]|0;
    101715       $366 = (_fmt_u_1230($365,0,$360)|0);
    101716       $367 = ($366|0)==($360|0);
    101717       if ($367) {
    101718        HEAP8[$364>>0] = 48;
    101719        $$0 = $364;
    101720       } else {
    101721        $$0 = $366;
    101722       }
    101723       $368 = ($$7495601|0)==($$9$ph|0);
    101724       do {
    101725        if ($368) {
    101726         $372 = ((($$0)) + 1|0);
    101727         _out_1229($0,$$0,1);
    101728         $373 = ($$5602|0)<(1);
    101729         $or$cond554 = $361 & $373;
    101730         if ($or$cond554) {
    101731          $$2 = $372;
    101732          break;
    101733         }
    101734         _out_1229($0,70783,1);
    101735         $$2 = $372;
    101736        } else {
    101737         $369 = ($$0>>>0)>($8>>>0);
    101738         if (!($369)) {
    101739          $$2 = $$0;
    101740          break;
    101741         }
    101742         $scevgep684 = (($$0) + ($363)|0);
    101743         $scevgep684685 = $scevgep684;
    101744         _memset(($8|0),48,($scevgep684685|0))|0;
    101745         $$1598 = $$0;
    101746         while(1) {
    101747          $370 = ((($$1598)) + -1|0);
    101748          $371 = ($370>>>0)>($8>>>0);
    101749          if ($371) {
    101750           $$1598 = $370;
    101751          } else {
    101752           $$2 = $370;
    101753           break;
    101754          }
    101755         }
    101756        }
    101757       } while(0);
    101758       $374 = $$2;
    101759       $375 = (($362) - ($374))|0;
    101760       $376 = ($$5602|0)>($375|0);
    101761       $377 = $376 ? $375 : $$5602;
    101762       _out_1229($0,$$2,$377);
    101763       $378 = (($$5602) - ($375))|0;
    101764       $379 = ((($$7495601)) + 4|0);
    101765       $380 = ($379>>>0)<($$7505$>>>0);
    101766       $381 = ($378|0)>(-1);
    101767       $382 = $380 & $381;
    101768       if ($382) {
    101769        $$5602 = $378;$$7495601 = $379;
    101770       } else {
    101771        $$5$lcssa = $378;
    101772        break;
    101773       }
    101774      }
    101775     } else {
    101776      $$5$lcssa = $$3477;
    101777     }
    101778     $383 = (($$5$lcssa) + 18)|0;
    101779     _pad_674($0,48,$383,18,0);
    101780     $384 = $11;
    101781     $385 = $$2513;
    101782     $386 = (($384) - ($385))|0;
    101783     _out_1229($0,$$2513,$386);
    101784    }
    101785    $387 = $4 ^ 8192;
    101786    _pad_674($0,32,$2,$320,$387);
    101787    $$sink562 = $320;
    101788   } else {
    101789    $27 = $5 & 32;
    101790    $28 = ($27|0)!=(0);
    101791    $29 = $28 ? 70755 : 70759;
    101792    $30 = ($$0471 != $$0471) | (0.0 != 0.0);
    101793    $31 = $28 ? 72686 : 70763;
    101794    $$0510 = $30 ? $31 : $29;
    101795    $32 = (($$0520) + 3)|0;
    101796    $33 = $4 & -65537;
    101797    _pad_674($0,32,$2,$32,$33);
    101798    _out_1229($0,$$0521,$$0520);
    101799    _out_1229($0,$$0510,3);
    101800    $34 = $4 ^ 8192;
    101801    _pad_674($0,32,$2,$32,$34);
    101802    $$sink562 = $32;
    101803   }
    101804  } while(0);
    101805  $388 = ($$sink562|0)<($2|0);
    101806  $$555 = $388 ? $2 : $$sink562;
    101807  STACKTOP = sp;return ($$555|0);
    101808 }
    101809 function ___DOUBLE_BITS_675($0) {
    101810  $0 = +$0;
    101811  var $1 = 0, $2 = 0, label = 0, sp = 0;
    101812  sp = STACKTOP;
    101813  HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
    101814  $2 = HEAP32[tempDoublePtr+4>>2]|0;
    101815  tempRet0 = ($2);
    101816  return ($1|0);
    101817 }
    101818 function _frexpl($0,$1) {
    101819  $0 = +$0;
    101820  $1 = $1|0;
    101821  var $2 = 0.0, label = 0, sp = 0;
    101822  sp = STACKTOP;
    101823  $2 = (+_frexp($0,$1));
    101824  return (+$2);
    101825 }
    101826 function _frexp($0,$1) {
    101827  $0 = +$0;
    101828  $1 = $1|0;
    101829  var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0;
    101830  var sp = 0;
    101831  sp = STACKTOP;
    101832  HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
    101833  $3 = HEAP32[tempDoublePtr+4>>2]|0;
    101834  $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
    101835  $5 = tempRet0;
    101836  $6 = $4&65535;
    101837  $trunc$clear = $6 & 2047;
    101838  switch ($trunc$clear<<16>>16) {
    101839  case 0:  {
    101840   $7 = $0 != 0.0;
    101841   if ($7) {
    101842    $8 = $0 * 1.8446744073709552E+19;
    101843    $9 = (+_frexp($8,$1));
    101844    $10 = HEAP32[$1>>2]|0;
    101845    $11 = (($10) + -64)|0;
    101846    $$016 = $9;$storemerge = $11;
    101847   } else {
    101848    $$016 = $0;$storemerge = 0;
    101849   }
    101850   HEAP32[$1>>2] = $storemerge;
    101851   $$0 = $$016;
    101852   break;
    101853  }
    101854  case 2047:  {
    101855   $$0 = $0;
    101856   break;
    101857  }
    101858  default: {
    101859   $12 = $4 & 2047;
    101860   $13 = (($12) + -1022)|0;
    101861   HEAP32[$1>>2] = $13;
    101862   $14 = $3 & -2146435073;
    101863   $15 = $14 | 1071644672;
    101864   HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3];
    101865   $$0 = $16;
    101866  }
    101867  }
    101868  return (+$$0);
    101869 }
    101870 function _wcrtomb($0,$1,$2) {
    101871  $0 = $0|0;
    101872  $1 = $1|0;
    101873  $2 = $2|0;
    101874  var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
    101875  var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
    101876  var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0;
    101877  sp = STACKTOP;
    101878  $3 = ($0|0)==(0|0);
    101879  do {
    101880   if ($3) {
    101881    $$0 = 1;
    101882   } else {
    101883    $4 = ($1>>>0)<(128);
    101884    if ($4) {
    101885     $5 = $1&255;
    101886     HEAP8[$0>>0] = $5;
    101887     $$0 = 1;
    101888     break;
    101889    }
    101890    $6 = (___pthread_self_448()|0);
    101891    $7 = ((($6)) + 188|0);
    101892    $8 = HEAP32[$7>>2]|0;
    101893    $9 = HEAP32[$8>>2]|0;
    101894    $not$ = ($9|0)==(0|0);
    101895    if ($not$) {
    101896     $10 = $1 & -128;
    101897     $11 = ($10|0)==(57216);
    101898     if ($11) {
    101899      $13 = $1&255;
    101900      HEAP8[$0>>0] = $13;
    101901      $$0 = 1;
    101902      break;
    101903     } else {
    101904      $12 = (___errno_location()|0);
    101905      HEAP32[$12>>2] = 84;
    101906      $$0 = -1;
    101907      break;
    101908     }
    101909    }
    101910    $14 = ($1>>>0)<(2048);
    101911    if ($14) {
    101912     $15 = $1 >>> 6;
    101913     $16 = $15 | 192;
    101914     $17 = $16&255;
    101915     $18 = ((($0)) + 1|0);
    101916     HEAP8[$0>>0] = $17;
    101917     $19 = $1 & 63;
    101918     $20 = $19 | 128;
    101919     $21 = $20&255;
    101920     HEAP8[$18>>0] = $21;
    101921     $$0 = 2;
    101922     break;
    101923    }
    101924    $22 = ($1>>>0)<(55296);
    101925    $23 = $1 & -8192;
    101926    $24 = ($23|0)==(57344);
    101927    $or$cond = $22 | $24;
    101928    if ($or$cond) {
    101929     $25 = $1 >>> 12;
    101930     $26 = $25 | 224;
    101931     $27 = $26&255;
    101932     $28 = ((($0)) + 1|0);
    101933     HEAP8[$0>>0] = $27;
    101934     $29 = $1 >>> 6;
    101935     $30 = $29 & 63;
    101936     $31 = $30 | 128;
    101937     $32 = $31&255;
    101938     $33 = ((($0)) + 2|0);
    101939     HEAP8[$28>>0] = $32;
    101940     $34 = $1 & 63;
    101941     $35 = $34 | 128;
    101942     $36 = $35&255;
    101943     HEAP8[$33>>0] = $36;
    101944     $$0 = 3;
    101945     break;
    101946    }
    101947    $37 = (($1) + -65536)|0;
    101948    $38 = ($37>>>0)<(1048576);
    101949    if ($38) {
    101950     $39 = $1 >>> 18;
    101951     $40 = $39 | 240;
    101952     $41 = $40&255;
    101953     $42 = ((($0)) + 1|0);
    101954     HEAP8[$0>>0] = $41;
    101955     $43 = $1 >>> 12;
    101956     $44 = $43 & 63;
    101957     $45 = $44 | 128;
    101958     $46 = $45&255;
    101959     $47 = ((($0)) + 2|0);
    101960     HEAP8[$42>>0] = $46;
    101961     $48 = $1 >>> 6;
    101962     $49 = $48 & 63;
    101963     $50 = $49 | 128;
    101964     $51 = $50&255;
    101965     $52 = ((($0)) + 3|0);
    101966     HEAP8[$47>>0] = $51;
    101967     $53 = $1 & 63;
    101968     $54 = $53 | 128;
    101969     $55 = $54&255;
    101970     HEAP8[$52>>0] = $55;
    101971     $$0 = 4;
    101972     break;
    101973    } else {
    101974     $56 = (___errno_location()|0);
    101975     HEAP32[$56>>2] = 84;
    101976     $$0 = -1;
    101977     break;
    101978    }
    101979   }
    101980  } while(0);
    101981  return ($$0|0);
    101982 }
    101983 function ___pthread_self_448() {
    101984  var $0 = 0, label = 0, sp = 0;
    101985  sp = STACKTOP;
    101986  $0 = (_pthread_self()|0);
    101987  return ($0|0);
    101988 }
    101989 function ___pthread_self_105() {
    101990  var $0 = 0, label = 0, sp = 0;
    101991  sp = STACKTOP;
    101992  $0 = (_pthread_self()|0);
    101993  return ($0|0);
    101994 }
    101995 function ___strerror_l($0,$1) {
    101996  $0 = $0|0;
    101997  $1 = $1|0;
    101998  var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    101999  var label = 0, sp = 0;
    102000  sp = STACKTOP;
    102001  $$016 = 0;
    102002  while(1) {
    102003   $3 = (70785 + ($$016)|0);
    102004   $4 = HEAP8[$3>>0]|0;
    102005   $5 = $4&255;
    102006   $6 = ($5|0)==($0|0);
    102007   if ($6) {
    102008    label = 2;
    102009    break;
    102010   }
    102011   $7 = (($$016) + 1)|0;
    102012   $8 = ($7|0)==(87);
    102013   if ($8) {
    102014    $$01214 = 70873;$$115 = 87;
    102015    label = 5;
    102016    break;
    102017   } else {
    102018    $$016 = $7;
    102019   }
    102020  }
    102021  if ((label|0) == 2) {
    102022   $2 = ($$016|0)==(0);
    102023   if ($2) {
    102024    $$012$lcssa = 70873;
    102025   } else {
    102026    $$01214 = 70873;$$115 = $$016;
    102027    label = 5;
    102028   }
    102029  }
    102030  if ((label|0) == 5) {
    102031   while(1) {
    102032    label = 0;
    102033    $$113 = $$01214;
    102034    while(1) {
    102035     $9 = HEAP8[$$113>>0]|0;
    102036     $10 = ($9<<24>>24)==(0);
    102037     $11 = ((($$113)) + 1|0);
    102038     if ($10) {
    102039      break;
    102040     } else {
    102041      $$113 = $11;
    102042     }
    102043    }
    102044    $12 = (($$115) + -1)|0;
    102045    $13 = ($12|0)==(0);
    102046    if ($13) {
    102047     $$012$lcssa = $11;
    102048     break;
    102049    } else {
    102050     $$01214 = $11;$$115 = $12;
    102051     label = 5;
    102052    }
    102053   }
    102054  }
    102055  $14 = ((($1)) + 20|0);
    102056  $15 = HEAP32[$14>>2]|0;
    102057  $16 = (___lctrans($$012$lcssa,$15)|0);
    102058  return ($16|0);
    102059 }
    102060 function ___lctrans($0,$1) {
    102061  $0 = $0|0;
    102062  $1 = $1|0;
    102063  var $2 = 0, label = 0, sp = 0;
    102064  sp = STACKTOP;
    102065  $2 = (___lctrans_impl($0,$1)|0);
    102066  return ($2|0);
    102067 }
    102068 function ___lctrans_impl($0,$1) {
    102069  $0 = $0|0;
    102070  $1 = $1|0;
    102071  var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    102072  sp = STACKTOP;
    102073  $2 = ($1|0)==(0|0);
    102074  if ($2) {
    102075   $$0 = 0;
    102076  } else {
    102077   $3 = HEAP32[$1>>2]|0;
    102078   $4 = ((($1)) + 4|0);
    102079   $5 = HEAP32[$4>>2]|0;
    102080   $6 = (___mo_lookup($3,$5,$0)|0);
    102081   $$0 = $6;
    102082  }
    102083  $7 = ($$0|0)!=(0|0);
    102084  $8 = $7 ? $$0 : $0;
    102085  return ($8|0);
    102086 }
    102087 function ___mo_lookup($0,$1,$2) {
    102088  $0 = $0|0;
    102089  $1 = $1|0;
    102090  $2 = $2|0;
    102091  var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
    102092  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
    102093  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
    102094  var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0;
    102095  sp = STACKTOP;
    102096  $3 = HEAP32[$0>>2]|0;
    102097  $4 = (($3) + 1794895138)|0;
    102098  $5 = ((($0)) + 8|0);
    102099  $6 = HEAP32[$5>>2]|0;
    102100  $7 = (_swapc($6,$4)|0);
    102101  $8 = ((($0)) + 12|0);
    102102  $9 = HEAP32[$8>>2]|0;
    102103  $10 = (_swapc($9,$4)|0);
    102104  $11 = ((($0)) + 16|0);
    102105  $12 = HEAP32[$11>>2]|0;
    102106  $13 = (_swapc($12,$4)|0);
    102107  $14 = $1 >>> 2;
    102108  $15 = ($7>>>0)<($14>>>0);
    102109  L1: do {
    102110   if ($15) {
    102111    $16 = $7 << 2;
    102112    $17 = (($1) - ($16))|0;
    102113    $18 = ($10>>>0)<($17>>>0);
    102114    $19 = ($13>>>0)<($17>>>0);
    102115    $or$cond = $18 & $19;
    102116    if ($or$cond) {
    102117     $20 = $13 | $10;
    102118     $21 = $20 & 3;
    102119     $22 = ($21|0)==(0);
    102120     if ($22) {
    102121      $23 = $10 >>> 2;
    102122      $24 = $13 >>> 2;
    102123      $$090 = 0;$$094 = $7;
    102124      while(1) {
    102125       $25 = $$094 >>> 1;
    102126       $26 = (($$090) + ($25))|0;
    102127       $27 = $26 << 1;
    102128       $28 = (($27) + ($23))|0;
    102129       $29 = (($0) + ($28<<2)|0);
    102130       $30 = HEAP32[$29>>2]|0;
    102131       $31 = (_swapc($30,$4)|0);
    102132       $32 = (($28) + 1)|0;
    102133       $33 = (($0) + ($32<<2)|0);
    102134       $34 = HEAP32[$33>>2]|0;
    102135       $35 = (_swapc($34,$4)|0);
    102136       $36 = ($35>>>0)<($1>>>0);
    102137       $37 = (($1) - ($35))|0;
    102138       $38 = ($31>>>0)<($37>>>0);
    102139       $or$cond102 = $36 & $38;
    102140       if (!($or$cond102)) {
    102141        $$4 = 0;
    102142        break L1;
    102143       }
    102144       $39 = (($35) + ($31))|0;
    102145       $40 = (($0) + ($39)|0);
    102146       $41 = HEAP8[$40>>0]|0;
    102147       $42 = ($41<<24>>24)==(0);
    102148       if (!($42)) {
    102149        $$4 = 0;
    102150        break L1;
    102151       }
    102152       $43 = (($0) + ($35)|0);
    102153       $44 = (_strcmp($2,$43)|0);
    102154       $45 = ($44|0)==(0);
    102155       if ($45) {
    102156        break;
    102157       }
    102158       $62 = ($$094|0)==(1);
    102159       $63 = ($44|0)<(0);
    102160       $64 = (($$094) - ($25))|0;
    102161       $$195 = $63 ? $25 : $64;
    102162       $$191 = $63 ? $$090 : $26;
    102163       if ($62) {
    102164        $$4 = 0;
    102165        break L1;
    102166       } else {
    102167        $$090 = $$191;$$094 = $$195;
    102168       }
    102169      }
    102170      $46 = (($27) + ($24))|0;
    102171      $47 = (($0) + ($46<<2)|0);
    102172      $48 = HEAP32[$47>>2]|0;
    102173      $49 = (_swapc($48,$4)|0);
    102174      $50 = (($46) + 1)|0;
    102175      $51 = (($0) + ($50<<2)|0);
    102176      $52 = HEAP32[$51>>2]|0;
    102177      $53 = (_swapc($52,$4)|0);
    102178      $54 = ($53>>>0)<($1>>>0);
    102179      $55 = (($1) - ($53))|0;
    102180      $56 = ($49>>>0)<($55>>>0);
    102181      $or$cond104 = $54 & $56;
    102182      if ($or$cond104) {
    102183       $57 = (($0) + ($53)|0);
    102184       $58 = (($53) + ($49))|0;
    102185       $59 = (($0) + ($58)|0);
    102186       $60 = HEAP8[$59>>0]|0;
    102187       $61 = ($60<<24>>24)==(0);
    102188       $$ = $61 ? $57 : 0;
    102189       $$4 = $$;
    102190      } else {
    102191       $$4 = 0;
    102192      }
    102193     } else {
    102194      $$4 = 0;
    102195     }
    102196    } else {
    102197     $$4 = 0;
    102198    }
    102199   } else {
    102200    $$4 = 0;
    102201   }
    102202  } while(0);
    102203  return ($$4|0);
    102204 }
    102205 function _swapc($0,$1) {
    102206  $0 = $0|0;
    102207  $1 = $1|0;
    102208  var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    102209  sp = STACKTOP;
    102210  $2 = ($1|0)==(0);
    102211  $3 = (_llvm_bswap_i32(($0|0))|0);
    102212  $$ = $2 ? $0 : $3;
    102213  return ($$|0);
    102214 }
    102215 function ___fwritex($0,$1,$2) {
    102216  $0 = $0|0;
    102217  $1 = $1|0;
    102218  $2 = $2|0;
    102219  var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
    102220  var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
    102221  var label = 0, sp = 0;
    102222  sp = STACKTOP;
    102223  $3 = ((($2)) + 16|0);
    102224  $4 = HEAP32[$3>>2]|0;
    102225  $5 = ($4|0)==(0|0);
    102226  if ($5) {
    102227   $7 = (___towrite($2)|0);
    102228   $8 = ($7|0)==(0);
    102229   if ($8) {
    102230    $$pre = HEAP32[$3>>2]|0;
    102231    $12 = $$pre;
    102232    label = 5;
    102233   } else {
    102234    $$1 = 0;
    102235   }
    102236  } else {
    102237   $6 = $4;
    102238   $12 = $6;
    102239   label = 5;
    102240  }
    102241  L5: do {
    102242   if ((label|0) == 5) {
    102243    $9 = ((($2)) + 20|0);
    102244    $10 = HEAP32[$9>>2]|0;
    102245    $11 = (($12) - ($10))|0;
    102246    $13 = ($11>>>0)<($1>>>0);
    102247    $14 = $10;
    102248    if ($13) {
    102249     $15 = ((($2)) + 36|0);
    102250     $16 = HEAP32[$15>>2]|0;
    102251     $17 = (FUNCTION_TABLE_iiii[$16 & 511]($2,$0,$1)|0);
    102252     $$1 = $17;
    102253     break;
    102254    }
    102255    $18 = ((($2)) + 75|0);
    102256    $19 = HEAP8[$18>>0]|0;
    102257    $20 = ($19<<24>>24)>(-1);
    102258    L10: do {
    102259     if ($20) {
    102260      $$038 = $1;
    102261      while(1) {
    102262       $21 = ($$038|0)==(0);
    102263       if ($21) {
    102264        $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14;
    102265        break L10;
    102266       }
    102267       $22 = (($$038) + -1)|0;
    102268       $23 = (($0) + ($22)|0);
    102269       $24 = HEAP8[$23>>0]|0;
    102270       $25 = ($24<<24>>24)==(10);
    102271       if ($25) {
    102272        break;
    102273       } else {
    102274        $$038 = $22;
    102275       }
    102276      }
    102277      $26 = ((($2)) + 36|0);
    102278      $27 = HEAP32[$26>>2]|0;
    102279      $28 = (FUNCTION_TABLE_iiii[$27 & 511]($2,$0,$$038)|0);
    102280      $29 = ($28>>>0)<($$038>>>0);
    102281      if ($29) {
    102282       $$1 = $28;
    102283       break L5;
    102284      }
    102285      $30 = (($0) + ($$038)|0);
    102286      $$042 = (($1) - ($$038))|0;
    102287      $$pre47 = HEAP32[$9>>2]|0;
    102288      $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47;
    102289     } else {
    102290      $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14;
    102291     }
    102292    } while(0);
    102293    _memcpy(($31|0),($$141|0),($$143|0))|0;
    102294    $32 = HEAP32[$9>>2]|0;
    102295    $33 = (($32) + ($$143)|0);
    102296    HEAP32[$9>>2] = $33;
    102297    $34 = (($$139) + ($$143))|0;
    102298    $$1 = $34;
    102299   }
    102300  } while(0);
    102301  return ($$1|0);
    102302 }
    102303 function ___towrite($0) {
    102304  $0 = $0|0;
    102305  var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    102306  var $9 = 0, label = 0, sp = 0;
    102307  sp = STACKTOP;
    102308  $1 = ((($0)) + 74|0);
    102309  $2 = HEAP8[$1>>0]|0;
    102310  $3 = $2 << 24 >> 24;
    102311  $4 = (($3) + 255)|0;
    102312  $5 = $4 | $3;
    102313  $6 = $5&255;
    102314  HEAP8[$1>>0] = $6;
    102315  $7 = HEAP32[$0>>2]|0;
    102316  $8 = $7 & 8;
    102317  $9 = ($8|0)==(0);
    102318  if ($9) {
    102319   $11 = ((($0)) + 8|0);
    102320   HEAP32[$11>>2] = 0;
    102321   $12 = ((($0)) + 4|0);
    102322   HEAP32[$12>>2] = 0;
    102323   $13 = ((($0)) + 44|0);
    102324   $14 = HEAP32[$13>>2]|0;
    102325   $15 = ((($0)) + 28|0);
    102326   HEAP32[$15>>2] = $14;
    102327   $16 = ((($0)) + 20|0);
    102328   HEAP32[$16>>2] = $14;
    102329   $17 = ((($0)) + 48|0);
    102330   $18 = HEAP32[$17>>2]|0;
    102331   $19 = (($14) + ($18)|0);
    102332   $20 = ((($0)) + 16|0);
    102333   HEAP32[$20>>2] = $19;
    102334   $$0 = 0;
    102335  } else {
    102336   $10 = $7 | 32;
    102337   HEAP32[$0>>2] = $10;
    102338   $$0 = -1;
    102339  }
    102340  return ($$0|0);
    102341 }
    102342 function _sn_write($0,$1,$2) {
    102343  $0 = $0|0;
    102344  $1 = $1|0;
    102345  $2 = $2|0;
    102346  var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    102347  sp = STACKTOP;
    102348  $3 = ((($0)) + 16|0);
    102349  $4 = HEAP32[$3>>2]|0;
    102350  $5 = ((($0)) + 20|0);
    102351  $6 = HEAP32[$5>>2]|0;
    102352  $7 = $6;
    102353  $8 = (($4) - ($7))|0;
    102354  $9 = ($8>>>0)>($2>>>0);
    102355  $$ = $9 ? $2 : $8;
    102356  _memcpy(($6|0),($1|0),($$|0))|0;
    102357  $10 = HEAP32[$5>>2]|0;
    102358  $11 = (($10) + ($$)|0);
    102359  HEAP32[$5>>2] = $11;
    102360  return ($2|0);
    102361 }
    102362 function _isalnum($0) {
    102363  $0 = $0|0;
    102364  var $1 = 0, $2 = 0, $3 = 0, $isdigit = 0, $isdigittmp = 0, $not$ = 0, label = 0, sp = 0;
    102365  sp = STACKTOP;
    102366  $1 = (_isalpha($0)|0);
    102367  $isdigittmp = (($0) + -48)|0;
    102368  $isdigit = ($isdigittmp>>>0)<(10);
    102369  $not$ = ($1|0)!=(0);
    102370  $2 = $isdigit | $not$;
    102371  $3 = $2&1;
    102372  return ($3|0);
    102373 }
    102374 function _isalpha($0) {
    102375  $0 = $0|0;
    102376  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    102377  sp = STACKTOP;
    102378  $1 = $0 | 32;
    102379  $2 = (($1) + -97)|0;
    102380  $3 = ($2>>>0)<(26);
    102381  $4 = $3&1;
    102382  return ($4|0);
    102383 }
    102384 function _isdigit($0) {
    102385  $0 = $0|0;
    102386  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    102387  sp = STACKTOP;
    102388  $1 = (($0) + -48)|0;
    102389  $2 = ($1>>>0)<(10);
    102390  $3 = $2&1;
    102391  return ($3|0);
    102392 }
    102393 function ___floatscan($0,$1,$2) {
    102394  $0 = $0|0;
    102395  $1 = $1|0;
    102396  $2 = $2|0;
    102397  var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0;
    102398  var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
    102399  var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0;
    102400  var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
    102401  var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
    102402  var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
    102403  var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
    102404  var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
    102405  sp = STACKTOP;
    102406  switch ($1|0) {
    102407  case 0:  {
    102408   $$0105$ph = -149;$$0106$ph = 24;
    102409   label = 4;
    102410   break;
    102411  }
    102412  case 1:  {
    102413   $$0105$ph = -1074;$$0106$ph = 53;
    102414   label = 4;
    102415   break;
    102416  }
    102417  case 2:  {
    102418   $$0105$ph = -1074;$$0106$ph = 53;
    102419   label = 4;
    102420   break;
    102421  }
    102422  default: {
    102423   $$0114 = 0.0;
    102424  }
    102425  }
    102426  L4: do {
    102427   if ((label|0) == 4) {
    102428    $3 = ((($0)) + 4|0);
    102429    $4 = ((($0)) + 100|0);
    102430    while(1) {
    102431     $5 = HEAP32[$3>>2]|0;
    102432     $6 = HEAP32[$4>>2]|0;
    102433     $7 = ($5>>>0)<($6>>>0);
    102434     if ($7) {
    102435      $8 = ((($5)) + 1|0);
    102436      HEAP32[$3>>2] = $8;
    102437      $9 = HEAP8[$5>>0]|0;
    102438      $10 = $9&255;
    102439      $12 = $10;
    102440     } else {
    102441      $11 = (___shgetc($0)|0);
    102442      $12 = $11;
    102443     }
    102444     $13 = (_isspace($12)|0);
    102445     $14 = ($13|0)==(0);
    102446     if ($14) {
    102447      break;
    102448     }
    102449    }
    102450    L13: do {
    102451     switch ($12|0) {
    102452     case 43: case 45:  {
    102453      $15 = ($12|0)==(45);
    102454      $16 = $15&1;
    102455      $17 = $16 << 1;
    102456      $18 = (1 - ($17))|0;
    102457      $19 = HEAP32[$3>>2]|0;
    102458      $20 = HEAP32[$4>>2]|0;
    102459      $21 = ($19>>>0)<($20>>>0);
    102460      if ($21) {
    102461       $22 = ((($19)) + 1|0);
    102462       HEAP32[$3>>2] = $22;
    102463       $23 = HEAP8[$19>>0]|0;
    102464       $24 = $23&255;
    102465       $$0 = $24;$$0113 = $18;
    102466       break L13;
    102467      } else {
    102468       $25 = (___shgetc($0)|0);
    102469       $$0 = $25;$$0113 = $18;
    102470       break L13;
    102471      }
    102472      break;
    102473     }
    102474     default: {
    102475      $$0 = $12;$$0113 = 1;
    102476     }
    102477     }
    102478    } while(0);
    102479    $$0107127 = 0;$$1128 = $$0;
    102480    while(1) {
    102481     $26 = $$1128 | 32;
    102482     $27 = (72677 + ($$0107127)|0);
    102483     $28 = HEAP8[$27>>0]|0;
    102484     $29 = $28 << 24 >> 24;
    102485     $30 = ($26|0)==($29|0);
    102486     if (!($30)) {
    102487      $$0107$lcssa = $$0107127;$$1$lcssa = $$1128;
    102488      break;
    102489     }
    102490     $31 = ($$0107127>>>0)<(7);
    102491     do {
    102492      if ($31) {
    102493       $32 = HEAP32[$3>>2]|0;
    102494       $33 = HEAP32[$4>>2]|0;
    102495       $34 = ($32>>>0)<($33>>>0);
    102496       if ($34) {
    102497        $35 = ((($32)) + 1|0);
    102498        HEAP32[$3>>2] = $35;
    102499        $36 = HEAP8[$32>>0]|0;
    102500        $37 = $36&255;
    102501        $$2 = $37;
    102502        break;
    102503       } else {
    102504        $38 = (___shgetc($0)|0);
    102505        $$2 = $38;
    102506        break;
    102507       }
    102508      } else {
    102509       $$2 = $$1128;
    102510      }
    102511     } while(0);
    102512     $39 = (($$0107127) + 1)|0;
    102513     $40 = ($39>>>0)<(8);
    102514     if ($40) {
    102515      $$0107127 = $39;$$1128 = $$2;
    102516     } else {
    102517      $$0107$lcssa = $39;$$1$lcssa = $$2;
    102518      break;
    102519     }
    102520    }
    102521    L29: do {
    102522     switch ($$0107$lcssa|0) {
    102523     case 8:  {
    102524      break;
    102525     }
    102526     case 3:  {
    102527      label = 23;
    102528      break;
    102529     }
    102530     default: {
    102531      $41 = ($$0107$lcssa>>>0)>(3);
    102532      $42 = ($2|0)!=(0);
    102533      $or$cond5 = $42 & $41;
    102534      if ($or$cond5) {
    102535       $43 = ($$0107$lcssa|0)==(8);
    102536       if ($43) {
    102537        break L29;
    102538       } else {
    102539        label = 23;
    102540        break L29;
    102541       }
    102542      }
    102543      $56 = ($$0107$lcssa|0)==(0);
    102544      L34: do {
    102545       if ($56) {
    102546        $$2109125 = 0;$$3126 = $$1$lcssa;
    102547        while(1) {
    102548         $57 = $$3126 | 32;
    102549         $58 = (72686 + ($$2109125)|0);
    102550         $59 = HEAP8[$58>>0]|0;
    102551         $60 = $59 << 24 >> 24;
    102552         $61 = ($57|0)==($60|0);
    102553         if (!($61)) {
    102554          $$3110 = $$2109125;$$5 = $$3126;
    102555          break L34;
    102556         }
    102557         $62 = ($$2109125>>>0)<(2);
    102558         do {
    102559          if ($62) {
    102560           $63 = HEAP32[$3>>2]|0;
    102561           $64 = HEAP32[$4>>2]|0;
    102562           $65 = ($63>>>0)<($64>>>0);
    102563           if ($65) {
    102564            $66 = ((($63)) + 1|0);
    102565            HEAP32[$3>>2] = $66;
    102566            $67 = HEAP8[$63>>0]|0;
    102567            $68 = $67&255;
    102568            $$4 = $68;
    102569            break;
    102570           } else {
    102571            $69 = (___shgetc($0)|0);
    102572            $$4 = $69;
    102573            break;
    102574           }
    102575          } else {
    102576           $$4 = $$3126;
    102577          }
    102578         } while(0);
    102579         $70 = (($$2109125) + 1)|0;
    102580         $71 = ($70>>>0)<(3);
    102581         if ($71) {
    102582          $$2109125 = $70;$$3126 = $$4;
    102583         } else {
    102584          $$3110 = $70;$$5 = $$4;
    102585          break;
    102586         }
    102587        }
    102588       } else {
    102589        $$3110 = $$0107$lcssa;$$5 = $$1$lcssa;
    102590       }
    102591      } while(0);
    102592      switch ($$3110|0) {
    102593      case 3:  {
    102594       $72 = HEAP32[$3>>2]|0;
    102595       $73 = HEAP32[$4>>2]|0;
    102596       $74 = ($72>>>0)<($73>>>0);
    102597       if ($74) {
    102598        $75 = ((($72)) + 1|0);
    102599        HEAP32[$3>>2] = $75;
    102600        $76 = HEAP8[$72>>0]|0;
    102601        $77 = $76&255;
    102602        $80 = $77;
    102603       } else {
    102604        $78 = (___shgetc($0)|0);
    102605        $80 = $78;
    102606       }
    102607       $79 = ($80|0)==(40);
    102608       if ($79) {
    102609        $$4111 = 1;
    102610       } else {
    102611        $81 = HEAP32[$4>>2]|0;
    102612        $82 = ($81|0)==(0|0);
    102613        if ($82) {
    102614         $$0114 = nan;
    102615         break L4;
    102616        }
    102617        $83 = HEAP32[$3>>2]|0;
    102618        $84 = ((($83)) + -1|0);
    102619        HEAP32[$3>>2] = $84;
    102620        $$0114 = nan;
    102621        break L4;
    102622       }
    102623       while(1) {
    102624        $85 = HEAP32[$3>>2]|0;
    102625        $86 = HEAP32[$4>>2]|0;
    102626        $87 = ($85>>>0)<($86>>>0);
    102627        if ($87) {
    102628         $88 = ((($85)) + 1|0);
    102629         HEAP32[$3>>2] = $88;
    102630         $89 = HEAP8[$85>>0]|0;
    102631         $90 = $89&255;
    102632         $93 = $90;
    102633        } else {
    102634         $91 = (___shgetc($0)|0);
    102635         $93 = $91;
    102636        }
    102637        $92 = (($93) + -48)|0;
    102638        $94 = ($92>>>0)<(10);
    102639        $95 = (($93) + -65)|0;
    102640        $96 = ($95>>>0)<(26);
    102641        $or$cond = $94 | $96;
    102642        if (!($or$cond)) {
    102643         $97 = (($93) + -97)|0;
    102644         $98 = ($97>>>0)<(26);
    102645         $99 = ($93|0)==(95);
    102646         $or$cond7 = $99 | $98;
    102647         if (!($or$cond7)) {
    102648          break;
    102649         }
    102650        }
    102651        $111 = (($$4111) + 1)|0;
    102652        $$4111 = $111;
    102653       }
    102654       $100 = ($93|0)==(41);
    102655       if ($100) {
    102656        $$0114 = nan;
    102657        break L4;
    102658       }
    102659       $101 = HEAP32[$4>>2]|0;
    102660       $102 = ($101|0)==(0|0);
    102661       if (!($102)) {
    102662        $103 = HEAP32[$3>>2]|0;
    102663        $104 = ((($103)) + -1|0);
    102664        HEAP32[$3>>2] = $104;
    102665       }
    102666       if (!($42)) {
    102667        $106 = (___errno_location()|0);
    102668        HEAP32[$106>>2] = 22;
    102669        ___shlim($0,0);
    102670        $$0114 = 0.0;
    102671        break L4;
    102672       }
    102673       $105 = ($$4111|0)==(0);
    102674       if ($105) {
    102675        $$0114 = nan;
    102676        break L4;
    102677       } else {
    102678        $$in = $$4111;
    102679       }
    102680       while(1) {
    102681        $107 = (($$in) + -1)|0;
    102682        if (!($102)) {
    102683         $108 = HEAP32[$3>>2]|0;
    102684         $109 = ((($108)) + -1|0);
    102685         HEAP32[$3>>2] = $109;
    102686        }
    102687        $110 = ($107|0)==(0);
    102688        if ($110) {
    102689         $$0114 = nan;
    102690         break L4;
    102691        } else {
    102692         $$in = $107;
    102693        }
    102694       }
    102695       break;
    102696      }
    102697      case 0:  {
    102698       $117 = ($$5|0)==(48);
    102699       if ($117) {
    102700        $118 = HEAP32[$3>>2]|0;
    102701        $119 = HEAP32[$4>>2]|0;
    102702        $120 = ($118>>>0)<($119>>>0);
    102703        if ($120) {
    102704         $121 = ((($118)) + 1|0);
    102705         HEAP32[$3>>2] = $121;
    102706         $122 = HEAP8[$118>>0]|0;
    102707         $123 = $122&255;
    102708         $126 = $123;
    102709        } else {
    102710         $124 = (___shgetc($0)|0);
    102711         $126 = $124;
    102712        }
    102713        $125 = $126 | 32;
    102714        $127 = ($125|0)==(120);
    102715        if ($127) {
    102716         $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2));
    102717         $$0114 = $128;
    102718         break L4;
    102719        }
    102720        $129 = HEAP32[$4>>2]|0;
    102721        $130 = ($129|0)==(0|0);
    102722        if ($130) {
    102723         $$6 = 48;
    102724        } else {
    102725         $131 = HEAP32[$3>>2]|0;
    102726         $132 = ((($131)) + -1|0);
    102727         HEAP32[$3>>2] = $132;
    102728         $$6 = 48;
    102729        }
    102730       } else {
    102731        $$6 = $$5;
    102732       }
    102733       $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2));
    102734       $$0114 = $133;
    102735       break L4;
    102736       break;
    102737      }
    102738      default: {
    102739       $112 = HEAP32[$4>>2]|0;
    102740       $113 = ($112|0)==(0|0);
    102741       if (!($113)) {
    102742        $114 = HEAP32[$3>>2]|0;
    102743        $115 = ((($114)) + -1|0);
    102744        HEAP32[$3>>2] = $115;
    102745       }
    102746       $116 = (___errno_location()|0);
    102747       HEAP32[$116>>2] = 22;
    102748       ___shlim($0,0);
    102749       $$0114 = 0.0;
    102750       break L4;
    102751      }
    102752      }
    102753     }
    102754     }
    102755    } while(0);
    102756    if ((label|0) == 23) {
    102757     $44 = HEAP32[$4>>2]|0;
    102758     $45 = ($44|0)==(0|0);
    102759     if (!($45)) {
    102760      $46 = HEAP32[$3>>2]|0;
    102761      $47 = ((($46)) + -1|0);
    102762      HEAP32[$3>>2] = $47;
    102763     }
    102764     $48 = ($2|0)!=(0);
    102765     $49 = ($$0107$lcssa>>>0)>(3);
    102766     $or$cond9 = $48 & $49;
    102767     if ($or$cond9) {
    102768      $$1108 = $$0107$lcssa;
    102769      while(1) {
    102770       if (!($45)) {
    102771        $50 = HEAP32[$3>>2]|0;
    102772        $51 = ((($50)) + -1|0);
    102773        HEAP32[$3>>2] = $51;
    102774       }
    102775       $52 = (($$1108) + -1)|0;
    102776       $$old8 = ($52>>>0)>(3);
    102777       if ($$old8) {
    102778        $$1108 = $52;
    102779       } else {
    102780        break;
    102781       }
    102782      }
    102783     }
    102784    }
    102785    $53 = (+($$0113|0));
    102786    $54 = $53 * inf;
    102787    $55 = $54;
    102788    $$0114 = $55;
    102789   }
    102790  } while(0);
    102791  return (+$$0114);
    102792 }
    102793 function _hexfloat($0,$1,$2,$3,$4) {
    102794  $0 = $0|0;
    102795  $1 = $1|0;
    102796  $2 = $2|0;
    102797  $3 = $3|0;
    102798  $4 = $4|0;
    102799  var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0;
    102800  var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0;
    102801  var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
    102802  var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
    102803  var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
    102804  var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0;
    102805  var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
    102806  var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0;
    102807  var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
    102808  var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
    102809  var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0;
    102810  var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
    102811  var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0;
    102812  var $or$cond6 = 0, label = 0, sp = 0;
    102813  sp = STACKTOP;
    102814  $5 = ((($0)) + 4|0);
    102815  $6 = HEAP32[$5>>2]|0;
    102816  $7 = ((($0)) + 100|0);
    102817  $8 = HEAP32[$7>>2]|0;
    102818  $9 = ($6>>>0)<($8>>>0);
    102819  if ($9) {
    102820   $10 = ((($6)) + 1|0);
    102821   HEAP32[$5>>2] = $10;
    102822   $11 = HEAP8[$6>>0]|0;
    102823   $12 = $11&255;
    102824   $$0 = $12;$$0142 = 0;
    102825  } else {
    102826   $13 = (___shgetc($0)|0);
    102827   $$0 = $13;$$0142 = 0;
    102828  }
    102829  L4: while(1) {
    102830   switch ($$0|0) {
    102831   case 46:  {
    102832    label = 8;
    102833    break L4;
    102834    break;
    102835   }
    102836   case 48:  {
    102837    break;
    102838   }
    102839   default: {
    102840    $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0;
    102841    break L4;
    102842   }
    102843   }
    102844   $14 = HEAP32[$5>>2]|0;
    102845   $15 = HEAP32[$7>>2]|0;
    102846   $16 = ($14>>>0)<($15>>>0);
    102847   if ($16) {
    102848    $17 = ((($14)) + 1|0);
    102849    HEAP32[$5>>2] = $17;
    102850    $18 = HEAP8[$14>>0]|0;
    102851    $19 = $18&255;
    102852    $$0 = $19;$$0142 = 1;
    102853    continue;
    102854   } else {
    102855    $20 = (___shgetc($0)|0);
    102856    $$0 = $20;$$0142 = 1;
    102857    continue;
    102858   }
    102859  }
    102860  if ((label|0) == 8) {
    102861   $21 = HEAP32[$5>>2]|0;
    102862   $22 = HEAP32[$7>>2]|0;
    102863   $23 = ($21>>>0)<($22>>>0);
    102864   if ($23) {
    102865    $24 = ((($21)) + 1|0);
    102866    HEAP32[$5>>2] = $24;
    102867    $25 = HEAP8[$21>>0]|0;
    102868    $26 = $25&255;
    102869    $$1$ph = $26;
    102870   } else {
    102871    $27 = (___shgetc($0)|0);
    102872    $$1$ph = $27;
    102873   }
    102874   $28 = ($$1$ph|0)==(48);
    102875   if ($28) {
    102876    $36 = 0;$37 = 0;
    102877    while(1) {
    102878     $29 = HEAP32[$5>>2]|0;
    102879     $30 = HEAP32[$7>>2]|0;
    102880     $31 = ($29>>>0)<($30>>>0);
    102881     if ($31) {
    102882      $32 = ((($29)) + 1|0);
    102883      HEAP32[$5>>2] = $32;
    102884      $33 = HEAP8[$29>>0]|0;
    102885      $34 = $33&255;
    102886      $41 = $34;
    102887     } else {
    102888      $35 = (___shgetc($0)|0);
    102889      $41 = $35;
    102890     }
    102891     $38 = (_i64Add(($36|0),($37|0),-1,-1)|0);
    102892     $39 = tempRet0;
    102893     $40 = ($41|0)==(48);
    102894     if ($40) {
    102895      $36 = $38;$37 = $39;
    102896     } else {
    102897      $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38;
    102898      break;
    102899     }
    102900    }
    102901   } else {
    102902    $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0;
    102903   }
    102904  }
    102905  while(1) {
    102906   $42 = (($$2) + -48)|0;
    102907   $43 = ($42>>>0)<(10);
    102908   $44 = ($$2|0)==(46);
    102909   if (!($43)) {
    102910    $45 = $$2 | 32;
    102911    $46 = (($45) + -97)|0;
    102912    $47 = ($46>>>0)<(6);
    102913    $or$cond6 = $44 | $47;
    102914    if (!($or$cond6)) {
    102915     $$2$lcssa = $$2;
    102916     break;
    102917    }
    102918   }
    102919   if ($44) {
    102920    $48 = ($$0146|0)==(0);
    102921    if ($48) {
    102922     $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53;
    102923    } else {
    102924     $$2$lcssa = 46;
    102925     break;
    102926    }
    102927   } else {
    102928    $49 = ($$2|0)>(57);
    102929    $50 = $$2 | 32;
    102930    $51 = (($50) + -87)|0;
    102931    $$0133 = $49 ? $51 : $42;
    102932    $52 = ($53|0)<(0);
    102933    $54 = ($55>>>0)<(8);
    102934    $56 = ($53|0)==(0);
    102935    $57 = $56 & $54;
    102936    $58 = $52 | $57;
    102937    do {
    102938     if ($58) {
    102939      $59 = $$0159 << 4;
    102940      $60 = (($$0133) + ($59))|0;
    102941      $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60;
    102942     } else {
    102943      $61 = ($53|0)<(0);
    102944      $62 = ($55>>>0)<(14);
    102945      $63 = ($53|0)==(0);
    102946      $64 = $63 & $62;
    102947      $65 = $61 | $64;
    102948      if ($65) {
    102949       $66 = (+($$0133|0));
    102950       $67 = $$0152 * 0.0625;
    102951       $68 = $67 * $66;
    102952       $69 = $$0155 + $68;
    102953       $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159;
    102954       break;
    102955      } else {
    102956       $70 = ($$0133|0)==(0);
    102957       $71 = ($$0148|0)!=(0);
    102958       $or$cond = $71 | $70;
    102959       $72 = $$0152 * 0.5;
    102960       $73 = $$0155 + $72;
    102961       $$0155$ = $or$cond ? $$0155 : $73;
    102962       $$0148$ = $or$cond ? $$0148 : 1;
    102963       $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159;
    102964       break;
    102965      }
    102966     }
    102967    } while(0);
    102968    $74 = (_i64Add(($55|0),($53|0),1,0)|0);
    102969    $75 = tempRet0;
    102970    $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75;
    102971   }
    102972   $76 = HEAP32[$5>>2]|0;
    102973   $77 = HEAP32[$7>>2]|0;
    102974   $78 = ($76>>>0)<($77>>>0);
    102975   if ($78) {
    102976    $79 = ((($76)) + 1|0);
    102977    HEAP32[$5>>2] = $79;
    102978    $80 = HEAP8[$76>>0]|0;
    102979    $81 = $80&255;
    102980    $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214;
    102981    continue;
    102982   } else {
    102983    $82 = (___shgetc($0)|0);
    102984    $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214;
    102985    continue;
    102986   }
    102987  }
    102988  $83 = ($$2144|0)==(0);
    102989  do {
    102990   if ($83) {
    102991    $84 = HEAP32[$7>>2]|0;
    102992    $85 = ($84|0)!=(0|0);
    102993    if ($85) {
    102994     $86 = HEAP32[$5>>2]|0;
    102995     $87 = ((($86)) + -1|0);
    102996     HEAP32[$5>>2] = $87;
    102997    }
    102998    $88 = ($4|0)==(0);
    102999    if ($88) {
    103000     ___shlim($0,0);
    103001    } else {
    103002     if ($85) {
    103003      $89 = HEAP32[$5>>2]|0;
    103004      $90 = ((($89)) + -1|0);
    103005      HEAP32[$5>>2] = $90;
    103006     }
    103007     $91 = ($$0146|0)==(0);
    103008     $92 = ($84|0)==(0|0);
    103009     $or$cond206 = $91 | $92;
    103010     if (!($or$cond206)) {
    103011      $93 = HEAP32[$5>>2]|0;
    103012      $94 = ((($93)) + -1|0);
    103013      HEAP32[$5>>2] = $94;
    103014     }
    103015    }
    103016    $95 = (+($3|0));
    103017    $96 = $95 * 0.0;
    103018    $$0165 = $96;
    103019   } else {
    103020    $97 = ($$0146|0)==(0);
    103021    $98 = $97 ? $55 : $99;
    103022    $100 = $97 ? $53 : $101;
    103023    $102 = ($53|0)<(0);
    103024    $103 = ($55>>>0)<(8);
    103025    $104 = ($53|0)==(0);
    103026    $105 = $104 & $103;
    103027    $106 = $102 | $105;
    103028    if ($106) {
    103029     $$3162183 = $$0159;$108 = $55;$109 = $53;
    103030     while(1) {
    103031      $107 = $$3162183 << 4;
    103032      $110 = (_i64Add(($108|0),($109|0),1,0)|0);
    103033      $111 = tempRet0;
    103034      $112 = ($111|0)<(0);
    103035      $113 = ($110>>>0)<(8);
    103036      $114 = ($111|0)==(0);
    103037      $115 = $114 & $113;
    103038      $116 = $112 | $115;
    103039      if ($116) {
    103040       $$3162183 = $107;$108 = $110;$109 = $111;
    103041      } else {
    103042       $$3162$lcssa = $107;
    103043       break;
    103044      }
    103045     }
    103046    } else {
    103047     $$3162$lcssa = $$0159;
    103048    }
    103049    $117 = $$2$lcssa | 32;
    103050    $118 = ($117|0)==(112);
    103051    if ($118) {
    103052     $119 = (_scanexp($0,$4)|0);
    103053     $120 = tempRet0;
    103054     $121 = ($119|0)==(0);
    103055     $122 = ($120|0)==(-2147483648);
    103056     $123 = $121 & $122;
    103057     if ($123) {
    103058      $124 = ($4|0)==(0);
    103059      if ($124) {
    103060       ___shlim($0,0);
    103061       $$0165 = 0.0;
    103062       break;
    103063      }
    103064      $125 = HEAP32[$7>>2]|0;
    103065      $126 = ($125|0)==(0|0);
    103066      if ($126) {
    103067       $137 = 0;$138 = 0;
    103068      } else {
    103069       $127 = HEAP32[$5>>2]|0;
    103070       $128 = ((($127)) + -1|0);
    103071       HEAP32[$5>>2] = $128;
    103072       $137 = 0;$138 = 0;
    103073      }
    103074     } else {
    103075      $137 = $119;$138 = $120;
    103076     }
    103077    } else {
    103078     $129 = HEAP32[$7>>2]|0;
    103079     $130 = ($129|0)==(0|0);
    103080     if ($130) {
    103081      $137 = 0;$138 = 0;
    103082     } else {
    103083      $131 = HEAP32[$5>>2]|0;
    103084      $132 = ((($131)) + -1|0);
    103085      HEAP32[$5>>2] = $132;
    103086      $137 = 0;$138 = 0;
    103087     }
    103088    }
    103089    $133 = (_bitshift64Shl(($98|0),($100|0),2)|0);
    103090    $134 = tempRet0;
    103091    $135 = (_i64Add(($133|0),($134|0),-32,-1)|0);
    103092    $136 = tempRet0;
    103093    $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0);
    103094    $140 = tempRet0;
    103095    $141 = ($$3162$lcssa|0)==(0);
    103096    if ($141) {
    103097     $142 = (+($3|0));
    103098     $143 = $142 * 0.0;
    103099     $$0165 = $143;
    103100     break;
    103101    }
    103102    $144 = (0 - ($2))|0;
    103103    $145 = ($144|0)<(0);
    103104    $146 = $145 << 31 >> 31;
    103105    $147 = ($140|0)>($146|0);
    103106    $148 = ($139>>>0)>($144>>>0);
    103107    $149 = ($140|0)==($146|0);
    103108    $150 = $149 & $148;
    103109    $151 = $147 | $150;
    103110    if ($151) {
    103111     $152 = (___errno_location()|0);
    103112     HEAP32[$152>>2] = 34;
    103113     $153 = (+($3|0));
    103114     $154 = $153 * 1.7976931348623157E+308;
    103115     $155 = $154 * 1.7976931348623157E+308;
    103116     $$0165 = $155;
    103117     break;
    103118    }
    103119    $156 = (($2) + -106)|0;
    103120    $157 = ($156|0)<(0);
    103121    $158 = $157 << 31 >> 31;
    103122    $159 = ($140|0)<($158|0);
    103123    $160 = ($139>>>0)<($156>>>0);
    103124    $161 = ($140|0)==($158|0);
    103125    $162 = $161 & $160;
    103126    $163 = $159 | $162;
    103127    if ($163) {
    103128     $165 = (___errno_location()|0);
    103129     HEAP32[$165>>2] = 34;
    103130     $166 = (+($3|0));
    103131     $167 = $166 * 2.2250738585072014E-308;
    103132     $168 = $167 * 2.2250738585072014E-308;
    103133     $$0165 = $168;
    103134     break;
    103135    }
    103136    $164 = ($$3162$lcssa|0)>(-1);
    103137    if ($164) {
    103138     $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140;
    103139     while(1) {
    103140      $169 = !($$3158179 >= 0.5);
    103141      $170 = $$4163178 << 1;
    103142      $171 = $$3158179 + -1.0;
    103143      $not$ = $169 ^ 1;
    103144      $172 = $not$&1;
    103145      $$5164 = $170 | $172;
    103146      $$pn = $169 ? $$3158179 : $171;
    103147      $$4 = $$3158179 + $$pn;
    103148      $175 = (_i64Add(($173|0),($174|0),-1,-1)|0);
    103149      $176 = tempRet0;
    103150      $177 = ($$5164|0)>(-1);
    103151      if ($177) {
    103152       $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176;
    103153      } else {
    103154       $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176;
    103155       break;
    103156      }
    103157     }
    103158    } else {
    103159     $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140;
    103160    }
    103161    $178 = ($1|0)<(0);
    103162    $179 = $178 << 31 >> 31;
    103163    $180 = ($2|0)<(0);
    103164    $181 = $180 << 31 >> 31;
    103165    $182 = (_i64Subtract(32,0,($2|0),($181|0))|0);
    103166    $183 = tempRet0;
    103167    $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0);
    103168    $187 = tempRet0;
    103169    $188 = ($179|0)>($187|0);
    103170    $189 = ($1>>>0)>($186>>>0);
    103171    $190 = ($179|0)==($187|0);
    103172    $191 = $190 & $189;
    103173    $192 = $188 | $191;
    103174    if ($192) {
    103175     $193 = ($186|0)>(0);
    103176     if ($193) {
    103177      $$0166 = $186;
    103178      label = 59;
    103179     } else {
    103180      $$0166170 = 0;$197 = 84;
    103181      label = 61;
    103182     }
    103183    } else {
    103184     $$0166 = $1;
    103185     label = 59;
    103186    }
    103187    if ((label|0) == 59) {
    103188     $194 = ($$0166|0)<(53);
    103189     $195 = (84 - ($$0166))|0;
    103190     if ($194) {
    103191      $$0166170 = $$0166;$197 = $195;
    103192      label = 61;
    103193     } else {
    103194      $$pre = (+($3|0));
    103195      $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre;
    103196     }
    103197    }
    103198    if ((label|0) == 61) {
    103199     $196 = (+($3|0));
    103200     $198 = (+_scalbn(1.0,$197));
    103201     $199 = (+_copysignl($198,$196));
    103202     $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196;
    103203    }
    103204    $200 = ($$0166169|0)<(32);
    103205    $201 = $$3158$lcssa != 0.0;
    103206    $or$cond4 = $201 & $200;
    103207    $202 = $$4163$lcssa & 1;
    103208    $203 = ($202|0)==(0);
    103209    $or$cond168 = $203 & $or$cond4;
    103210    $204 = $or$cond168&1;
    103211    $$6 = (($204) + ($$4163$lcssa))|0;
    103212    $$5 = $or$cond168 ? 0.0 : $$3158$lcssa;
    103213    $205 = (+($$6>>>0));
    103214    $206 = $$pre$phiZ2D * $205;
    103215    $207 = $$0151 + $206;
    103216    $208 = $$pre$phiZ2D * $$5;
    103217    $209 = $208 + $207;
    103218    $210 = $209 - $$0151;
    103219    $211 = $210 != 0.0;
    103220    if (!($211)) {
    103221     $212 = (___errno_location()|0);
    103222     HEAP32[$212>>2] = 34;
    103223    }
    103224    $213 = (+_scalbnl($210,$184));
    103225    $$0165 = $213;
    103226   }
    103227  } while(0);
    103228  return (+$$0165);
    103229 }
    103230 function _decfloat($0,$1,$2,$3,$4,$5) {
    103231  $0 = $0|0;
    103232  $1 = $1|0;
    103233  $2 = $2|0;
    103234  $3 = $3|0;
    103235  $4 = $4|0;
    103236  $5 = $5|0;
    103237  var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0;
    103238  var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0;
    103239  var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0;
    103240  var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0;
    103241  var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0;
    103242  var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
    103243  var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0;
    103244  var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
    103245  var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0;
    103246  var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
    103247  var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
    103248  var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
    103249  var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
    103250  var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
    103251  var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
    103252  var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
    103253  var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0;
    103254  var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0;
    103255  var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0;
    103256  var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0;
    103257  var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0;
    103258  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
    103259  var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
    103260  var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
    103261  var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0;
    103262  var label = 0, sp = 0;
    103263  sp = STACKTOP;
    103264  STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0);
    103265  $6 = sp;
    103266  $sum = (($3) + ($2))|0;
    103267  $7 = (0 - ($sum))|0;
    103268  $8 = ((($0)) + 4|0);
    103269  $9 = ((($0)) + 100|0);
    103270  $$0329 = $1;$$0396 = 0;
    103271  L1: while(1) {
    103272   switch ($$0329|0) {
    103273   case 46:  {
    103274    label = 6;
    103275    break L1;
    103276    break;
    103277   }
    103278   case 48:  {
    103279    break;
    103280   }
    103281   default: {
    103282    $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0;
    103283    break L1;
    103284   }
    103285   }
    103286   $10 = HEAP32[$8>>2]|0;
    103287   $11 = HEAP32[$9>>2]|0;
    103288   $12 = ($10>>>0)<($11>>>0);
    103289   if ($12) {
    103290    $13 = ((($10)) + 1|0);
    103291    HEAP32[$8>>2] = $13;
    103292    $14 = HEAP8[$10>>0]|0;
    103293    $15 = $14&255;
    103294    $$0329 = $15;$$0396 = 1;
    103295    continue;
    103296   } else {
    103297    $16 = (___shgetc($0)|0);
    103298    $$0329 = $16;$$0396 = 1;
    103299    continue;
    103300   }
    103301  }
    103302  if ((label|0) == 6) {
    103303   $17 = HEAP32[$8>>2]|0;
    103304   $18 = HEAP32[$9>>2]|0;
    103305   $19 = ($17>>>0)<($18>>>0);
    103306   if ($19) {
    103307    $20 = ((($17)) + 1|0);
    103308    HEAP32[$8>>2] = $20;
    103309    $21 = HEAP8[$17>>0]|0;
    103310    $22 = $21&255;
    103311    $$1330$ph = $22;
    103312   } else {
    103313    $23 = (___shgetc($0)|0);
    103314    $$1330$ph = $23;
    103315   }
    103316   $24 = ($$1330$ph|0)==(48);
    103317   if ($24) {
    103318    $25 = 0;$26 = 0;
    103319    while(1) {
    103320     $27 = (_i64Add(($25|0),($26|0),-1,-1)|0);
    103321     $28 = tempRet0;
    103322     $29 = HEAP32[$8>>2]|0;
    103323     $30 = HEAP32[$9>>2]|0;
    103324     $31 = ($29>>>0)<($30>>>0);
    103325     if ($31) {
    103326      $32 = ((($29)) + 1|0);
    103327      HEAP32[$8>>2] = $32;
    103328      $33 = HEAP8[$29>>0]|0;
    103329      $34 = $33&255;
    103330      $$1330$be = $34;
    103331     } else {
    103332      $35 = (___shgetc($0)|0);
    103333      $$1330$be = $35;
    103334     }
    103335     $36 = ($$1330$be|0)==(48);
    103336     if ($36) {
    103337      $25 = $27;$26 = $28;
    103338     } else {
    103339      $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28;
    103340      break;
    103341     }
    103342    }
    103343   } else {
    103344    $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0;
    103345   }
    103346  }
    103347  HEAP32[$6>>2] = 0;
    103348  $37 = (($$2) + -48)|0;
    103349  $38 = ($37>>>0)<(10);
    103350  $39 = ($$2|0)==(46);
    103351  $40 = $39 | $38;
    103352  L20: do {
    103353   if ($40) {
    103354    $41 = ((($6)) + 496|0);
    103355    $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0;
    103356    L22: while(1) {
    103357     do {
    103358      if ($368) {
    103359       $cond = ($$1394511|0)==(0);
    103360       if ($cond) {
    103361        $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45;
    103362       } else {
    103363        break L22;
    103364       }
    103365      } else {
    103366       $43 = ($$0345512|0)<(125);
    103367       $46 = (_i64Add(($44|0),($45|0),1,0)|0);
    103368       $47 = tempRet0;
    103369       $48 = ($$3514|0)!=(48);
    103370       if (!($43)) {
    103371        if (!($48)) {
    103372         $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
    103373         break;
    103374        }
    103375        $57 = HEAP32[$41>>2]|0;
    103376        $58 = $57 | 1;
    103377        HEAP32[$41>>2] = $58;
    103378        $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
    103379        break;
    103380       }
    103381       $$$0401 = $48 ? $46 : $$0401509;
    103382       $49 = ($$0341513|0)==(0);
    103383       $$pre = (($6) + ($$0345512<<2)|0);
    103384       if ($49) {
    103385        $$sink = $369;
    103386       } else {
    103387        $50 = HEAP32[$$pre>>2]|0;
    103388        $51 = ($50*10)|0;
    103389        $52 = (($$3514) + -48)|0;
    103390        $53 = (($52) + ($51))|0;
    103391        $$sink = $53;
    103392       }
    103393       HEAP32[$$pre>>2] = $$sink;
    103394       $54 = (($$0341513) + 1)|0;
    103395       $55 = ($54|0)==(9);
    103396       $56 = $55&1;
    103397       $$$0345 = (($56) + ($$0345512))|0;
    103398       $$413 = $55 ? 0 : $54;
    103399       $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
    103400      }
    103401     } while(0);
    103402     $59 = HEAP32[$8>>2]|0;
    103403     $60 = HEAP32[$9>>2]|0;
    103404     $61 = ($59>>>0)<($60>>>0);
    103405     if ($61) {
    103406      $62 = ((($59)) + 1|0);
    103407      HEAP32[$8>>2] = $62;
    103408      $63 = HEAP8[$59>>0]|0;
    103409      $64 = $63&255;
    103410      $$3$be = $64;
    103411     } else {
    103412      $65 = (___shgetc($0)|0);
    103413      $$3$be = $65;
    103414     }
    103415     $66 = (($$3$be) + -48)|0;
    103416     $67 = ($66>>>0)<(10);
    103417     $68 = ($$3$be|0)==(46);
    103418     $69 = $68 | $67;
    103419     if ($69) {
    103420      $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375;
    103421     } else {
    103422      $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375;
    103423      label = 29;
    103424      break L20;
    103425     }
    103426    }
    103427    $42 = ($$3399510|0)!=(0);
    103428    $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42;
    103429    label = 37;
    103430   } else {
    103431    $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0;
    103432    label = 29;
    103433   }
    103434  } while(0);
    103435  do {
    103436   if ((label|0) == 29) {
    103437    $70 = ($$1394$lcssa|0)==(0);
    103438    $71 = $70 ? $73 : $72;
    103439    $74 = $70 ? $76 : $75;
    103440    $77 = ($$3399$lcssa|0)!=(0);
    103441    $78 = $$3$lcssa | 32;
    103442    $79 = ($78|0)==(101);
    103443    $or$cond415 = $77 & $79;
    103444    if (!($or$cond415)) {
    103445     $94 = ($$3$lcssa|0)>(-1);
    103446     if ($94) {
    103447      $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77;
    103448      label = 37;
    103449      break;
    103450     } else {
    103451      $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74;
    103452      label = 39;
    103453      break;
    103454     }
    103455    }
    103456    $80 = (_scanexp($0,$5)|0);
    103457    $81 = tempRet0;
    103458    $82 = ($80|0)==(0);
    103459    $83 = ($81|0)==(-2147483648);
    103460    $84 = $82 & $83;
    103461    if ($84) {
    103462     $85 = ($5|0)==(0);
    103463     if ($85) {
    103464      ___shlim($0,0);
    103465      $$1 = 0.0;
    103466      break;
    103467     }
    103468     $86 = HEAP32[$9>>2]|0;
    103469     $87 = ($86|0)==(0|0);
    103470     if ($87) {
    103471      $90 = 0;$91 = 0;
    103472     } else {
    103473      $88 = HEAP32[$8>>2]|0;
    103474      $89 = ((($88)) + -1|0);
    103475      HEAP32[$8>>2] = $89;
    103476      $90 = 0;$91 = 0;
    103477     }
    103478    } else {
    103479     $90 = $80;$91 = $81;
    103480    }
    103481    $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0);
    103482    $93 = tempRet0;
    103483    $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76;
    103484    label = 41;
    103485   }
    103486  } while(0);
    103487  if ((label|0) == 37) {
    103488   $95 = HEAP32[$9>>2]|0;
    103489   $96 = ($95|0)==(0|0);
    103490   if ($96) {
    103491    $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379;
    103492    label = 39;
    103493   } else {
    103494    $97 = HEAP32[$8>>2]|0;
    103495    $98 = ((($97)) + -1|0);
    103496    HEAP32[$8>>2] = $98;
    103497    if ($380) {
    103498     $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377;
    103499     label = 41;
    103500    } else {
    103501     label = 40;
    103502    }
    103503   }
    103504  }
    103505  if ((label|0) == 39) {
    103506   if ($383) {
    103507    $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382;
    103508    label = 41;
    103509   } else {
    103510    label = 40;
    103511   }
    103512  }
    103513  do {
    103514   if ((label|0) == 40) {
    103515    $99 = (___errno_location()|0);
    103516    HEAP32[$99>>2] = 22;
    103517    ___shlim($0,0);
    103518    $$1 = 0.0;
    103519   }
    103520   else if ((label|0) == 41) {
    103521    $100 = HEAP32[$6>>2]|0;
    103522    $101 = ($100|0)==(0);
    103523    if ($101) {
    103524     $102 = (+($4|0));
    103525     $103 = $102 * 0.0;
    103526     $$1 = $103;
    103527     break;
    103528    }
    103529    $104 = ($105|0)==($106|0);
    103530    $107 = ($108|0)==($109|0);
    103531    $110 = $104 & $107;
    103532    $111 = ($109|0)<(0);
    103533    $112 = ($106>>>0)<(10);
    103534    $113 = ($109|0)==(0);
    103535    $114 = $113 & $112;
    103536    $115 = $111 | $114;
    103537    $or$cond = $115 & $110;
    103538    if ($or$cond) {
    103539     $116 = ($2|0)>(30);
    103540     $117 = $100 >>> $2;
    103541     $118 = ($117|0)==(0);
    103542     $or$cond417 = $116 | $118;
    103543     if ($or$cond417) {
    103544      $119 = (+($4|0));
    103545      $120 = (+($100>>>0));
    103546      $121 = $119 * $120;
    103547      $$1 = $121;
    103548      break;
    103549     }
    103550    }
    103551    $122 = (($3|0) / -2)&-1;
    103552    $123 = ($122|0)<(0);
    103553    $124 = $123 << 31 >> 31;
    103554    $125 = ($108|0)>($124|0);
    103555    $126 = ($105>>>0)>($122>>>0);
    103556    $127 = ($108|0)==($124|0);
    103557    $128 = $127 & $126;
    103558    $129 = $125 | $128;
    103559    if ($129) {
    103560     $130 = (___errno_location()|0);
    103561     HEAP32[$130>>2] = 34;
    103562     $131 = (+($4|0));
    103563     $132 = $131 * 1.7976931348623157E+308;
    103564     $133 = $132 * 1.7976931348623157E+308;
    103565     $$1 = $133;
    103566     break;
    103567    }
    103568    $134 = (($3) + -106)|0;
    103569    $135 = ($134|0)<(0);
    103570    $136 = $135 << 31 >> 31;
    103571    $137 = ($108|0)<($136|0);
    103572    $138 = ($105>>>0)<($134>>>0);
    103573    $139 = ($108|0)==($136|0);
    103574    $140 = $139 & $138;
    103575    $141 = $137 | $140;
    103576    if ($141) {
    103577     $142 = (___errno_location()|0);
    103578     HEAP32[$142>>2] = 34;
    103579     $143 = (+($4|0));
    103580     $144 = $143 * 2.2250738585072014E-308;
    103581     $145 = $144 * 2.2250738585072014E-308;
    103582     $$1 = $145;
    103583     break;
    103584    }
    103585    $146 = ($$0341463|0)==(0);
    103586    if ($146) {
    103587     $$3348 = $$0345467;
    103588    } else {
    103589     $147 = ($$0341463|0)<(9);
    103590     if ($147) {
    103591      $148 = (($6) + ($$0345467<<2)|0);
    103592      $$promoted = HEAP32[$148>>2]|0;
    103593      $$3344503 = $$0341463;$150 = $$promoted;
    103594      while(1) {
    103595       $149 = ($150*10)|0;
    103596       $151 = (($$3344503) + 1)|0;
    103597       $exitcond551 = ($151|0)==(9);
    103598       if ($exitcond551) {
    103599        break;
    103600       } else {
    103601        $$3344503 = $151;$150 = $149;
    103602       }
    103603      }
    103604      HEAP32[$148>>2] = $149;
    103605     }
    103606     $152 = (($$0345467) + 1)|0;
    103607     $$3348 = $152;
    103608    }
    103609    $153 = ($$0401473|0)<(9);
    103610    if ($153) {
    103611     $154 = ($$0401473|0)<=($105|0);
    103612     $155 = ($105|0)<(18);
    103613     $or$cond5 = $154 & $155;
    103614     if ($or$cond5) {
    103615      $156 = ($105|0)==(9);
    103616      $157 = HEAP32[$6>>2]|0;
    103617      if ($156) {
    103618       $158 = (+($4|0));
    103619       $159 = (+($157>>>0));
    103620       $160 = $158 * $159;
    103621       $$1 = $160;
    103622       break;
    103623      }
    103624      $161 = ($105|0)<(9);
    103625      if ($161) {
    103626       $162 = (+($4|0));
    103627       $163 = (+($157>>>0));
    103628       $164 = $162 * $163;
    103629       $165 = (8 - ($105))|0;
    103630       $166 = (3304 + ($165<<2)|0);
    103631       $167 = HEAP32[$166>>2]|0;
    103632       $168 = (+($167|0));
    103633       $169 = $164 / $168;
    103634       $$1 = $169;
    103635       break;
    103636      }
    103637      $$neg442 = Math_imul($105, -3)|0;
    103638      $$neg443 = (($2) + 27)|0;
    103639      $170 = (($$neg443) + ($$neg442))|0;
    103640      $171 = ($170|0)>(30);
    103641      $172 = $157 >>> $170;
    103642      $173 = ($172|0)==(0);
    103643      $or$cond419 = $171 | $173;
    103644      if ($or$cond419) {
    103645       $174 = (($105) + -10)|0;
    103646       $175 = (3304 + ($174<<2)|0);
    103647       $176 = (+($4|0));
    103648       $177 = (+($157>>>0));
    103649       $178 = $176 * $177;
    103650       $179 = HEAP32[$175>>2]|0;
    103651       $180 = (+($179|0));
    103652       $181 = $178 * $180;
    103653       $$1 = $181;
    103654       break;
    103655      }
    103656     }
    103657    }
    103658    $182 = (($105|0) % 9)&-1;
    103659    $183 = ($182|0)==(0);
    103660    if ($183) {
    103661     $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105;
    103662    } else {
    103663     $184 = ($105|0)>(-1);
    103664     $185 = (($182) + 9)|0;
    103665     $186 = $184 ? $182 : $185;
    103666     $187 = (8 - ($186))|0;
    103667     $188 = (3304 + ($187<<2)|0);
    103668     $189 = HEAP32[$188>>2]|0;
    103669     $190 = ($$3348|0)==(0);
    103670     if ($190) {
    103671      $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105;
    103672     } else {
    103673      $191 = (1000000000 / ($189|0))&-1;
    103674      $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0;
    103675      while(1) {
    103676       $192 = (($6) + ($$4349495<<2)|0);
    103677       $193 = HEAP32[$192>>2]|0;
    103678       $194 = (($193>>>0) % ($189>>>0))&-1;
    103679       $195 = (($193>>>0) / ($189>>>0))&-1;
    103680       $196 = (($195) + ($$0340496))|0;
    103681       HEAP32[$192>>2] = $196;
    103682       $197 = Math_imul($191, $194)|0;
    103683       $198 = ($$4349495|0)==($$0350494|0);
    103684       $199 = ($196|0)==(0);
    103685       $or$cond420 = $198 & $199;
    103686       $200 = (($$0350494) + 1)|0;
    103687       $201 = $200 & 127;
    103688       $202 = (($$0385493) + -9)|0;
    103689       $$$0385 = $or$cond420 ? $202 : $$0385493;
    103690       $$$0350 = $or$cond420 ? $201 : $$0350494;
    103691       $203 = (($$4349495) + 1)|0;
    103692       $204 = ($203|0)==($$3348|0);
    103693       if ($204) {
    103694        break;
    103695       } else {
    103696        $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203;
    103697       }
    103698      }
    103699      $205 = ($197|0)==(0);
    103700      if ($205) {
    103701       $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385;
    103702      } else {
    103703       $206 = (($6) + ($$3348<<2)|0);
    103704       $207 = (($$3348) + 1)|0;
    103705       HEAP32[$206>>2] = $197;
    103706       $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385;
    103707      }
    103708     }
    103709     $208 = (9 - ($186))|0;
    103710     $209 = (($208) + ($$0385$lcssa553))|0;
    103711     $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209;
    103712    }
    103713    L101: while(1) {
    103714     $210 = ($$2387$ph447|0)<(18);
    103715     $211 = ($$2387$ph447|0)==(18);
    103716     $212 = (($6) + ($$2352$ph449<<2)|0);
    103717     $$0380 = $$0380$ph;$$1373 = $$1373$ph448;
    103718     while(1) {
    103719      if (!($210)) {
    103720       if (!($211)) {
    103721        $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373;
    103722        break L101;
    103723       }
    103724       $213 = HEAP32[$212>>2]|0;
    103725       $214 = ($213>>>0)<(9007199);
    103726       if (!($214)) {
    103727        $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373;
    103728        break L101;
    103729       }
    103730      }
    103731      $215 = (($$1373) + 127)|0;
    103732      $$0334 = 0;$$2374 = $$1373;$$5$in = $215;
    103733      while(1) {
    103734       $$5 = $$5$in & 127;
    103735       $216 = (($6) + ($$5<<2)|0);
    103736       $217 = HEAP32[$216>>2]|0;
    103737       $218 = (_bitshift64Shl(($217|0),0,29)|0);
    103738       $219 = tempRet0;
    103739       $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0);
    103740       $221 = tempRet0;
    103741       $222 = ($221>>>0)>(0);
    103742       $223 = ($220>>>0)>(1000000000);
    103743       $224 = ($221|0)==(0);
    103744       $225 = $224 & $223;
    103745       $226 = $222 | $225;
    103746       if ($226) {
    103747        $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0);
    103748        $228 = tempRet0;
    103749        $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0);
    103750        $230 = tempRet0;
    103751        $$1335 = $227;$$sink421$off0 = $229;
    103752       } else {
    103753        $$1335 = 0;$$sink421$off0 = $220;
    103754       }
    103755       HEAP32[$216>>2] = $$sink421$off0;
    103756       $231 = (($$2374) + 127)|0;
    103757       $232 = $231 & 127;
    103758       $233 = ($$5|0)!=($232|0);
    103759       $234 = ($$5|0)==($$2352$ph449|0);
    103760       $or$cond422 = $233 | $234;
    103761       $or$cond422$not = $or$cond422 ^ 1;
    103762       $235 = ($$sink421$off0|0)==(0);
    103763       $or$cond423 = $235 & $or$cond422$not;
    103764       $$3375 = $or$cond423 ? $$5 : $$2374;
    103765       $236 = (($$5) + -1)|0;
    103766       if ($234) {
    103767        break;
    103768       } else {
    103769        $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236;
    103770       }
    103771      }
    103772      $237 = (($$0380) + -29)|0;
    103773      $238 = ($$1335|0)==(0);
    103774      if ($238) {
    103775       $$0380 = $237;$$1373 = $$3375;
    103776      } else {
    103777       break;
    103778      }
    103779     }
    103780     $239 = (($$2387$ph447) + 9)|0;
    103781     $240 = (($$2352$ph449) + 127)|0;
    103782     $241 = $240 & 127;
    103783     $242 = ($241|0)==($$3375|0);
    103784     $243 = (($$3375) + 127)|0;
    103785     $244 = $243 & 127;
    103786     $245 = (($$3375) + 126)|0;
    103787     $246 = $245 & 127;
    103788     $247 = (($6) + ($246<<2)|0);
    103789     if ($242) {
    103790      $248 = (($6) + ($244<<2)|0);
    103791      $249 = HEAP32[$248>>2]|0;
    103792      $250 = HEAP32[$247>>2]|0;
    103793      $251 = $250 | $249;
    103794      HEAP32[$247>>2] = $251;
    103795      $$4376 = $244;
    103796     } else {
    103797      $$4376 = $$3375;
    103798     }
    103799     $252 = (($6) + ($241<<2)|0);
    103800     HEAP32[$252>>2] = $$1335;
    103801     $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239;
    103802    }
    103803    L119: while(1) {
    103804     $289 = (($$6378$ph) + 1)|0;
    103805     $287 = $289 & 127;
    103806     $290 = (($$6378$ph) + 127)|0;
    103807     $291 = $290 & 127;
    103808     $292 = (($6) + ($291<<2)|0);
    103809     $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445;
    103810     while(1) {
    103811      $265 = ($$4389$ph|0)==(18);
    103812      $293 = ($$4389$ph|0)>(27);
    103813      $$425 = $293 ? 9 : 1;
    103814      $$1381 = $$1381$ph558;$$4354 = $$4354$ph559;
    103815      while(1) {
    103816       $$0336486 = 0;
    103817       while(1) {
    103818        $253 = (($$0336486) + ($$4354))|0;
    103819        $254 = $253 & 127;
    103820        $255 = ($254|0)==($$6378$ph|0);
    103821        if ($255) {
    103822         $$1337 = 2;
    103823         label = 88;
    103824         break;
    103825        }
    103826        $256 = (($6) + ($254<<2)|0);
    103827        $257 = HEAP32[$256>>2]|0;
    103828        $258 = (3336 + ($$0336486<<2)|0);
    103829        $259 = HEAP32[$258>>2]|0;
    103830        $260 = ($257>>>0)<($259>>>0);
    103831        if ($260) {
    103832         $$1337 = 2;
    103833         label = 88;
    103834         break;
    103835        }
    103836        $261 = ($257>>>0)>($259>>>0);
    103837        if ($261) {
    103838         break;
    103839        }
    103840        $262 = (($$0336486) + 1)|0;
    103841        $263 = ($262|0)<(2);
    103842        if ($263) {
    103843         $$0336486 = $262;
    103844        } else {
    103845         $$1337 = $262;
    103846         label = 88;
    103847         break;
    103848        }
    103849       }
    103850       if ((label|0) == 88) {
    103851        label = 0;
    103852        $264 = ($$1337|0)==(2);
    103853        $or$cond11 = $265 & $264;
    103854        if ($or$cond11) {
    103855         $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph;
    103856         break L119;
    103857        }
    103858       }
    103859       $266 = (($$425) + ($$1381))|0;
    103860       $267 = ($$4354|0)==($$6378$ph|0);
    103861       if ($267) {
    103862        $$1381 = $266;$$4354 = $$6378$ph;
    103863       } else {
    103864        break;
    103865       }
    103866      }
    103867      $268 = 1 << $$425;
    103868      $269 = (($268) + -1)|0;
    103869      $270 = 1000000000 >>> $$425;
    103870      $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354;
    103871      while(1) {
    103872       $271 = (($6) + ($$6489<<2)|0);
    103873       $272 = HEAP32[$271>>2]|0;
    103874       $273 = $272 & $269;
    103875       $274 = $272 >>> $$425;
    103876       $275 = (($274) + ($$0332490))|0;
    103877       HEAP32[$271>>2] = $275;
    103878       $276 = Math_imul($273, $270)|0;
    103879       $277 = ($$6489|0)==($$5355488|0);
    103880       $278 = ($275|0)==(0);
    103881       $or$cond426 = $277 & $278;
    103882       $279 = (($$5355488) + 1)|0;
    103883       $280 = $279 & 127;
    103884       $281 = (($$5390487) + -9)|0;
    103885       $$$5390 = $or$cond426 ? $281 : $$5390487;
    103886       $$$5355 = $or$cond426 ? $280 : $$5355488;
    103887       $282 = (($$6489) + 1)|0;
    103888       $283 = $282 & 127;
    103889       $284 = ($283|0)==($$6378$ph|0);
    103890       if ($284) {
    103891        break;
    103892       } else {
    103893        $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283;
    103894       }
    103895      }
    103896      $285 = ($276|0)==(0);
    103897      if ($285) {
    103898       $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390;
    103899       continue;
    103900      }
    103901      $286 = ($287|0)==($$$5355|0);
    103902      if (!($286)) {
    103903       break;
    103904      }
    103905      $294 = HEAP32[$292>>2]|0;
    103906      $295 = $294 | 1;
    103907      HEAP32[$292>>2] = $295;
    103908      $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390;
    103909     }
    103910     $288 = (($6) + ($$6378$ph<<2)|0);
    103911     HEAP32[$288>>2] = $276;
    103912     $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287;
    103913    }
    103914    while(1) {
    103915     $296 = (($$4485) + ($$4354))|0;
    103916     $297 = $296 & 127;
    103917     $298 = ($297|0)==($$9483|0);
    103918     $299 = (($$9483) + 1)|0;
    103919     $300 = $299 & 127;
    103920     if ($298) {
    103921      $301 = (($300) + -1)|0;
    103922      $302 = (($6) + ($301<<2)|0);
    103923      HEAP32[$302>>2] = 0;
    103924      $$10 = $300;
    103925     } else {
    103926      $$10 = $$9483;
    103927     }
    103928     $303 = $$0365484 * 1.0E+9;
    103929     $304 = (($6) + ($297<<2)|0);
    103930     $305 = HEAP32[$304>>2]|0;
    103931     $306 = (+($305>>>0));
    103932     $307 = $303 + $306;
    103933     $308 = (($$4485) + 1)|0;
    103934     $exitcond = ($308|0)==(2);
    103935     if ($exitcond) {
    103936      break;
    103937     } else {
    103938      $$0365484 = $307;$$4485 = $308;$$9483 = $$10;
    103939     }
    103940    }
    103941    $309 = (+($4|0));
    103942    $310 = $309 * $307;
    103943    $311 = (($$1381) + 53)|0;
    103944    $312 = (($311) - ($3))|0;
    103945    $313 = ($312|0)<($2|0);
    103946    $314 = ($312|0)>(0);
    103947    $$ = $314 ? $312 : 0;
    103948    $$0333 = $313 ? $$ : $2;
    103949    $315 = ($$0333|0)<(53);
    103950    if ($315) {
    103951     $316 = (105 - ($$0333))|0;
    103952     $317 = (+_scalbn(1.0,$316));
    103953     $318 = (+_copysignl($317,$310));
    103954     $319 = (53 - ($$0333))|0;
    103955     $320 = (+_scalbn(1.0,$319));
    103956     $321 = (+_fmodl($310,$320));
    103957     $322 = $310 - $321;
    103958     $323 = $318 + $322;
    103959     $$0360 = $318;$$0361 = $321;$$1366 = $323;
    103960    } else {
    103961     $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310;
    103962    }
    103963    $324 = (($$4354) + 2)|0;
    103964    $325 = $324 & 127;
    103965    $326 = ($325|0)==($$10|0);
    103966    if ($326) {
    103967     $$3364 = $$0361;
    103968    } else {
    103969     $327 = (($6) + ($325<<2)|0);
    103970     $328 = HEAP32[$327>>2]|0;
    103971     $329 = ($328>>>0)<(500000000);
    103972     do {
    103973      if ($329) {
    103974       $330 = ($328|0)==(0);
    103975       if ($330) {
    103976        $331 = (($$4354) + 3)|0;
    103977        $332 = $331 & 127;
    103978        $333 = ($332|0)==($$10|0);
    103979        if ($333) {
    103980         $$1362 = $$0361;
    103981         break;
    103982        }
    103983       }
    103984       $334 = $309 * 0.25;
    103985       $335 = $334 + $$0361;
    103986       $$1362 = $335;
    103987      } else {
    103988       $336 = ($328|0)==(500000000);
    103989       if (!($336)) {
    103990        $337 = $309 * 0.75;
    103991        $338 = $337 + $$0361;
    103992        $$1362 = $338;
    103993        break;
    103994       }
    103995       $339 = (($$4354) + 3)|0;
    103996       $340 = $339 & 127;
    103997       $341 = ($340|0)==($$10|0);
    103998       if ($341) {
    103999        $342 = $309 * 0.5;
    104000        $343 = $342 + $$0361;
    104001        $$1362 = $343;
    104002        break;
    104003       } else {
    104004        $344 = $309 * 0.75;
    104005        $345 = $344 + $$0361;
    104006        $$1362 = $345;
    104007        break;
    104008       }
    104009      }
    104010     } while(0);
    104011     $346 = (53 - ($$0333))|0;
    104012     $347 = ($346|0)>(1);
    104013     if ($347) {
    104014      $348 = (+_fmodl($$1362,1.0));
    104015      $349 = $348 != 0.0;
    104016      if ($349) {
    104017       $$3364 = $$1362;
    104018      } else {
    104019       $350 = $$1362 + 1.0;
    104020       $$3364 = $350;
    104021      }
    104022     } else {
    104023      $$3364 = $$1362;
    104024     }
    104025    }
    104026    $351 = $$1366 + $$3364;
    104027    $352 = $351 - $$0360;
    104028    $353 = $311 & 2147483647;
    104029    $354 = (-2 - ($sum))|0;
    104030    $355 = ($353|0)>($354|0);
    104031    do {
    104032     if ($355) {
    104033      $356 = (+Math_abs((+$352)));
    104034      $357 = !($356 >= 9007199254740992.0);
    104035      $358 = $352 * 0.5;
    104036      $not$ = $357 ^ 1;
    104037      $359 = $not$&1;
    104038      $$3383 = (($359) + ($$1381))|0;
    104039      $$2367 = $357 ? $352 : $358;
    104040      $360 = (($$3383) + 50)|0;
    104041      $361 = ($360|0)>($7|0);
    104042      if (!($361)) {
    104043       $362 = ($$0333|0)!=($312|0);
    104044       $narrow = $362 | $357;
    104045       $$2371$v = $313 & $narrow;
    104046       $363 = $$3364 != 0.0;
    104047       $or$cond14 = $363 & $$2371$v;
    104048       if (!($or$cond14)) {
    104049        $$3368 = $$2367;$$4384 = $$3383;
    104050        break;
    104051       }
    104052      }
    104053      $364 = (___errno_location()|0);
    104054      HEAP32[$364>>2] = 34;
    104055      $$3368 = $$2367;$$4384 = $$3383;
    104056     } else {
    104057      $$3368 = $352;$$4384 = $$1381;
    104058     }
    104059    } while(0);
    104060    $365 = (+_scalbnl($$3368,$$4384));
    104061    $$1 = $365;
    104062   }
    104063  } while(0);
    104064  STACKTOP = sp;return (+$$1);
    104065 }
    104066 function _scanexp($0,$1) {
    104067  $0 = $0|0;
    104068  $1 = $1|0;
    104069  var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
    104070  var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    104071  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
    104072  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    104073  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    104074  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0;
    104075  sp = STACKTOP;
    104076  $2 = ((($0)) + 4|0);
    104077  $3 = HEAP32[$2>>2]|0;
    104078  $4 = ((($0)) + 100|0);
    104079  $5 = HEAP32[$4>>2]|0;
    104080  $6 = ($3>>>0)<($5>>>0);
    104081  if ($6) {
    104082   $7 = ((($3)) + 1|0);
    104083   HEAP32[$2>>2] = $7;
    104084   $8 = HEAP8[$3>>0]|0;
    104085   $9 = $8&255;
    104086   $11 = $9;
    104087  } else {
    104088   $10 = (___shgetc($0)|0);
    104089   $11 = $10;
    104090  }
    104091  switch ($11|0) {
    104092  case 43: case 45:  {
    104093   $12 = ($11|0)==(45);
    104094   $13 = $12&1;
    104095   $14 = HEAP32[$2>>2]|0;
    104096   $15 = HEAP32[$4>>2]|0;
    104097   $16 = ($14>>>0)<($15>>>0);
    104098   if ($16) {
    104099    $17 = ((($14)) + 1|0);
    104100    HEAP32[$2>>2] = $17;
    104101    $18 = HEAP8[$14>>0]|0;
    104102    $19 = $18&255;
    104103    $22 = $19;
    104104   } else {
    104105    $20 = (___shgetc($0)|0);
    104106    $22 = $20;
    104107   }
    104108   $21 = (($22) + -48)|0;
    104109   $23 = ($21>>>0)>(9);
    104110   $24 = ($1|0)!=(0);
    104111   $or$cond3 = $24 & $23;
    104112   if ($or$cond3) {
    104113    $25 = HEAP32[$4>>2]|0;
    104114    $26 = ($25|0)==(0|0);
    104115    if ($26) {
    104116     $$0 = $13;$$049 = $22;
    104117    } else {
    104118     $27 = HEAP32[$2>>2]|0;
    104119     $28 = ((($27)) + -1|0);
    104120     HEAP32[$2>>2] = $28;
    104121     $$0 = $13;$$049 = $22;
    104122    }
    104123   } else {
    104124    $$0 = $13;$$049 = $22;
    104125   }
    104126   break;
    104127  }
    104128  default: {
    104129   $$0 = 0;$$049 = $11;
    104130  }
    104131  }
    104132  $29 = (($$049) + -48)|0;
    104133  $30 = ($29>>>0)>(9);
    104134  if ($30) {
    104135   $31 = HEAP32[$4>>2]|0;
    104136   $32 = ($31|0)==(0|0);
    104137   if ($32) {
    104138    $100 = -2147483648;$101 = 0;
    104139   } else {
    104140    $33 = HEAP32[$2>>2]|0;
    104141    $34 = ((($33)) + -1|0);
    104142    HEAP32[$2>>2] = $34;
    104143    $100 = -2147483648;$101 = 0;
    104144   }
    104145  } else {
    104146   $$04861 = 0;$$160 = $$049;
    104147   while(1) {
    104148    $35 = ($$04861*10)|0;
    104149    $36 = (($$160) + -48)|0;
    104150    $37 = (($36) + ($35))|0;
    104151    $38 = HEAP32[$2>>2]|0;
    104152    $39 = HEAP32[$4>>2]|0;
    104153    $40 = ($38>>>0)<($39>>>0);
    104154    if ($40) {
    104155     $41 = ((($38)) + 1|0);
    104156     HEAP32[$2>>2] = $41;
    104157     $42 = HEAP8[$38>>0]|0;
    104158     $43 = $42&255;
    104159     $$1$be = $43;
    104160    } else {
    104161     $44 = (___shgetc($0)|0);
    104162     $$1$be = $44;
    104163    }
    104164    $45 = (($$1$be) + -48)|0;
    104165    $46 = ($45>>>0)<(10);
    104166    $47 = ($37|0)<(214748364);
    104167    $48 = $46 & $47;
    104168    if ($48) {
    104169     $$04861 = $37;$$160 = $$1$be;
    104170    } else {
    104171     break;
    104172    }
    104173   }
    104174   $49 = ($37|0)<(0);
    104175   $50 = $49 << 31 >> 31;
    104176   $51 = (($$1$be) + -48)|0;
    104177   $52 = ($51>>>0)<(10);
    104178   if ($52) {
    104179    $$254 = $$1$be;$56 = $37;$57 = $50;
    104180    while(1) {
    104181     $58 = (___muldi3(($56|0),($57|0),10,0)|0);
    104182     $59 = tempRet0;
    104183     $60 = ($$254|0)<(0);
    104184     $61 = $60 << 31 >> 31;
    104185     $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0);
    104186     $63 = tempRet0;
    104187     $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0);
    104188     $65 = tempRet0;
    104189     $66 = HEAP32[$2>>2]|0;
    104190     $67 = HEAP32[$4>>2]|0;
    104191     $68 = ($66>>>0)<($67>>>0);
    104192     if ($68) {
    104193      $69 = ((($66)) + 1|0);
    104194      HEAP32[$2>>2] = $69;
    104195      $70 = HEAP8[$66>>0]|0;
    104196      $71 = $70&255;
    104197      $$2$be = $71;
    104198     } else {
    104199      $72 = (___shgetc($0)|0);
    104200      $$2$be = $72;
    104201     }
    104202     $73 = (($$2$be) + -48)|0;
    104203     $74 = ($73>>>0)<(10);
    104204     $75 = ($65|0)<(21474836);
    104205     $76 = ($64>>>0)<(2061584302);
    104206     $77 = ($65|0)==(21474836);
    104207     $78 = $77 & $76;
    104208     $79 = $75 | $78;
    104209     $80 = $74 & $79;
    104210     if ($80) {
    104211      $$254 = $$2$be;$56 = $64;$57 = $65;
    104212     } else {
    104213      $$2$lcssa = $$2$be;$94 = $64;$95 = $65;
    104214      break;
    104215     }
    104216    }
    104217   } else {
    104218    $$2$lcssa = $$1$be;$94 = $37;$95 = $50;
    104219   }
    104220   $53 = (($$2$lcssa) + -48)|0;
    104221   $54 = ($53>>>0)<(10);
    104222   $55 = HEAP32[$4>>2]|0;
    104223   if ($54) {
    104224    $83 = $55;
    104225    while(1) {
    104226     $81 = HEAP32[$2>>2]|0;
    104227     $82 = ($81>>>0)<($83>>>0);
    104228     if ($82) {
    104229      $84 = ((($81)) + 1|0);
    104230      HEAP32[$2>>2] = $84;
    104231      $85 = HEAP8[$81>>0]|0;
    104232      $86 = $85&255;
    104233      $$3$be = $86;$102 = $83;
    104234     } else {
    104235      $87 = (___shgetc($0)|0);
    104236      $$pre = HEAP32[$4>>2]|0;
    104237      $$3$be = $87;$102 = $$pre;
    104238     }
    104239     $88 = (($$3$be) + -48)|0;
    104240     $89 = ($88>>>0)<(10);
    104241     if ($89) {
    104242      $83 = $102;
    104243     } else {
    104244      $$lcssa = $102;
    104245      break;
    104246     }
    104247    }
    104248   } else {
    104249    $$lcssa = $55;
    104250   }
    104251   $90 = ($$lcssa|0)==(0|0);
    104252   if (!($90)) {
    104253    $91 = HEAP32[$2>>2]|0;
    104254    $92 = ((($91)) + -1|0);
    104255    HEAP32[$2>>2] = $92;
    104256   }
    104257   $93 = ($$0|0)!=(0);
    104258   $96 = (_i64Subtract(0,0,($94|0),($95|0))|0);
    104259   $97 = tempRet0;
    104260   $98 = $93 ? $96 : $94;
    104261   $99 = $93 ? $97 : $95;
    104262   $100 = $99;$101 = $98;
    104263  }
    104264  tempRet0 = ($100);
    104265  return ($101|0);
    104266 }
    104267 function _scalbn($0,$1) {
    104268  $0 = +$0;
    104269  $1 = $1|0;
    104270  var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0;
    104271  var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    104272  sp = STACKTOP;
    104273  $2 = ($1|0)>(1023);
    104274  if ($2) {
    104275   $3 = $0 * 8.9884656743115795E+307;
    104276   $4 = (($1) + -1023)|0;
    104277   $5 = ($4|0)>(1023);
    104278   $6 = $3 * 8.9884656743115795E+307;
    104279   $7 = (($1) + -2046)|0;
    104280   $8 = ($7|0)<(1023);
    104281   $$ = $8 ? $7 : 1023;
    104282   $$$ = $5 ? $$ : $4;
    104283   $$21 = $5 ? $6 : $3;
    104284   $$0 = $$21;$$020 = $$$;
    104285  } else {
    104286   $9 = ($1|0)<(-1022);
    104287   if ($9) {
    104288    $10 = $0 * 2.2250738585072014E-308;
    104289    $11 = (($1) + 1022)|0;
    104290    $12 = ($11|0)<(-1022);
    104291    $13 = $10 * 2.2250738585072014E-308;
    104292    $14 = (($1) + 2044)|0;
    104293    $15 = ($14|0)>(-1022);
    104294    $$1 = $15 ? $14 : -1022;
    104295    $$1$ = $12 ? $$1 : $11;
    104296    $$22 = $12 ? $13 : $10;
    104297    $$0 = $$22;$$020 = $$1$;
    104298   } else {
    104299    $$0 = $0;$$020 = $1;
    104300   }
    104301  }
    104302  $16 = (($$020) + 1023)|0;
    104303  $17 = (_bitshift64Shl(($16|0),0,52)|0);
    104304  $18 = tempRet0;
    104305  HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3];
    104306  $20 = $$0 * $19;
    104307  return (+$20);
    104308 }
    104309 function _copysignl($0,$1) {
    104310  $0 = +$0;
    104311  $1 = +$1;
    104312  var $2 = 0.0, label = 0, sp = 0;
    104313  sp = STACKTOP;
    104314  $2 = (+_copysign($0,$1));
    104315  return (+$2);
    104316 }
    104317 function _fmodl($0,$1) {
    104318  $0 = +$0;
    104319  $1 = +$1;
    104320  var $2 = 0.0, label = 0, sp = 0;
    104321  sp = STACKTOP;
    104322  $2 = (+_fmod($0,$1));
    104323  return (+$2);
    104324 }
    104325 function _scalbnl($0,$1) {
    104326  $0 = +$0;
    104327  $1 = $1|0;
    104328  var $2 = 0.0, label = 0, sp = 0;
    104329  sp = STACKTOP;
    104330  $2 = (+_scalbn($0,$1));
    104331  return (+$2);
    104332 }
    104333 function _fmod($0,$1) {
    104334  $0 = +$0;
    104335  $1 = +$1;
    104336  var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0;
    104337  var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
    104338  var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
    104339  var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
    104340  var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
    104341  var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
    104342  var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
    104343  var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
    104344  var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
    104345  sp = STACKTOP;
    104346  HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
    104347  $3 = HEAP32[tempDoublePtr+4>>2]|0;
    104348  HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0;
    104349  $5 = HEAP32[tempDoublePtr+4>>2]|0;
    104350  $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
    104351  $7 = tempRet0;
    104352  $8 = $6 & 2047;
    104353  $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0);
    104354  $10 = tempRet0;
    104355  $11 = $9 & 2047;
    104356  $12 = $3 & -2147483648;
    104357  $13 = (_bitshift64Shl(($4|0),($5|0),1)|0);
    104358  $14 = tempRet0;
    104359  $15 = ($13|0)==(0);
    104360  $16 = ($14|0)==(0);
    104361  $17 = $15 & $16;
    104362  L1: do {
    104363   if ($17) {
    104364    label = 3;
    104365   } else {
    104366    $18 = (___DOUBLE_BITS_272($1)|0);
    104367    $19 = tempRet0;
    104368    $20 = $19 & 2147483647;
    104369    $21 = ($20>>>0)>(2146435072);
    104370    $22 = ($18>>>0)>(0);
    104371    $23 = ($20|0)==(2146435072);
    104372    $24 = $23 & $22;
    104373    $25 = $21 | $24;
    104374    $26 = ($8|0)==(2047);
    104375    $or$cond = $26 | $25;
    104376    if ($or$cond) {
    104377     label = 3;
    104378    } else {
    104379     $29 = (_bitshift64Shl(($2|0),($3|0),1)|0);
    104380     $30 = tempRet0;
    104381     $31 = ($30>>>0)>($14>>>0);
    104382     $32 = ($29>>>0)>($13>>>0);
    104383     $33 = ($30|0)==($14|0);
    104384     $34 = $33 & $32;
    104385     $35 = $31 | $34;
    104386     if (!($35)) {
    104387      $36 = ($29|0)==($13|0);
    104388      $37 = ($30|0)==($14|0);
    104389      $38 = $36 & $37;
    104390      $39 = $0 * 0.0;
    104391      $$ = $38 ? $39 : $0;
    104392      return (+$$);
    104393     }
    104394     $40 = ($8|0)==(0);
    104395     if ($40) {
    104396      $41 = (_bitshift64Shl(($2|0),($3|0),12)|0);
    104397      $42 = tempRet0;
    104398      $43 = ($42|0)>(-1);
    104399      $44 = ($41>>>0)>(4294967295);
    104400      $45 = ($42|0)==(-1);
    104401      $46 = $45 & $44;
    104402      $47 = $43 | $46;
    104403      if ($47) {
    104404       $$073100 = 0;$49 = $41;$50 = $42;
    104405       while(1) {
    104406        $48 = (($$073100) + -1)|0;
    104407        $51 = (_bitshift64Shl(($49|0),($50|0),1)|0);
    104408        $52 = tempRet0;
    104409        $53 = ($52|0)>(-1);
    104410        $54 = ($51>>>0)>(4294967295);
    104411        $55 = ($52|0)==(-1);
    104412        $56 = $55 & $54;
    104413        $57 = $53 | $56;
    104414        if ($57) {
    104415         $$073100 = $48;$49 = $51;$50 = $52;
    104416        } else {
    104417         $$073$lcssa = $48;
    104418         break;
    104419        }
    104420       }
    104421      } else {
    104422       $$073$lcssa = 0;
    104423      }
    104424      $58 = (1 - ($$073$lcssa))|0;
    104425      $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0);
    104426      $60 = tempRet0;
    104427      $$174 = $$073$lcssa;$87 = $59;$88 = $60;
    104428     } else {
    104429      $61 = $3 & 1048575;
    104430      $62 = $61 | 1048576;
    104431      $$174 = $8;$87 = $2;$88 = $62;
    104432     }
    104433     $63 = ($11|0)==(0);
    104434     if ($63) {
    104435      $64 = (_bitshift64Shl(($4|0),($5|0),12)|0);
    104436      $65 = tempRet0;
    104437      $66 = ($65|0)>(-1);
    104438      $67 = ($64>>>0)>(4294967295);
    104439      $68 = ($65|0)==(-1);
    104440      $69 = $68 & $67;
    104441      $70 = $66 | $69;
    104442      if ($70) {
    104443       $$07194 = 0;$72 = $64;$73 = $65;
    104444       while(1) {
    104445        $71 = (($$07194) + -1)|0;
    104446        $74 = (_bitshift64Shl(($72|0),($73|0),1)|0);
    104447        $75 = tempRet0;
    104448        $76 = ($75|0)>(-1);
    104449        $77 = ($74>>>0)>(4294967295);
    104450        $78 = ($75|0)==(-1);
    104451        $79 = $78 & $77;
    104452        $80 = $76 | $79;
    104453        if ($80) {
    104454         $$07194 = $71;$72 = $74;$73 = $75;
    104455        } else {
    104456         $$071$lcssa = $71;
    104457         break;
    104458        }
    104459       }
    104460      } else {
    104461       $$071$lcssa = 0;
    104462      }
    104463      $81 = (1 - ($$071$lcssa))|0;
    104464      $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0);
    104465      $83 = tempRet0;
    104466      $$172$ph = $$071$lcssa;$89 = $82;$90 = $83;
    104467     } else {
    104468      $84 = $5 & 1048575;
    104469      $85 = $84 | 1048576;
    104470      $$172$ph = $11;$89 = $4;$90 = $85;
    104471     }
    104472     $86 = ($$174|0)>($$172$ph|0);
    104473     $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0);
    104474     $92 = tempRet0;
    104475     $93 = ($92|0)>(-1);
    104476     $94 = ($91>>>0)>(4294967295);
    104477     $95 = ($92|0)==(-1);
    104478     $96 = $95 & $94;
    104479     $97 = $93 | $96;
    104480     L23: do {
    104481      if ($86) {
    104482       $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91;
    104483       while(1) {
    104484        if ($156) {
    104485         $98 = ($99|0)==(0);
    104486         $100 = ($101|0)==(0);
    104487         $102 = $98 & $100;
    104488         if ($102) {
    104489          break;
    104490         } else {
    104491          $104 = $99;$105 = $101;
    104492         }
    104493        } else {
    104494         $104 = $157;$105 = $158;
    104495        }
    104496        $106 = (_bitshift64Shl(($104|0),($105|0),1)|0);
    104497        $107 = tempRet0;
    104498        $108 = (($$27586) + -1)|0;
    104499        $109 = ($108|0)>($$172$ph|0);
    104500        $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0);
    104501        $111 = tempRet0;
    104502        $112 = ($111|0)>(-1);
    104503        $113 = ($110>>>0)>(4294967295);
    104504        $114 = ($111|0)==(-1);
    104505        $115 = $114 & $113;
    104506        $116 = $112 | $115;
    104507        if ($109) {
    104508         $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110;
    104509        } else {
    104510         $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107;
    104511         break L23;
    104512        }
    104513       }
    104514       $103 = $0 * 0.0;
    104515       $$070 = $103;
    104516       break L1;
    104517      } else {
    104518       $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88;
    104519      }
    104520     } while(0);
    104521     if ($$lcssa) {
    104522      $117 = ($118|0)==(0);
    104523      $119 = ($120|0)==(0);
    104524      $121 = $117 & $119;
    104525      if ($121) {
    104526       $129 = $0 * 0.0;
    104527       $$070 = $129;
    104528       break;
    104529      } else {
    104530       $123 = $120;$125 = $118;
    104531      }
    104532     } else {
    104533      $123 = $160;$125 = $159;
    104534     }
    104535     $122 = ($123>>>0)<(1048576);
    104536     $124 = ($125>>>0)<(0);
    104537     $126 = ($123|0)==(1048576);
    104538     $127 = $126 & $124;
    104539     $128 = $122 | $127;
    104540     if ($128) {
    104541      $$37683 = $$275$lcssa;$130 = $125;$131 = $123;
    104542      while(1) {
    104543       $132 = (_bitshift64Shl(($130|0),($131|0),1)|0);
    104544       $133 = tempRet0;
    104545       $134 = (($$37683) + -1)|0;
    104546       $135 = ($133>>>0)<(1048576);
    104547       $136 = ($132>>>0)<(0);
    104548       $137 = ($133|0)==(1048576);
    104549       $138 = $137 & $136;
    104550       $139 = $135 | $138;
    104551       if ($139) {
    104552        $$37683 = $134;$130 = $132;$131 = $133;
    104553       } else {
    104554        $$376$lcssa = $134;$141 = $132;$142 = $133;
    104555        break;
    104556       }
    104557      }
    104558     } else {
    104559      $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123;
    104560     }
    104561     $140 = ($$376$lcssa|0)>(0);
    104562     if ($140) {
    104563      $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0);
    104564      $144 = tempRet0;
    104565      $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0);
    104566      $146 = tempRet0;
    104567      $147 = $143 | $145;
    104568      $148 = $144 | $146;
    104569      $153 = $148;$155 = $147;
    104570     } else {
    104571      $149 = (1 - ($$376$lcssa))|0;
    104572      $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0);
    104573      $151 = tempRet0;
    104574      $153 = $151;$155 = $150;
    104575     }
    104576     $152 = $153 | $12;
    104577     HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3];
    104578     $$070 = $154;
    104579    }
    104580   }
    104581  } while(0);
    104582  if ((label|0) == 3) {
    104583   $27 = $0 * $1;
    104584   $28 = $27 / $27;
    104585   $$070 = $28;
    104586  }
    104587  return (+$$070);
    104588 }
    104589 function ___DOUBLE_BITS_272($0) {
    104590  $0 = +$0;
    104591  var $1 = 0, $2 = 0, label = 0, sp = 0;
    104592  sp = STACKTOP;
    104593  HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
    104594  $2 = HEAP32[tempDoublePtr+4>>2]|0;
    104595  tempRet0 = ($2);
    104596  return ($1|0);
    104597 }
    104598 function _strlen($0) {
    104599  $0 = $0|0;
    104600  var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
    104601  var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    104602  sp = STACKTOP;
    104603  $1 = $0;
    104604  $2 = $1 & 3;
    104605  $3 = ($2|0)==(0);
    104606  L1: do {
    104607   if ($3) {
    104608    $$015$lcssa = $0;
    104609    label = 4;
    104610   } else {
    104611    $$01519 = $0;$23 = $1;
    104612    while(1) {
    104613     $4 = HEAP8[$$01519>>0]|0;
    104614     $5 = ($4<<24>>24)==(0);
    104615     if ($5) {
    104616      $$sink = $23;
    104617      break L1;
    104618     }
    104619     $6 = ((($$01519)) + 1|0);
    104620     $7 = $6;
    104621     $8 = $7 & 3;
    104622     $9 = ($8|0)==(0);
    104623     if ($9) {
    104624      $$015$lcssa = $6;
    104625      label = 4;
    104626      break;
    104627     } else {
    104628      $$01519 = $6;$23 = $7;
    104629     }
    104630    }
    104631   }
    104632  } while(0);
    104633  if ((label|0) == 4) {
    104634   $$0 = $$015$lcssa;
    104635   while(1) {
    104636    $10 = HEAP32[$$0>>2]|0;
    104637    $11 = (($10) + -16843009)|0;
    104638    $12 = $10 & -2139062144;
    104639    $13 = $12 ^ -2139062144;
    104640    $14 = $13 & $11;
    104641    $15 = ($14|0)==(0);
    104642    $16 = ((($$0)) + 4|0);
    104643    if ($15) {
    104644     $$0 = $16;
    104645    } else {
    104646     break;
    104647    }
    104648   }
    104649   $17 = $10&255;
    104650   $18 = ($17<<24>>24)==(0);
    104651   if ($18) {
    104652    $$1$lcssa = $$0;
    104653   } else {
    104654    $$pn = $$0;
    104655    while(1) {
    104656     $19 = ((($$pn)) + 1|0);
    104657     $$pre = HEAP8[$19>>0]|0;
    104658     $20 = ($$pre<<24>>24)==(0);
    104659     if ($20) {
    104660      $$1$lcssa = $19;
    104661      break;
    104662     } else {
    104663      $$pn = $19;
    104664     }
    104665    }
    104666   }
    104667   $21 = $$1$lcssa;
    104668   $$sink = $21;
    104669  }
    104670  $22 = (($$sink) - ($1))|0;
    104671  return ($22|0);
    104672 }
    104673 function _strchr($0,$1) {
    104674  $0 = $0|0;
    104675  $1 = $1|0;
    104676  var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    104677  sp = STACKTOP;
    104678  $2 = (___strchrnul($0,$1)|0);
    104679  $3 = HEAP8[$2>>0]|0;
    104680  $4 = $1&255;
    104681  $5 = ($3<<24>>24)==($4<<24>>24);
    104682  $6 = $5 ? $2 : 0;
    104683  return ($6|0);
    104684 }
    104685 function ___strchrnul($0,$1) {
    104686  $0 = $0|0;
    104687  $1 = $1|0;
    104688  var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
    104689  var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
    104690  var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0;
    104691  sp = STACKTOP;
    104692  $2 = $1 & 255;
    104693  $3 = ($2|0)==(0);
    104694  L1: do {
    104695   if ($3) {
    104696    $8 = (_strlen($0)|0);
    104697    $9 = (($0) + ($8)|0);
    104698    $$0 = $9;
    104699   } else {
    104700    $4 = $0;
    104701    $5 = $4 & 3;
    104702    $6 = ($5|0)==(0);
    104703    if ($6) {
    104704     $$030$lcssa = $0;
    104705    } else {
    104706     $7 = $1&255;
    104707     $$03039 = $0;
    104708     while(1) {
    104709      $10 = HEAP8[$$03039>>0]|0;
    104710      $11 = ($10<<24>>24)==(0);
    104711      $12 = ($10<<24>>24)==($7<<24>>24);
    104712      $or$cond = $11 | $12;
    104713      if ($or$cond) {
    104714       $$0 = $$03039;
    104715       break L1;
    104716      }
    104717      $13 = ((($$03039)) + 1|0);
    104718      $14 = $13;
    104719      $15 = $14 & 3;
    104720      $16 = ($15|0)==(0);
    104721      if ($16) {
    104722       $$030$lcssa = $13;
    104723       break;
    104724      } else {
    104725       $$03039 = $13;
    104726      }
    104727     }
    104728    }
    104729    $17 = Math_imul($2, 16843009)|0;
    104730    $18 = HEAP32[$$030$lcssa>>2]|0;
    104731    $19 = (($18) + -16843009)|0;
    104732    $20 = $18 & -2139062144;
    104733    $21 = $20 ^ -2139062144;
    104734    $22 = $21 & $19;
    104735    $23 = ($22|0)==(0);
    104736    L10: do {
    104737     if ($23) {
    104738      $$02936 = $$030$lcssa;$25 = $18;
    104739      while(1) {
    104740       $24 = $25 ^ $17;
    104741       $26 = (($24) + -16843009)|0;
    104742       $27 = $24 & -2139062144;
    104743       $28 = $27 ^ -2139062144;
    104744       $29 = $28 & $26;
    104745       $30 = ($29|0)==(0);
    104746       if (!($30)) {
    104747        $$029$lcssa = $$02936;
    104748        break L10;
    104749       }
    104750       $31 = ((($$02936)) + 4|0);
    104751       $32 = HEAP32[$31>>2]|0;
    104752       $33 = (($32) + -16843009)|0;
    104753       $34 = $32 & -2139062144;
    104754       $35 = $34 ^ -2139062144;
    104755       $36 = $35 & $33;
    104756       $37 = ($36|0)==(0);
    104757       if ($37) {
    104758        $$02936 = $31;$25 = $32;
    104759       } else {
    104760        $$029$lcssa = $31;
    104761        break;
    104762       }
    104763      }
    104764     } else {
    104765      $$029$lcssa = $$030$lcssa;
    104766     }
    104767    } while(0);
    104768    $38 = $1&255;
    104769    $$1 = $$029$lcssa;
    104770    while(1) {
    104771     $39 = HEAP8[$$1>>0]|0;
    104772     $40 = ($39<<24>>24)==(0);
    104773     $41 = ($39<<24>>24)==($38<<24>>24);
    104774     $or$cond33 = $40 | $41;
    104775     $42 = ((($$1)) + 1|0);
    104776     if ($or$cond33) {
    104777      $$0 = $$1;
    104778      break;
    104779     } else {
    104780      $$1 = $42;
    104781     }
    104782    }
    104783   }
    104784  } while(0);
    104785  return ($$0|0);
    104786 }
    104787 function _snprintf($0,$1,$2,$varargs) {
    104788  $0 = $0|0;
    104789  $1 = $1|0;
    104790  $2 = $2|0;
    104791  $varargs = $varargs|0;
    104792  var $3 = 0, $4 = 0, label = 0, sp = 0;
    104793  sp = STACKTOP;
    104794  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    104795  $3 = sp;
    104796  HEAP32[$3>>2] = $varargs;
    104797  $4 = (_vsnprintf($0,$1,$2,$3)|0);
    104798  STACKTOP = sp;return ($4|0);
    104799 }
    104800 function _fmodf($0,$1) {
    104801  $0 = +$0;
    104802  $1 = +$1;
    104803  var $$ = 0.0, $$0 = 0, $$068101 = 0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$1$lcssa = 0, $$16995 = 0, $$172$ph = 0, $$174 = 0, $$187 = 0, $$2 = 0, $$275$lcssa = 0, $$27586 = 0, $$3$lcssa = 0, $$3$ph = 0, $$376$lcssa = 0, $$37683 = 0;
    104804  var $$384 = 0, $$4 = 0, $$lcssa = 0, $$lcssa79 = 0, $$sroa$0$0$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0;
    104805  var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
    104806  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
    104807  var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
    104808  sp = STACKTOP;
    104809  $2 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0);
    104810  $3 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0);
    104811  $4 = $2 >>> 23;
    104812  $5 = $4 & 255;
    104813  $6 = $3 >>> 23;
    104814  $7 = $6 & 255;
    104815  $8 = $2 & -2147483648;
    104816  $9 = $3 << 1;
    104817  $10 = ($9|0)==(0);
    104818  L1: do {
    104819   if ($10) {
    104820    label = 3;
    104821   } else {
    104822    $11 = (___FLOAT_BITS_273($1)|0);
    104823    $12 = $11 & 2147483647;
    104824    $13 = ($12>>>0)>(2139095040);
    104825    $14 = ($5|0)==(255);
    104826    $or$cond = $14 | $13;
    104827    if ($or$cond) {
    104828     label = 3;
    104829    } else {
    104830     $17 = $2 << 1;
    104831     $18 = ($17>>>0)>($9>>>0);
    104832     if (!($18)) {
    104833      $19 = ($17|0)==($9|0);
    104834      $20 = $0 * 0.0;
    104835      $$ = $19 ? $20 : $0;
    104836      return (+$$);
    104837     }
    104838     $21 = ($5|0)==(0);
    104839     if ($21) {
    104840      $22 = $2 << 9;
    104841      $23 = ($22|0)>(-1);
    104842      if ($23) {
    104843       $$068101 = $22;$$073100 = 0;
    104844       while(1) {
    104845        $24 = (($$073100) + -1)|0;
    104846        $25 = $$068101 << 1;
    104847        $26 = ($25|0)>(-1);
    104848        if ($26) {
    104849         $$068101 = $25;$$073100 = $24;
    104850        } else {
    104851         $$073$lcssa = $24;
    104852         break;
    104853        }
    104854       }
    104855      } else {
    104856       $$073$lcssa = 0;
    104857      }
    104858      $27 = (1 - ($$073$lcssa))|0;
    104859      $28 = $2 << $27;
    104860      $$0 = $28;$$174 = $$073$lcssa;
    104861     } else {
    104862      $29 = $2 & 8388607;
    104863      $30 = $29 | 8388608;
    104864      $$0 = $30;$$174 = $5;
    104865     }
    104866     $31 = ($7|0)==(0);
    104867     if ($31) {
    104868      $32 = $3 << 9;
    104869      $33 = ($32|0)>(-1);
    104870      if ($33) {
    104871       $$07194 = 0;$$16995 = $32;
    104872       while(1) {
    104873        $34 = (($$07194) + -1)|0;
    104874        $35 = $$16995 << 1;
    104875        $36 = ($35|0)>(-1);
    104876        if ($36) {
    104877         $$07194 = $34;$$16995 = $35;
    104878        } else {
    104879         $$071$lcssa = $34;
    104880         break;
    104881        }
    104882       }
    104883      } else {
    104884       $$071$lcssa = 0;
    104885      }
    104886      $37 = (1 - ($$071$lcssa))|0;
    104887      $38 = $3 << $37;
    104888      $$172$ph = $$071$lcssa;$$sroa$0$0$ph = $38;
    104889     } else {
    104890      $39 = $3 & 8388607;
    104891      $40 = $39 | 8388608;
    104892      $$172$ph = $7;$$sroa$0$0$ph = $40;
    104893     }
    104894     $41 = ($$174|0)>($$172$ph|0);
    104895     $42 = (($$0) - ($$sroa$0$0$ph))|0;
    104896     $43 = ($42|0)>(-1);
    104897     L23: do {
    104898      if ($41) {
    104899       $$187 = $$0;$$27586 = $$174;$45 = $42;$66 = $43;
    104900       while(1) {
    104901        if ($66) {
    104902         $44 = ($45|0)==(0);
    104903         if ($44) {
    104904          break;
    104905         } else {
    104906          $$2 = $45;
    104907         }
    104908        } else {
    104909         $$2 = $$187;
    104910        }
    104911        $47 = $$2 << 1;
    104912        $48 = (($$27586) + -1)|0;
    104913        $49 = ($48|0)>($$172$ph|0);
    104914        $50 = (($47) - ($$sroa$0$0$ph))|0;
    104915        $51 = ($50|0)>(-1);
    104916        if ($49) {
    104917         $$187 = $47;$$27586 = $48;$45 = $50;$66 = $51;
    104918        } else {
    104919         $$1$lcssa = $47;$$275$lcssa = $48;$$lcssa = $51;$$lcssa79 = $50;
    104920         break L23;
    104921        }
    104922       }
    104923       $46 = $0 * 0.0;
    104924       $$070 = $46;
    104925       break L1;
    104926      } else {
    104927       $$1$lcssa = $$0;$$275$lcssa = $$174;$$lcssa = $43;$$lcssa79 = $42;
    104928      }
    104929     } while(0);
    104930     if ($$lcssa) {
    104931      $52 = ($$lcssa79|0)==(0);
    104932      if ($52) {
    104933       $54 = $0 * 0.0;
    104934       $$070 = $54;
    104935       break;
    104936      } else {
    104937       $$3$ph = $$lcssa79;
    104938      }
    104939     } else {
    104940      $$3$ph = $$1$lcssa;
    104941     }
    104942     $53 = ($$3$ph>>>0)<(8388608);
    104943     if ($53) {
    104944      $$37683 = $$275$lcssa;$$384 = $$3$ph;
    104945      while(1) {
    104946       $55 = $$384 << 1;
    104947       $56 = (($$37683) + -1)|0;
    104948       $57 = ($55>>>0)<(8388608);
    104949       if ($57) {
    104950        $$37683 = $56;$$384 = $55;
    104951       } else {
    104952        $$3$lcssa = $55;$$376$lcssa = $56;
    104953        break;
    104954       }
    104955      }
    104956     } else {
    104957      $$3$lcssa = $$3$ph;$$376$lcssa = $$275$lcssa;
    104958     }
    104959     $58 = ($$376$lcssa|0)>(0);
    104960     if ($58) {
    104961      $59 = (($$3$lcssa) + -8388608)|0;
    104962      $60 = $$376$lcssa << 23;
    104963      $61 = $59 | $60;
    104964      $$4 = $61;
    104965     } else {
    104966      $62 = (1 - ($$376$lcssa))|0;
    104967      $63 = $$3$lcssa >>> $62;
    104968      $$4 = $63;
    104969     }
    104970     $64 = $$4 | $8;
    104971     $65 = (HEAP32[tempDoublePtr>>2]=$64,+HEAPF32[tempDoublePtr>>2]);
    104972     $$070 = $65;
    104973    }
    104974   }
    104975  } while(0);
    104976  if ((label|0) == 3) {
    104977   $15 = $0 * $1;
    104978   $16 = $15 / $15;
    104979   $$070 = $16;
    104980  }
    104981  return (+$$070);
    104982 }
    104983 function ___FLOAT_BITS_273($0) {
    104984  $0 = +$0;
    104985  var $1 = 0, label = 0, sp = 0;
    104986  sp = STACKTOP;
    104987  $1 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0);
    104988  return ($1|0);
    104989 }
    104990 function ___fpclassify($0) {
    104991  $0 = +$0;
    104992  var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc$clear = 0, label = 0, sp = 0;
    104993  sp = STACKTOP;
    104994  HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
    104995  $2 = HEAP32[tempDoublePtr+4>>2]|0;
    104996  $3 = (_bitshift64Lshr(($1|0),($2|0),52)|0);
    104997  $4 = tempRet0;
    104998  $5 = $3&65535;
    104999  $trunc$clear = $5 & 2047;
    105000  switch ($trunc$clear<<16>>16) {
    105001  case 0:  {
    105002   $6 = $2 & 2147483647;
    105003   $7 = ($1|0)!=(0);
    105004   $8 = ($6|0)!=(0);
    105005   $9 = $7 | $8;
    105006   $10 = $9 ? 3 : 2;
    105007   $$0 = $10;
    105008   break;
    105009  }
    105010  case 2047:  {
    105011   $11 = $2 & 1048575;
    105012   $12 = ($1|0)==(0);
    105013   $13 = ($11|0)==(0);
    105014   $14 = $12 & $13;
    105015   $15 = $14&1;
    105016   $$0 = $15;
    105017   break;
    105018  }
    105019  default: {
    105020   $$0 = 4;
    105021  }
    105022  }
    105023  return ($$0|0);
    105024 }
    105025 function ___fpclassifyl($0) {
    105026  $0 = +$0;
    105027  var $1 = 0, label = 0, sp = 0;
    105028  sp = STACKTOP;
    105029  $1 = (___fpclassify($0)|0);
    105030  return ($1|0);
    105031 }
    105032 function ___signbit($0) {
    105033  $0 = +$0;
    105034  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    105035  sp = STACKTOP;
    105036  HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
    105037  $2 = HEAP32[tempDoublePtr+4>>2]|0;
    105038  $3 = (_bitshift64Lshr(($1|0),($2|0),63)|0);
    105039  $4 = tempRet0;
    105040  return ($3|0);
    105041 }
    105042 function ___signbitl($0) {
    105043  $0 = +$0;
    105044  var $1 = 0, label = 0, sp = 0;
    105045  sp = STACKTOP;
    105046  $1 = (___signbit($0)|0);
    105047  return ($1|0);
    105048 }
    105049 function _fputs($0,$1) {
    105050  $0 = $0|0;
    105051  $1 = $1|0;
    105052  var $2 = 0, $3 = 0, $4 = 0, $not$ = 0, label = 0, sp = 0;
    105053  sp = STACKTOP;
    105054  $2 = (_strlen($0)|0);
    105055  $3 = (_fwrite($0,1,$2,$1)|0);
    105056  $not$ = ($3|0)!=($2|0);
    105057  $4 = $not$ << 31 >> 31;
    105058  return ($4|0);
    105059 }
    105060 function _fwrite($0,$1,$2,$3) {
    105061  $0 = $0|0;
    105062  $1 = $1|0;
    105063  $2 = $2|0;
    105064  $3 = $3|0;
    105065  var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
    105066  sp = STACKTOP;
    105067  $4 = Math_imul($2, $1)|0;
    105068  $5 = ($1|0)==(0);
    105069  $$ = $5 ? 0 : $2;
    105070  $6 = ((($3)) + 76|0);
    105071  $7 = HEAP32[$6>>2]|0;
    105072  $8 = ($7|0)>(-1);
    105073  if ($8) {
    105074   $10 = (___lockfile($3)|0);
    105075   $phitmp = ($10|0)==(0);
    105076   $11 = (___fwritex($0,$4,$3)|0);
    105077   if ($phitmp) {
    105078    $13 = $11;
    105079   } else {
    105080    ___unlockfile($3);
    105081    $13 = $11;
    105082   }
    105083  } else {
    105084   $9 = (___fwritex($0,$4,$3)|0);
    105085   $13 = $9;
    105086  }
    105087  $12 = ($13|0)==($4|0);
    105088  if ($12) {
    105089   $15 = $$;
    105090  } else {
    105091   $14 = (($13>>>0) / ($1>>>0))&-1;
    105092   $15 = $14;
    105093  }
    105094  return ($15|0);
    105095 }
    105096 function _putc($0,$1) {
    105097  $0 = $0|0;
    105098  $1 = $1|0;
    105099  var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
    105100  var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    105101  sp = STACKTOP;
    105102  $2 = ((($1)) + 76|0);
    105103  $3 = HEAP32[$2>>2]|0;
    105104  $4 = ($3|0)<(0);
    105105  $5 = $0&255;
    105106  $6 = $0 & 255;
    105107  if ($4) {
    105108   label = 3;
    105109  } else {
    105110   $7 = (___lockfile($1)|0);
    105111   $8 = ($7|0)==(0);
    105112   if ($8) {
    105113    label = 3;
    105114   } else {
    105115    $20 = ((($1)) + 75|0);
    105116    $21 = HEAP8[$20>>0]|0;
    105117    $22 = $21 << 24 >> 24;
    105118    $23 = ($6|0)==($22|0);
    105119    if ($23) {
    105120     label = 10;
    105121    } else {
    105122     $24 = ((($1)) + 20|0);
    105123     $25 = HEAP32[$24>>2]|0;
    105124     $26 = ((($1)) + 16|0);
    105125     $27 = HEAP32[$26>>2]|0;
    105126     $28 = ($25>>>0)<($27>>>0);
    105127     if ($28) {
    105128      $29 = ((($25)) + 1|0);
    105129      HEAP32[$24>>2] = $29;
    105130      HEAP8[$25>>0] = $5;
    105131      $31 = $6;
    105132     } else {
    105133      label = 10;
    105134     }
    105135    }
    105136    if ((label|0) == 10) {
    105137     $30 = (___overflow($1,$0)|0);
    105138     $31 = $30;
    105139    }
    105140    ___unlockfile($1);
    105141    $$0 = $31;
    105142   }
    105143  }
    105144  do {
    105145   if ((label|0) == 3) {
    105146    $9 = ((($1)) + 75|0);
    105147    $10 = HEAP8[$9>>0]|0;
    105148    $11 = $10 << 24 >> 24;
    105149    $12 = ($6|0)==($11|0);
    105150    if (!($12)) {
    105151     $13 = ((($1)) + 20|0);
    105152     $14 = HEAP32[$13>>2]|0;
    105153     $15 = ((($1)) + 16|0);
    105154     $16 = HEAP32[$15>>2]|0;
    105155     $17 = ($14>>>0)<($16>>>0);
    105156     if ($17) {
    105157      $18 = ((($14)) + 1|0);
    105158      HEAP32[$13>>2] = $18;
    105159      HEAP8[$14>>0] = $5;
    105160      $$0 = $6;
    105161      break;
    105162     }
    105163    }
    105164    $19 = (___overflow($1,$0)|0);
    105165    $$0 = $19;
    105166   }
    105167  } while(0);
    105168  return ($$0|0);
    105169 }
    105170 function ___unlist_locked_file($0) {
    105171  $0 = $0|0;
    105172  var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    105173  sp = STACKTOP;
    105174  $1 = ((($0)) + 68|0);
    105175  $2 = HEAP32[$1>>2]|0;
    105176  $3 = ($2|0)==(0);
    105177  if (!($3)) {
    105178   $4 = ((($0)) + 116|0);
    105179   $5 = HEAP32[$4>>2]|0;
    105180   $6 = ($5|0)==(0|0);
    105181   $$pre = ((($0)) + 112|0);
    105182   if (!($6)) {
    105183    $7 = HEAP32[$$pre>>2]|0;
    105184    $8 = ((($5)) + 112|0);
    105185    HEAP32[$8>>2] = $7;
    105186   }
    105187   $9 = HEAP32[$$pre>>2]|0;
    105188   $10 = ($9|0)==(0|0);
    105189   if ($10) {
    105190    $12 = (___pthread_self_607()|0);
    105191    $13 = ((($12)) + 232|0);
    105192    $$sink = $13;
    105193   } else {
    105194    $11 = ((($9)) + 116|0);
    105195    $$sink = $11;
    105196   }
    105197   HEAP32[$$sink>>2] = $5;
    105198  }
    105199  return;
    105200 }
    105201 function ___pthread_self_607() {
    105202  var $0 = 0, label = 0, sp = 0;
    105203  sp = STACKTOP;
    105204  $0 = (_pthread_self()|0);
    105205  return ($0|0);
    105206 }
    105207 function ___overflow($0,$1) {
    105208  $0 = $0|0;
    105209  $1 = $1|0;
    105210  var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
    105211  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    105212  sp = STACKTOP;
    105213  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    105214  $2 = sp;
    105215  $3 = $1&255;
    105216  HEAP8[$2>>0] = $3;
    105217  $4 = ((($0)) + 16|0);
    105218  $5 = HEAP32[$4>>2]|0;
    105219  $6 = ($5|0)==(0|0);
    105220  if ($6) {
    105221   $7 = (___towrite($0)|0);
    105222   $8 = ($7|0)==(0);
    105223   if ($8) {
    105224    $$pre = HEAP32[$4>>2]|0;
    105225    $12 = $$pre;
    105226    label = 4;
    105227   } else {
    105228    $$0 = -1;
    105229   }
    105230  } else {
    105231   $12 = $5;
    105232   label = 4;
    105233  }
    105234  do {
    105235   if ((label|0) == 4) {
    105236    $9 = ((($0)) + 20|0);
    105237    $10 = HEAP32[$9>>2]|0;
    105238    $11 = ($10>>>0)<($12>>>0);
    105239    if ($11) {
    105240     $13 = $1 & 255;
    105241     $14 = ((($0)) + 75|0);
    105242     $15 = HEAP8[$14>>0]|0;
    105243     $16 = $15 << 24 >> 24;
    105244     $17 = ($13|0)==($16|0);
    105245     if (!($17)) {
    105246      $18 = ((($10)) + 1|0);
    105247      HEAP32[$9>>2] = $18;
    105248      HEAP8[$10>>0] = $3;
    105249      $$0 = $13;
    105250      break;
    105251     }
    105252    }
    105253    $19 = ((($0)) + 36|0);
    105254    $20 = HEAP32[$19>>2]|0;
    105255    $21 = (FUNCTION_TABLE_iiii[$20 & 511]($0,$2,1)|0);
    105256    $22 = ($21|0)==(1);
    105257    if ($22) {
    105258     $23 = HEAP8[$2>>0]|0;
    105259     $24 = $23&255;
    105260     $$0 = $24;
    105261    } else {
    105262     $$0 = -1;
    105263    }
    105264   }
    105265  } while(0);
    105266  STACKTOP = sp;return ($$0|0);
    105267 }
    105268 function _fopen($0,$1) {
    105269  $0 = $0|0;
    105270  $1 = $1|0;
    105271  var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0;
    105272  var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
    105273  sp = STACKTOP;
    105274  STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
    105275  $vararg_buffer8 = sp + 32|0;
    105276  $vararg_buffer3 = sp + 16|0;
    105277  $vararg_buffer = sp;
    105278  $2 = HEAP8[$1>>0]|0;
    105279  $3 = $2 << 24 >> 24;
    105280  $memchr = (_memchr(72690,$3,4)|0);
    105281  $4 = ($memchr|0)==(0|0);
    105282  if ($4) {
    105283   $5 = (___errno_location()|0);
    105284   HEAP32[$5>>2] = 22;
    105285   $$0 = 0;
    105286  } else {
    105287   $6 = (___fmodeflags($1)|0);
    105288   $7 = $0;
    105289   $8 = $6 | 32768;
    105290   HEAP32[$vararg_buffer>>2] = $7;
    105291   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    105292   HEAP32[$vararg_ptr1>>2] = $8;
    105293   $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    105294   HEAP32[$vararg_ptr2>>2] = 438;
    105295   $9 = (___syscall5(5,($vararg_buffer|0))|0);
    105296   $10 = (___syscall_ret($9)|0);
    105297   $11 = ($10|0)<(0);
    105298   if ($11) {
    105299    $$0 = 0;
    105300   } else {
    105301    $12 = $6 & 524288;
    105302    $13 = ($12|0)==(0);
    105303    if (!($13)) {
    105304     HEAP32[$vararg_buffer3>>2] = $10;
    105305     $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
    105306     HEAP32[$vararg_ptr6>>2] = 2;
    105307     $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
    105308     HEAP32[$vararg_ptr7>>2] = 1;
    105309     (___syscall221(221,($vararg_buffer3|0))|0);
    105310    }
    105311    $14 = (___fdopen($10,$1)|0);
    105312    $15 = ($14|0)==(0|0);
    105313    if ($15) {
    105314     HEAP32[$vararg_buffer8>>2] = $10;
    105315     (___syscall6(6,($vararg_buffer8|0))|0);
    105316     $$0 = 0;
    105317    } else {
    105318     $$0 = $14;
    105319    }
    105320   }
    105321  }
    105322  STACKTOP = sp;return ($$0|0);
    105323 }
    105324 function ___fmodeflags($0) {
    105325  $0 = $0|0;
    105326  var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
    105327  var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0;
    105328  sp = STACKTOP;
    105329  $1 = (_strchr($0,43)|0);
    105330  $2 = ($1|0)==(0|0);
    105331  $3 = HEAP8[$0>>0]|0;
    105332  $not$ = ($3<<24>>24)!=(114);
    105333  $$ = $not$&1;
    105334  $$0 = $2 ? $$ : 2;
    105335  $4 = (_strchr($0,120)|0);
    105336  $5 = ($4|0)==(0|0);
    105337  $6 = $$0 | 128;
    105338  $$0$ = $5 ? $$0 : $6;
    105339  $7 = (_strchr($0,101)|0);
    105340  $8 = ($7|0)==(0|0);
    105341  $9 = $$0$ | 524288;
    105342  $$2 = $8 ? $$0$ : $9;
    105343  $10 = ($3<<24>>24)==(114);
    105344  $11 = $$2 | 64;
    105345  $$2$ = $10 ? $$2 : $11;
    105346  $12 = ($3<<24>>24)==(119);
    105347  $13 = $$2$ | 512;
    105348  $$4 = $12 ? $13 : $$2$;
    105349  $14 = ($3<<24>>24)==(97);
    105350  $15 = $$4 | 1024;
    105351  $$$4 = $14 ? $15 : $$4;
    105352  return ($$$4|0);
    105353 }
    105354 function ___fdopen($0,$1) {
    105355  $0 = $0|0;
    105356  $1 = $1|0;
    105357  var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
    105358  var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0;
    105359  var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0;
    105360  sp = STACKTOP;
    105361  STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
    105362  $vararg_buffer12 = sp + 40|0;
    105363  $vararg_buffer7 = sp + 24|0;
    105364  $vararg_buffer3 = sp + 16|0;
    105365  $vararg_buffer = sp;
    105366  $2 = sp + 56|0;
    105367  $3 = HEAP8[$1>>0]|0;
    105368  $4 = $3 << 24 >> 24;
    105369  $memchr = (_memchr(72690,$4,4)|0);
    105370  $5 = ($memchr|0)==(0|0);
    105371  if ($5) {
    105372   $6 = (___errno_location()|0);
    105373   HEAP32[$6>>2] = 22;
    105374   $$0 = 0;
    105375  } else {
    105376   $7 = (_malloc(1156)|0);
    105377   $8 = ($7|0)==(0|0);
    105378   if ($8) {
    105379    $$0 = 0;
    105380   } else {
    105381    dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
    105382    $9 = (_strchr($1,43)|0);
    105383    $10 = ($9|0)==(0|0);
    105384    if ($10) {
    105385     $11 = ($3<<24>>24)==(114);
    105386     $12 = $11 ? 8 : 4;
    105387     HEAP32[$7>>2] = $12;
    105388    }
    105389    $13 = (_strchr($1,101)|0);
    105390    $14 = ($13|0)==(0|0);
    105391    if ($14) {
    105392     $16 = $3;
    105393    } else {
    105394     HEAP32[$vararg_buffer>>2] = $0;
    105395     $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
    105396     HEAP32[$vararg_ptr1>>2] = 2;
    105397     $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
    105398     HEAP32[$vararg_ptr2>>2] = 1;
    105399     (___syscall221(221,($vararg_buffer|0))|0);
    105400     $$pre = HEAP8[$1>>0]|0;
    105401     $16 = $$pre;
    105402    }
    105403    $15 = ($16<<24>>24)==(97);
    105404    if ($15) {
    105405     HEAP32[$vararg_buffer3>>2] = $0;
    105406     $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
    105407     HEAP32[$vararg_ptr6>>2] = 3;
    105408     $17 = (___syscall221(221,($vararg_buffer3|0))|0);
    105409     $18 = $17 & 1024;
    105410     $19 = ($18|0)==(0);
    105411     if ($19) {
    105412      $20 = $17 | 1024;
    105413      HEAP32[$vararg_buffer7>>2] = $0;
    105414      $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
    105415      HEAP32[$vararg_ptr10>>2] = 4;
    105416      $vararg_ptr11 = ((($vararg_buffer7)) + 8|0);
    105417      HEAP32[$vararg_ptr11>>2] = $20;
    105418      (___syscall221(221,($vararg_buffer7|0))|0);
    105419     }
    105420     $21 = HEAP32[$7>>2]|0;
    105421     $22 = $21 | 128;
    105422     HEAP32[$7>>2] = $22;
    105423     $29 = $22;
    105424    } else {
    105425     $$pre31 = HEAP32[$7>>2]|0;
    105426     $29 = $$pre31;
    105427    }
    105428    $23 = ((($7)) + 60|0);
    105429    HEAP32[$23>>2] = $0;
    105430    $24 = ((($7)) + 132|0);
    105431    $25 = ((($7)) + 44|0);
    105432    HEAP32[$25>>2] = $24;
    105433    $26 = ((($7)) + 48|0);
    105434    HEAP32[$26>>2] = 1024;
    105435    $27 = ((($7)) + 75|0);
    105436    HEAP8[$27>>0] = -1;
    105437    $28 = $29 & 8;
    105438    $30 = ($28|0)==(0);
    105439    if ($30) {
    105440     $31 = $2;
    105441     HEAP32[$vararg_buffer12>>2] = $0;
    105442     $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
    105443     HEAP32[$vararg_ptr15>>2] = 21523;
    105444     $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
    105445     HEAP32[$vararg_ptr16>>2] = $31;
    105446     $32 = (___syscall54(54,($vararg_buffer12|0))|0);
    105447     $33 = ($32|0)==(0);
    105448     if ($33) {
    105449      HEAP8[$27>>0] = 10;
    105450     }
    105451    }
    105452    $34 = ((($7)) + 32|0);
    105453    HEAP32[$34>>2] = 4;
    105454    $35 = ((($7)) + 36|0);
    105455    HEAP32[$35>>2] = 2;
    105456    $36 = ((($7)) + 40|0);
    105457    HEAP32[$36>>2] = 3;
    105458    $37 = ((($7)) + 12|0);
    105459    HEAP32[$37>>2] = 1;
    105460    $38 = HEAP32[(75196)>>2]|0;
    105461    $39 = ($38|0)==(0);
    105462    if ($39) {
    105463     $40 = ((($7)) + 76|0);
    105464     HEAP32[$40>>2] = -1;
    105465    }
    105466    $41 = (___ofl_add($7)|0);
    105467    $$0 = $7;
    105468   }
    105469  }
    105470  STACKTOP = sp;return ($$0|0);
    105471 }
    105472 function ___ofl_add($0) {
    105473  $0 = $0|0;
    105474  var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
    105475  sp = STACKTOP;
    105476  $1 = (___ofl_lock()|0);
    105477  $2 = HEAP32[$1>>2]|0;
    105478  $3 = ((($0)) + 56|0);
    105479  HEAP32[$3>>2] = $2;
    105480  $4 = HEAP32[$1>>2]|0;
    105481  $5 = ($4|0)==(0|0);
    105482  if (!($5)) {
    105483   $6 = ((($4)) + 52|0);
    105484   HEAP32[$6>>2] = $0;
    105485  }
    105486  HEAP32[$1>>2] = $0;
    105487  ___ofl_unlock();
    105488  return ($0|0);
    105489 }
    105490 function ___ofl_lock() {
    105491  var label = 0, sp = 0;
    105492  sp = STACKTOP;
    105493  ___lock((75256|0));
    105494  return (75264|0);
    105495 }
    105496 function ___ofl_unlock() {
    105497  var label = 0, sp = 0;
    105498  sp = STACKTOP;
    105499  ___unlock((75256|0));
    105500  return;
    105501 }
    105502 function _fclose($0) {
    105503  $0 = $0|0;
    105504  var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    105505  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    105506  sp = STACKTOP;
    105507  $1 = ((($0)) + 76|0);
    105508  $2 = HEAP32[$1>>2]|0;
    105509  $3 = ($2|0)>(-1);
    105510  if ($3) {
    105511   $4 = (___lockfile($0)|0);
    105512   $29 = $4;
    105513  } else {
    105514   $29 = 0;
    105515  }
    105516  ___unlist_locked_file($0);
    105517  $5 = HEAP32[$0>>2]|0;
    105518  $6 = $5 & 1;
    105519  $7 = ($6|0)!=(0);
    105520  if (!($7)) {
    105521   $8 = (___ofl_lock()|0);
    105522   $9 = ((($0)) + 52|0);
    105523   $10 = HEAP32[$9>>2]|0;
    105524   $11 = ($10|0)==(0|0);
    105525   $12 = $10;
    105526   $$pre = ((($0)) + 56|0);
    105527   if (!($11)) {
    105528    $13 = HEAP32[$$pre>>2]|0;
    105529    $14 = ((($10)) + 56|0);
    105530    HEAP32[$14>>2] = $13;
    105531   }
    105532   $15 = HEAP32[$$pre>>2]|0;
    105533   $16 = ($15|0)==(0|0);
    105534   if (!($16)) {
    105535    $17 = ((($15)) + 52|0);
    105536    HEAP32[$17>>2] = $12;
    105537   }
    105538   $18 = HEAP32[$8>>2]|0;
    105539   $19 = ($18|0)==($0|0);
    105540   if ($19) {
    105541    HEAP32[$8>>2] = $15;
    105542   }
    105543   ___ofl_unlock();
    105544  }
    105545  $20 = (_fflush($0)|0);
    105546  $21 = ((($0)) + 12|0);
    105547  $22 = HEAP32[$21>>2]|0;
    105548  $23 = (FUNCTION_TABLE_ii[$22 & 255]($0)|0);
    105549  $24 = $23 | $20;
    105550  $25 = ((($0)) + 92|0);
    105551  $26 = HEAP32[$25>>2]|0;
    105552  $27 = ($26|0)==(0|0);
    105553  if (!($27)) {
    105554   _free($26);
    105555  }
    105556  if ($7) {
    105557   $28 = ($29|0)==(0);
    105558   if (!($28)) {
    105559    ___unlockfile($0);
    105560   }
    105561  } else {
    105562   _free($0);
    105563  }
    105564  return ($24|0);
    105565 }
    105566 function _fflush($0) {
    105567  $0 = $0|0;
    105568  var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
    105569  var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
    105570  sp = STACKTOP;
    105571  $1 = ($0|0)==(0|0);
    105572  do {
    105573   if ($1) {
    105574    $8 = HEAP32[794]|0;
    105575    $9 = ($8|0)==(0|0);
    105576    if ($9) {
    105577     $29 = 0;
    105578    } else {
    105579     $10 = HEAP32[794]|0;
    105580     $11 = (_fflush($10)|0);
    105581     $29 = $11;
    105582    }
    105583    $12 = (___ofl_lock()|0);
    105584    $$02325 = HEAP32[$12>>2]|0;
    105585    $13 = ($$02325|0)==(0|0);
    105586    if ($13) {
    105587     $$024$lcssa = $29;
    105588    } else {
    105589     $$02327 = $$02325;$$02426 = $29;
    105590     while(1) {
    105591      $14 = ((($$02327)) + 76|0);
    105592      $15 = HEAP32[$14>>2]|0;
    105593      $16 = ($15|0)>(-1);
    105594      if ($16) {
    105595       $17 = (___lockfile($$02327)|0);
    105596       $26 = $17;
    105597      } else {
    105598       $26 = 0;
    105599      }
    105600      $18 = ((($$02327)) + 20|0);
    105601      $19 = HEAP32[$18>>2]|0;
    105602      $20 = ((($$02327)) + 28|0);
    105603      $21 = HEAP32[$20>>2]|0;
    105604      $22 = ($19>>>0)>($21>>>0);
    105605      if ($22) {
    105606       $23 = (___fflush_unlocked($$02327)|0);
    105607       $24 = $23 | $$02426;
    105608       $$1 = $24;
    105609      } else {
    105610       $$1 = $$02426;
    105611      }
    105612      $25 = ($26|0)==(0);
    105613      if (!($25)) {
    105614       ___unlockfile($$02327);
    105615      }
    105616      $27 = ((($$02327)) + 56|0);
    105617      $$023 = HEAP32[$27>>2]|0;
    105618      $28 = ($$023|0)==(0|0);
    105619      if ($28) {
    105620       $$024$lcssa = $$1;
    105621       break;
    105622      } else {
    105623       $$02327 = $$023;$$02426 = $$1;
    105624      }
    105625     }
    105626    }
    105627    ___ofl_unlock();
    105628    $$0 = $$024$lcssa;
    105629   } else {
    105630    $2 = ((($0)) + 76|0);
    105631    $3 = HEAP32[$2>>2]|0;
    105632    $4 = ($3|0)>(-1);
    105633    if (!($4)) {
    105634     $5 = (___fflush_unlocked($0)|0);
    105635     $$0 = $5;
    105636     break;
    105637    }
    105638    $6 = (___lockfile($0)|0);
    105639    $phitmp = ($6|0)==(0);
    105640    $7 = (___fflush_unlocked($0)|0);
    105641    if ($phitmp) {
    105642     $$0 = $7;
    105643    } else {
    105644     ___unlockfile($0);
    105645     $$0 = $7;
    105646    }
    105647   }
    105648  } while(0);
    105649  return ($$0|0);
    105650 }
    105651 function ___fflush_unlocked($0) {
    105652  $0 = $0|0;
    105653  var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
    105654  var $9 = 0, label = 0, sp = 0;
    105655  sp = STACKTOP;
    105656  $1 = ((($0)) + 20|0);
    105657  $2 = HEAP32[$1>>2]|0;
    105658  $3 = ((($0)) + 28|0);
    105659  $4 = HEAP32[$3>>2]|0;
    105660  $5 = ($2>>>0)>($4>>>0);
    105661  if ($5) {
    105662   $6 = ((($0)) + 36|0);
    105663   $7 = HEAP32[$6>>2]|0;
    105664   (FUNCTION_TABLE_iiii[$7 & 511]($0,0,0)|0);
    105665   $8 = HEAP32[$1>>2]|0;
    105666   $9 = ($8|0)==(0|0);
    105667   if ($9) {
    105668    $$0 = -1;
    105669   } else {
    105670    label = 3;
    105671   }
    105672  } else {
    105673   label = 3;
    105674  }
    105675  if ((label|0) == 3) {
    105676   $10 = ((($0)) + 4|0);
    105677   $11 = HEAP32[$10>>2]|0;
    105678   $12 = ((($0)) + 8|0);
    105679   $13 = HEAP32[$12>>2]|0;
    105680   $14 = ($11>>>0)<($13>>>0);
    105681   if ($14) {
    105682    $15 = $11;
    105683    $16 = $13;
    105684    $17 = (($15) - ($16))|0;
    105685    $18 = ((($0)) + 40|0);
    105686    $19 = HEAP32[$18>>2]|0;
    105687    (FUNCTION_TABLE_iiii[$19 & 511]($0,$17,1)|0);
    105688   }
    105689   $20 = ((($0)) + 16|0);
    105690   HEAP32[$20>>2] = 0;
    105691   HEAP32[$3>>2] = 0;
    105692   HEAP32[$1>>2] = 0;
    105693   HEAP32[$12>>2] = 0;
    105694   HEAP32[$10>>2] = 0;
    105695   $$0 = 0;
    105696  }
    105697  return ($$0|0);
    105698 }
    105699 function _feof($0) {
    105700  $0 = $0|0;
    105701  var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0;
    105702  sp = STACKTOP;
    105703  $1 = ((($0)) + 76|0);
    105704  $2 = HEAP32[$1>>2]|0;
    105705  $3 = ($2|0)>(-1);
    105706  if ($3) {
    105707   $6 = (___lockfile($0)|0);
    105708   $phitmp = ($6|0)==(0);
    105709   $7 = HEAP32[$0>>2]|0;
    105710   $8 = $7 >>> 4;
    105711   $$lobit = $8 & 1;
    105712   if ($phitmp) {
    105713    $$lobit9 = $$lobit;
    105714   } else {
    105715    ___unlockfile($0);
    105716    $$lobit9 = $$lobit;
    105717   }
    105718  } else {
    105719   $4 = HEAP32[$0>>2]|0;
    105720   $5 = $4 >>> 4;
    105721   $$lobit8 = $5 & 1;
    105722   $$lobit9 = $$lobit8;
    105723  }
    105724  return ($$lobit9|0);
    105725 }
    105726 function _fprintf($0,$1,$varargs) {
    105727  $0 = $0|0;
    105728  $1 = $1|0;
    105729  $varargs = $varargs|0;
    105730  var $2 = 0, $3 = 0, label = 0, sp = 0;
    105731  sp = STACKTOP;
    105732  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    105733  $2 = sp;
    105734  HEAP32[$2>>2] = $varargs;
    105735  $3 = (_vfprintf($0,$1,$2)|0);
    105736  STACKTOP = sp;return ($3|0);
    105737 }
    105738 function _strrchr($0,$1) {
    105739  $0 = $0|0;
    105740  $1 = $1|0;
    105741  var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
    105742  sp = STACKTOP;
    105743  $2 = (_strlen($0)|0);
    105744  $3 = (($2) + 1)|0;
    105745  $4 = (___memrchr($0,$1,$3)|0);
    105746  return ($4|0);
    105747 }
    105748 function ___memrchr($0,$1,$2) {
    105749  $0 = $0|0;
    105750  $1 = $1|0;
    105751  $2 = $2|0;
    105752  var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
    105753  sp = STACKTOP;
    105754  $3 = $1&255;
    105755  $$09 = $2;
    105756  while(1) {
    105757   $4 = (($$09) + -1)|0;
    105758   $5 = ($$09|0)==(0);
    105759   if ($5) {
    105760    $$0 = 0;
    105761    break;
    105762   }
    105763   $6 = (($0) + ($4)|0);
    105764   $7 = HEAP8[$6>>0]|0;
    105765   $8 = ($7<<24>>24)==($3<<24>>24);
    105766   if ($8) {
    105767    $$0 = $6;
    105768    break;
    105769   } else {
    105770    $$09 = $4;
    105771   }
    105772  }
    105773  return ($$0|0);
    105774 }
    105775 function _fgetc($0) {
    105776  $0 = $0|0;
    105777  var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
    105778  var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    105779  sp = STACKTOP;
    105780  $1 = ((($0)) + 76|0);
    105781  $2 = HEAP32[$1>>2]|0;
    105782  $3 = ($2|0)<(0);
    105783  if ($3) {
    105784   label = 3;
    105785  } else {
    105786   $4 = (___lockfile($0)|0);
    105787   $5 = ($4|0)==(0);
    105788   if ($5) {
    105789    label = 3;
    105790   } else {
    105791    $15 = ((($0)) + 4|0);
    105792    $16 = HEAP32[$15>>2]|0;
    105793    $17 = ((($0)) + 8|0);
    105794    $18 = HEAP32[$17>>2]|0;
    105795    $19 = ($16>>>0)<($18>>>0);
    105796    if ($19) {
    105797     $20 = ((($16)) + 1|0);
    105798     HEAP32[$15>>2] = $20;
    105799     $21 = HEAP8[$16>>0]|0;
    105800     $22 = $21&255;
    105801     $24 = $22;
    105802    } else {
    105803     $23 = (___uflow($0)|0);
    105804     $24 = $23;
    105805    }
    105806    ___unlockfile($0);
    105807    $$0 = $24;
    105808   }
    105809  }
    105810  do {
    105811   if ((label|0) == 3) {
    105812    $6 = ((($0)) + 4|0);
    105813    $7 = HEAP32[$6>>2]|0;
    105814    $8 = ((($0)) + 8|0);
    105815    $9 = HEAP32[$8>>2]|0;
    105816    $10 = ($7>>>0)<($9>>>0);
    105817    if ($10) {
    105818     $11 = ((($7)) + 1|0);
    105819     HEAP32[$6>>2] = $11;
    105820     $12 = HEAP8[$7>>0]|0;
    105821     $13 = $12&255;
    105822     $$0 = $13;
    105823     break;
    105824    } else {
    105825     $14 = (___uflow($0)|0);
    105826     $$0 = $14;
    105827     break;
    105828    }
    105829   }
    105830  } while(0);
    105831  return ($$0|0);
    105832 }
    105833 function _printf($0,$varargs) {
    105834  $0 = $0|0;
    105835  $varargs = $varargs|0;
    105836  var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
    105837  sp = STACKTOP;
    105838  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    105839  $1 = sp;
    105840  HEAP32[$1>>2] = $varargs;
    105841  $2 = HEAP32[762]|0;
    105842  $3 = (_vfprintf($2,$0,$1)|0);
    105843  STACKTOP = sp;return ($3|0);
    105844 }
    105845 function _strtod($0,$1) {
    105846  $0 = $0|0;
    105847  $1 = $1|0;
    105848  var $2 = 0.0, label = 0, sp = 0;
    105849  sp = STACKTOP;
    105850  $2 = (+_strtox($0,$1,1));
    105851  return (+$2);
    105852 }
    105853 function _strtox($0,$1,$2) {
    105854  $0 = $0|0;
    105855  $1 = $1|0;
    105856  $2 = $2|0;
    105857  var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0;
    105858  sp = STACKTOP;
    105859  STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
    105860  $3 = sp;
    105861  dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
    105862  $4 = ((($3)) + 4|0);
    105863  HEAP32[$4>>2] = $0;
    105864  $5 = ((($3)) + 8|0);
    105865  HEAP32[$5>>2] = (-1);
    105866  $6 = ((($3)) + 44|0);
    105867  HEAP32[$6>>2] = $0;
    105868  $7 = ((($3)) + 76|0);
    105869  HEAP32[$7>>2] = -1;
    105870  ___shlim($3,0);
    105871  $8 = (+___floatscan($3,$2,1));
    105872  $9 = ((($3)) + 108|0);
    105873  $10 = HEAP32[$9>>2]|0;
    105874  $11 = HEAP32[$4>>2]|0;
    105875  $12 = HEAP32[$5>>2]|0;
    105876  $13 = (($11) - ($12))|0;
    105877  $14 = (($13) + ($10))|0;
    105878  $15 = ($1|0)==(0|0);
    105879  if (!($15)) {
    105880   $16 = ($14|0)!=(0);
    105881   $17 = (($0) + ($14)|0);
    105882   $18 = $16 ? $17 : $0;
    105883   HEAP32[$1>>2] = $18;
    105884  }
    105885  STACKTOP = sp;return (+$8);
    105886 }
    105887 function _strtof($0,$1) {
    105888  $0 = $0|0;
    105889  $1 = $1|0;
    105890  var $2 = 0.0, $3 = 0.0, label = 0, sp = 0;
    105891  sp = STACKTOP;
    105892  $2 = (+_strtox($0,$1,0));
    105893  $3 = $2;
    105894  return (+$3);
    105895 }
    105896 function _malloc($0) {
    105897  $0 = $0|0;
    105898  var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0;
    105899  var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0;
    105900  var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0;
    105901  var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0;
    105902  var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0;
    105903  var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0;
    105904  var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0;
    105905  var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
    105906  var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
    105907  var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
    105908  var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
    105909  var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
    105910  var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0;
    105911  var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0;
    105912  var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0;
    105913  var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0;
    105914  var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0;
    105915  var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0;
    105916  var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0;
    105917  var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0;
    105918  var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0;
    105919  var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0;
    105920  var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0;
    105921  var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0;
    105922  var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0;
    105923  var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0;
    105924  var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0;
    105925  var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0;
    105926  var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0;
    105927  var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0;
    105928  var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0;
    105929  var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0;
    105930  var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0;
    105931  var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0;
    105932  var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0;
    105933  var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0;
    105934  var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0;
    105935  var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0;
    105936  var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0;
    105937  var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0;
    105938  var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0;
    105939  var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0;
    105940  var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0;
    105941  var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0;
    105942  var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0;
    105943  var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0;
    105944  var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0;
    105945  var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0;
    105946  var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0;
    105947  var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0;
    105948  var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0;
    105949  var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0;
    105950  var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0;
    105951  var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0;
    105952  var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0;
    105953  var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0;
    105954  var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0;
    105955  var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0;
    105956  var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0;
    105957  sp = STACKTOP;
    105958  STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
    105959  $1 = sp;
    105960  $2 = ($0>>>0)<(245);
    105961  do {
    105962   if ($2) {
    105963    $3 = ($0>>>0)<(11);
    105964    $4 = (($0) + 11)|0;
    105965    $5 = $4 & -8;
    105966    $6 = $3 ? 16 : $5;
    105967    $7 = $6 >>> 3;
    105968    $8 = HEAP32[18817]|0;
    105969    $9 = $8 >>> $7;
    105970    $10 = $9 & 3;
    105971    $11 = ($10|0)==(0);
    105972    if (!($11)) {
    105973     $12 = $9 & 1;
    105974     $13 = $12 ^ 1;
    105975     $14 = (($13) + ($7))|0;
    105976     $15 = $14 << 1;
    105977     $16 = (75308 + ($15<<2)|0);
    105978     $17 = ((($16)) + 8|0);
    105979     $18 = HEAP32[$17>>2]|0;
    105980     $19 = ((($18)) + 8|0);
    105981     $20 = HEAP32[$19>>2]|0;
    105982     $21 = ($16|0)==($20|0);
    105983     do {
    105984      if ($21) {
    105985       $22 = 1 << $14;
    105986       $23 = $22 ^ -1;
    105987       $24 = $8 & $23;
    105988       HEAP32[18817] = $24;
    105989      } else {
    105990       $25 = HEAP32[(75284)>>2]|0;
    105991       $26 = ($20>>>0)<($25>>>0);
    105992       if ($26) {
    105993        _abort();
    105994        // unreachable;
    105995       }
    105996       $27 = ((($20)) + 12|0);
    105997       $28 = HEAP32[$27>>2]|0;
    105998       $29 = ($28|0)==($18|0);
    105999       if ($29) {
    106000        HEAP32[$27>>2] = $16;
    106001        HEAP32[$17>>2] = $20;
    106002        break;
    106003       } else {
    106004        _abort();
    106005        // unreachable;
    106006       }
    106007      }
    106008     } while(0);
    106009     $30 = $14 << 3;
    106010     $31 = $30 | 3;
    106011     $32 = ((($18)) + 4|0);
    106012     HEAP32[$32>>2] = $31;
    106013     $33 = (($18) + ($30)|0);
    106014     $34 = ((($33)) + 4|0);
    106015     $35 = HEAP32[$34>>2]|0;
    106016     $36 = $35 | 1;
    106017     HEAP32[$34>>2] = $36;
    106018     $$0 = $19;
    106019     STACKTOP = sp;return ($$0|0);
    106020    }
    106021    $37 = HEAP32[(75276)>>2]|0;
    106022    $38 = ($6>>>0)>($37>>>0);
    106023    if ($38) {
    106024     $39 = ($9|0)==(0);
    106025     if (!($39)) {
    106026      $40 = $9 << $7;
    106027      $41 = 2 << $7;
    106028      $42 = (0 - ($41))|0;
    106029      $43 = $41 | $42;
    106030      $44 = $40 & $43;
    106031      $45 = (0 - ($44))|0;
    106032      $46 = $44 & $45;
    106033      $47 = (($46) + -1)|0;
    106034      $48 = $47 >>> 12;
    106035      $49 = $48 & 16;
    106036      $50 = $47 >>> $49;
    106037      $51 = $50 >>> 5;
    106038      $52 = $51 & 8;
    106039      $53 = $52 | $49;
    106040      $54 = $50 >>> $52;
    106041      $55 = $54 >>> 2;
    106042      $56 = $55 & 4;
    106043      $57 = $53 | $56;
    106044      $58 = $54 >>> $56;
    106045      $59 = $58 >>> 1;
    106046      $60 = $59 & 2;
    106047      $61 = $57 | $60;
    106048      $62 = $58 >>> $60;
    106049      $63 = $62 >>> 1;
    106050      $64 = $63 & 1;
    106051      $65 = $61 | $64;
    106052      $66 = $62 >>> $64;
    106053      $67 = (($65) + ($66))|0;
    106054      $68 = $67 << 1;
    106055      $69 = (75308 + ($68<<2)|0);
    106056      $70 = ((($69)) + 8|0);
    106057      $71 = HEAP32[$70>>2]|0;
    106058      $72 = ((($71)) + 8|0);
    106059      $73 = HEAP32[$72>>2]|0;
    106060      $74 = ($69|0)==($73|0);
    106061      do {
    106062       if ($74) {
    106063        $75 = 1 << $67;
    106064        $76 = $75 ^ -1;
    106065        $77 = $8 & $76;
    106066        HEAP32[18817] = $77;
    106067        $98 = $77;
    106068       } else {
    106069        $78 = HEAP32[(75284)>>2]|0;
    106070        $79 = ($73>>>0)<($78>>>0);
    106071        if ($79) {
    106072         _abort();
    106073         // unreachable;
    106074        }
    106075        $80 = ((($73)) + 12|0);
    106076        $81 = HEAP32[$80>>2]|0;
    106077        $82 = ($81|0)==($71|0);
    106078        if ($82) {
    106079         HEAP32[$80>>2] = $69;
    106080         HEAP32[$70>>2] = $73;
    106081         $98 = $8;
    106082         break;
    106083        } else {
    106084         _abort();
    106085         // unreachable;
    106086        }
    106087       }
    106088      } while(0);
    106089      $83 = $67 << 3;
    106090      $84 = (($83) - ($6))|0;
    106091      $85 = $6 | 3;
    106092      $86 = ((($71)) + 4|0);
    106093      HEAP32[$86>>2] = $85;
    106094      $87 = (($71) + ($6)|0);
    106095      $88 = $84 | 1;
    106096      $89 = ((($87)) + 4|0);
    106097      HEAP32[$89>>2] = $88;
    106098      $90 = (($87) + ($84)|0);
    106099      HEAP32[$90>>2] = $84;
    106100      $91 = ($37|0)==(0);
    106101      if (!($91)) {
    106102       $92 = HEAP32[(75288)>>2]|0;
    106103       $93 = $37 >>> 3;
    106104       $94 = $93 << 1;
    106105       $95 = (75308 + ($94<<2)|0);
    106106       $96 = 1 << $93;
    106107       $97 = $98 & $96;
    106108       $99 = ($97|0)==(0);
    106109       if ($99) {
    106110        $100 = $98 | $96;
    106111        HEAP32[18817] = $100;
    106112        $$pre = ((($95)) + 8|0);
    106113        $$0199 = $95;$$pre$phiZ2D = $$pre;
    106114       } else {
    106115        $101 = ((($95)) + 8|0);
    106116        $102 = HEAP32[$101>>2]|0;
    106117        $103 = HEAP32[(75284)>>2]|0;
    106118        $104 = ($102>>>0)<($103>>>0);
    106119        if ($104) {
    106120         _abort();
    106121         // unreachable;
    106122        } else {
    106123         $$0199 = $102;$$pre$phiZ2D = $101;
    106124        }
    106125       }
    106126       HEAP32[$$pre$phiZ2D>>2] = $92;
    106127       $105 = ((($$0199)) + 12|0);
    106128       HEAP32[$105>>2] = $92;
    106129       $106 = ((($92)) + 8|0);
    106130       HEAP32[$106>>2] = $$0199;
    106131       $107 = ((($92)) + 12|0);
    106132       HEAP32[$107>>2] = $95;
    106133      }
    106134      HEAP32[(75276)>>2] = $84;
    106135      HEAP32[(75288)>>2] = $87;
    106136      $$0 = $72;
    106137      STACKTOP = sp;return ($$0|0);
    106138     }
    106139     $108 = HEAP32[(75272)>>2]|0;
    106140     $109 = ($108|0)==(0);
    106141     if ($109) {
    106142      $$0197 = $6;
    106143     } else {
    106144      $110 = (0 - ($108))|0;
    106145      $111 = $108 & $110;
    106146      $112 = (($111) + -1)|0;
    106147      $113 = $112 >>> 12;
    106148      $114 = $113 & 16;
    106149      $115 = $112 >>> $114;
    106150      $116 = $115 >>> 5;
    106151      $117 = $116 & 8;
    106152      $118 = $117 | $114;
    106153      $119 = $115 >>> $117;
    106154      $120 = $119 >>> 2;
    106155      $121 = $120 & 4;
    106156      $122 = $118 | $121;
    106157      $123 = $119 >>> $121;
    106158      $124 = $123 >>> 1;
    106159      $125 = $124 & 2;
    106160      $126 = $122 | $125;
    106161      $127 = $123 >>> $125;
    106162      $128 = $127 >>> 1;
    106163      $129 = $128 & 1;
    106164      $130 = $126 | $129;
    106165      $131 = $127 >>> $129;
    106166      $132 = (($130) + ($131))|0;
    106167      $133 = (75572 + ($132<<2)|0);
    106168      $134 = HEAP32[$133>>2]|0;
    106169      $135 = ((($134)) + 4|0);
    106170      $136 = HEAP32[$135>>2]|0;
    106171      $137 = $136 & -8;
    106172      $138 = (($137) - ($6))|0;
    106173      $139 = ((($134)) + 16|0);
    106174      $140 = HEAP32[$139>>2]|0;
    106175      $not$5$i = ($140|0)==(0|0);
    106176      $$sink16$i = $not$5$i&1;
    106177      $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0);
    106178      $142 = HEAP32[$141>>2]|0;
    106179      $143 = ($142|0)==(0|0);
    106180      if ($143) {
    106181       $$0192$lcssa$i = $134;$$0193$lcssa$i = $138;
    106182      } else {
    106183       $$01928$i = $134;$$01937$i = $138;$145 = $142;
    106184       while(1) {
    106185        $144 = ((($145)) + 4|0);
    106186        $146 = HEAP32[$144>>2]|0;
    106187        $147 = $146 & -8;
    106188        $148 = (($147) - ($6))|0;
    106189        $149 = ($148>>>0)<($$01937$i>>>0);
    106190        $$$0193$i = $149 ? $148 : $$01937$i;
    106191        $$$0192$i = $149 ? $145 : $$01928$i;
    106192        $150 = ((($145)) + 16|0);
    106193        $151 = HEAP32[$150>>2]|0;
    106194        $not$$i = ($151|0)==(0|0);
    106195        $$sink1$i = $not$$i&1;
    106196        $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0);
    106197        $153 = HEAP32[$152>>2]|0;
    106198        $154 = ($153|0)==(0|0);
    106199        if ($154) {
    106200         $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i;
    106201         break;
    106202        } else {
    106203         $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153;
    106204        }
    106205       }
    106206      }
    106207      $155 = HEAP32[(75284)>>2]|0;
    106208      $156 = ($$0192$lcssa$i>>>0)<($155>>>0);
    106209      if ($156) {
    106210       _abort();
    106211       // unreachable;
    106212      }
    106213      $157 = (($$0192$lcssa$i) + ($6)|0);
    106214      $158 = ($$0192$lcssa$i>>>0)<($157>>>0);
    106215      if (!($158)) {
    106216       _abort();
    106217       // unreachable;
    106218      }
    106219      $159 = ((($$0192$lcssa$i)) + 24|0);
    106220      $160 = HEAP32[$159>>2]|0;
    106221      $161 = ((($$0192$lcssa$i)) + 12|0);
    106222      $162 = HEAP32[$161>>2]|0;
    106223      $163 = ($162|0)==($$0192$lcssa$i|0);
    106224      do {
    106225       if ($163) {
    106226        $173 = ((($$0192$lcssa$i)) + 20|0);
    106227        $174 = HEAP32[$173>>2]|0;
    106228        $175 = ($174|0)==(0|0);
    106229        if ($175) {
    106230         $176 = ((($$0192$lcssa$i)) + 16|0);
    106231         $177 = HEAP32[$176>>2]|0;
    106232         $178 = ($177|0)==(0|0);
    106233         if ($178) {
    106234          $$3$i = 0;
    106235          break;
    106236         } else {
    106237          $$1196$i = $177;$$1198$i = $176;
    106238         }
    106239        } else {
    106240         $$1196$i = $174;$$1198$i = $173;
    106241        }
    106242        while(1) {
    106243         $179 = ((($$1196$i)) + 20|0);
    106244         $180 = HEAP32[$179>>2]|0;
    106245         $181 = ($180|0)==(0|0);
    106246         if (!($181)) {
    106247          $$1196$i = $180;$$1198$i = $179;
    106248          continue;
    106249         }
    106250         $182 = ((($$1196$i)) + 16|0);
    106251         $183 = HEAP32[$182>>2]|0;
    106252         $184 = ($183|0)==(0|0);
    106253         if ($184) {
    106254          break;
    106255         } else {
    106256          $$1196$i = $183;$$1198$i = $182;
    106257         }
    106258        }
    106259        $185 = ($$1198$i>>>0)<($155>>>0);
    106260        if ($185) {
    106261         _abort();
    106262         // unreachable;
    106263        } else {
    106264         HEAP32[$$1198$i>>2] = 0;
    106265         $$3$i = $$1196$i;
    106266         break;
    106267        }
    106268       } else {
    106269        $164 = ((($$0192$lcssa$i)) + 8|0);
    106270        $165 = HEAP32[$164>>2]|0;
    106271        $166 = ($165>>>0)<($155>>>0);
    106272        if ($166) {
    106273         _abort();
    106274         // unreachable;
    106275        }
    106276        $167 = ((($165)) + 12|0);
    106277        $168 = HEAP32[$167>>2]|0;
    106278        $169 = ($168|0)==($$0192$lcssa$i|0);
    106279        if (!($169)) {
    106280         _abort();
    106281         // unreachable;
    106282        }
    106283        $170 = ((($162)) + 8|0);
    106284        $171 = HEAP32[$170>>2]|0;
    106285        $172 = ($171|0)==($$0192$lcssa$i|0);
    106286        if ($172) {
    106287         HEAP32[$167>>2] = $162;
    106288         HEAP32[$170>>2] = $165;
    106289         $$3$i = $162;
    106290         break;
    106291        } else {
    106292         _abort();
    106293         // unreachable;
    106294        }
    106295       }
    106296      } while(0);
    106297      $186 = ($160|0)==(0|0);
    106298      L73: do {
    106299       if (!($186)) {
    106300        $187 = ((($$0192$lcssa$i)) + 28|0);
    106301        $188 = HEAP32[$187>>2]|0;
    106302        $189 = (75572 + ($188<<2)|0);
    106303        $190 = HEAP32[$189>>2]|0;
    106304        $191 = ($$0192$lcssa$i|0)==($190|0);
    106305        do {
    106306         if ($191) {
    106307          HEAP32[$189>>2] = $$3$i;
    106308          $cond$i = ($$3$i|0)==(0|0);
    106309          if ($cond$i) {
    106310           $192 = 1 << $188;
    106311           $193 = $192 ^ -1;
    106312           $194 = $108 & $193;
    106313           HEAP32[(75272)>>2] = $194;
    106314           break L73;
    106315          }
    106316         } else {
    106317          $195 = HEAP32[(75284)>>2]|0;
    106318          $196 = ($160>>>0)<($195>>>0);
    106319          if ($196) {
    106320           _abort();
    106321           // unreachable;
    106322          } else {
    106323           $197 = ((($160)) + 16|0);
    106324           $198 = HEAP32[$197>>2]|0;
    106325           $not$1$i = ($198|0)!=($$0192$lcssa$i|0);
    106326           $$sink2$i = $not$1$i&1;
    106327           $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0);
    106328           HEAP32[$199>>2] = $$3$i;
    106329           $200 = ($$3$i|0)==(0|0);
    106330           if ($200) {
    106331            break L73;
    106332           } else {
    106333            break;
    106334           }
    106335          }
    106336         }
    106337        } while(0);
    106338        $201 = HEAP32[(75284)>>2]|0;
    106339        $202 = ($$3$i>>>0)<($201>>>0);
    106340        if ($202) {
    106341         _abort();
    106342         // unreachable;
    106343        }
    106344        $203 = ((($$3$i)) + 24|0);
    106345        HEAP32[$203>>2] = $160;
    106346        $204 = ((($$0192$lcssa$i)) + 16|0);
    106347        $205 = HEAP32[$204>>2]|0;
    106348        $206 = ($205|0)==(0|0);
    106349        do {
    106350         if (!($206)) {
    106351          $207 = ($205>>>0)<($201>>>0);
    106352          if ($207) {
    106353           _abort();
    106354           // unreachable;
    106355          } else {
    106356           $208 = ((($$3$i)) + 16|0);
    106357           HEAP32[$208>>2] = $205;
    106358           $209 = ((($205)) + 24|0);
    106359           HEAP32[$209>>2] = $$3$i;
    106360           break;
    106361          }
    106362         }
    106363        } while(0);
    106364        $210 = ((($$0192$lcssa$i)) + 20|0);
    106365        $211 = HEAP32[$210>>2]|0;
    106366        $212 = ($211|0)==(0|0);
    106367        if (!($212)) {
    106368         $213 = HEAP32[(75284)>>2]|0;
    106369         $214 = ($211>>>0)<($213>>>0);
    106370         if ($214) {
    106371          _abort();
    106372          // unreachable;
    106373         } else {
    106374          $215 = ((($$3$i)) + 20|0);
    106375          HEAP32[$215>>2] = $211;
    106376          $216 = ((($211)) + 24|0);
    106377          HEAP32[$216>>2] = $$3$i;
    106378          break;
    106379         }
    106380        }
    106381       }
    106382      } while(0);
    106383      $217 = ($$0193$lcssa$i>>>0)<(16);
    106384      if ($217) {
    106385       $218 = (($$0193$lcssa$i) + ($6))|0;
    106386       $219 = $218 | 3;
    106387       $220 = ((($$0192$lcssa$i)) + 4|0);
    106388       HEAP32[$220>>2] = $219;
    106389       $221 = (($$0192$lcssa$i) + ($218)|0);
    106390       $222 = ((($221)) + 4|0);
    106391       $223 = HEAP32[$222>>2]|0;
    106392       $224 = $223 | 1;
    106393       HEAP32[$222>>2] = $224;
    106394      } else {
    106395       $225 = $6 | 3;
    106396       $226 = ((($$0192$lcssa$i)) + 4|0);
    106397       HEAP32[$226>>2] = $225;
    106398       $227 = $$0193$lcssa$i | 1;
    106399       $228 = ((($157)) + 4|0);
    106400       HEAP32[$228>>2] = $227;
    106401       $229 = (($157) + ($$0193$lcssa$i)|0);
    106402       HEAP32[$229>>2] = $$0193$lcssa$i;
    106403       $230 = ($37|0)==(0);
    106404       if (!($230)) {
    106405        $231 = HEAP32[(75288)>>2]|0;
    106406        $232 = $37 >>> 3;
    106407        $233 = $232 << 1;
    106408        $234 = (75308 + ($233<<2)|0);
    106409        $235 = 1 << $232;
    106410        $236 = $8 & $235;
    106411        $237 = ($236|0)==(0);
    106412        if ($237) {
    106413         $238 = $8 | $235;
    106414         HEAP32[18817] = $238;
    106415         $$pre$i = ((($234)) + 8|0);
    106416         $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i;
    106417        } else {
    106418         $239 = ((($234)) + 8|0);
    106419         $240 = HEAP32[$239>>2]|0;
    106420         $241 = HEAP32[(75284)>>2]|0;
    106421         $242 = ($240>>>0)<($241>>>0);
    106422         if ($242) {
    106423          _abort();
    106424          // unreachable;
    106425         } else {
    106426          $$0189$i = $240;$$pre$phi$iZ2D = $239;
    106427         }
    106428        }
    106429        HEAP32[$$pre$phi$iZ2D>>2] = $231;
    106430        $243 = ((($$0189$i)) + 12|0);
    106431        HEAP32[$243>>2] = $231;
    106432        $244 = ((($231)) + 8|0);
    106433        HEAP32[$244>>2] = $$0189$i;
    106434        $245 = ((($231)) + 12|0);
    106435        HEAP32[$245>>2] = $234;
    106436       }
    106437       HEAP32[(75276)>>2] = $$0193$lcssa$i;
    106438       HEAP32[(75288)>>2] = $157;
    106439      }
    106440      $246 = ((($$0192$lcssa$i)) + 8|0);
    106441      $$0 = $246;
    106442      STACKTOP = sp;return ($$0|0);
    106443     }
    106444    } else {
    106445     $$0197 = $6;
    106446    }
    106447   } else {
    106448    $247 = ($0>>>0)>(4294967231);
    106449    if ($247) {
    106450     $$0197 = -1;
    106451    } else {
    106452     $248 = (($0) + 11)|0;
    106453     $249 = $248 & -8;
    106454     $250 = HEAP32[(75272)>>2]|0;
    106455     $251 = ($250|0)==(0);
    106456     if ($251) {
    106457      $$0197 = $249;
    106458     } else {
    106459      $252 = (0 - ($249))|0;
    106460      $253 = $248 >>> 8;
    106461      $254 = ($253|0)==(0);
    106462      if ($254) {
    106463       $$0358$i = 0;
    106464      } else {
    106465       $255 = ($249>>>0)>(16777215);
    106466       if ($255) {
    106467        $$0358$i = 31;
    106468       } else {
    106469        $256 = (($253) + 1048320)|0;
    106470        $257 = $256 >>> 16;
    106471        $258 = $257 & 8;
    106472        $259 = $253 << $258;
    106473        $260 = (($259) + 520192)|0;
    106474        $261 = $260 >>> 16;
    106475        $262 = $261 & 4;
    106476        $263 = $262 | $258;
    106477        $264 = $259 << $262;
    106478        $265 = (($264) + 245760)|0;
    106479        $266 = $265 >>> 16;
    106480        $267 = $266 & 2;
    106481        $268 = $263 | $267;
    106482        $269 = (14 - ($268))|0;
    106483        $270 = $264 << $267;
    106484        $271 = $270 >>> 15;
    106485        $272 = (($269) + ($271))|0;
    106486        $273 = $272 << 1;
    106487        $274 = (($272) + 7)|0;
    106488        $275 = $249 >>> $274;
    106489        $276 = $275 & 1;
    106490        $277 = $276 | $273;
    106491        $$0358$i = $277;
    106492       }
    106493      }
    106494      $278 = (75572 + ($$0358$i<<2)|0);
    106495      $279 = HEAP32[$278>>2]|0;
    106496      $280 = ($279|0)==(0|0);
    106497      L117: do {
    106498       if ($280) {
    106499        $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252;
    106500        label = 81;
    106501       } else {
    106502        $281 = ($$0358$i|0)==(31);
    106503        $282 = $$0358$i >>> 1;
    106504        $283 = (25 - ($282))|0;
    106505        $284 = $281 ? 0 : $283;
    106506        $285 = $249 << $284;
    106507        $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0;
    106508        while(1) {
    106509         $286 = ((($$0353$i)) + 4|0);
    106510         $287 = HEAP32[$286>>2]|0;
    106511         $288 = $287 & -8;
    106512         $289 = (($288) - ($249))|0;
    106513         $290 = ($289>>>0)<($$0347$i>>>0);
    106514         if ($290) {
    106515          $291 = ($289|0)==(0);
    106516          if ($291) {
    106517           $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i;
    106518           label = 85;
    106519           break L117;
    106520          } else {
    106521           $$1343$i = $$0353$i;$$1348$i = $289;
    106522          }
    106523         } else {
    106524          $$1343$i = $$0342$i;$$1348$i = $$0347$i;
    106525         }
    106526         $292 = ((($$0353$i)) + 20|0);
    106527         $293 = HEAP32[$292>>2]|0;
    106528         $294 = $$0359$i >>> 31;
    106529         $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0);
    106530         $296 = HEAP32[$295>>2]|0;
    106531         $297 = ($293|0)==(0|0);
    106532         $298 = ($293|0)==($296|0);
    106533         $or$cond2$i = $297 | $298;
    106534         $$1363$i = $or$cond2$i ? $$0362$i : $293;
    106535         $299 = ($296|0)==(0|0);
    106536         $not$8$i = $299 ^ 1;
    106537         $300 = $not$8$i&1;
    106538         $$0359$$i = $$0359$i << $300;
    106539         if ($299) {
    106540          $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i;
    106541          label = 81;
    106542          break;
    106543         } else {
    106544          $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i;
    106545         }
    106546        }
    106547       }
    106548      } while(0);
    106549      if ((label|0) == 81) {
    106550       $301 = ($$2355$i|0)==(0|0);
    106551       $302 = ($$3$i201|0)==(0|0);
    106552       $or$cond$i = $301 & $302;
    106553       if ($or$cond$i) {
    106554        $303 = 2 << $$0358$i;
    106555        $304 = (0 - ($303))|0;
    106556        $305 = $303 | $304;
    106557        $306 = $250 & $305;
    106558        $307 = ($306|0)==(0);
    106559        if ($307) {
    106560         $$0197 = $249;
    106561         break;
    106562        }
    106563        $308 = (0 - ($306))|0;
    106564        $309 = $306 & $308;
    106565        $310 = (($309) + -1)|0;
    106566        $311 = $310 >>> 12;
    106567        $312 = $311 & 16;
    106568        $313 = $310 >>> $312;
    106569        $314 = $313 >>> 5;
    106570        $315 = $314 & 8;
    106571        $316 = $315 | $312;
    106572        $317 = $313 >>> $315;
    106573        $318 = $317 >>> 2;
    106574        $319 = $318 & 4;
    106575        $320 = $316 | $319;
    106576        $321 = $317 >>> $319;
    106577        $322 = $321 >>> 1;
    106578        $323 = $322 & 2;
    106579        $324 = $320 | $323;
    106580        $325 = $321 >>> $323;
    106581        $326 = $325 >>> 1;
    106582        $327 = $326 & 1;
    106583        $328 = $324 | $327;
    106584        $329 = $325 >>> $327;
    106585        $330 = (($328) + ($329))|0;
    106586        $331 = (75572 + ($330<<2)|0);
    106587        $332 = HEAP32[$331>>2]|0;
    106588        $$4$ph$i = 0;$$4357$ph$i = $332;
    106589       } else {
    106590        $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i;
    106591       }
    106592       $333 = ($$4357$ph$i|0)==(0|0);
    106593       if ($333) {
    106594        $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i;
    106595       } else {
    106596        $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i;
    106597        label = 85;
    106598       }
    106599      }
    106600      if ((label|0) == 85) {
    106601       while(1) {
    106602        label = 0;
    106603        $334 = ((($$435713$i)) + 4|0);
    106604        $335 = HEAP32[$334>>2]|0;
    106605        $336 = $335 & -8;
    106606        $337 = (($336) - ($249))|0;
    106607        $338 = ($337>>>0)<($$435114$i>>>0);
    106608        $$$4351$i = $338 ? $337 : $$435114$i;
    106609        $$4357$$4$i = $338 ? $$435713$i : $$415$i;
    106610        $339 = ((($$435713$i)) + 16|0);
    106611        $340 = HEAP32[$339>>2]|0;
    106612        $not$1$i203 = ($340|0)==(0|0);
    106613        $$sink2$i204 = $not$1$i203&1;
    106614        $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0);
    106615        $342 = HEAP32[$341>>2]|0;
    106616        $343 = ($342|0)==(0|0);
    106617        if ($343) {
    106618         $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i;
    106619         break;
    106620        } else {
    106621         $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342;
    106622         label = 85;
    106623        }
    106624       }
    106625      }
    106626      $344 = ($$4$lcssa$i|0)==(0|0);
    106627      if ($344) {
    106628       $$0197 = $249;
    106629      } else {
    106630       $345 = HEAP32[(75276)>>2]|0;
    106631       $346 = (($345) - ($249))|0;
    106632       $347 = ($$4351$lcssa$i>>>0)<($346>>>0);
    106633       if ($347) {
    106634        $348 = HEAP32[(75284)>>2]|0;
    106635        $349 = ($$4$lcssa$i>>>0)<($348>>>0);
    106636        if ($349) {
    106637         _abort();
    106638         // unreachable;
    106639        }
    106640        $350 = (($$4$lcssa$i) + ($249)|0);
    106641        $351 = ($$4$lcssa$i>>>0)<($350>>>0);
    106642        if (!($351)) {
    106643         _abort();
    106644         // unreachable;
    106645        }
    106646        $352 = ((($$4$lcssa$i)) + 24|0);
    106647        $353 = HEAP32[$352>>2]|0;
    106648        $354 = ((($$4$lcssa$i)) + 12|0);
    106649        $355 = HEAP32[$354>>2]|0;
    106650        $356 = ($355|0)==($$4$lcssa$i|0);
    106651        do {
    106652         if ($356) {
    106653          $366 = ((($$4$lcssa$i)) + 20|0);
    106654          $367 = HEAP32[$366>>2]|0;
    106655          $368 = ($367|0)==(0|0);
    106656          if ($368) {
    106657           $369 = ((($$4$lcssa$i)) + 16|0);
    106658           $370 = HEAP32[$369>>2]|0;
    106659           $371 = ($370|0)==(0|0);
    106660           if ($371) {
    106661            $$3372$i = 0;
    106662            break;
    106663           } else {
    106664            $$1370$i = $370;$$1374$i = $369;
    106665           }
    106666          } else {
    106667           $$1370$i = $367;$$1374$i = $366;
    106668          }
    106669          while(1) {
    106670           $372 = ((($$1370$i)) + 20|0);
    106671           $373 = HEAP32[$372>>2]|0;
    106672           $374 = ($373|0)==(0|0);
    106673           if (!($374)) {
    106674            $$1370$i = $373;$$1374$i = $372;
    106675            continue;
    106676           }
    106677           $375 = ((($$1370$i)) + 16|0);
    106678           $376 = HEAP32[$375>>2]|0;
    106679           $377 = ($376|0)==(0|0);
    106680           if ($377) {
    106681            break;
    106682           } else {
    106683            $$1370$i = $376;$$1374$i = $375;
    106684           }
    106685          }
    106686          $378 = ($$1374$i>>>0)<($348>>>0);
    106687          if ($378) {
    106688           _abort();
    106689           // unreachable;
    106690          } else {
    106691           HEAP32[$$1374$i>>2] = 0;
    106692           $$3372$i = $$1370$i;
    106693           break;
    106694          }
    106695         } else {
    106696          $357 = ((($$4$lcssa$i)) + 8|0);
    106697          $358 = HEAP32[$357>>2]|0;
    106698          $359 = ($358>>>0)<($348>>>0);
    106699          if ($359) {
    106700           _abort();
    106701           // unreachable;
    106702          }
    106703          $360 = ((($358)) + 12|0);
    106704          $361 = HEAP32[$360>>2]|0;
    106705          $362 = ($361|0)==($$4$lcssa$i|0);
    106706          if (!($362)) {
    106707           _abort();
    106708           // unreachable;
    106709          }
    106710          $363 = ((($355)) + 8|0);
    106711          $364 = HEAP32[$363>>2]|0;
    106712          $365 = ($364|0)==($$4$lcssa$i|0);
    106713          if ($365) {
    106714           HEAP32[$360>>2] = $355;
    106715           HEAP32[$363>>2] = $358;
    106716           $$3372$i = $355;
    106717           break;
    106718          } else {
    106719           _abort();
    106720           // unreachable;
    106721          }
    106722         }
    106723        } while(0);
    106724        $379 = ($353|0)==(0|0);
    106725        L164: do {
    106726         if ($379) {
    106727          $470 = $250;
    106728         } else {
    106729          $380 = ((($$4$lcssa$i)) + 28|0);
    106730          $381 = HEAP32[$380>>2]|0;
    106731          $382 = (75572 + ($381<<2)|0);
    106732          $383 = HEAP32[$382>>2]|0;
    106733          $384 = ($$4$lcssa$i|0)==($383|0);
    106734          do {
    106735           if ($384) {
    106736            HEAP32[$382>>2] = $$3372$i;
    106737            $cond$i208 = ($$3372$i|0)==(0|0);
    106738            if ($cond$i208) {
    106739             $385 = 1 << $381;
    106740             $386 = $385 ^ -1;
    106741             $387 = $250 & $386;
    106742             HEAP32[(75272)>>2] = $387;
    106743             $470 = $387;
    106744             break L164;
    106745            }
    106746           } else {
    106747            $388 = HEAP32[(75284)>>2]|0;
    106748            $389 = ($353>>>0)<($388>>>0);
    106749            if ($389) {
    106750             _abort();
    106751             // unreachable;
    106752            } else {
    106753             $390 = ((($353)) + 16|0);
    106754             $391 = HEAP32[$390>>2]|0;
    106755             $not$$i209 = ($391|0)!=($$4$lcssa$i|0);
    106756             $$sink3$i = $not$$i209&1;
    106757             $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0);
    106758             HEAP32[$392>>2] = $$3372$i;
    106759             $393 = ($$3372$i|0)==(0|0);
    106760             if ($393) {
    106761              $470 = $250;
    106762              break L164;
    106763             } else {
    106764              break;
    106765             }
    106766            }
    106767           }
    106768          } while(0);
    106769          $394 = HEAP32[(75284)>>2]|0;
    106770          $395 = ($$3372$i>>>0)<($394>>>0);
    106771          if ($395) {
    106772           _abort();
    106773           // unreachable;
    106774          }
    106775          $396 = ((($$3372$i)) + 24|0);
    106776          HEAP32[$396>>2] = $353;
    106777          $397 = ((($$4$lcssa$i)) + 16|0);
    106778          $398 = HEAP32[$397>>2]|0;
    106779          $399 = ($398|0)==(0|0);
    106780          do {
    106781           if (!($399)) {
    106782            $400 = ($398>>>0)<($394>>>0);
    106783            if ($400) {
    106784             _abort();
    106785             // unreachable;
    106786            } else {
    106787             $401 = ((($$3372$i)) + 16|0);
    106788             HEAP32[$401>>2] = $398;
    106789             $402 = ((($398)) + 24|0);
    106790             HEAP32[$402>>2] = $$3372$i;
    106791             break;
    106792            }
    106793           }
    106794          } while(0);
    106795          $403 = ((($$4$lcssa$i)) + 20|0);
    106796          $404 = HEAP32[$403>>2]|0;
    106797          $405 = ($404|0)==(0|0);
    106798          if ($405) {
    106799           $470 = $250;
    106800          } else {
    106801           $406 = HEAP32[(75284)>>2]|0;
    106802           $407 = ($404>>>0)<($406>>>0);
    106803           if ($407) {
    106804            _abort();
    106805            // unreachable;
    106806           } else {
    106807            $408 = ((($$3372$i)) + 20|0);
    106808            HEAP32[$408>>2] = $404;
    106809            $409 = ((($404)) + 24|0);
    106810            HEAP32[$409>>2] = $$3372$i;
    106811            $470 = $250;
    106812            break;
    106813           }
    106814          }
    106815         }
    106816        } while(0);
    106817        $410 = ($$4351$lcssa$i>>>0)<(16);
    106818        do {
    106819         if ($410) {
    106820          $411 = (($$4351$lcssa$i) + ($249))|0;
    106821          $412 = $411 | 3;
    106822          $413 = ((($$4$lcssa$i)) + 4|0);
    106823          HEAP32[$413>>2] = $412;
    106824          $414 = (($$4$lcssa$i) + ($411)|0);
    106825          $415 = ((($414)) + 4|0);
    106826          $416 = HEAP32[$415>>2]|0;
    106827          $417 = $416 | 1;
    106828          HEAP32[$415>>2] = $417;
    106829         } else {
    106830          $418 = $249 | 3;
    106831          $419 = ((($$4$lcssa$i)) + 4|0);
    106832          HEAP32[$419>>2] = $418;
    106833          $420 = $$4351$lcssa$i | 1;
    106834          $421 = ((($350)) + 4|0);
    106835          HEAP32[$421>>2] = $420;
    106836          $422 = (($350) + ($$4351$lcssa$i)|0);
    106837          HEAP32[$422>>2] = $$4351$lcssa$i;
    106838          $423 = $$4351$lcssa$i >>> 3;
    106839          $424 = ($$4351$lcssa$i>>>0)<(256);
    106840          if ($424) {
    106841           $425 = $423 << 1;
    106842           $426 = (75308 + ($425<<2)|0);
    106843           $427 = HEAP32[18817]|0;
    106844           $428 = 1 << $423;
    106845           $429 = $427 & $428;
    106846           $430 = ($429|0)==(0);
    106847           if ($430) {
    106848            $431 = $427 | $428;
    106849            HEAP32[18817] = $431;
    106850            $$pre$i210 = ((($426)) + 8|0);
    106851            $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210;
    106852           } else {
    106853            $432 = ((($426)) + 8|0);
    106854            $433 = HEAP32[$432>>2]|0;
    106855            $434 = HEAP32[(75284)>>2]|0;
    106856            $435 = ($433>>>0)<($434>>>0);
    106857            if ($435) {
    106858             _abort();
    106859             // unreachable;
    106860            } else {
    106861             $$0368$i = $433;$$pre$phi$i211Z2D = $432;
    106862            }
    106863           }
    106864           HEAP32[$$pre$phi$i211Z2D>>2] = $350;
    106865           $436 = ((($$0368$i)) + 12|0);
    106866           HEAP32[$436>>2] = $350;
    106867           $437 = ((($350)) + 8|0);
    106868           HEAP32[$437>>2] = $$0368$i;
    106869           $438 = ((($350)) + 12|0);
    106870           HEAP32[$438>>2] = $426;
    106871           break;
    106872          }
    106873          $439 = $$4351$lcssa$i >>> 8;
    106874          $440 = ($439|0)==(0);
    106875          if ($440) {
    106876           $$0361$i = 0;
    106877          } else {
    106878           $441 = ($$4351$lcssa$i>>>0)>(16777215);
    106879           if ($441) {
    106880            $$0361$i = 31;
    106881           } else {
    106882            $442 = (($439) + 1048320)|0;
    106883            $443 = $442 >>> 16;
    106884            $444 = $443 & 8;
    106885            $445 = $439 << $444;
    106886            $446 = (($445) + 520192)|0;
    106887            $447 = $446 >>> 16;
    106888            $448 = $447 & 4;
    106889            $449 = $448 | $444;
    106890            $450 = $445 << $448;
    106891            $451 = (($450) + 245760)|0;
    106892            $452 = $451 >>> 16;
    106893            $453 = $452 & 2;
    106894            $454 = $449 | $453;
    106895            $455 = (14 - ($454))|0;
    106896            $456 = $450 << $453;
    106897            $457 = $456 >>> 15;
    106898            $458 = (($455) + ($457))|0;
    106899            $459 = $458 << 1;
    106900            $460 = (($458) + 7)|0;
    106901            $461 = $$4351$lcssa$i >>> $460;
    106902            $462 = $461 & 1;
    106903            $463 = $462 | $459;
    106904            $$0361$i = $463;
    106905           }
    106906          }
    106907          $464 = (75572 + ($$0361$i<<2)|0);
    106908          $465 = ((($350)) + 28|0);
    106909          HEAP32[$465>>2] = $$0361$i;
    106910          $466 = ((($350)) + 16|0);
    106911          $467 = ((($466)) + 4|0);
    106912          HEAP32[$467>>2] = 0;
    106913          HEAP32[$466>>2] = 0;
    106914          $468 = 1 << $$0361$i;
    106915          $469 = $470 & $468;
    106916          $471 = ($469|0)==(0);
    106917          if ($471) {
    106918           $472 = $470 | $468;
    106919           HEAP32[(75272)>>2] = $472;
    106920           HEAP32[$464>>2] = $350;
    106921           $473 = ((($350)) + 24|0);
    106922           HEAP32[$473>>2] = $464;
    106923           $474 = ((($350)) + 12|0);
    106924           HEAP32[$474>>2] = $350;
    106925           $475 = ((($350)) + 8|0);
    106926           HEAP32[$475>>2] = $350;
    106927           break;
    106928          }
    106929          $476 = HEAP32[$464>>2]|0;
    106930          $477 = ($$0361$i|0)==(31);
    106931          $478 = $$0361$i >>> 1;
    106932          $479 = (25 - ($478))|0;
    106933          $480 = $477 ? 0 : $479;
    106934          $481 = $$4351$lcssa$i << $480;
    106935          $$0344$i = $481;$$0345$i = $476;
    106936          while(1) {
    106937           $482 = ((($$0345$i)) + 4|0);
    106938           $483 = HEAP32[$482>>2]|0;
    106939           $484 = $483 & -8;
    106940           $485 = ($484|0)==($$4351$lcssa$i|0);
    106941           if ($485) {
    106942            label = 139;
    106943            break;
    106944           }
    106945           $486 = $$0344$i >>> 31;
    106946           $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0);
    106947           $488 = $$0344$i << 1;
    106948           $489 = HEAP32[$487>>2]|0;
    106949           $490 = ($489|0)==(0|0);
    106950           if ($490) {
    106951            label = 136;
    106952            break;
    106953           } else {
    106954            $$0344$i = $488;$$0345$i = $489;
    106955           }
    106956          }
    106957          if ((label|0) == 136) {
    106958           $491 = HEAP32[(75284)>>2]|0;
    106959           $492 = ($487>>>0)<($491>>>0);
    106960           if ($492) {
    106961            _abort();
    106962            // unreachable;
    106963           } else {
    106964            HEAP32[$487>>2] = $350;
    106965            $493 = ((($350)) + 24|0);
    106966            HEAP32[$493>>2] = $$0345$i;
    106967            $494 = ((($350)) + 12|0);
    106968            HEAP32[$494>>2] = $350;
    106969            $495 = ((($350)) + 8|0);
    106970            HEAP32[$495>>2] = $350;
    106971            break;
    106972           }
    106973          }
    106974          else if ((label|0) == 139) {
    106975           $496 = ((($$0345$i)) + 8|0);
    106976           $497 = HEAP32[$496>>2]|0;
    106977           $498 = HEAP32[(75284)>>2]|0;
    106978           $499 = ($497>>>0)>=($498>>>0);
    106979           $not$9$i = ($$0345$i>>>0)>=($498>>>0);
    106980           $500 = $499 & $not$9$i;
    106981           if ($500) {
    106982            $501 = ((($497)) + 12|0);
    106983            HEAP32[$501>>2] = $350;
    106984            HEAP32[$496>>2] = $350;
    106985            $502 = ((($350)) + 8|0);
    106986            HEAP32[$502>>2] = $497;
    106987            $503 = ((($350)) + 12|0);
    106988            HEAP32[$503>>2] = $$0345$i;
    106989            $504 = ((($350)) + 24|0);
    106990            HEAP32[$504>>2] = 0;
    106991            break;
    106992           } else {
    106993            _abort();
    106994            // unreachable;
    106995           }
    106996          }
    106997         }
    106998        } while(0);
    106999        $505 = ((($$4$lcssa$i)) + 8|0);
    107000        $$0 = $505;
    107001        STACKTOP = sp;return ($$0|0);
    107002       } else {
    107003        $$0197 = $249;
    107004       }
    107005      }
    107006     }
    107007    }
    107008   }
    107009  } while(0);
    107010  $506 = HEAP32[(75276)>>2]|0;
    107011  $507 = ($506>>>0)<($$0197>>>0);
    107012  if (!($507)) {
    107013   $508 = (($506) - ($$0197))|0;
    107014   $509 = HEAP32[(75288)>>2]|0;
    107015   $510 = ($508>>>0)>(15);
    107016   if ($510) {
    107017    $511 = (($509) + ($$0197)|0);
    107018    HEAP32[(75288)>>2] = $511;
    107019    HEAP32[(75276)>>2] = $508;
    107020    $512 = $508 | 1;
    107021    $513 = ((($511)) + 4|0);
    107022    HEAP32[$513>>2] = $512;
    107023    $514 = (($511) + ($508)|0);
    107024    HEAP32[$514>>2] = $508;
    107025    $515 = $$0197 | 3;
    107026    $516 = ((($509)) + 4|0);
    107027    HEAP32[$516>>2] = $515;
    107028   } else {
    107029    HEAP32[(75276)>>2] = 0;
    107030    HEAP32[(75288)>>2] = 0;
    107031    $517 = $506 | 3;
    107032    $518 = ((($509)) + 4|0);
    107033    HEAP32[$518>>2] = $517;
    107034    $519 = (($509) + ($506)|0);
    107035    $520 = ((($519)) + 4|0);
    107036    $521 = HEAP32[$520>>2]|0;
    107037    $522 = $521 | 1;
    107038    HEAP32[$520>>2] = $522;
    107039   }
    107040   $523 = ((($509)) + 8|0);
    107041   $$0 = $523;
    107042   STACKTOP = sp;return ($$0|0);
    107043  }
    107044  $524 = HEAP32[(75280)>>2]|0;
    107045  $525 = ($524>>>0)>($$0197>>>0);
    107046  if ($525) {
    107047   $526 = (($524) - ($$0197))|0;
    107048   HEAP32[(75280)>>2] = $526;
    107049   $527 = HEAP32[(75292)>>2]|0;
    107050   $528 = (($527) + ($$0197)|0);
    107051   HEAP32[(75292)>>2] = $528;
    107052   $529 = $526 | 1;
    107053   $530 = ((($528)) + 4|0);
    107054   HEAP32[$530>>2] = $529;
    107055   $531 = $$0197 | 3;
    107056   $532 = ((($527)) + 4|0);
    107057   HEAP32[$532>>2] = $531;
    107058   $533 = ((($527)) + 8|0);
    107059   $$0 = $533;
    107060   STACKTOP = sp;return ($$0|0);
    107061  }
    107062  $534 = HEAP32[18935]|0;
    107063  $535 = ($534|0)==(0);
    107064  if ($535) {
    107065   HEAP32[(75748)>>2] = 4096;
    107066   HEAP32[(75744)>>2] = 4096;
    107067   HEAP32[(75752)>>2] = -1;
    107068   HEAP32[(75756)>>2] = -1;
    107069   HEAP32[(75760)>>2] = 0;
    107070   HEAP32[(75712)>>2] = 0;
    107071   $536 = $1;
    107072   $537 = $536 & -16;
    107073   $538 = $537 ^ 1431655768;
    107074   HEAP32[$1>>2] = $538;
    107075   HEAP32[18935] = $538;
    107076   $542 = 4096;
    107077  } else {
    107078   $$pre$i212 = HEAP32[(75748)>>2]|0;
    107079   $542 = $$pre$i212;
    107080  }
    107081  $539 = (($$0197) + 48)|0;
    107082  $540 = (($$0197) + 47)|0;
    107083  $541 = (($542) + ($540))|0;
    107084  $543 = (0 - ($542))|0;
    107085  $544 = $541 & $543;
    107086  $545 = ($544>>>0)>($$0197>>>0);
    107087  if (!($545)) {
    107088   $$0 = 0;
    107089   STACKTOP = sp;return ($$0|0);
    107090  }
    107091  $546 = HEAP32[(75708)>>2]|0;
    107092  $547 = ($546|0)==(0);
    107093  if (!($547)) {
    107094   $548 = HEAP32[(75700)>>2]|0;
    107095   $549 = (($548) + ($544))|0;
    107096   $550 = ($549>>>0)<=($548>>>0);
    107097   $551 = ($549>>>0)>($546>>>0);
    107098   $or$cond1$i = $550 | $551;
    107099   if ($or$cond1$i) {
    107100    $$0 = 0;
    107101    STACKTOP = sp;return ($$0|0);
    107102   }
    107103  }
    107104  $552 = HEAP32[(75712)>>2]|0;
    107105  $553 = $552 & 4;
    107106  $554 = ($553|0)==(0);
    107107  L244: do {
    107108   if ($554) {
    107109    $555 = HEAP32[(75292)>>2]|0;
    107110    $556 = ($555|0)==(0|0);
    107111    L246: do {
    107112     if ($556) {
    107113      label = 163;
    107114     } else {
    107115      $$0$i$i = (75716);
    107116      while(1) {
    107117       $557 = HEAP32[$$0$i$i>>2]|0;
    107118       $558 = ($557>>>0)>($555>>>0);
    107119       if (!($558)) {
    107120        $559 = ((($$0$i$i)) + 4|0);
    107121        $560 = HEAP32[$559>>2]|0;
    107122        $561 = (($557) + ($560)|0);
    107123        $562 = ($561>>>0)>($555>>>0);
    107124        if ($562) {
    107125         break;
    107126        }
    107127       }
    107128       $563 = ((($$0$i$i)) + 8|0);
    107129       $564 = HEAP32[$563>>2]|0;
    107130       $565 = ($564|0)==(0|0);
    107131       if ($565) {
    107132        label = 163;
    107133        break L246;
    107134       } else {
    107135        $$0$i$i = $564;
    107136       }
    107137      }
    107138      $588 = (($541) - ($524))|0;
    107139      $589 = $588 & $543;
    107140      $590 = ($589>>>0)<(2147483647);
    107141      if ($590) {
    107142       $591 = (_sbrk(($589|0))|0);
    107143       $592 = HEAP32[$$0$i$i>>2]|0;
    107144       $593 = HEAP32[$559>>2]|0;
    107145       $594 = (($592) + ($593)|0);
    107146       $595 = ($591|0)==($594|0);
    107147       if ($595) {
    107148        $596 = ($591|0)==((-1)|0);
    107149        if ($596) {
    107150         $$2234253237$i = $589;
    107151        } else {
    107152         $$723948$i = $589;$$749$i = $591;
    107153         label = 180;
    107154         break L244;
    107155        }
    107156       } else {
    107157        $$2247$ph$i = $591;$$2253$ph$i = $589;
    107158        label = 171;
    107159       }
    107160      } else {
    107161       $$2234253237$i = 0;
    107162      }
    107163     }
    107164    } while(0);
    107165    do {
    107166     if ((label|0) == 163) {
    107167      $566 = (_sbrk(0)|0);
    107168      $567 = ($566|0)==((-1)|0);
    107169      if ($567) {
    107170       $$2234253237$i = 0;
    107171      } else {
    107172       $568 = $566;
    107173       $569 = HEAP32[(75744)>>2]|0;
    107174       $570 = (($569) + -1)|0;
    107175       $571 = $570 & $568;
    107176       $572 = ($571|0)==(0);
    107177       $573 = (($570) + ($568))|0;
    107178       $574 = (0 - ($569))|0;
    107179       $575 = $573 & $574;
    107180       $576 = (($575) - ($568))|0;
    107181       $577 = $572 ? 0 : $576;
    107182       $$$i = (($577) + ($544))|0;
    107183       $578 = HEAP32[(75700)>>2]|0;
    107184       $579 = (($$$i) + ($578))|0;
    107185       $580 = ($$$i>>>0)>($$0197>>>0);
    107186       $581 = ($$$i>>>0)<(2147483647);
    107187       $or$cond$i214 = $580 & $581;
    107188       if ($or$cond$i214) {
    107189        $582 = HEAP32[(75708)>>2]|0;
    107190        $583 = ($582|0)==(0);
    107191        if (!($583)) {
    107192         $584 = ($579>>>0)<=($578>>>0);
    107193         $585 = ($579>>>0)>($582>>>0);
    107194         $or$cond2$i215 = $584 | $585;
    107195         if ($or$cond2$i215) {
    107196          $$2234253237$i = 0;
    107197          break;
    107198         }
    107199        }
    107200        $586 = (_sbrk(($$$i|0))|0);
    107201        $587 = ($586|0)==($566|0);
    107202        if ($587) {
    107203         $$723948$i = $$$i;$$749$i = $566;
    107204         label = 180;
    107205         break L244;
    107206        } else {
    107207         $$2247$ph$i = $586;$$2253$ph$i = $$$i;
    107208         label = 171;
    107209        }
    107210       } else {
    107211        $$2234253237$i = 0;
    107212       }
    107213      }
    107214     }
    107215    } while(0);
    107216    do {
    107217     if ((label|0) == 171) {
    107218      $597 = (0 - ($$2253$ph$i))|0;
    107219      $598 = ($$2247$ph$i|0)!=((-1)|0);
    107220      $599 = ($$2253$ph$i>>>0)<(2147483647);
    107221      $or$cond7$i = $599 & $598;
    107222      $600 = ($539>>>0)>($$2253$ph$i>>>0);
    107223      $or$cond10$i = $600 & $or$cond7$i;
    107224      if (!($or$cond10$i)) {
    107225       $610 = ($$2247$ph$i|0)==((-1)|0);
    107226       if ($610) {
    107227        $$2234253237$i = 0;
    107228        break;
    107229       } else {
    107230        $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i;
    107231        label = 180;
    107232        break L244;
    107233       }
    107234      }
    107235      $601 = HEAP32[(75748)>>2]|0;
    107236      $602 = (($540) - ($$2253$ph$i))|0;
    107237      $603 = (($602) + ($601))|0;
    107238      $604 = (0 - ($601))|0;
    107239      $605 = $603 & $604;
    107240      $606 = ($605>>>0)<(2147483647);
    107241      if (!($606)) {
    107242       $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i;
    107243       label = 180;
    107244       break L244;
    107245      }
    107246      $607 = (_sbrk(($605|0))|0);
    107247      $608 = ($607|0)==((-1)|0);
    107248      if ($608) {
    107249       (_sbrk(($597|0))|0);
    107250       $$2234253237$i = 0;
    107251       break;
    107252      } else {
    107253       $609 = (($605) + ($$2253$ph$i))|0;
    107254       $$723948$i = $609;$$749$i = $$2247$ph$i;
    107255       label = 180;
    107256       break L244;
    107257      }
    107258     }
    107259    } while(0);
    107260    $611 = HEAP32[(75712)>>2]|0;
    107261    $612 = $611 | 4;
    107262    HEAP32[(75712)>>2] = $612;
    107263    $$4236$i = $$2234253237$i;
    107264    label = 178;
    107265   } else {
    107266    $$4236$i = 0;
    107267    label = 178;
    107268   }
    107269  } while(0);
    107270  if ((label|0) == 178) {
    107271   $613 = ($544>>>0)<(2147483647);
    107272   if ($613) {
    107273    $614 = (_sbrk(($544|0))|0);
    107274    $615 = (_sbrk(0)|0);
    107275    $616 = ($614|0)!=((-1)|0);
    107276    $617 = ($615|0)!=((-1)|0);
    107277    $or$cond5$i = $616 & $617;
    107278    $618 = ($614>>>0)<($615>>>0);
    107279    $or$cond11$i = $618 & $or$cond5$i;
    107280    $619 = $615;
    107281    $620 = $614;
    107282    $621 = (($619) - ($620))|0;
    107283    $622 = (($$0197) + 40)|0;
    107284    $623 = ($621>>>0)>($622>>>0);
    107285    $$$4236$i = $623 ? $621 : $$4236$i;
    107286    $or$cond11$not$i = $or$cond11$i ^ 1;
    107287    $624 = ($614|0)==((-1)|0);
    107288    $not$$i216 = $623 ^ 1;
    107289    $625 = $624 | $not$$i216;
    107290    $or$cond50$i = $625 | $or$cond11$not$i;
    107291    if (!($or$cond50$i)) {
    107292     $$723948$i = $$$4236$i;$$749$i = $614;
    107293     label = 180;
    107294    }
    107295   }
    107296  }
    107297  if ((label|0) == 180) {
    107298   $626 = HEAP32[(75700)>>2]|0;
    107299   $627 = (($626) + ($$723948$i))|0;
    107300   HEAP32[(75700)>>2] = $627;
    107301   $628 = HEAP32[(75704)>>2]|0;
    107302   $629 = ($627>>>0)>($628>>>0);
    107303   if ($629) {
    107304    HEAP32[(75704)>>2] = $627;
    107305   }
    107306   $630 = HEAP32[(75292)>>2]|0;
    107307   $631 = ($630|0)==(0|0);
    107308   do {
    107309    if ($631) {
    107310     $632 = HEAP32[(75284)>>2]|0;
    107311     $633 = ($632|0)==(0|0);
    107312     $634 = ($$749$i>>>0)<($632>>>0);
    107313     $or$cond12$i = $633 | $634;
    107314     if ($or$cond12$i) {
    107315      HEAP32[(75284)>>2] = $$749$i;
    107316     }
    107317     HEAP32[(75716)>>2] = $$749$i;
    107318     HEAP32[(75720)>>2] = $$723948$i;
    107319     HEAP32[(75728)>>2] = 0;
    107320     $635 = HEAP32[18935]|0;
    107321     HEAP32[(75304)>>2] = $635;
    107322     HEAP32[(75300)>>2] = -1;
    107323     $$01$i$i = 0;
    107324     while(1) {
    107325      $636 = $$01$i$i << 1;
    107326      $637 = (75308 + ($636<<2)|0);
    107327      $638 = ((($637)) + 12|0);
    107328      HEAP32[$638>>2] = $637;
    107329      $639 = ((($637)) + 8|0);
    107330      HEAP32[$639>>2] = $637;
    107331      $640 = (($$01$i$i) + 1)|0;
    107332      $exitcond$i$i = ($640|0)==(32);
    107333      if ($exitcond$i$i) {
    107334       break;
    107335      } else {
    107336       $$01$i$i = $640;
    107337      }
    107338     }
    107339     $641 = (($$723948$i) + -40)|0;
    107340     $642 = ((($$749$i)) + 8|0);
    107341     $643 = $642;
    107342     $644 = $643 & 7;
    107343     $645 = ($644|0)==(0);
    107344     $646 = (0 - ($643))|0;
    107345     $647 = $646 & 7;
    107346     $648 = $645 ? 0 : $647;
    107347     $649 = (($$749$i) + ($648)|0);
    107348     $650 = (($641) - ($648))|0;
    107349     HEAP32[(75292)>>2] = $649;
    107350     HEAP32[(75280)>>2] = $650;
    107351     $651 = $650 | 1;
    107352     $652 = ((($649)) + 4|0);
    107353     HEAP32[$652>>2] = $651;
    107354     $653 = (($649) + ($650)|0);
    107355     $654 = ((($653)) + 4|0);
    107356     HEAP32[$654>>2] = 40;
    107357     $655 = HEAP32[(75756)>>2]|0;
    107358     HEAP32[(75296)>>2] = $655;
    107359    } else {
    107360     $$024371$i = (75716);
    107361     while(1) {
    107362      $656 = HEAP32[$$024371$i>>2]|0;
    107363      $657 = ((($$024371$i)) + 4|0);
    107364      $658 = HEAP32[$657>>2]|0;
    107365      $659 = (($656) + ($658)|0);
    107366      $660 = ($$749$i|0)==($659|0);
    107367      if ($660) {
    107368       label = 190;
    107369       break;
    107370      }
    107371      $661 = ((($$024371$i)) + 8|0);
    107372      $662 = HEAP32[$661>>2]|0;
    107373      $663 = ($662|0)==(0|0);
    107374      if ($663) {
    107375       break;
    107376      } else {
    107377       $$024371$i = $662;
    107378      }
    107379     }
    107380     if ((label|0) == 190) {
    107381      $664 = ((($$024371$i)) + 12|0);
    107382      $665 = HEAP32[$664>>2]|0;
    107383      $666 = $665 & 8;
    107384      $667 = ($666|0)==(0);
    107385      if ($667) {
    107386       $668 = ($630>>>0)>=($656>>>0);
    107387       $669 = ($630>>>0)<($$749$i>>>0);
    107388       $or$cond51$i = $669 & $668;
    107389       if ($or$cond51$i) {
    107390        $670 = (($658) + ($$723948$i))|0;
    107391        HEAP32[$657>>2] = $670;
    107392        $671 = HEAP32[(75280)>>2]|0;
    107393        $672 = ((($630)) + 8|0);
    107394        $673 = $672;
    107395        $674 = $673 & 7;
    107396        $675 = ($674|0)==(0);
    107397        $676 = (0 - ($673))|0;
    107398        $677 = $676 & 7;
    107399        $678 = $675 ? 0 : $677;
    107400        $679 = (($630) + ($678)|0);
    107401        $680 = (($$723948$i) - ($678))|0;
    107402        $681 = (($671) + ($680))|0;
    107403        HEAP32[(75292)>>2] = $679;
    107404        HEAP32[(75280)>>2] = $681;
    107405        $682 = $681 | 1;
    107406        $683 = ((($679)) + 4|0);
    107407        HEAP32[$683>>2] = $682;
    107408        $684 = (($679) + ($681)|0);
    107409        $685 = ((($684)) + 4|0);
    107410        HEAP32[$685>>2] = 40;
    107411        $686 = HEAP32[(75756)>>2]|0;
    107412        HEAP32[(75296)>>2] = $686;
    107413        break;
    107414       }
    107415      }
    107416     }
    107417     $687 = HEAP32[(75284)>>2]|0;
    107418     $688 = ($$749$i>>>0)<($687>>>0);
    107419     if ($688) {
    107420      HEAP32[(75284)>>2] = $$749$i;
    107421      $752 = $$749$i;
    107422     } else {
    107423      $752 = $687;
    107424     }
    107425     $689 = (($$749$i) + ($$723948$i)|0);
    107426     $$124470$i = (75716);
    107427     while(1) {
    107428      $690 = HEAP32[$$124470$i>>2]|0;
    107429      $691 = ($690|0)==($689|0);
    107430      if ($691) {
    107431       label = 198;
    107432       break;
    107433      }
    107434      $692 = ((($$124470$i)) + 8|0);
    107435      $693 = HEAP32[$692>>2]|0;
    107436      $694 = ($693|0)==(0|0);
    107437      if ($694) {
    107438       break;
    107439      } else {
    107440       $$124470$i = $693;
    107441      }
    107442     }
    107443     if ((label|0) == 198) {
    107444      $695 = ((($$124470$i)) + 12|0);
    107445      $696 = HEAP32[$695>>2]|0;
    107446      $697 = $696 & 8;
    107447      $698 = ($697|0)==(0);
    107448      if ($698) {
    107449       HEAP32[$$124470$i>>2] = $$749$i;
    107450       $699 = ((($$124470$i)) + 4|0);
    107451       $700 = HEAP32[$699>>2]|0;
    107452       $701 = (($700) + ($$723948$i))|0;
    107453       HEAP32[$699>>2] = $701;
    107454       $702 = ((($$749$i)) + 8|0);
    107455       $703 = $702;
    107456       $704 = $703 & 7;
    107457       $705 = ($704|0)==(0);
    107458       $706 = (0 - ($703))|0;
    107459       $707 = $706 & 7;
    107460       $708 = $705 ? 0 : $707;
    107461       $709 = (($$749$i) + ($708)|0);
    107462       $710 = ((($689)) + 8|0);
    107463       $711 = $710;
    107464       $712 = $711 & 7;
    107465       $713 = ($712|0)==(0);
    107466       $714 = (0 - ($711))|0;
    107467       $715 = $714 & 7;
    107468       $716 = $713 ? 0 : $715;
    107469       $717 = (($689) + ($716)|0);
    107470       $718 = $717;
    107471       $719 = $709;
    107472       $720 = (($718) - ($719))|0;
    107473       $721 = (($709) + ($$0197)|0);
    107474       $722 = (($720) - ($$0197))|0;
    107475       $723 = $$0197 | 3;
    107476       $724 = ((($709)) + 4|0);
    107477       HEAP32[$724>>2] = $723;
    107478       $725 = ($717|0)==($630|0);
    107479       do {
    107480        if ($725) {
    107481         $726 = HEAP32[(75280)>>2]|0;
    107482         $727 = (($726) + ($722))|0;
    107483         HEAP32[(75280)>>2] = $727;
    107484         HEAP32[(75292)>>2] = $721;
    107485         $728 = $727 | 1;
    107486         $729 = ((($721)) + 4|0);
    107487         HEAP32[$729>>2] = $728;
    107488        } else {
    107489         $730 = HEAP32[(75288)>>2]|0;
    107490         $731 = ($717|0)==($730|0);
    107491         if ($731) {
    107492          $732 = HEAP32[(75276)>>2]|0;
    107493          $733 = (($732) + ($722))|0;
    107494          HEAP32[(75276)>>2] = $733;
    107495          HEAP32[(75288)>>2] = $721;
    107496          $734 = $733 | 1;
    107497          $735 = ((($721)) + 4|0);
    107498          HEAP32[$735>>2] = $734;
    107499          $736 = (($721) + ($733)|0);
    107500          HEAP32[$736>>2] = $733;
    107501          break;
    107502         }
    107503         $737 = ((($717)) + 4|0);
    107504         $738 = HEAP32[$737>>2]|0;
    107505         $739 = $738 & 3;
    107506         $740 = ($739|0)==(1);
    107507         if ($740) {
    107508          $741 = $738 & -8;
    107509          $742 = $738 >>> 3;
    107510          $743 = ($738>>>0)<(256);
    107511          L314: do {
    107512           if ($743) {
    107513            $744 = ((($717)) + 8|0);
    107514            $745 = HEAP32[$744>>2]|0;
    107515            $746 = ((($717)) + 12|0);
    107516            $747 = HEAP32[$746>>2]|0;
    107517            $748 = $742 << 1;
    107518            $749 = (75308 + ($748<<2)|0);
    107519            $750 = ($745|0)==($749|0);
    107520            do {
    107521             if (!($750)) {
    107522              $751 = ($745>>>0)<($752>>>0);
    107523              if ($751) {
    107524               _abort();
    107525               // unreachable;
    107526              }
    107527              $753 = ((($745)) + 12|0);
    107528              $754 = HEAP32[$753>>2]|0;
    107529              $755 = ($754|0)==($717|0);
    107530              if ($755) {
    107531               break;
    107532              }
    107533              _abort();
    107534              // unreachable;
    107535             }
    107536            } while(0);
    107537            $756 = ($747|0)==($745|0);
    107538            if ($756) {
    107539             $757 = 1 << $742;
    107540             $758 = $757 ^ -1;
    107541             $759 = HEAP32[18817]|0;
    107542             $760 = $759 & $758;
    107543             HEAP32[18817] = $760;
    107544             break;
    107545            }
    107546            $761 = ($747|0)==($749|0);
    107547            do {
    107548             if ($761) {
    107549              $$pre10$i$i = ((($747)) + 8|0);
    107550              $$pre$phi11$i$iZ2D = $$pre10$i$i;
    107551             } else {
    107552              $762 = ($747>>>0)<($752>>>0);
    107553              if ($762) {
    107554               _abort();
    107555               // unreachable;
    107556              }
    107557              $763 = ((($747)) + 8|0);
    107558              $764 = HEAP32[$763>>2]|0;
    107559              $765 = ($764|0)==($717|0);
    107560              if ($765) {
    107561               $$pre$phi11$i$iZ2D = $763;
    107562               break;
    107563              }
    107564              _abort();
    107565              // unreachable;
    107566             }
    107567            } while(0);
    107568            $766 = ((($745)) + 12|0);
    107569            HEAP32[$766>>2] = $747;
    107570            HEAP32[$$pre$phi11$i$iZ2D>>2] = $745;
    107571           } else {
    107572            $767 = ((($717)) + 24|0);
    107573            $768 = HEAP32[$767>>2]|0;
    107574            $769 = ((($717)) + 12|0);
    107575            $770 = HEAP32[$769>>2]|0;
    107576            $771 = ($770|0)==($717|0);
    107577            do {
    107578             if ($771) {
    107579              $781 = ((($717)) + 16|0);
    107580              $782 = ((($781)) + 4|0);
    107581              $783 = HEAP32[$782>>2]|0;
    107582              $784 = ($783|0)==(0|0);
    107583              if ($784) {
    107584               $785 = HEAP32[$781>>2]|0;
    107585               $786 = ($785|0)==(0|0);
    107586               if ($786) {
    107587                $$3$i$i = 0;
    107588                break;
    107589               } else {
    107590                $$1291$i$i = $785;$$1293$i$i = $781;
    107591               }
    107592              } else {
    107593               $$1291$i$i = $783;$$1293$i$i = $782;
    107594              }
    107595              while(1) {
    107596               $787 = ((($$1291$i$i)) + 20|0);
    107597               $788 = HEAP32[$787>>2]|0;
    107598               $789 = ($788|0)==(0|0);
    107599               if (!($789)) {
    107600                $$1291$i$i = $788;$$1293$i$i = $787;
    107601                continue;
    107602               }
    107603               $790 = ((($$1291$i$i)) + 16|0);
    107604               $791 = HEAP32[$790>>2]|0;
    107605               $792 = ($791|0)==(0|0);
    107606               if ($792) {
    107607                break;
    107608               } else {
    107609                $$1291$i$i = $791;$$1293$i$i = $790;
    107610               }
    107611              }
    107612              $793 = ($$1293$i$i>>>0)<($752>>>0);
    107613              if ($793) {
    107614               _abort();
    107615               // unreachable;
    107616              } else {
    107617               HEAP32[$$1293$i$i>>2] = 0;
    107618               $$3$i$i = $$1291$i$i;
    107619               break;
    107620              }
    107621             } else {
    107622              $772 = ((($717)) + 8|0);
    107623              $773 = HEAP32[$772>>2]|0;
    107624              $774 = ($773>>>0)<($752>>>0);
    107625              if ($774) {
    107626               _abort();
    107627               // unreachable;
    107628              }
    107629              $775 = ((($773)) + 12|0);
    107630              $776 = HEAP32[$775>>2]|0;
    107631              $777 = ($776|0)==($717|0);
    107632              if (!($777)) {
    107633               _abort();
    107634               // unreachable;
    107635              }
    107636              $778 = ((($770)) + 8|0);
    107637              $779 = HEAP32[$778>>2]|0;
    107638              $780 = ($779|0)==($717|0);
    107639              if ($780) {
    107640               HEAP32[$775>>2] = $770;
    107641               HEAP32[$778>>2] = $773;
    107642               $$3$i$i = $770;
    107643               break;
    107644              } else {
    107645               _abort();
    107646               // unreachable;
    107647              }
    107648             }
    107649            } while(0);
    107650            $794 = ($768|0)==(0|0);
    107651            if ($794) {
    107652             break;
    107653            }
    107654            $795 = ((($717)) + 28|0);
    107655            $796 = HEAP32[$795>>2]|0;
    107656            $797 = (75572 + ($796<<2)|0);
    107657            $798 = HEAP32[$797>>2]|0;
    107658            $799 = ($717|0)==($798|0);
    107659            do {
    107660             if ($799) {
    107661              HEAP32[$797>>2] = $$3$i$i;
    107662              $cond$i$i = ($$3$i$i|0)==(0|0);
    107663              if (!($cond$i$i)) {
    107664               break;
    107665              }
    107666              $800 = 1 << $796;
    107667              $801 = $800 ^ -1;
    107668              $802 = HEAP32[(75272)>>2]|0;
    107669              $803 = $802 & $801;
    107670              HEAP32[(75272)>>2] = $803;
    107671              break L314;
    107672             } else {
    107673              $804 = HEAP32[(75284)>>2]|0;
    107674              $805 = ($768>>>0)<($804>>>0);
    107675              if ($805) {
    107676               _abort();
    107677               // unreachable;
    107678              } else {
    107679               $806 = ((($768)) + 16|0);
    107680               $807 = HEAP32[$806>>2]|0;
    107681               $not$$i17$i = ($807|0)!=($717|0);
    107682               $$sink1$i$i = $not$$i17$i&1;
    107683               $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0);
    107684               HEAP32[$808>>2] = $$3$i$i;
    107685               $809 = ($$3$i$i|0)==(0|0);
    107686               if ($809) {
    107687                break L314;
    107688               } else {
    107689                break;
    107690               }
    107691              }
    107692             }
    107693            } while(0);
    107694            $810 = HEAP32[(75284)>>2]|0;
    107695            $811 = ($$3$i$i>>>0)<($810>>>0);
    107696            if ($811) {
    107697             _abort();
    107698             // unreachable;
    107699            }
    107700            $812 = ((($$3$i$i)) + 24|0);
    107701            HEAP32[$812>>2] = $768;
    107702            $813 = ((($717)) + 16|0);
    107703            $814 = HEAP32[$813>>2]|0;
    107704            $815 = ($814|0)==(0|0);
    107705            do {
    107706             if (!($815)) {
    107707              $816 = ($814>>>0)<($810>>>0);
    107708              if ($816) {
    107709               _abort();
    107710               // unreachable;
    107711              } else {
    107712               $817 = ((($$3$i$i)) + 16|0);
    107713               HEAP32[$817>>2] = $814;
    107714               $818 = ((($814)) + 24|0);
    107715               HEAP32[$818>>2] = $$3$i$i;
    107716               break;
    107717              }
    107718             }
    107719            } while(0);
    107720            $819 = ((($813)) + 4|0);
    107721            $820 = HEAP32[$819>>2]|0;
    107722            $821 = ($820|0)==(0|0);
    107723            if ($821) {
    107724             break;
    107725            }
    107726            $822 = HEAP32[(75284)>>2]|0;
    107727            $823 = ($820>>>0)<($822>>>0);
    107728            if ($823) {
    107729             _abort();
    107730             // unreachable;
    107731            } else {
    107732             $824 = ((($$3$i$i)) + 20|0);
    107733             HEAP32[$824>>2] = $820;
    107734             $825 = ((($820)) + 24|0);
    107735             HEAP32[$825>>2] = $$3$i$i;
    107736             break;
    107737            }
    107738           }
    107739          } while(0);
    107740          $826 = (($717) + ($741)|0);
    107741          $827 = (($741) + ($722))|0;
    107742          $$0$i18$i = $826;$$0287$i$i = $827;
    107743         } else {
    107744          $$0$i18$i = $717;$$0287$i$i = $722;
    107745         }
    107746         $828 = ((($$0$i18$i)) + 4|0);
    107747         $829 = HEAP32[$828>>2]|0;
    107748         $830 = $829 & -2;
    107749         HEAP32[$828>>2] = $830;
    107750         $831 = $$0287$i$i | 1;
    107751         $832 = ((($721)) + 4|0);
    107752         HEAP32[$832>>2] = $831;
    107753         $833 = (($721) + ($$0287$i$i)|0);
    107754         HEAP32[$833>>2] = $$0287$i$i;
    107755         $834 = $$0287$i$i >>> 3;
    107756         $835 = ($$0287$i$i>>>0)<(256);
    107757         if ($835) {
    107758          $836 = $834 << 1;
    107759          $837 = (75308 + ($836<<2)|0);
    107760          $838 = HEAP32[18817]|0;
    107761          $839 = 1 << $834;
    107762          $840 = $838 & $839;
    107763          $841 = ($840|0)==(0);
    107764          do {
    107765           if ($841) {
    107766            $842 = $838 | $839;
    107767            HEAP32[18817] = $842;
    107768            $$pre$i19$i = ((($837)) + 8|0);
    107769            $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i;
    107770           } else {
    107771            $843 = ((($837)) + 8|0);
    107772            $844 = HEAP32[$843>>2]|0;
    107773            $845 = HEAP32[(75284)>>2]|0;
    107774            $846 = ($844>>>0)<($845>>>0);
    107775            if (!($846)) {
    107776             $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843;
    107777             break;
    107778            }
    107779            _abort();
    107780            // unreachable;
    107781           }
    107782          } while(0);
    107783          HEAP32[$$pre$phi$i20$iZ2D>>2] = $721;
    107784          $847 = ((($$0295$i$i)) + 12|0);
    107785          HEAP32[$847>>2] = $721;
    107786          $848 = ((($721)) + 8|0);
    107787          HEAP32[$848>>2] = $$0295$i$i;
    107788          $849 = ((($721)) + 12|0);
    107789          HEAP32[$849>>2] = $837;
    107790          break;
    107791         }
    107792         $850 = $$0287$i$i >>> 8;
    107793         $851 = ($850|0)==(0);
    107794         do {
    107795          if ($851) {
    107796           $$0296$i$i = 0;
    107797          } else {
    107798           $852 = ($$0287$i$i>>>0)>(16777215);
    107799           if ($852) {
    107800            $$0296$i$i = 31;
    107801            break;
    107802           }
    107803           $853 = (($850) + 1048320)|0;
    107804           $854 = $853 >>> 16;
    107805           $855 = $854 & 8;
    107806           $856 = $850 << $855;
    107807           $857 = (($856) + 520192)|0;
    107808           $858 = $857 >>> 16;
    107809           $859 = $858 & 4;
    107810           $860 = $859 | $855;
    107811           $861 = $856 << $859;
    107812           $862 = (($861) + 245760)|0;
    107813           $863 = $862 >>> 16;
    107814           $864 = $863 & 2;
    107815           $865 = $860 | $864;
    107816           $866 = (14 - ($865))|0;
    107817           $867 = $861 << $864;
    107818           $868 = $867 >>> 15;
    107819           $869 = (($866) + ($868))|0;
    107820           $870 = $869 << 1;
    107821           $871 = (($869) + 7)|0;
    107822           $872 = $$0287$i$i >>> $871;
    107823           $873 = $872 & 1;
    107824           $874 = $873 | $870;
    107825           $$0296$i$i = $874;
    107826          }
    107827         } while(0);
    107828         $875 = (75572 + ($$0296$i$i<<2)|0);
    107829         $876 = ((($721)) + 28|0);
    107830         HEAP32[$876>>2] = $$0296$i$i;
    107831         $877 = ((($721)) + 16|0);
    107832         $878 = ((($877)) + 4|0);
    107833         HEAP32[$878>>2] = 0;
    107834         HEAP32[$877>>2] = 0;
    107835         $879 = HEAP32[(75272)>>2]|0;
    107836         $880 = 1 << $$0296$i$i;
    107837         $881 = $879 & $880;
    107838         $882 = ($881|0)==(0);
    107839         if ($882) {
    107840          $883 = $879 | $880;
    107841          HEAP32[(75272)>>2] = $883;
    107842          HEAP32[$875>>2] = $721;
    107843          $884 = ((($721)) + 24|0);
    107844          HEAP32[$884>>2] = $875;
    107845          $885 = ((($721)) + 12|0);
    107846          HEAP32[$885>>2] = $721;
    107847          $886 = ((($721)) + 8|0);
    107848          HEAP32[$886>>2] = $721;
    107849          break;
    107850         }
    107851         $887 = HEAP32[$875>>2]|0;
    107852         $888 = ($$0296$i$i|0)==(31);
    107853         $889 = $$0296$i$i >>> 1;
    107854         $890 = (25 - ($889))|0;
    107855         $891 = $888 ? 0 : $890;
    107856         $892 = $$0287$i$i << $891;
    107857         $$0288$i$i = $892;$$0289$i$i = $887;
    107858         while(1) {
    107859          $893 = ((($$0289$i$i)) + 4|0);
    107860          $894 = HEAP32[$893>>2]|0;
    107861          $895 = $894 & -8;
    107862          $896 = ($895|0)==($$0287$i$i|0);
    107863          if ($896) {
    107864           label = 265;
    107865           break;
    107866          }
    107867          $897 = $$0288$i$i >>> 31;
    107868          $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0);
    107869          $899 = $$0288$i$i << 1;
    107870          $900 = HEAP32[$898>>2]|0;
    107871          $901 = ($900|0)==(0|0);
    107872          if ($901) {
    107873           label = 262;
    107874           break;
    107875          } else {
    107876           $$0288$i$i = $899;$$0289$i$i = $900;
    107877          }
    107878         }
    107879         if ((label|0) == 262) {
    107880          $902 = HEAP32[(75284)>>2]|0;
    107881          $903 = ($898>>>0)<($902>>>0);
    107882          if ($903) {
    107883           _abort();
    107884           // unreachable;
    107885          } else {
    107886           HEAP32[$898>>2] = $721;
    107887           $904 = ((($721)) + 24|0);
    107888           HEAP32[$904>>2] = $$0289$i$i;
    107889           $905 = ((($721)) + 12|0);
    107890           HEAP32[$905>>2] = $721;
    107891           $906 = ((($721)) + 8|0);
    107892           HEAP32[$906>>2] = $721;
    107893           break;
    107894          }
    107895         }
    107896         else if ((label|0) == 265) {
    107897          $907 = ((($$0289$i$i)) + 8|0);
    107898          $908 = HEAP32[$907>>2]|0;
    107899          $909 = HEAP32[(75284)>>2]|0;
    107900          $910 = ($908>>>0)>=($909>>>0);
    107901          $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0);
    107902          $911 = $910 & $not$7$i$i;
    107903          if ($911) {
    107904           $912 = ((($908)) + 12|0);
    107905           HEAP32[$912>>2] = $721;
    107906           HEAP32[$907>>2] = $721;
    107907           $913 = ((($721)) + 8|0);
    107908           HEAP32[$913>>2] = $908;
    107909           $914 = ((($721)) + 12|0);
    107910           HEAP32[$914>>2] = $$0289$i$i;
    107911           $915 = ((($721)) + 24|0);
    107912           HEAP32[$915>>2] = 0;
    107913           break;
    107914          } else {
    107915           _abort();
    107916           // unreachable;
    107917          }
    107918         }
    107919        }
    107920       } while(0);
    107921       $1047 = ((($709)) + 8|0);
    107922       $$0 = $1047;
    107923       STACKTOP = sp;return ($$0|0);
    107924      }
    107925     }
    107926     $$0$i$i$i = (75716);
    107927     while(1) {
    107928      $916 = HEAP32[$$0$i$i$i>>2]|0;
    107929      $917 = ($916>>>0)>($630>>>0);
    107930      if (!($917)) {
    107931       $918 = ((($$0$i$i$i)) + 4|0);
    107932       $919 = HEAP32[$918>>2]|0;
    107933       $920 = (($916) + ($919)|0);
    107934       $921 = ($920>>>0)>($630>>>0);
    107935       if ($921) {
    107936        break;
    107937       }
    107938      }
    107939      $922 = ((($$0$i$i$i)) + 8|0);
    107940      $923 = HEAP32[$922>>2]|0;
    107941      $$0$i$i$i = $923;
    107942     }
    107943     $924 = ((($920)) + -47|0);
    107944     $925 = ((($924)) + 8|0);
    107945     $926 = $925;
    107946     $927 = $926 & 7;
    107947     $928 = ($927|0)==(0);
    107948     $929 = (0 - ($926))|0;
    107949     $930 = $929 & 7;
    107950     $931 = $928 ? 0 : $930;
    107951     $932 = (($924) + ($931)|0);
    107952     $933 = ((($630)) + 16|0);
    107953     $934 = ($932>>>0)<($933>>>0);
    107954     $935 = $934 ? $630 : $932;
    107955     $936 = ((($935)) + 8|0);
    107956     $937 = ((($935)) + 24|0);
    107957     $938 = (($$723948$i) + -40)|0;
    107958     $939 = ((($$749$i)) + 8|0);
    107959     $940 = $939;
    107960     $941 = $940 & 7;
    107961     $942 = ($941|0)==(0);
    107962     $943 = (0 - ($940))|0;
    107963     $944 = $943 & 7;
    107964     $945 = $942 ? 0 : $944;
    107965     $946 = (($$749$i) + ($945)|0);
    107966     $947 = (($938) - ($945))|0;
    107967     HEAP32[(75292)>>2] = $946;
    107968     HEAP32[(75280)>>2] = $947;
    107969     $948 = $947 | 1;
    107970     $949 = ((($946)) + 4|0);
    107971     HEAP32[$949>>2] = $948;
    107972     $950 = (($946) + ($947)|0);
    107973     $951 = ((($950)) + 4|0);
    107974     HEAP32[$951>>2] = 40;
    107975     $952 = HEAP32[(75756)>>2]|0;
    107976     HEAP32[(75296)>>2] = $952;
    107977     $953 = ((($935)) + 4|0);
    107978     HEAP32[$953>>2] = 27;
    107979     ;HEAP32[$936>>2]=HEAP32[(75716)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(75716)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(75716)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(75716)+12>>2]|0;
    107980     HEAP32[(75716)>>2] = $$749$i;
    107981     HEAP32[(75720)>>2] = $$723948$i;
    107982     HEAP32[(75728)>>2] = 0;
    107983     HEAP32[(75724)>>2] = $936;
    107984     $955 = $937;
    107985     while(1) {
    107986      $954 = ((($955)) + 4|0);
    107987      HEAP32[$954>>2] = 7;
    107988      $956 = ((($955)) + 8|0);
    107989      $957 = ($956>>>0)<($920>>>0);
    107990      if ($957) {
    107991       $955 = $954;
    107992      } else {
    107993       break;
    107994      }
    107995     }
    107996     $958 = ($935|0)==($630|0);
    107997     if (!($958)) {
    107998      $959 = $935;
    107999      $960 = $630;
    108000      $961 = (($959) - ($960))|0;
    108001      $962 = HEAP32[$953>>2]|0;
    108002      $963 = $962 & -2;
    108003      HEAP32[$953>>2] = $963;
    108004      $964 = $961 | 1;
    108005      $965 = ((($630)) + 4|0);
    108006      HEAP32[$965>>2] = $964;
    108007      HEAP32[$935>>2] = $961;
    108008      $966 = $961 >>> 3;
    108009      $967 = ($961>>>0)<(256);
    108010      if ($967) {
    108011       $968 = $966 << 1;
    108012       $969 = (75308 + ($968<<2)|0);
    108013       $970 = HEAP32[18817]|0;
    108014       $971 = 1 << $966;
    108015       $972 = $970 & $971;
    108016       $973 = ($972|0)==(0);
    108017       if ($973) {
    108018        $974 = $970 | $971;
    108019        HEAP32[18817] = $974;
    108020        $$pre$i$i = ((($969)) + 8|0);
    108021        $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i;
    108022       } else {
    108023        $975 = ((($969)) + 8|0);
    108024        $976 = HEAP32[$975>>2]|0;
    108025        $977 = HEAP32[(75284)>>2]|0;
    108026        $978 = ($976>>>0)<($977>>>0);
    108027        if ($978) {
    108028         _abort();
    108029         // unreachable;
    108030        } else {
    108031         $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975;
    108032        }
    108033       }
    108034       HEAP32[$$pre$phi$i$iZ2D>>2] = $630;
    108035       $979 = ((($$0211$i$i)) + 12|0);
    108036       HEAP32[$979>>2] = $630;
    108037       $980 = ((($630)) + 8|0);
    108038       HEAP32[$980>>2] = $$0211$i$i;
    108039       $981 = ((($630)) + 12|0);
    108040       HEAP32[$981>>2] = $969;
    108041       break;
    108042      }
    108043      $982 = $961 >>> 8;
    108044      $983 = ($982|0)==(0);
    108045      if ($983) {
    108046       $$0212$i$i = 0;
    108047      } else {
    108048       $984 = ($961>>>0)>(16777215);
    108049       if ($984) {
    108050        $$0212$i$i = 31;
    108051       } else {
    108052        $985 = (($982) + 1048320)|0;
    108053        $986 = $985 >>> 16;
    108054        $987 = $986 & 8;
    108055        $988 = $982 << $987;
    108056        $989 = (($988) + 520192)|0;
    108057        $990 = $989 >>> 16;
    108058        $991 = $990 & 4;
    108059        $992 = $991 | $987;
    108060        $993 = $988 << $991;
    108061        $994 = (($993) + 245760)|0;
    108062        $995 = $994 >>> 16;
    108063        $996 = $995 & 2;
    108064        $997 = $992 | $996;
    108065        $998 = (14 - ($997))|0;
    108066        $999 = $993 << $996;
    108067        $1000 = $999 >>> 15;
    108068        $1001 = (($998) + ($1000))|0;
    108069        $1002 = $1001 << 1;
    108070        $1003 = (($1001) + 7)|0;
    108071        $1004 = $961 >>> $1003;
    108072        $1005 = $1004 & 1;
    108073        $1006 = $1005 | $1002;
    108074        $$0212$i$i = $1006;
    108075       }
    108076      }
    108077      $1007 = (75572 + ($$0212$i$i<<2)|0);
    108078      $1008 = ((($630)) + 28|0);
    108079      HEAP32[$1008>>2] = $$0212$i$i;
    108080      $1009 = ((($630)) + 20|0);
    108081      HEAP32[$1009>>2] = 0;
    108082      HEAP32[$933>>2] = 0;
    108083      $1010 = HEAP32[(75272)>>2]|0;
    108084      $1011 = 1 << $$0212$i$i;
    108085      $1012 = $1010 & $1011;
    108086      $1013 = ($1012|0)==(0);
    108087      if ($1013) {
    108088       $1014 = $1010 | $1011;
    108089       HEAP32[(75272)>>2] = $1014;
    108090       HEAP32[$1007>>2] = $630;
    108091       $1015 = ((($630)) + 24|0);
    108092       HEAP32[$1015>>2] = $1007;
    108093       $1016 = ((($630)) + 12|0);
    108094       HEAP32[$1016>>2] = $630;
    108095       $1017 = ((($630)) + 8|0);
    108096       HEAP32[$1017>>2] = $630;
    108097       break;
    108098      }
    108099      $1018 = HEAP32[$1007>>2]|0;
    108100      $1019 = ($$0212$i$i|0)==(31);
    108101      $1020 = $$0212$i$i >>> 1;
    108102      $1021 = (25 - ($1020))|0;
    108103      $1022 = $1019 ? 0 : $1021;
    108104      $1023 = $961 << $1022;
    108105      $$0206$i$i = $1023;$$0207$i$i = $1018;
    108106      while(1) {
    108107       $1024 = ((($$0207$i$i)) + 4|0);
    108108       $1025 = HEAP32[$1024>>2]|0;
    108109       $1026 = $1025 & -8;
    108110       $1027 = ($1026|0)==($961|0);
    108111       if ($1027) {
    108112        label = 292;
    108113        break;
    108114       }
    108115       $1028 = $$0206$i$i >>> 31;
    108116       $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0);
    108117       $1030 = $$0206$i$i << 1;
    108118       $1031 = HEAP32[$1029>>2]|0;
    108119       $1032 = ($1031|0)==(0|0);
    108120       if ($1032) {
    108121        label = 289;
    108122        break;
    108123       } else {
    108124        $$0206$i$i = $1030;$$0207$i$i = $1031;
    108125       }
    108126      }
    108127      if ((label|0) == 289) {
    108128       $1033 = HEAP32[(75284)>>2]|0;
    108129       $1034 = ($1029>>>0)<($1033>>>0);
    108130       if ($1034) {
    108131        _abort();
    108132        // unreachable;
    108133       } else {
    108134        HEAP32[$1029>>2] = $630;
    108135        $1035 = ((($630)) + 24|0);
    108136        HEAP32[$1035>>2] = $$0207$i$i;
    108137        $1036 = ((($630)) + 12|0);
    108138        HEAP32[$1036>>2] = $630;
    108139        $1037 = ((($630)) + 8|0);
    108140        HEAP32[$1037>>2] = $630;
    108141        break;
    108142       }
    108143      }
    108144      else if ((label|0) == 292) {
    108145       $1038 = ((($$0207$i$i)) + 8|0);
    108146       $1039 = HEAP32[$1038>>2]|0;
    108147       $1040 = HEAP32[(75284)>>2]|0;
    108148       $1041 = ($1039>>>0)>=($1040>>>0);
    108149       $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0);
    108150       $1042 = $1041 & $not$$i$i;
    108151       if ($1042) {
    108152        $1043 = ((($1039)) + 12|0);
    108153        HEAP32[$1043>>2] = $630;
    108154        HEAP32[$1038>>2] = $630;
    108155        $1044 = ((($630)) + 8|0);
    108156        HEAP32[$1044>>2] = $1039;
    108157        $1045 = ((($630)) + 12|0);
    108158        HEAP32[$1045>>2] = $$0207$i$i;
    108159        $1046 = ((($630)) + 24|0);
    108160        HEAP32[$1046>>2] = 0;
    108161        break;
    108162       } else {
    108163        _abort();
    108164        // unreachable;
    108165       }
    108166      }
    108167     }
    108168    }
    108169   } while(0);
    108170   $1048 = HEAP32[(75280)>>2]|0;
    108171   $1049 = ($1048>>>0)>($$0197>>>0);
    108172   if ($1049) {
    108173    $1050 = (($1048) - ($$0197))|0;
    108174    HEAP32[(75280)>>2] = $1050;
    108175    $1051 = HEAP32[(75292)>>2]|0;
    108176    $1052 = (($1051) + ($$0197)|0);
    108177    HEAP32[(75292)>>2] = $1052;
    108178    $1053 = $1050 | 1;
    108179    $1054 = ((($1052)) + 4|0);
    108180    HEAP32[$1054>>2] = $1053;
    108181    $1055 = $$0197 | 3;
    108182    $1056 = ((($1051)) + 4|0);
    108183    HEAP32[$1056>>2] = $1055;
    108184    $1057 = ((($1051)) + 8|0);
    108185    $$0 = $1057;
    108186    STACKTOP = sp;return ($$0|0);
    108187   }
    108188  }
    108189  $1058 = (___errno_location()|0);
    108190  HEAP32[$1058>>2] = 12;
    108191  $$0 = 0;
    108192  STACKTOP = sp;return ($$0|0);
    108193 }
    108194 function _free($0) {
    108195  $0 = $0|0;
    108196  var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0;
    108197  var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
    108198  var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
    108199  var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
    108200  var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
    108201  var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
    108202  var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
    108203  var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
    108204  var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
    108205  var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
    108206  var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0;
    108207  var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0;
    108208  var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0;
    108209  var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
    108210  var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
    108211  var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
    108212  var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
    108213  var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0;
    108214  sp = STACKTOP;
    108215  $1 = ($0|0)==(0|0);
    108216  if ($1) {
    108217   return;
    108218  }
    108219  $2 = ((($0)) + -8|0);
    108220  $3 = HEAP32[(75284)>>2]|0;
    108221  $4 = ($2>>>0)<($3>>>0);
    108222  if ($4) {
    108223   _abort();
    108224   // unreachable;
    108225  }
    108226  $5 = ((($0)) + -4|0);
    108227  $6 = HEAP32[$5>>2]|0;
    108228  $7 = $6 & 3;
    108229  $8 = ($7|0)==(1);
    108230  if ($8) {
    108231   _abort();
    108232   // unreachable;
    108233  }
    108234  $9 = $6 & -8;
    108235  $10 = (($2) + ($9)|0);
    108236  $11 = $6 & 1;
    108237  $12 = ($11|0)==(0);
    108238  L10: do {
    108239   if ($12) {
    108240    $13 = HEAP32[$2>>2]|0;
    108241    $14 = ($7|0)==(0);
    108242    if ($14) {
    108243     return;
    108244    }
    108245    $15 = (0 - ($13))|0;
    108246    $16 = (($2) + ($15)|0);
    108247    $17 = (($13) + ($9))|0;
    108248    $18 = ($16>>>0)<($3>>>0);
    108249    if ($18) {
    108250     _abort();
    108251     // unreachable;
    108252    }
    108253    $19 = HEAP32[(75288)>>2]|0;
    108254    $20 = ($16|0)==($19|0);
    108255    if ($20) {
    108256     $104 = ((($10)) + 4|0);
    108257     $105 = HEAP32[$104>>2]|0;
    108258     $106 = $105 & 3;
    108259     $107 = ($106|0)==(3);
    108260     if (!($107)) {
    108261      $$1 = $16;$$1382 = $17;$113 = $16;
    108262      break;
    108263     }
    108264     $108 = (($16) + ($17)|0);
    108265     $109 = ((($16)) + 4|0);
    108266     $110 = $17 | 1;
    108267     $111 = $105 & -2;
    108268     HEAP32[(75276)>>2] = $17;
    108269     HEAP32[$104>>2] = $111;
    108270     HEAP32[$109>>2] = $110;
    108271     HEAP32[$108>>2] = $17;
    108272     return;
    108273    }
    108274    $21 = $13 >>> 3;
    108275    $22 = ($13>>>0)<(256);
    108276    if ($22) {
    108277     $23 = ((($16)) + 8|0);
    108278     $24 = HEAP32[$23>>2]|0;
    108279     $25 = ((($16)) + 12|0);
    108280     $26 = HEAP32[$25>>2]|0;
    108281     $27 = $21 << 1;
    108282     $28 = (75308 + ($27<<2)|0);
    108283     $29 = ($24|0)==($28|0);
    108284     if (!($29)) {
    108285      $30 = ($24>>>0)<($3>>>0);
    108286      if ($30) {
    108287       _abort();
    108288       // unreachable;
    108289      }
    108290      $31 = ((($24)) + 12|0);
    108291      $32 = HEAP32[$31>>2]|0;
    108292      $33 = ($32|0)==($16|0);
    108293      if (!($33)) {
    108294       _abort();
    108295       // unreachable;
    108296      }
    108297     }
    108298     $34 = ($26|0)==($24|0);
    108299     if ($34) {
    108300      $35 = 1 << $21;
    108301      $36 = $35 ^ -1;
    108302      $37 = HEAP32[18817]|0;
    108303      $38 = $37 & $36;
    108304      HEAP32[18817] = $38;
    108305      $$1 = $16;$$1382 = $17;$113 = $16;
    108306      break;
    108307     }
    108308     $39 = ($26|0)==($28|0);
    108309     if ($39) {
    108310      $$pre444 = ((($26)) + 8|0);
    108311      $$pre$phi445Z2D = $$pre444;
    108312     } else {
    108313      $40 = ($26>>>0)<($3>>>0);
    108314      if ($40) {
    108315       _abort();
    108316       // unreachable;
    108317      }
    108318      $41 = ((($26)) + 8|0);
    108319      $42 = HEAP32[$41>>2]|0;
    108320      $43 = ($42|0)==($16|0);
    108321      if ($43) {
    108322       $$pre$phi445Z2D = $41;
    108323      } else {
    108324       _abort();
    108325       // unreachable;
    108326      }
    108327     }
    108328     $44 = ((($24)) + 12|0);
    108329     HEAP32[$44>>2] = $26;
    108330     HEAP32[$$pre$phi445Z2D>>2] = $24;
    108331     $$1 = $16;$$1382 = $17;$113 = $16;
    108332     break;
    108333    }
    108334    $45 = ((($16)) + 24|0);
    108335    $46 = HEAP32[$45>>2]|0;
    108336    $47 = ((($16)) + 12|0);
    108337    $48 = HEAP32[$47>>2]|0;
    108338    $49 = ($48|0)==($16|0);
    108339    do {
    108340     if ($49) {
    108341      $59 = ((($16)) + 16|0);
    108342      $60 = ((($59)) + 4|0);
    108343      $61 = HEAP32[$60>>2]|0;
    108344      $62 = ($61|0)==(0|0);
    108345      if ($62) {
    108346       $63 = HEAP32[$59>>2]|0;
    108347       $64 = ($63|0)==(0|0);
    108348       if ($64) {
    108349        $$3 = 0;
    108350        break;
    108351       } else {
    108352        $$1387 = $63;$$1390 = $59;
    108353       }
    108354      } else {
    108355       $$1387 = $61;$$1390 = $60;
    108356      }
    108357      while(1) {
    108358       $65 = ((($$1387)) + 20|0);
    108359       $66 = HEAP32[$65>>2]|0;
    108360       $67 = ($66|0)==(0|0);
    108361       if (!($67)) {
    108362        $$1387 = $66;$$1390 = $65;
    108363        continue;
    108364       }
    108365       $68 = ((($$1387)) + 16|0);
    108366       $69 = HEAP32[$68>>2]|0;
    108367       $70 = ($69|0)==(0|0);
    108368       if ($70) {
    108369        break;
    108370       } else {
    108371        $$1387 = $69;$$1390 = $68;
    108372       }
    108373      }
    108374      $71 = ($$1390>>>0)<($3>>>0);
    108375      if ($71) {
    108376       _abort();
    108377       // unreachable;
    108378      } else {
    108379       HEAP32[$$1390>>2] = 0;
    108380       $$3 = $$1387;
    108381       break;
    108382      }
    108383     } else {
    108384      $50 = ((($16)) + 8|0);
    108385      $51 = HEAP32[$50>>2]|0;
    108386      $52 = ($51>>>0)<($3>>>0);
    108387      if ($52) {
    108388       _abort();
    108389       // unreachable;
    108390      }
    108391      $53 = ((($51)) + 12|0);
    108392      $54 = HEAP32[$53>>2]|0;
    108393      $55 = ($54|0)==($16|0);
    108394      if (!($55)) {
    108395       _abort();
    108396       // unreachable;
    108397      }
    108398      $56 = ((($48)) + 8|0);
    108399      $57 = HEAP32[$56>>2]|0;
    108400      $58 = ($57|0)==($16|0);
    108401      if ($58) {
    108402       HEAP32[$53>>2] = $48;
    108403       HEAP32[$56>>2] = $51;
    108404       $$3 = $48;
    108405       break;
    108406      } else {
    108407       _abort();
    108408       // unreachable;
    108409      }
    108410     }
    108411    } while(0);
    108412    $72 = ($46|0)==(0|0);
    108413    if ($72) {
    108414     $$1 = $16;$$1382 = $17;$113 = $16;
    108415    } else {
    108416     $73 = ((($16)) + 28|0);
    108417     $74 = HEAP32[$73>>2]|0;
    108418     $75 = (75572 + ($74<<2)|0);
    108419     $76 = HEAP32[$75>>2]|0;
    108420     $77 = ($16|0)==($76|0);
    108421     do {
    108422      if ($77) {
    108423       HEAP32[$75>>2] = $$3;
    108424       $cond421 = ($$3|0)==(0|0);
    108425       if ($cond421) {
    108426        $78 = 1 << $74;
    108427        $79 = $78 ^ -1;
    108428        $80 = HEAP32[(75272)>>2]|0;
    108429        $81 = $80 & $79;
    108430        HEAP32[(75272)>>2] = $81;
    108431        $$1 = $16;$$1382 = $17;$113 = $16;
    108432        break L10;
    108433       }
    108434      } else {
    108435       $82 = HEAP32[(75284)>>2]|0;
    108436       $83 = ($46>>>0)<($82>>>0);
    108437       if ($83) {
    108438        _abort();
    108439        // unreachable;
    108440       } else {
    108441        $84 = ((($46)) + 16|0);
    108442        $85 = HEAP32[$84>>2]|0;
    108443        $not$405 = ($85|0)!=($16|0);
    108444        $$sink3 = $not$405&1;
    108445        $86 = (((($46)) + 16|0) + ($$sink3<<2)|0);
    108446        HEAP32[$86>>2] = $$3;
    108447        $87 = ($$3|0)==(0|0);
    108448        if ($87) {
    108449         $$1 = $16;$$1382 = $17;$113 = $16;
    108450         break L10;
    108451        } else {
    108452         break;
    108453        }
    108454       }
    108455      }
    108456     } while(0);
    108457     $88 = HEAP32[(75284)>>2]|0;
    108458     $89 = ($$3>>>0)<($88>>>0);
    108459     if ($89) {
    108460      _abort();
    108461      // unreachable;
    108462     }
    108463     $90 = ((($$3)) + 24|0);
    108464     HEAP32[$90>>2] = $46;
    108465     $91 = ((($16)) + 16|0);
    108466     $92 = HEAP32[$91>>2]|0;
    108467     $93 = ($92|0)==(0|0);
    108468     do {
    108469      if (!($93)) {
    108470       $94 = ($92>>>0)<($88>>>0);
    108471       if ($94) {
    108472        _abort();
    108473        // unreachable;
    108474       } else {
    108475        $95 = ((($$3)) + 16|0);
    108476        HEAP32[$95>>2] = $92;
    108477        $96 = ((($92)) + 24|0);
    108478        HEAP32[$96>>2] = $$3;
    108479        break;
    108480       }
    108481      }
    108482     } while(0);
    108483     $97 = ((($91)) + 4|0);
    108484     $98 = HEAP32[$97>>2]|0;
    108485     $99 = ($98|0)==(0|0);
    108486     if ($99) {
    108487      $$1 = $16;$$1382 = $17;$113 = $16;
    108488     } else {
    108489      $100 = HEAP32[(75284)>>2]|0;
    108490      $101 = ($98>>>0)<($100>>>0);
    108491      if ($101) {
    108492       _abort();
    108493       // unreachable;
    108494      } else {
    108495       $102 = ((($$3)) + 20|0);
    108496       HEAP32[$102>>2] = $98;
    108497       $103 = ((($98)) + 24|0);
    108498       HEAP32[$103>>2] = $$3;
    108499       $$1 = $16;$$1382 = $17;$113 = $16;
    108500       break;
    108501      }
    108502     }
    108503    }
    108504   } else {
    108505    $$1 = $2;$$1382 = $9;$113 = $2;
    108506   }
    108507  } while(0);
    108508  $112 = ($113>>>0)<($10>>>0);
    108509  if (!($112)) {
    108510   _abort();
    108511   // unreachable;
    108512  }
    108513  $114 = ((($10)) + 4|0);
    108514  $115 = HEAP32[$114>>2]|0;
    108515  $116 = $115 & 1;
    108516  $117 = ($116|0)==(0);
    108517  if ($117) {
    108518   _abort();
    108519   // unreachable;
    108520  }
    108521  $118 = $115 & 2;
    108522  $119 = ($118|0)==(0);
    108523  if ($119) {
    108524   $120 = HEAP32[(75292)>>2]|0;
    108525   $121 = ($10|0)==($120|0);
    108526   $122 = HEAP32[(75288)>>2]|0;
    108527   if ($121) {
    108528    $123 = HEAP32[(75280)>>2]|0;
    108529    $124 = (($123) + ($$1382))|0;
    108530    HEAP32[(75280)>>2] = $124;
    108531    HEAP32[(75292)>>2] = $$1;
    108532    $125 = $124 | 1;
    108533    $126 = ((($$1)) + 4|0);
    108534    HEAP32[$126>>2] = $125;
    108535    $127 = ($$1|0)==($122|0);
    108536    if (!($127)) {
    108537     return;
    108538    }
    108539    HEAP32[(75288)>>2] = 0;
    108540    HEAP32[(75276)>>2] = 0;
    108541    return;
    108542   }
    108543   $128 = ($10|0)==($122|0);
    108544   if ($128) {
    108545    $129 = HEAP32[(75276)>>2]|0;
    108546    $130 = (($129) + ($$1382))|0;
    108547    HEAP32[(75276)>>2] = $130;
    108548    HEAP32[(75288)>>2] = $113;
    108549    $131 = $130 | 1;
    108550    $132 = ((($$1)) + 4|0);
    108551    HEAP32[$132>>2] = $131;
    108552    $133 = (($113) + ($130)|0);
    108553    HEAP32[$133>>2] = $130;
    108554    return;
    108555   }
    108556   $134 = $115 & -8;
    108557   $135 = (($134) + ($$1382))|0;
    108558   $136 = $115 >>> 3;
    108559   $137 = ($115>>>0)<(256);
    108560   L108: do {
    108561    if ($137) {
    108562     $138 = ((($10)) + 8|0);
    108563     $139 = HEAP32[$138>>2]|0;
    108564     $140 = ((($10)) + 12|0);
    108565     $141 = HEAP32[$140>>2]|0;
    108566     $142 = $136 << 1;
    108567     $143 = (75308 + ($142<<2)|0);
    108568     $144 = ($139|0)==($143|0);
    108569     if (!($144)) {
    108570      $145 = HEAP32[(75284)>>2]|0;
    108571      $146 = ($139>>>0)<($145>>>0);
    108572      if ($146) {
    108573       _abort();
    108574       // unreachable;
    108575      }
    108576      $147 = ((($139)) + 12|0);
    108577      $148 = HEAP32[$147>>2]|0;
    108578      $149 = ($148|0)==($10|0);
    108579      if (!($149)) {
    108580       _abort();
    108581       // unreachable;
    108582      }
    108583     }
    108584     $150 = ($141|0)==($139|0);
    108585     if ($150) {
    108586      $151 = 1 << $136;
    108587      $152 = $151 ^ -1;
    108588      $153 = HEAP32[18817]|0;
    108589      $154 = $153 & $152;
    108590      HEAP32[18817] = $154;
    108591      break;
    108592     }
    108593     $155 = ($141|0)==($143|0);
    108594     if ($155) {
    108595      $$pre442 = ((($141)) + 8|0);
    108596      $$pre$phi443Z2D = $$pre442;
    108597     } else {
    108598      $156 = HEAP32[(75284)>>2]|0;
    108599      $157 = ($141>>>0)<($156>>>0);
    108600      if ($157) {
    108601       _abort();
    108602       // unreachable;
    108603      }
    108604      $158 = ((($141)) + 8|0);
    108605      $159 = HEAP32[$158>>2]|0;
    108606      $160 = ($159|0)==($10|0);
    108607      if ($160) {
    108608       $$pre$phi443Z2D = $158;
    108609      } else {
    108610       _abort();
    108611       // unreachable;
    108612      }
    108613     }
    108614     $161 = ((($139)) + 12|0);
    108615     HEAP32[$161>>2] = $141;
    108616     HEAP32[$$pre$phi443Z2D>>2] = $139;
    108617    } else {
    108618     $162 = ((($10)) + 24|0);
    108619     $163 = HEAP32[$162>>2]|0;
    108620     $164 = ((($10)) + 12|0);
    108621     $165 = HEAP32[$164>>2]|0;
    108622     $166 = ($165|0)==($10|0);
    108623     do {
    108624      if ($166) {
    108625       $177 = ((($10)) + 16|0);
    108626       $178 = ((($177)) + 4|0);
    108627       $179 = HEAP32[$178>>2]|0;
    108628       $180 = ($179|0)==(0|0);
    108629       if ($180) {
    108630        $181 = HEAP32[$177>>2]|0;
    108631        $182 = ($181|0)==(0|0);
    108632        if ($182) {
    108633         $$3400 = 0;
    108634         break;
    108635        } else {
    108636         $$1398 = $181;$$1402 = $177;
    108637        }
    108638       } else {
    108639        $$1398 = $179;$$1402 = $178;
    108640       }
    108641       while(1) {
    108642        $183 = ((($$1398)) + 20|0);
    108643        $184 = HEAP32[$183>>2]|0;
    108644        $185 = ($184|0)==(0|0);
    108645        if (!($185)) {
    108646         $$1398 = $184;$$1402 = $183;
    108647         continue;
    108648        }
    108649        $186 = ((($$1398)) + 16|0);
    108650        $187 = HEAP32[$186>>2]|0;
    108651        $188 = ($187|0)==(0|0);
    108652        if ($188) {
    108653         break;
    108654        } else {
    108655         $$1398 = $187;$$1402 = $186;
    108656        }
    108657       }
    108658       $189 = HEAP32[(75284)>>2]|0;
    108659       $190 = ($$1402>>>0)<($189>>>0);
    108660       if ($190) {
    108661        _abort();
    108662        // unreachable;
    108663       } else {
    108664        HEAP32[$$1402>>2] = 0;
    108665        $$3400 = $$1398;
    108666        break;
    108667       }
    108668      } else {
    108669       $167 = ((($10)) + 8|0);
    108670       $168 = HEAP32[$167>>2]|0;
    108671       $169 = HEAP32[(75284)>>2]|0;
    108672       $170 = ($168>>>0)<($169>>>0);
    108673       if ($170) {
    108674        _abort();
    108675        // unreachable;
    108676       }
    108677       $171 = ((($168)) + 12|0);
    108678       $172 = HEAP32[$171>>2]|0;
    108679       $173 = ($172|0)==($10|0);
    108680       if (!($173)) {
    108681        _abort();
    108682        // unreachable;
    108683       }
    108684       $174 = ((($165)) + 8|0);
    108685       $175 = HEAP32[$174>>2]|0;
    108686       $176 = ($175|0)==($10|0);
    108687       if ($176) {
    108688        HEAP32[$171>>2] = $165;
    108689        HEAP32[$174>>2] = $168;
    108690        $$3400 = $165;
    108691        break;
    108692       } else {
    108693        _abort();
    108694        // unreachable;
    108695       }
    108696      }
    108697     } while(0);
    108698     $191 = ($163|0)==(0|0);
    108699     if (!($191)) {
    108700      $192 = ((($10)) + 28|0);
    108701      $193 = HEAP32[$192>>2]|0;
    108702      $194 = (75572 + ($193<<2)|0);
    108703      $195 = HEAP32[$194>>2]|0;
    108704      $196 = ($10|0)==($195|0);
    108705      do {
    108706       if ($196) {
    108707        HEAP32[$194>>2] = $$3400;
    108708        $cond422 = ($$3400|0)==(0|0);
    108709        if ($cond422) {
    108710         $197 = 1 << $193;
    108711         $198 = $197 ^ -1;
    108712         $199 = HEAP32[(75272)>>2]|0;
    108713         $200 = $199 & $198;
    108714         HEAP32[(75272)>>2] = $200;
    108715         break L108;
    108716        }
    108717       } else {
    108718        $201 = HEAP32[(75284)>>2]|0;
    108719        $202 = ($163>>>0)<($201>>>0);
    108720        if ($202) {
    108721         _abort();
    108722         // unreachable;
    108723        } else {
    108724         $203 = ((($163)) + 16|0);
    108725         $204 = HEAP32[$203>>2]|0;
    108726         $not$ = ($204|0)!=($10|0);
    108727         $$sink5 = $not$&1;
    108728         $205 = (((($163)) + 16|0) + ($$sink5<<2)|0);
    108729         HEAP32[$205>>2] = $$3400;
    108730         $206 = ($$3400|0)==(0|0);
    108731         if ($206) {
    108732          break L108;
    108733         } else {
    108734          break;
    108735         }
    108736        }
    108737       }
    108738      } while(0);
    108739      $207 = HEAP32[(75284)>>2]|0;
    108740      $208 = ($$3400>>>0)<($207>>>0);
    108741      if ($208) {
    108742       _abort();
    108743       // unreachable;
    108744      }
    108745      $209 = ((($$3400)) + 24|0);
    108746      HEAP32[$209>>2] = $163;
    108747      $210 = ((($10)) + 16|0);
    108748      $211 = HEAP32[$210>>2]|0;
    108749      $212 = ($211|0)==(0|0);
    108750      do {
    108751       if (!($212)) {
    108752        $213 = ($211>>>0)<($207>>>0);
    108753        if ($213) {
    108754         _abort();
    108755         // unreachable;
    108756        } else {
    108757         $214 = ((($$3400)) + 16|0);
    108758         HEAP32[$214>>2] = $211;
    108759         $215 = ((($211)) + 24|0);
    108760         HEAP32[$215>>2] = $$3400;
    108761         break;
    108762        }
    108763       }
    108764      } while(0);
    108765      $216 = ((($210)) + 4|0);
    108766      $217 = HEAP32[$216>>2]|0;
    108767      $218 = ($217|0)==(0|0);
    108768      if (!($218)) {
    108769       $219 = HEAP32[(75284)>>2]|0;
    108770       $220 = ($217>>>0)<($219>>>0);
    108771       if ($220) {
    108772        _abort();
    108773        // unreachable;
    108774       } else {
    108775        $221 = ((($$3400)) + 20|0);
    108776        HEAP32[$221>>2] = $217;
    108777        $222 = ((($217)) + 24|0);
    108778        HEAP32[$222>>2] = $$3400;
    108779        break;
    108780       }
    108781      }
    108782     }
    108783    }
    108784   } while(0);
    108785   $223 = $135 | 1;
    108786   $224 = ((($$1)) + 4|0);
    108787   HEAP32[$224>>2] = $223;
    108788   $225 = (($113) + ($135)|0);
    108789   HEAP32[$225>>2] = $135;
    108790   $226 = HEAP32[(75288)>>2]|0;
    108791   $227 = ($$1|0)==($226|0);
    108792   if ($227) {
    108793    HEAP32[(75276)>>2] = $135;
    108794    return;
    108795   } else {
    108796    $$2 = $135;
    108797   }
    108798  } else {
    108799   $228 = $115 & -2;
    108800   HEAP32[$114>>2] = $228;
    108801   $229 = $$1382 | 1;
    108802   $230 = ((($$1)) + 4|0);
    108803   HEAP32[$230>>2] = $229;
    108804   $231 = (($113) + ($$1382)|0);
    108805   HEAP32[$231>>2] = $$1382;
    108806   $$2 = $$1382;
    108807  }
    108808  $232 = $$2 >>> 3;
    108809  $233 = ($$2>>>0)<(256);
    108810  if ($233) {
    108811   $234 = $232 << 1;
    108812   $235 = (75308 + ($234<<2)|0);
    108813   $236 = HEAP32[18817]|0;
    108814   $237 = 1 << $232;
    108815   $238 = $236 & $237;
    108816   $239 = ($238|0)==(0);
    108817   if ($239) {
    108818    $240 = $236 | $237;
    108819    HEAP32[18817] = $240;
    108820    $$pre = ((($235)) + 8|0);
    108821    $$0403 = $235;$$pre$phiZ2D = $$pre;
    108822   } else {
    108823    $241 = ((($235)) + 8|0);
    108824    $242 = HEAP32[$241>>2]|0;
    108825    $243 = HEAP32[(75284)>>2]|0;
    108826    $244 = ($242>>>0)<($243>>>0);
    108827    if ($244) {
    108828     _abort();
    108829     // unreachable;
    108830    } else {
    108831     $$0403 = $242;$$pre$phiZ2D = $241;
    108832    }
    108833   }
    108834   HEAP32[$$pre$phiZ2D>>2] = $$1;
    108835   $245 = ((($$0403)) + 12|0);
    108836   HEAP32[$245>>2] = $$1;
    108837   $246 = ((($$1)) + 8|0);
    108838   HEAP32[$246>>2] = $$0403;
    108839   $247 = ((($$1)) + 12|0);
    108840   HEAP32[$247>>2] = $235;
    108841   return;
    108842  }
    108843  $248 = $$2 >>> 8;
    108844  $249 = ($248|0)==(0);
    108845  if ($249) {
    108846   $$0396 = 0;
    108847  } else {
    108848   $250 = ($$2>>>0)>(16777215);
    108849   if ($250) {
    108850    $$0396 = 31;
    108851   } else {
    108852    $251 = (($248) + 1048320)|0;
    108853    $252 = $251 >>> 16;
    108854    $253 = $252 & 8;
    108855    $254 = $248 << $253;
    108856    $255 = (($254) + 520192)|0;
    108857    $256 = $255 >>> 16;
    108858    $257 = $256 & 4;
    108859    $258 = $257 | $253;
    108860    $259 = $254 << $257;
    108861    $260 = (($259) + 245760)|0;
    108862    $261 = $260 >>> 16;
    108863    $262 = $261 & 2;
    108864    $263 = $258 | $262;
    108865    $264 = (14 - ($263))|0;
    108866    $265 = $259 << $262;
    108867    $266 = $265 >>> 15;
    108868    $267 = (($264) + ($266))|0;
    108869    $268 = $267 << 1;
    108870    $269 = (($267) + 7)|0;
    108871    $270 = $$2 >>> $269;
    108872    $271 = $270 & 1;
    108873    $272 = $271 | $268;
    108874    $$0396 = $272;
    108875   }
    108876  }
    108877  $273 = (75572 + ($$0396<<2)|0);
    108878  $274 = ((($$1)) + 28|0);
    108879  HEAP32[$274>>2] = $$0396;
    108880  $275 = ((($$1)) + 16|0);
    108881  $276 = ((($$1)) + 20|0);
    108882  HEAP32[$276>>2] = 0;
    108883  HEAP32[$275>>2] = 0;
    108884  $277 = HEAP32[(75272)>>2]|0;
    108885  $278 = 1 << $$0396;
    108886  $279 = $277 & $278;
    108887  $280 = ($279|0)==(0);
    108888  do {
    108889   if ($280) {
    108890    $281 = $277 | $278;
    108891    HEAP32[(75272)>>2] = $281;
    108892    HEAP32[$273>>2] = $$1;
    108893    $282 = ((($$1)) + 24|0);
    108894    HEAP32[$282>>2] = $273;
    108895    $283 = ((($$1)) + 12|0);
    108896    HEAP32[$283>>2] = $$1;
    108897    $284 = ((($$1)) + 8|0);
    108898    HEAP32[$284>>2] = $$1;
    108899   } else {
    108900    $285 = HEAP32[$273>>2]|0;
    108901    $286 = ($$0396|0)==(31);
    108902    $287 = $$0396 >>> 1;
    108903    $288 = (25 - ($287))|0;
    108904    $289 = $286 ? 0 : $288;
    108905    $290 = $$2 << $289;
    108906    $$0383 = $290;$$0384 = $285;
    108907    while(1) {
    108908     $291 = ((($$0384)) + 4|0);
    108909     $292 = HEAP32[$291>>2]|0;
    108910     $293 = $292 & -8;
    108911     $294 = ($293|0)==($$2|0);
    108912     if ($294) {
    108913      label = 124;
    108914      break;
    108915     }
    108916     $295 = $$0383 >>> 31;
    108917     $296 = (((($$0384)) + 16|0) + ($295<<2)|0);
    108918     $297 = $$0383 << 1;
    108919     $298 = HEAP32[$296>>2]|0;
    108920     $299 = ($298|0)==(0|0);
    108921     if ($299) {
    108922      label = 121;
    108923      break;
    108924     } else {
    108925      $$0383 = $297;$$0384 = $298;
    108926     }
    108927    }
    108928    if ((label|0) == 121) {
    108929     $300 = HEAP32[(75284)>>2]|0;
    108930     $301 = ($296>>>0)<($300>>>0);
    108931     if ($301) {
    108932      _abort();
    108933      // unreachable;
    108934     } else {
    108935      HEAP32[$296>>2] = $$1;
    108936      $302 = ((($$1)) + 24|0);
    108937      HEAP32[$302>>2] = $$0384;
    108938      $303 = ((($$1)) + 12|0);
    108939      HEAP32[$303>>2] = $$1;
    108940      $304 = ((($$1)) + 8|0);
    108941      HEAP32[$304>>2] = $$1;
    108942      break;
    108943     }
    108944    }
    108945    else if ((label|0) == 124) {
    108946     $305 = ((($$0384)) + 8|0);
    108947     $306 = HEAP32[$305>>2]|0;
    108948     $307 = HEAP32[(75284)>>2]|0;
    108949     $308 = ($306>>>0)>=($307>>>0);
    108950     $not$437 = ($$0384>>>0)>=($307>>>0);
    108951     $309 = $308 & $not$437;
    108952     if ($309) {
    108953      $310 = ((($306)) + 12|0);
    108954      HEAP32[$310>>2] = $$1;
    108955      HEAP32[$305>>2] = $$1;
    108956      $311 = ((($$1)) + 8|0);
    108957      HEAP32[$311>>2] = $306;
    108958      $312 = ((($$1)) + 12|0);
    108959      HEAP32[$312>>2] = $$0384;
    108960      $313 = ((($$1)) + 24|0);
    108961      HEAP32[$313>>2] = 0;
    108962      break;
    108963     } else {
    108964      _abort();
    108965      // unreachable;
    108966     }
    108967    }
    108968   }
    108969  } while(0);
    108970  $314 = HEAP32[(75300)>>2]|0;
    108971  $315 = (($314) + -1)|0;
    108972  HEAP32[(75300)>>2] = $315;
    108973  $316 = ($315|0)==(0);
    108974  if ($316) {
    108975   $$0212$in$i = (75724);
    108976  } else {
    108977   return;
    108978  }
    108979  while(1) {
    108980   $$0212$i = HEAP32[$$0212$in$i>>2]|0;
    108981   $317 = ($$0212$i|0)==(0|0);
    108982   $318 = ((($$0212$i)) + 8|0);
    108983   if ($317) {
    108984    break;
    108985   } else {
    108986    $$0212$in$i = $318;
    108987   }
    108988  }
    108989  HEAP32[(75300)>>2] = -1;
    108990  return;
    108991 }
    108992 function _realloc($0,$1) {
    108993  $0 = $0|0;
    108994  $1 = $1|0;
    108995  var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
    108996  var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
    108997  sp = STACKTOP;
    108998  $2 = ($0|0)==(0|0);
    108999  if ($2) {
    109000   $3 = (_malloc($1)|0);
    109001   $$1 = $3;
    109002   return ($$1|0);
    109003  }
    109004  $4 = ($1>>>0)>(4294967231);
    109005  if ($4) {
    109006   $5 = (___errno_location()|0);
    109007   HEAP32[$5>>2] = 12;
    109008   $$1 = 0;
    109009   return ($$1|0);
    109010  }
    109011  $6 = ($1>>>0)<(11);
    109012  $7 = (($1) + 11)|0;
    109013  $8 = $7 & -8;
    109014  $9 = $6 ? 16 : $8;
    109015  $10 = ((($0)) + -8|0);
    109016  $11 = (_try_realloc_chunk($10,$9)|0);
    109017  $12 = ($11|0)==(0|0);
    109018  if (!($12)) {
    109019   $13 = ((($11)) + 8|0);
    109020   $$1 = $13;
    109021   return ($$1|0);
    109022  }
    109023  $14 = (_malloc($1)|0);
    109024  $15 = ($14|0)==(0|0);
    109025  if ($15) {
    109026   $$1 = 0;
    109027   return ($$1|0);
    109028  }
    109029  $16 = ((($0)) + -4|0);
    109030  $17 = HEAP32[$16>>2]|0;
    109031  $18 = $17 & -8;
    109032  $19 = $17 & 3;
    109033  $20 = ($19|0)==(0);
    109034  $21 = $20 ? 8 : 4;
    109035  $22 = (($18) - ($21))|0;
    109036  $23 = ($22>>>0)<($1>>>0);
    109037  $24 = $23 ? $22 : $1;
    109038  _memcpy(($14|0),($0|0),($24|0))|0;
    109039  _free($0);
    109040  $$1 = $14;
    109041  return ($$1|0);
    109042 }
    109043 function _try_realloc_chunk($0,$1) {
    109044  $0 = $0|0;
    109045  $1 = $1|0;
    109046  var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
    109047  var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
    109048  var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
    109049  var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
    109050  var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
    109051  var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
    109052  var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
    109053  var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
    109054  var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
    109055  var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0;
    109056  sp = STACKTOP;
    109057  $2 = ((($0)) + 4|0);
    109058  $3 = HEAP32[$2>>2]|0;
    109059  $4 = $3 & -8;
    109060  $5 = (($0) + ($4)|0);
    109061  $6 = HEAP32[(75284)>>2]|0;
    109062  $7 = $3 & 3;
    109063  $notlhs = ($0>>>0)>=($6>>>0);
    109064  $notrhs = ($7|0)!=(1);
    109065  $or$cond$not = $notrhs & $notlhs;
    109066  $8 = ($0>>>0)<($5>>>0);
    109067  $or$cond3 = $or$cond$not & $8;
    109068  if (!($or$cond3)) {
    109069   _abort();
    109070   // unreachable;
    109071  }
    109072  $9 = ((($5)) + 4|0);
    109073  $10 = HEAP32[$9>>2]|0;
    109074  $11 = $10 & 1;
    109075  $12 = ($11|0)==(0);
    109076  if ($12) {
    109077   _abort();
    109078   // unreachable;
    109079  }
    109080  $13 = ($7|0)==(0);
    109081  if ($13) {
    109082   $14 = ($1>>>0)<(256);
    109083   if ($14) {
    109084    $$2 = 0;
    109085    return ($$2|0);
    109086   }
    109087   $15 = (($1) + 4)|0;
    109088   $16 = ($4>>>0)<($15>>>0);
    109089   if (!($16)) {
    109090    $17 = (($4) - ($1))|0;
    109091    $18 = HEAP32[(75748)>>2]|0;
    109092    $19 = $18 << 1;
    109093    $20 = ($17>>>0)>($19>>>0);
    109094    if (!($20)) {
    109095     $$2 = $0;
    109096     return ($$2|0);
    109097    }
    109098   }
    109099   $$2 = 0;
    109100   return ($$2|0);
    109101  }
    109102  $21 = ($4>>>0)<($1>>>0);
    109103  if (!($21)) {
    109104   $22 = (($4) - ($1))|0;
    109105   $23 = ($22>>>0)>(15);
    109106   if (!($23)) {
    109107    $$2 = $0;
    109108    return ($$2|0);
    109109   }
    109110   $24 = (($0) + ($1)|0);
    109111   $25 = $3 & 1;
    109112   $26 = $25 | $1;
    109113   $27 = $26 | 2;
    109114   HEAP32[$2>>2] = $27;
    109115   $28 = ((($24)) + 4|0);
    109116   $29 = $22 | 3;
    109117   HEAP32[$28>>2] = $29;
    109118   $30 = (($24) + ($22)|0);
    109119   $31 = ((($30)) + 4|0);
    109120   $32 = HEAP32[$31>>2]|0;
    109121   $33 = $32 | 1;
    109122   HEAP32[$31>>2] = $33;
    109123   _dispose_chunk($24,$22);
    109124   $$2 = $0;
    109125   return ($$2|0);
    109126  }
    109127  $34 = HEAP32[(75292)>>2]|0;
    109128  $35 = ($5|0)==($34|0);
    109129  if ($35) {
    109130   $36 = HEAP32[(75280)>>2]|0;
    109131   $37 = (($36) + ($4))|0;
    109132   $38 = ($37>>>0)>($1>>>0);
    109133   $39 = (($37) - ($1))|0;
    109134   $40 = (($0) + ($1)|0);
    109135   if (!($38)) {
    109136    $$2 = 0;
    109137    return ($$2|0);
    109138   }
    109139   $41 = $39 | 1;
    109140   $42 = ((($40)) + 4|0);
    109141   $43 = $3 & 1;
    109142   $44 = $43 | $1;
    109143   $45 = $44 | 2;
    109144   HEAP32[$2>>2] = $45;
    109145   HEAP32[$42>>2] = $41;
    109146   HEAP32[(75292)>>2] = $40;
    109147   HEAP32[(75280)>>2] = $39;
    109148   $$2 = $0;
    109149   return ($$2|0);
    109150  }
    109151  $46 = HEAP32[(75288)>>2]|0;
    109152  $47 = ($5|0)==($46|0);
    109153  if ($47) {
    109154   $48 = HEAP32[(75276)>>2]|0;
    109155   $49 = (($48) + ($4))|0;
    109156   $50 = ($49>>>0)<($1>>>0);
    109157   if ($50) {
    109158    $$2 = 0;
    109159    return ($$2|0);
    109160   }
    109161   $51 = (($49) - ($1))|0;
    109162   $52 = ($51>>>0)>(15);
    109163   $53 = $3 & 1;
    109164   if ($52) {
    109165    $54 = (($0) + ($1)|0);
    109166    $55 = (($54) + ($51)|0);
    109167    $56 = $53 | $1;
    109168    $57 = $56 | 2;
    109169    HEAP32[$2>>2] = $57;
    109170    $58 = ((($54)) + 4|0);
    109171    $59 = $51 | 1;
    109172    HEAP32[$58>>2] = $59;
    109173    HEAP32[$55>>2] = $51;
    109174    $60 = ((($55)) + 4|0);
    109175    $61 = HEAP32[$60>>2]|0;
    109176    $62 = $61 & -2;
    109177    HEAP32[$60>>2] = $62;
    109178    $storemerge = $54;$storemerge1 = $51;
    109179   } else {
    109180    $63 = $53 | $49;
    109181    $64 = $63 | 2;
    109182    HEAP32[$2>>2] = $64;
    109183    $65 = (($0) + ($49)|0);
    109184    $66 = ((($65)) + 4|0);
    109185    $67 = HEAP32[$66>>2]|0;
    109186    $68 = $67 | 1;
    109187    HEAP32[$66>>2] = $68;
    109188    $storemerge = 0;$storemerge1 = 0;
    109189   }
    109190   HEAP32[(75276)>>2] = $storemerge1;
    109191   HEAP32[(75288)>>2] = $storemerge;
    109192   $$2 = $0;
    109193   return ($$2|0);
    109194  }
    109195  $69 = $10 & 2;
    109196  $70 = ($69|0)==(0);
    109197  if (!($70)) {
    109198   $$2 = 0;
    109199   return ($$2|0);
    109200  }
    109201  $71 = $10 & -8;
    109202  $72 = (($71) + ($4))|0;
    109203  $73 = ($72>>>0)<($1>>>0);
    109204  if ($73) {
    109205   $$2 = 0;
    109206   return ($$2|0);
    109207  }
    109208  $74 = (($72) - ($1))|0;
    109209  $75 = $10 >>> 3;
    109210  $76 = ($10>>>0)<(256);
    109211  L49: do {
    109212   if ($76) {
    109213    $77 = ((($5)) + 8|0);
    109214    $78 = HEAP32[$77>>2]|0;
    109215    $79 = ((($5)) + 12|0);
    109216    $80 = HEAP32[$79>>2]|0;
    109217    $81 = $75 << 1;
    109218    $82 = (75308 + ($81<<2)|0);
    109219    $83 = ($78|0)==($82|0);
    109220    if (!($83)) {
    109221     $84 = ($78>>>0)<($6>>>0);
    109222     if ($84) {
    109223      _abort();
    109224      // unreachable;
    109225     }
    109226     $85 = ((($78)) + 12|0);
    109227     $86 = HEAP32[$85>>2]|0;
    109228     $87 = ($86|0)==($5|0);
    109229     if (!($87)) {
    109230      _abort();
    109231      // unreachable;
    109232     }
    109233    }
    109234    $88 = ($80|0)==($78|0);
    109235    if ($88) {
    109236     $89 = 1 << $75;
    109237     $90 = $89 ^ -1;
    109238     $91 = HEAP32[18817]|0;
    109239     $92 = $91 & $90;
    109240     HEAP32[18817] = $92;
    109241     break;
    109242    }
    109243    $93 = ($80|0)==($82|0);
    109244    if ($93) {
    109245     $$pre = ((($80)) + 8|0);
    109246     $$pre$phiZ2D = $$pre;
    109247    } else {
    109248     $94 = ($80>>>0)<($6>>>0);
    109249     if ($94) {
    109250      _abort();
    109251      // unreachable;
    109252     }
    109253     $95 = ((($80)) + 8|0);
    109254     $96 = HEAP32[$95>>2]|0;
    109255     $97 = ($96|0)==($5|0);
    109256     if ($97) {
    109257      $$pre$phiZ2D = $95;
    109258     } else {
    109259      _abort();
    109260      // unreachable;
    109261     }
    109262    }
    109263    $98 = ((($78)) + 12|0);
    109264    HEAP32[$98>>2] = $80;
    109265    HEAP32[$$pre$phiZ2D>>2] = $78;
    109266   } else {
    109267    $99 = ((($5)) + 24|0);
    109268    $100 = HEAP32[$99>>2]|0;
    109269    $101 = ((($5)) + 12|0);
    109270    $102 = HEAP32[$101>>2]|0;
    109271    $103 = ($102|0)==($5|0);
    109272    do {
    109273     if ($103) {
    109274      $113 = ((($5)) + 16|0);
    109275      $114 = ((($113)) + 4|0);
    109276      $115 = HEAP32[$114>>2]|0;
    109277      $116 = ($115|0)==(0|0);
    109278      if ($116) {
    109279       $117 = HEAP32[$113>>2]|0;
    109280       $118 = ($117|0)==(0|0);
    109281       if ($118) {
    109282        $$3 = 0;
    109283        break;
    109284       } else {
    109285        $$1272 = $117;$$1275 = $113;
    109286       }
    109287      } else {
    109288       $$1272 = $115;$$1275 = $114;
    109289      }
    109290      while(1) {
    109291       $119 = ((($$1272)) + 20|0);
    109292       $120 = HEAP32[$119>>2]|0;
    109293       $121 = ($120|0)==(0|0);
    109294       if (!($121)) {
    109295        $$1272 = $120;$$1275 = $119;
    109296        continue;
    109297       }
    109298       $122 = ((($$1272)) + 16|0);
    109299       $123 = HEAP32[$122>>2]|0;
    109300       $124 = ($123|0)==(0|0);
    109301       if ($124) {
    109302        break;
    109303       } else {
    109304        $$1272 = $123;$$1275 = $122;
    109305       }
    109306      }
    109307      $125 = ($$1275>>>0)<($6>>>0);
    109308      if ($125) {
    109309       _abort();
    109310       // unreachable;
    109311      } else {
    109312       HEAP32[$$1275>>2] = 0;
    109313       $$3 = $$1272;
    109314       break;
    109315      }
    109316     } else {
    109317      $104 = ((($5)) + 8|0);
    109318      $105 = HEAP32[$104>>2]|0;
    109319      $106 = ($105>>>0)<($6>>>0);
    109320      if ($106) {
    109321       _abort();
    109322       // unreachable;
    109323      }
    109324      $107 = ((($105)) + 12|0);
    109325      $108 = HEAP32[$107>>2]|0;
    109326      $109 = ($108|0)==($5|0);
    109327      if (!($109)) {
    109328       _abort();
    109329       // unreachable;
    109330      }
    109331      $110 = ((($102)) + 8|0);
    109332      $111 = HEAP32[$110>>2]|0;
    109333      $112 = ($111|0)==($5|0);
    109334      if ($112) {
    109335       HEAP32[$107>>2] = $102;
    109336       HEAP32[$110>>2] = $105;
    109337       $$3 = $102;
    109338       break;
    109339      } else {
    109340       _abort();
    109341       // unreachable;
    109342      }
    109343     }
    109344    } while(0);
    109345    $126 = ($100|0)==(0|0);
    109346    if (!($126)) {
    109347     $127 = ((($5)) + 28|0);
    109348     $128 = HEAP32[$127>>2]|0;
    109349     $129 = (75572 + ($128<<2)|0);
    109350     $130 = HEAP32[$129>>2]|0;
    109351     $131 = ($5|0)==($130|0);
    109352     do {
    109353      if ($131) {
    109354       HEAP32[$129>>2] = $$3;
    109355       $cond = ($$3|0)==(0|0);
    109356       if ($cond) {
    109357        $132 = 1 << $128;
    109358        $133 = $132 ^ -1;
    109359        $134 = HEAP32[(75272)>>2]|0;
    109360        $135 = $134 & $133;
    109361        HEAP32[(75272)>>2] = $135;
    109362        break L49;
    109363       }
    109364      } else {
    109365       $136 = HEAP32[(75284)>>2]|0;
    109366       $137 = ($100>>>0)<($136>>>0);
    109367       if ($137) {
    109368        _abort();
    109369        // unreachable;
    109370       } else {
    109371        $138 = ((($100)) + 16|0);
    109372        $139 = HEAP32[$138>>2]|0;
    109373        $not$ = ($139|0)!=($5|0);
    109374        $$sink1 = $not$&1;
    109375        $140 = (((($100)) + 16|0) + ($$sink1<<2)|0);
    109376        HEAP32[$140>>2] = $$3;
    109377        $141 = ($$3|0)==(0|0);
    109378        if ($141) {
    109379         break L49;
    109380        } else {
    109381         break;
    109382        }
    109383       }
    109384      }
    109385     } while(0);
    109386     $142 = HEAP32[(75284)>>2]|0;
    109387     $143 = ($$3>>>0)<($142>>>0);
    109388     if ($143) {
    109389      _abort();
    109390      // unreachable;
    109391     }
    109392     $144 = ((($$3)) + 24|0);
    109393     HEAP32[$144>>2] = $100;
    109394     $145 = ((($5)) + 16|0);
    109395     $146 = HEAP32[$145>>2]|0;
    109396     $147 = ($146|0)==(0|0);
    109397     do {
    109398      if (!($147)) {
    109399       $148 = ($146>>>0)<($142>>>0);
    109400       if ($148) {
    109401        _abort();
    109402        // unreachable;
    109403       } else {
    109404        $149 = ((($$3)) + 16|0);
    109405        HEAP32[$149>>2] = $146;
    109406        $150 = ((($146)) + 24|0);
    109407        HEAP32[$150>>2] = $$3;
    109408        break;
    109409       }
    109410      }
    109411     } while(0);
    109412     $151 = ((($145)) + 4|0);
    109413     $152 = HEAP32[$151>>2]|0;
    109414     $153 = ($152|0)==(0|0);
    109415     if (!($153)) {
    109416      $154 = HEAP32[(75284)>>2]|0;
    109417      $155 = ($152>>>0)<($154>>>0);
    109418      if ($155) {
    109419       _abort();
    109420       // unreachable;
    109421      } else {
    109422       $156 = ((($$3)) + 20|0);
    109423       HEAP32[$156>>2] = $152;
    109424       $157 = ((($152)) + 24|0);
    109425       HEAP32[$157>>2] = $$3;
    109426       break;
    109427      }
    109428     }
    109429    }
    109430   }
    109431  } while(0);
    109432  $158 = ($74>>>0)<(16);
    109433  $159 = $3 & 1;
    109434  if ($158) {
    109435   $160 = $72 | $159;
    109436   $161 = $160 | 2;
    109437   HEAP32[$2>>2] = $161;
    109438   $162 = (($0) + ($72)|0);
    109439   $163 = ((($162)) + 4|0);
    109440   $164 = HEAP32[$163>>2]|0;
    109441   $165 = $164 | 1;
    109442   HEAP32[$163>>2] = $165;
    109443   $$2 = $0;
    109444   return ($$2|0);
    109445  } else {
    109446   $166 = (($0) + ($1)|0);
    109447   $167 = $159 | $1;
    109448   $168 = $167 | 2;
    109449   HEAP32[$2>>2] = $168;
    109450   $169 = ((($166)) + 4|0);
    109451   $170 = $74 | 3;
    109452   HEAP32[$169>>2] = $170;
    109453   $171 = (($166) + ($74)|0);
    109454   $172 = ((($171)) + 4|0);
    109455   $173 = HEAP32[$172>>2]|0;
    109456   $174 = $173 | 1;
    109457   HEAP32[$172>>2] = $174;
    109458   _dispose_chunk($166,$74);
    109459   $$2 = $0;
    109460   return ($$2|0);
    109461  }
    109462  return (0)|0;
    109463 }
    109464 function _dispose_chunk($0,$1) {
    109465  $0 = $0|0;
    109466  $1 = $1|0;
    109467  var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0;
    109468  var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
    109469  var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
    109470  var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
    109471  var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
    109472  var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
    109473  var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
    109474  var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
    109475  var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
    109476  var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
    109477  var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
    109478  var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
    109479  var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
    109480  var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
    109481  var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
    109482  var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
    109483  var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0;
    109484  sp = STACKTOP;
    109485  $2 = (($0) + ($1)|0);
    109486  $3 = ((($0)) + 4|0);
    109487  $4 = HEAP32[$3>>2]|0;
    109488  $5 = $4 & 1;
    109489  $6 = ($5|0)==(0);
    109490  L1: do {
    109491   if ($6) {
    109492    $7 = HEAP32[$0>>2]|0;
    109493    $8 = $4 & 3;
    109494    $9 = ($8|0)==(0);
    109495    if ($9) {
    109496     return;
    109497    }
    109498    $10 = (0 - ($7))|0;
    109499    $11 = (($0) + ($10)|0);
    109500    $12 = (($7) + ($1))|0;
    109501    $13 = HEAP32[(75284)>>2]|0;
    109502    $14 = ($11>>>0)<($13>>>0);
    109503    if ($14) {
    109504     _abort();
    109505     // unreachable;
    109506    }
    109507    $15 = HEAP32[(75288)>>2]|0;
    109508    $16 = ($11|0)==($15|0);
    109509    if ($16) {
    109510     $100 = ((($2)) + 4|0);
    109511     $101 = HEAP32[$100>>2]|0;
    109512     $102 = $101 & 3;
    109513     $103 = ($102|0)==(3);
    109514     if (!($103)) {
    109515      $$1 = $11;$$1418 = $12;
    109516      break;
    109517     }
    109518     $104 = (($11) + ($12)|0);
    109519     $105 = ((($11)) + 4|0);
    109520     $106 = $12 | 1;
    109521     $107 = $101 & -2;
    109522     HEAP32[(75276)>>2] = $12;
    109523     HEAP32[$100>>2] = $107;
    109524     HEAP32[$105>>2] = $106;
    109525     HEAP32[$104>>2] = $12;
    109526     return;
    109527    }
    109528    $17 = $7 >>> 3;
    109529    $18 = ($7>>>0)<(256);
    109530    if ($18) {
    109531     $19 = ((($11)) + 8|0);
    109532     $20 = HEAP32[$19>>2]|0;
    109533     $21 = ((($11)) + 12|0);
    109534     $22 = HEAP32[$21>>2]|0;
    109535     $23 = $17 << 1;
    109536     $24 = (75308 + ($23<<2)|0);
    109537     $25 = ($20|0)==($24|0);
    109538     if (!($25)) {
    109539      $26 = ($20>>>0)<($13>>>0);
    109540      if ($26) {
    109541       _abort();
    109542       // unreachable;
    109543      }
    109544      $27 = ((($20)) + 12|0);
    109545      $28 = HEAP32[$27>>2]|0;
    109546      $29 = ($28|0)==($11|0);
    109547      if (!($29)) {
    109548       _abort();
    109549       // unreachable;
    109550      }
    109551     }
    109552     $30 = ($22|0)==($20|0);
    109553     if ($30) {
    109554      $31 = 1 << $17;
    109555      $32 = $31 ^ -1;
    109556      $33 = HEAP32[18817]|0;
    109557      $34 = $33 & $32;
    109558      HEAP32[18817] = $34;
    109559      $$1 = $11;$$1418 = $12;
    109560      break;
    109561     }
    109562     $35 = ($22|0)==($24|0);
    109563     if ($35) {
    109564      $$pre25 = ((($22)) + 8|0);
    109565      $$pre$phi26Z2D = $$pre25;
    109566     } else {
    109567      $36 = ($22>>>0)<($13>>>0);
    109568      if ($36) {
    109569       _abort();
    109570       // unreachable;
    109571      }
    109572      $37 = ((($22)) + 8|0);
    109573      $38 = HEAP32[$37>>2]|0;
    109574      $39 = ($38|0)==($11|0);
    109575      if ($39) {
    109576       $$pre$phi26Z2D = $37;
    109577      } else {
    109578       _abort();
    109579       // unreachable;
    109580      }
    109581     }
    109582     $40 = ((($20)) + 12|0);
    109583     HEAP32[$40>>2] = $22;
    109584     HEAP32[$$pre$phi26Z2D>>2] = $20;
    109585     $$1 = $11;$$1418 = $12;
    109586     break;
    109587    }
    109588    $41 = ((($11)) + 24|0);
    109589    $42 = HEAP32[$41>>2]|0;
    109590    $43 = ((($11)) + 12|0);
    109591    $44 = HEAP32[$43>>2]|0;
    109592    $45 = ($44|0)==($11|0);
    109593    do {
    109594     if ($45) {
    109595      $55 = ((($11)) + 16|0);
    109596      $56 = ((($55)) + 4|0);
    109597      $57 = HEAP32[$56>>2]|0;
    109598      $58 = ($57|0)==(0|0);
    109599      if ($58) {
    109600       $59 = HEAP32[$55>>2]|0;
    109601       $60 = ($59|0)==(0|0);
    109602       if ($60) {
    109603        $$3 = 0;
    109604        break;
    109605       } else {
    109606        $$1426 = $59;$$1429 = $55;
    109607       }
    109608      } else {
    109609       $$1426 = $57;$$1429 = $56;
    109610      }
    109611      while(1) {
    109612       $61 = ((($$1426)) + 20|0);
    109613       $62 = HEAP32[$61>>2]|0;
    109614       $63 = ($62|0)==(0|0);
    109615       if (!($63)) {
    109616        $$1426 = $62;$$1429 = $61;
    109617        continue;
    109618       }
    109619       $64 = ((($$1426)) + 16|0);
    109620       $65 = HEAP32[$64>>2]|0;
    109621       $66 = ($65|0)==(0|0);
    109622       if ($66) {
    109623        break;
    109624       } else {
    109625        $$1426 = $65;$$1429 = $64;
    109626       }
    109627      }
    109628      $67 = ($$1429>>>0)<($13>>>0);
    109629      if ($67) {
    109630       _abort();
    109631       // unreachable;
    109632      } else {
    109633       HEAP32[$$1429>>2] = 0;
    109634       $$3 = $$1426;
    109635       break;
    109636      }
    109637     } else {
    109638      $46 = ((($11)) + 8|0);
    109639      $47 = HEAP32[$46>>2]|0;
    109640      $48 = ($47>>>0)<($13>>>0);
    109641      if ($48) {
    109642       _abort();
    109643       // unreachable;
    109644      }
    109645      $49 = ((($47)) + 12|0);
    109646      $50 = HEAP32[$49>>2]|0;
    109647      $51 = ($50|0)==($11|0);
    109648      if (!($51)) {
    109649       _abort();
    109650       // unreachable;
    109651      }
    109652      $52 = ((($44)) + 8|0);
    109653      $53 = HEAP32[$52>>2]|0;
    109654      $54 = ($53|0)==($11|0);
    109655      if ($54) {
    109656       HEAP32[$49>>2] = $44;
    109657       HEAP32[$52>>2] = $47;
    109658       $$3 = $44;
    109659       break;
    109660      } else {
    109661       _abort();
    109662       // unreachable;
    109663      }
    109664     }
    109665    } while(0);
    109666    $68 = ($42|0)==(0|0);
    109667    if ($68) {
    109668     $$1 = $11;$$1418 = $12;
    109669    } else {
    109670     $69 = ((($11)) + 28|0);
    109671     $70 = HEAP32[$69>>2]|0;
    109672     $71 = (75572 + ($70<<2)|0);
    109673     $72 = HEAP32[$71>>2]|0;
    109674     $73 = ($11|0)==($72|0);
    109675     do {
    109676      if ($73) {
    109677       HEAP32[$71>>2] = $$3;
    109678       $cond = ($$3|0)==(0|0);
    109679       if ($cond) {
    109680        $74 = 1 << $70;
    109681        $75 = $74 ^ -1;
    109682        $76 = HEAP32[(75272)>>2]|0;
    109683        $77 = $76 & $75;
    109684        HEAP32[(75272)>>2] = $77;
    109685        $$1 = $11;$$1418 = $12;
    109686        break L1;
    109687       }
    109688      } else {
    109689       $78 = HEAP32[(75284)>>2]|0;
    109690       $79 = ($42>>>0)<($78>>>0);
    109691       if ($79) {
    109692        _abort();
    109693        // unreachable;
    109694       } else {
    109695        $80 = ((($42)) + 16|0);
    109696        $81 = HEAP32[$80>>2]|0;
    109697        $not$1 = ($81|0)!=($11|0);
    109698        $$sink2 = $not$1&1;
    109699        $82 = (((($42)) + 16|0) + ($$sink2<<2)|0);
    109700        HEAP32[$82>>2] = $$3;
    109701        $83 = ($$3|0)==(0|0);
    109702        if ($83) {
    109703         $$1 = $11;$$1418 = $12;
    109704         break L1;
    109705        } else {
    109706         break;
    109707        }
    109708       }
    109709      }
    109710     } while(0);
    109711     $84 = HEAP32[(75284)>>2]|0;
    109712     $85 = ($$3>>>0)<($84>>>0);
    109713     if ($85) {
    109714      _abort();
    109715      // unreachable;
    109716     }
    109717     $86 = ((($$3)) + 24|0);
    109718     HEAP32[$86>>2] = $42;
    109719     $87 = ((($11)) + 16|0);
    109720     $88 = HEAP32[$87>>2]|0;
    109721     $89 = ($88|0)==(0|0);
    109722     do {
    109723      if (!($89)) {
    109724       $90 = ($88>>>0)<($84>>>0);
    109725       if ($90) {
    109726        _abort();
    109727        // unreachable;
    109728       } else {
    109729        $91 = ((($$3)) + 16|0);
    109730        HEAP32[$91>>2] = $88;
    109731        $92 = ((($88)) + 24|0);
    109732        HEAP32[$92>>2] = $$3;
    109733        break;
    109734       }
    109735      }
    109736     } while(0);
    109737     $93 = ((($87)) + 4|0);
    109738     $94 = HEAP32[$93>>2]|0;
    109739     $95 = ($94|0)==(0|0);
    109740     if ($95) {
    109741      $$1 = $11;$$1418 = $12;
    109742     } else {
    109743      $96 = HEAP32[(75284)>>2]|0;
    109744      $97 = ($94>>>0)<($96>>>0);
    109745      if ($97) {
    109746       _abort();
    109747       // unreachable;
    109748      } else {
    109749       $98 = ((($$3)) + 20|0);
    109750       HEAP32[$98>>2] = $94;
    109751       $99 = ((($94)) + 24|0);
    109752       HEAP32[$99>>2] = $$3;
    109753       $$1 = $11;$$1418 = $12;
    109754       break;
    109755      }
    109756     }
    109757    }
    109758   } else {
    109759    $$1 = $0;$$1418 = $1;
    109760   }
    109761  } while(0);
    109762  $108 = HEAP32[(75284)>>2]|0;
    109763  $109 = ($2>>>0)<($108>>>0);
    109764  if ($109) {
    109765   _abort();
    109766   // unreachable;
    109767  }
    109768  $110 = ((($2)) + 4|0);
    109769  $111 = HEAP32[$110>>2]|0;
    109770  $112 = $111 & 2;
    109771  $113 = ($112|0)==(0);
    109772  if ($113) {
    109773   $114 = HEAP32[(75292)>>2]|0;
    109774   $115 = ($2|0)==($114|0);
    109775   $116 = HEAP32[(75288)>>2]|0;
    109776   if ($115) {
    109777    $117 = HEAP32[(75280)>>2]|0;
    109778    $118 = (($117) + ($$1418))|0;
    109779    HEAP32[(75280)>>2] = $118;
    109780    HEAP32[(75292)>>2] = $$1;
    109781    $119 = $118 | 1;
    109782    $120 = ((($$1)) + 4|0);
    109783    HEAP32[$120>>2] = $119;
    109784    $121 = ($$1|0)==($116|0);
    109785    if (!($121)) {
    109786     return;
    109787    }
    109788    HEAP32[(75288)>>2] = 0;
    109789    HEAP32[(75276)>>2] = 0;
    109790    return;
    109791   }
    109792   $122 = ($2|0)==($116|0);
    109793   if ($122) {
    109794    $123 = HEAP32[(75276)>>2]|0;
    109795    $124 = (($123) + ($$1418))|0;
    109796    HEAP32[(75276)>>2] = $124;
    109797    HEAP32[(75288)>>2] = $$1;
    109798    $125 = $124 | 1;
    109799    $126 = ((($$1)) + 4|0);
    109800    HEAP32[$126>>2] = $125;
    109801    $127 = (($$1) + ($124)|0);
    109802    HEAP32[$127>>2] = $124;
    109803    return;
    109804   }
    109805   $128 = $111 & -8;
    109806   $129 = (($128) + ($$1418))|0;
    109807   $130 = $111 >>> 3;
    109808   $131 = ($111>>>0)<(256);
    109809   L96: do {
    109810    if ($131) {
    109811     $132 = ((($2)) + 8|0);
    109812     $133 = HEAP32[$132>>2]|0;
    109813     $134 = ((($2)) + 12|0);
    109814     $135 = HEAP32[$134>>2]|0;
    109815     $136 = $130 << 1;
    109816     $137 = (75308 + ($136<<2)|0);
    109817     $138 = ($133|0)==($137|0);
    109818     if (!($138)) {
    109819      $139 = ($133>>>0)<($108>>>0);
    109820      if ($139) {
    109821       _abort();
    109822       // unreachable;
    109823      }
    109824      $140 = ((($133)) + 12|0);
    109825      $141 = HEAP32[$140>>2]|0;
    109826      $142 = ($141|0)==($2|0);
    109827      if (!($142)) {
    109828       _abort();
    109829       // unreachable;
    109830      }
    109831     }
    109832     $143 = ($135|0)==($133|0);
    109833     if ($143) {
    109834      $144 = 1 << $130;
    109835      $145 = $144 ^ -1;
    109836      $146 = HEAP32[18817]|0;
    109837      $147 = $146 & $145;
    109838      HEAP32[18817] = $147;
    109839      break;
    109840     }
    109841     $148 = ($135|0)==($137|0);
    109842     if ($148) {
    109843      $$pre23 = ((($135)) + 8|0);
    109844      $$pre$phi24Z2D = $$pre23;
    109845     } else {
    109846      $149 = ($135>>>0)<($108>>>0);
    109847      if ($149) {
    109848       _abort();
    109849       // unreachable;
    109850      }
    109851      $150 = ((($135)) + 8|0);
    109852      $151 = HEAP32[$150>>2]|0;
    109853      $152 = ($151|0)==($2|0);
    109854      if ($152) {
    109855       $$pre$phi24Z2D = $150;
    109856      } else {
    109857       _abort();
    109858       // unreachable;
    109859      }
    109860     }
    109861     $153 = ((($133)) + 12|0);
    109862     HEAP32[$153>>2] = $135;
    109863     HEAP32[$$pre$phi24Z2D>>2] = $133;
    109864    } else {
    109865     $154 = ((($2)) + 24|0);
    109866     $155 = HEAP32[$154>>2]|0;
    109867     $156 = ((($2)) + 12|0);
    109868     $157 = HEAP32[$156>>2]|0;
    109869     $158 = ($157|0)==($2|0);
    109870     do {
    109871      if ($158) {
    109872       $168 = ((($2)) + 16|0);
    109873       $169 = ((($168)) + 4|0);
    109874       $170 = HEAP32[$169>>2]|0;
    109875       $171 = ($170|0)==(0|0);
    109876       if ($171) {
    109877        $172 = HEAP32[$168>>2]|0;
    109878        $173 = ($172|0)==(0|0);
    109879        if ($173) {
    109880         $$3435 = 0;
    109881         break;
    109882        } else {
    109883         $$1433 = $172;$$1437 = $168;
    109884        }
    109885       } else {
    109886        $$1433 = $170;$$1437 = $169;
    109887       }
    109888       while(1) {
    109889        $174 = ((($$1433)) + 20|0);
    109890        $175 = HEAP32[$174>>2]|0;
    109891        $176 = ($175|0)==(0|0);
    109892        if (!($176)) {
    109893         $$1433 = $175;$$1437 = $174;
    109894         continue;
    109895        }
    109896        $177 = ((($$1433)) + 16|0);
    109897        $178 = HEAP32[$177>>2]|0;
    109898        $179 = ($178|0)==(0|0);
    109899        if ($179) {
    109900         break;
    109901        } else {
    109902         $$1433 = $178;$$1437 = $177;
    109903        }
    109904       }
    109905       $180 = ($$1437>>>0)<($108>>>0);
    109906       if ($180) {
    109907        _abort();
    109908        // unreachable;
    109909       } else {
    109910        HEAP32[$$1437>>2] = 0;
    109911        $$3435 = $$1433;
    109912        break;
    109913       }
    109914      } else {
    109915       $159 = ((($2)) + 8|0);
    109916       $160 = HEAP32[$159>>2]|0;
    109917       $161 = ($160>>>0)<($108>>>0);
    109918       if ($161) {
    109919        _abort();
    109920        // unreachable;
    109921       }
    109922       $162 = ((($160)) + 12|0);
    109923       $163 = HEAP32[$162>>2]|0;
    109924       $164 = ($163|0)==($2|0);
    109925       if (!($164)) {
    109926        _abort();
    109927        // unreachable;
    109928       }
    109929       $165 = ((($157)) + 8|0);
    109930       $166 = HEAP32[$165>>2]|0;
    109931       $167 = ($166|0)==($2|0);
    109932       if ($167) {
    109933        HEAP32[$162>>2] = $157;
    109934        HEAP32[$165>>2] = $160;
    109935        $$3435 = $157;
    109936        break;
    109937       } else {
    109938        _abort();
    109939        // unreachable;
    109940       }
    109941      }
    109942     } while(0);
    109943     $181 = ($155|0)==(0|0);
    109944     if (!($181)) {
    109945      $182 = ((($2)) + 28|0);
    109946      $183 = HEAP32[$182>>2]|0;
    109947      $184 = (75572 + ($183<<2)|0);
    109948      $185 = HEAP32[$184>>2]|0;
    109949      $186 = ($2|0)==($185|0);
    109950      do {
    109951       if ($186) {
    109952        HEAP32[$184>>2] = $$3435;
    109953        $cond17 = ($$3435|0)==(0|0);
    109954        if ($cond17) {
    109955         $187 = 1 << $183;
    109956         $188 = $187 ^ -1;
    109957         $189 = HEAP32[(75272)>>2]|0;
    109958         $190 = $189 & $188;
    109959         HEAP32[(75272)>>2] = $190;
    109960         break L96;
    109961        }
    109962       } else {
    109963        $191 = HEAP32[(75284)>>2]|0;
    109964        $192 = ($155>>>0)<($191>>>0);
    109965        if ($192) {
    109966         _abort();
    109967         // unreachable;
    109968        } else {
    109969         $193 = ((($155)) + 16|0);
    109970         $194 = HEAP32[$193>>2]|0;
    109971         $not$ = ($194|0)!=($2|0);
    109972         $$sink4 = $not$&1;
    109973         $195 = (((($155)) + 16|0) + ($$sink4<<2)|0);
    109974         HEAP32[$195>>2] = $$3435;
    109975         $196 = ($$3435|0)==(0|0);
    109976         if ($196) {
    109977          break L96;
    109978         } else {
    109979          break;
    109980         }
    109981        }
    109982       }
    109983      } while(0);
    109984      $197 = HEAP32[(75284)>>2]|0;
    109985      $198 = ($$3435>>>0)<($197>>>0);
    109986      if ($198) {
    109987       _abort();
    109988       // unreachable;
    109989      }
    109990      $199 = ((($$3435)) + 24|0);
    109991      HEAP32[$199>>2] = $155;
    109992      $200 = ((($2)) + 16|0);
    109993      $201 = HEAP32[$200>>2]|0;
    109994      $202 = ($201|0)==(0|0);
    109995      do {
    109996       if (!($202)) {
    109997        $203 = ($201>>>0)<($197>>>0);
    109998        if ($203) {
    109999         _abort();
    110000         // unreachable;
    110001        } else {
    110002         $204 = ((($$3435)) + 16|0);
    110003         HEAP32[$204>>2] = $201;
    110004         $205 = ((($201)) + 24|0);
    110005         HEAP32[$205>>2] = $$3435;
    110006         break;
    110007        }
    110008       }
    110009      } while(0);
    110010      $206 = ((($200)) + 4|0);
    110011      $207 = HEAP32[$206>>2]|0;
    110012      $208 = ($207|0)==(0|0);
    110013      if (!($208)) {
    110014       $209 = HEAP32[(75284)>>2]|0;
    110015       $210 = ($207>>>0)<($209>>>0);
    110016       if ($210) {
    110017        _abort();
    110018        // unreachable;
    110019       } else {
    110020        $211 = ((($$3435)) + 20|0);
    110021        HEAP32[$211>>2] = $207;
    110022        $212 = ((($207)) + 24|0);
    110023        HEAP32[$212>>2] = $$3435;
    110024        break;
    110025       }
    110026      }
    110027     }
    110028    }
    110029   } while(0);
    110030   $213 = $129 | 1;
    110031   $214 = ((($$1)) + 4|0);
    110032   HEAP32[$214>>2] = $213;
    110033   $215 = (($$1) + ($129)|0);
    110034   HEAP32[$215>>2] = $129;
    110035   $216 = HEAP32[(75288)>>2]|0;
    110036   $217 = ($$1|0)==($216|0);
    110037   if ($217) {
    110038    HEAP32[(75276)>>2] = $129;
    110039    return;
    110040   } else {
    110041    $$2 = $129;
    110042   }
    110043  } else {
    110044   $218 = $111 & -2;
    110045   HEAP32[$110>>2] = $218;
    110046   $219 = $$1418 | 1;
    110047   $220 = ((($$1)) + 4|0);
    110048   HEAP32[$220>>2] = $219;
    110049   $221 = (($$1) + ($$1418)|0);
    110050   HEAP32[$221>>2] = $$1418;
    110051   $$2 = $$1418;
    110052  }
    110053  $222 = $$2 >>> 3;
    110054  $223 = ($$2>>>0)<(256);
    110055  if ($223) {
    110056   $224 = $222 << 1;
    110057   $225 = (75308 + ($224<<2)|0);
    110058   $226 = HEAP32[18817]|0;
    110059   $227 = 1 << $222;
    110060   $228 = $226 & $227;
    110061   $229 = ($228|0)==(0);
    110062   if ($229) {
    110063    $230 = $226 | $227;
    110064    HEAP32[18817] = $230;
    110065    $$pre = ((($225)) + 8|0);
    110066    $$0438 = $225;$$pre$phiZ2D = $$pre;
    110067   } else {
    110068    $231 = ((($225)) + 8|0);
    110069    $232 = HEAP32[$231>>2]|0;
    110070    $233 = HEAP32[(75284)>>2]|0;
    110071    $234 = ($232>>>0)<($233>>>0);
    110072    if ($234) {
    110073     _abort();
    110074     // unreachable;
    110075    } else {
    110076     $$0438 = $232;$$pre$phiZ2D = $231;
    110077    }
    110078   }
    110079   HEAP32[$$pre$phiZ2D>>2] = $$1;
    110080   $235 = ((($$0438)) + 12|0);
    110081   HEAP32[$235>>2] = $$1;
    110082   $236 = ((($$1)) + 8|0);
    110083   HEAP32[$236>>2] = $$0438;
    110084   $237 = ((($$1)) + 12|0);
    110085   HEAP32[$237>>2] = $225;
    110086   return;
    110087  }
    110088  $238 = $$2 >>> 8;
    110089  $239 = ($238|0)==(0);
    110090  if ($239) {
    110091   $$0431 = 0;
    110092  } else {
    110093   $240 = ($$2>>>0)>(16777215);
    110094   if ($240) {
    110095    $$0431 = 31;
    110096   } else {
    110097    $241 = (($238) + 1048320)|0;
    110098    $242 = $241 >>> 16;
    110099    $243 = $242 & 8;
    110100    $244 = $238 << $243;
    110101    $245 = (($244) + 520192)|0;
    110102    $246 = $245 >>> 16;
    110103    $247 = $246 & 4;
    110104    $248 = $247 | $243;
    110105    $249 = $244 << $247;
    110106    $250 = (($249) + 245760)|0;
    110107    $251 = $250 >>> 16;
    110108    $252 = $251 & 2;
    110109    $253 = $248 | $252;
    110110    $254 = (14 - ($253))|0;
    110111    $255 = $249 << $252;
    110112    $256 = $255 >>> 15;
    110113    $257 = (($254) + ($256))|0;
    110114    $258 = $257 << 1;
    110115    $259 = (($257) + 7)|0;
    110116    $260 = $$2 >>> $259;
    110117    $261 = $260 & 1;
    110118    $262 = $261 | $258;
    110119    $$0431 = $262;
    110120   }
    110121  }
    110122  $263 = (75572 + ($$0431<<2)|0);
    110123  $264 = ((($$1)) + 28|0);
    110124  HEAP32[$264>>2] = $$0431;
    110125  $265 = ((($$1)) + 16|0);
    110126  $266 = ((($$1)) + 20|0);
    110127  HEAP32[$266>>2] = 0;
    110128  HEAP32[$265>>2] = 0;
    110129  $267 = HEAP32[(75272)>>2]|0;
    110130  $268 = 1 << $$0431;
    110131  $269 = $267 & $268;
    110132  $270 = ($269|0)==(0);
    110133  if ($270) {
    110134   $271 = $267 | $268;
    110135   HEAP32[(75272)>>2] = $271;
    110136   HEAP32[$263>>2] = $$1;
    110137   $272 = ((($$1)) + 24|0);
    110138   HEAP32[$272>>2] = $263;
    110139   $273 = ((($$1)) + 12|0);
    110140   HEAP32[$273>>2] = $$1;
    110141   $274 = ((($$1)) + 8|0);
    110142   HEAP32[$274>>2] = $$1;
    110143   return;
    110144  }
    110145  $275 = HEAP32[$263>>2]|0;
    110146  $276 = ($$0431|0)==(31);
    110147  $277 = $$0431 >>> 1;
    110148  $278 = (25 - ($277))|0;
    110149  $279 = $276 ? 0 : $278;
    110150  $280 = $$2 << $279;
    110151  $$0419 = $280;$$0420 = $275;
    110152  while(1) {
    110153   $281 = ((($$0420)) + 4|0);
    110154   $282 = HEAP32[$281>>2]|0;
    110155   $283 = $282 & -8;
    110156   $284 = ($283|0)==($$2|0);
    110157   if ($284) {
    110158    label = 121;
    110159    break;
    110160   }
    110161   $285 = $$0419 >>> 31;
    110162   $286 = (((($$0420)) + 16|0) + ($285<<2)|0);
    110163   $287 = $$0419 << 1;
    110164   $288 = HEAP32[$286>>2]|0;
    110165   $289 = ($288|0)==(0|0);
    110166   if ($289) {
    110167    label = 118;
    110168    break;
    110169   } else {
    110170    $$0419 = $287;$$0420 = $288;
    110171   }
    110172  }
    110173  if ((label|0) == 118) {
    110174   $290 = HEAP32[(75284)>>2]|0;
    110175   $291 = ($286>>>0)<($290>>>0);
    110176   if ($291) {
    110177    _abort();
    110178    // unreachable;
    110179   }
    110180   HEAP32[$286>>2] = $$1;
    110181   $292 = ((($$1)) + 24|0);
    110182   HEAP32[$292>>2] = $$0420;
    110183   $293 = ((($$1)) + 12|0);
    110184   HEAP32[$293>>2] = $$1;
    110185   $294 = ((($$1)) + 8|0);
    110186   HEAP32[$294>>2] = $$1;
    110187   return;
    110188  }
    110189  else if ((label|0) == 121) {
    110190   $295 = ((($$0420)) + 8|0);
    110191   $296 = HEAP32[$295>>2]|0;
    110192   $297 = HEAP32[(75284)>>2]|0;
    110193   $298 = ($296>>>0)>=($297>>>0);
    110194   $not$19 = ($$0420>>>0)>=($297>>>0);
    110195   $299 = $298 & $not$19;
    110196   if (!($299)) {
    110197    _abort();
    110198    // unreachable;
    110199   }
    110200   $300 = ((($296)) + 12|0);
    110201   HEAP32[$300>>2] = $$1;
    110202   HEAP32[$295>>2] = $$1;
    110203   $301 = ((($$1)) + 8|0);
    110204   HEAP32[$301>>2] = $296;
    110205   $302 = ((($$1)) + 12|0);
    110206   HEAP32[$302>>2] = $$0420;
    110207   $303 = ((($$1)) + 24|0);
    110208   HEAP32[$303>>2] = 0;
    110209   return;
    110210  }
    110211 }
    110212 function runPostSets() {
    110213 }
    110214 function _i64Subtract(a, b, c, d) {
    110215     a = a|0; b = b|0; c = c|0; d = d|0;
    110216     var l = 0, h = 0;
    110217     l = (a - c)>>>0;
    110218     h = (b - d)>>>0;
    110219     h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow.
    110220     return ((tempRet0 = h,l|0)|0);
    110221 }
    110222 function _i64Add(a, b, c, d) {
    110223     /*
    110224       x = a + b*2^32
    110225       y = c + d*2^32
    110226       result = l + h*2^32
    110227     */
    110228     a = a|0; b = b|0; c = c|0; d = d|0;
    110229     var l = 0, h = 0;
    110230     l = (a + c)>>>0;
    110231     h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow.
    110232     return ((tempRet0 = h,l|0)|0);
    110233 }
    110234 function _memset(ptr, value, num) {
    110235     ptr = ptr|0; value = value|0; num = num|0;
    110236     var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0;
    110237     end = (ptr + num)|0;
    110238 
    110239     value = value & 0xff;
    110240     if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) {
    110241       while ((ptr&3) != 0) {
    110242         HEAP8[((ptr)>>0)]=value;
    110243         ptr = (ptr+1)|0;
    110244       }
    110245 
    110246       aligned_end = (end & -4)|0;
    110247       block_aligned_end = (aligned_end - 64)|0;
    110248       value4 = value | (value << 8) | (value << 16) | (value << 24);
    110249 
    110250       while((ptr|0) <= (block_aligned_end|0)) {
    110251         HEAP32[((ptr)>>2)]=value4;
    110252         HEAP32[(((ptr)+(4))>>2)]=value4;
    110253         HEAP32[(((ptr)+(8))>>2)]=value4;
    110254         HEAP32[(((ptr)+(12))>>2)]=value4;
    110255         HEAP32[(((ptr)+(16))>>2)]=value4;
    110256         HEAP32[(((ptr)+(20))>>2)]=value4;
    110257         HEAP32[(((ptr)+(24))>>2)]=value4;
    110258         HEAP32[(((ptr)+(28))>>2)]=value4;
    110259         HEAP32[(((ptr)+(32))>>2)]=value4;
    110260         HEAP32[(((ptr)+(36))>>2)]=value4;
    110261         HEAP32[(((ptr)+(40))>>2)]=value4;
    110262         HEAP32[(((ptr)+(44))>>2)]=value4;
    110263         HEAP32[(((ptr)+(48))>>2)]=value4;
    110264         HEAP32[(((ptr)+(52))>>2)]=value4;
    110265         HEAP32[(((ptr)+(56))>>2)]=value4;
    110266         HEAP32[(((ptr)+(60))>>2)]=value4;
    110267         ptr = (ptr + 64)|0;
    110268       }
    110269 
    110270       while ((ptr|0) < (aligned_end|0) ) {
    110271         HEAP32[((ptr)>>2)]=value4;
    110272         ptr = (ptr+4)|0;
    110273       }
    110274     }
    110275     // The remaining bytes.
    110276     while ((ptr|0) < (end|0)) {
    110277       HEAP8[((ptr)>>0)]=value;
    110278       ptr = (ptr+1)|0;
    110279     }
    110280     return (end-num)|0;
    110281 }
    110282 function _bitshift64Lshr(low, high, bits) {
    110283     low = low|0; high = high|0; bits = bits|0;
    110284     var ander = 0;
    110285     if ((bits|0) < 32) {
    110286       ander = ((1 << bits) - 1)|0;
    110287       tempRet0 = high >>> bits;
    110288       return (low >>> bits) | ((high&ander) << (32 - bits));
    110289     }
    110290     tempRet0 = 0;
    110291     return (high >>> (bits - 32))|0;
    110292 }
    110293 function _saveSetjmp(env, label, table, size) {
    110294     // Not particularly fast: slow table lookup of setjmpId to label. But setjmp
    110295     // prevents relooping anyhow, so slowness is to be expected. And typical case
    110296     // is 1 setjmp per invocation, or less.
    110297     env = env|0;
    110298     label = label|0;
    110299     table = table|0;
    110300     size = size|0;
    110301     var i = 0;
    110302     setjmpId = (setjmpId+1)|0;
    110303     HEAP32[((env)>>2)]=setjmpId;
    110304     while ((i|0) < (size|0)) {
    110305       if (((HEAP32[(((table)+((i<<3)))>>2)])|0) == 0) {
    110306         HEAP32[(((table)+((i<<3)))>>2)]=setjmpId;
    110307         HEAP32[(((table)+((i<<3)+4))>>2)]=label;
    110308         // prepare next slot
    110309         HEAP32[(((table)+((i<<3)+8))>>2)]=0;
    110310         tempRet0 = size;
    110311         return table | 0;
    110312       }
    110313       i = i+1|0;
    110314     }
    110315     // grow the table
    110316     size = (size*2)|0;
    110317     table = _realloc(table|0, 8*(size+1|0)|0) | 0;
    110318     table = _saveSetjmp(env|0, label|0, table|0, size|0) | 0;
    110319     tempRet0 = size;
    110320     return table | 0;
    110321 }
    110322 function _testSetjmp(id, table, size) {
    110323     id = id|0;
    110324     table = table|0;
    110325     size = size|0;
    110326     var i = 0, curr = 0;
    110327     while ((i|0) < (size|0)) {
    110328       curr = ((HEAP32[(((table)+((i<<3)))>>2)])|0);
    110329       if ((curr|0) == 0) break;
    110330       if ((curr|0) == (id|0)) {
    110331         return ((HEAP32[(((table)+((i<<3)+4))>>2)])|0);
    110332       }
    110333       i = i+1|0;
    110334     }
    110335     return 0;
    110336 }
    110337 function _bitshift64Shl(low, high, bits) {
    110338     low = low|0; high = high|0; bits = bits|0;
    110339     var ander = 0;
    110340     if ((bits|0) < 32) {
    110341       ander = ((1 << bits) - 1)|0;
    110342       tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits));
    110343       return low << bits;
    110344     }
    110345     tempRet0 = low << (bits - 32);
    110346     return 0;
    110347 }
    110348 function _llvm_bswap_i32(x) {
    110349     x = x|0;
    110350     return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0;
    110351 }
    110352 function _llvm_cttz_i32(x) {
    110353     x = x|0;
    110354     var ret = 0;
    110355     ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0);
    110356     if ((ret|0) < 8) return ret|0;
    110357     ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0);
    110358     if ((ret|0) < 8) return (ret + 8)|0;
    110359     ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0);
    110360     if ((ret|0) < 8) return (ret + 16)|0;
    110361     return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0;
    110362 }
    110363 function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) {
    110364     $a$0 = $a$0 | 0;
    110365     $a$1 = $a$1 | 0;
    110366     $b$0 = $b$0 | 0;
    110367     $b$1 = $b$1 | 0;
    110368     $rem = $rem | 0;
    110369     var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0;
    110370     $n_sroa_0_0_extract_trunc = $a$0;
    110371     $n_sroa_1_4_extract_shift$0 = $a$1;
    110372     $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0;
    110373     $d_sroa_0_0_extract_trunc = $b$0;
    110374     $d_sroa_1_4_extract_shift$0 = $b$1;
    110375     $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0;
    110376     if (($n_sroa_1_4_extract_trunc | 0) == 0) {
    110377       $4 = ($rem | 0) != 0;
    110378       if (($d_sroa_1_4_extract_trunc | 0) == 0) {
    110379         if ($4) {
    110380           HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
    110381           HEAP32[$rem + 4 >> 2] = 0;
    110382         }
    110383         $_0$1 = 0;
    110384         $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
    110385         return (tempRet0 = $_0$1, $_0$0) | 0;
    110386       } else {
    110387         if (!$4) {
    110388           $_0$1 = 0;
    110389           $_0$0 = 0;
    110390           return (tempRet0 = $_0$1, $_0$0) | 0;
    110391         }
    110392         HEAP32[$rem >> 2] = $a$0 & -1;
    110393         HEAP32[$rem + 4 >> 2] = $a$1 & 0;
    110394         $_0$1 = 0;
    110395         $_0$0 = 0;
    110396         return (tempRet0 = $_0$1, $_0$0) | 0;
    110397       }
    110398     }
    110399     $17 = ($d_sroa_1_4_extract_trunc | 0) == 0;
    110400     do {
    110401       if (($d_sroa_0_0_extract_trunc | 0) == 0) {
    110402         if ($17) {
    110403           if (($rem | 0) != 0) {
    110404             HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
    110405             HEAP32[$rem + 4 >> 2] = 0;
    110406           }
    110407           $_0$1 = 0;
    110408           $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
    110409           return (tempRet0 = $_0$1, $_0$0) | 0;
    110410         }
    110411         if (($n_sroa_0_0_extract_trunc | 0) == 0) {
    110412           if (($rem | 0) != 0) {
    110413             HEAP32[$rem >> 2] = 0;
    110414             HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0);
    110415           }
    110416           $_0$1 = 0;
    110417           $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0;
    110418           return (tempRet0 = $_0$1, $_0$0) | 0;
    110419         }
    110420         $37 = $d_sroa_1_4_extract_trunc - 1 | 0;
    110421         if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) {
    110422           if (($rem | 0) != 0) {
    110423             HEAP32[$rem >> 2] = 0 | $a$0 & -1;
    110424             HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0;
    110425           }
    110426           $_0$1 = 0;
    110427           $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0);
    110428           return (tempRet0 = $_0$1, $_0$0) | 0;
    110429         }
    110430         $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
    110431         $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
    110432         if ($51 >>> 0 <= 30) {
    110433           $57 = $51 + 1 | 0;
    110434           $58 = 31 - $51 | 0;
    110435           $sr_1_ph = $57;
    110436           $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0);
    110437           $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0);
    110438           $q_sroa_0_1_ph = 0;
    110439           $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58;
    110440           break;
    110441         }
    110442         if (($rem | 0) == 0) {
    110443           $_0$1 = 0;
    110444           $_0$0 = 0;
    110445           return (tempRet0 = $_0$1, $_0$0) | 0;
    110446         }
    110447         HEAP32[$rem >> 2] = 0 | $a$0 & -1;
    110448         HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
    110449         $_0$1 = 0;
    110450         $_0$0 = 0;
    110451         return (tempRet0 = $_0$1, $_0$0) | 0;
    110452       } else {
    110453         if (!$17) {
    110454           $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
    110455           $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
    110456           if ($119 >>> 0 <= 31) {
    110457             $125 = $119 + 1 | 0;
    110458             $126 = 31 - $119 | 0;
    110459             $130 = $119 - 31 >> 31;
    110460             $sr_1_ph = $125;
    110461             $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126;
    110462             $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130;
    110463             $q_sroa_0_1_ph = 0;
    110464             $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126;
    110465             break;
    110466           }
    110467           if (($rem | 0) == 0) {
    110468             $_0$1 = 0;
    110469             $_0$0 = 0;
    110470             return (tempRet0 = $_0$1, $_0$0) | 0;
    110471           }
    110472           HEAP32[$rem >> 2] = 0 | $a$0 & -1;
    110473           HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
    110474           $_0$1 = 0;
    110475           $_0$0 = 0;
    110476           return (tempRet0 = $_0$1, $_0$0) | 0;
    110477         }
    110478         $66 = $d_sroa_0_0_extract_trunc - 1 | 0;
    110479         if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) {
    110480           $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0;
    110481           $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
    110482           $89 = 64 - $88 | 0;
    110483           $91 = 32 - $88 | 0;
    110484           $92 = $91 >> 31;
    110485           $95 = $88 - 32 | 0;
    110486           $105 = $95 >> 31;
    110487           $sr_1_ph = $88;
    110488           $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105;
    110489           $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0);
    110490           $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92;
    110491           $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31;
    110492           break;
    110493         }
    110494         if (($rem | 0) != 0) {
    110495           HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc;
    110496           HEAP32[$rem + 4 >> 2] = 0;
    110497         }
    110498         if (($d_sroa_0_0_extract_trunc | 0) == 1) {
    110499           $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
    110500           $_0$0 = 0 | $a$0 & -1;
    110501           return (tempRet0 = $_0$1, $_0$0) | 0;
    110502         } else {
    110503           $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0;
    110504           $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0);
    110505           $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0;
    110506           return (tempRet0 = $_0$1, $_0$0) | 0;
    110507         }
    110508       }
    110509     } while (0);
    110510     if (($sr_1_ph | 0) == 0) {
    110511       $q_sroa_1_1_lcssa = $q_sroa_1_1_ph;
    110512       $q_sroa_0_1_lcssa = $q_sroa_0_1_ph;
    110513       $r_sroa_1_1_lcssa = $r_sroa_1_1_ph;
    110514       $r_sroa_0_1_lcssa = $r_sroa_0_1_ph;
    110515       $carry_0_lcssa$1 = 0;
    110516       $carry_0_lcssa$0 = 0;
    110517     } else {
    110518       $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1;
    110519       $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0;
    110520       $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0;
    110521       $137$1 = tempRet0;
    110522       $q_sroa_1_1198 = $q_sroa_1_1_ph;
    110523       $q_sroa_0_1199 = $q_sroa_0_1_ph;
    110524       $r_sroa_1_1200 = $r_sroa_1_1_ph;
    110525       $r_sroa_0_1201 = $r_sroa_0_1_ph;
    110526       $sr_1202 = $sr_1_ph;
    110527       $carry_0203 = 0;
    110528       while (1) {
    110529         $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1;
    110530         $149 = $carry_0203 | $q_sroa_0_1199 << 1;
    110531         $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31);
    110532         $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0;
    110533         _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0;
    110534         $150$1 = tempRet0;
    110535         $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1;
    110536         $152 = $151$0 & 1;
    110537         $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0;
    110538         $r_sroa_0_0_extract_trunc = $154$0;
    110539         $r_sroa_1_4_extract_trunc = tempRet0;
    110540         $155 = $sr_1202 - 1 | 0;
    110541         if (($155 | 0) == 0) {
    110542           break;
    110543         } else {
    110544           $q_sroa_1_1198 = $147;
    110545           $q_sroa_0_1199 = $149;
    110546           $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc;
    110547           $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc;
    110548           $sr_1202 = $155;
    110549           $carry_0203 = $152;
    110550         }
    110551       }
    110552       $q_sroa_1_1_lcssa = $147;
    110553       $q_sroa_0_1_lcssa = $149;
    110554       $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc;
    110555       $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc;
    110556       $carry_0_lcssa$1 = 0;
    110557       $carry_0_lcssa$0 = $152;
    110558     }
    110559     $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa;
    110560     $q_sroa_0_0_insert_ext75$1 = 0;
    110561     $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1;
    110562     if (($rem | 0) != 0) {
    110563       HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa;
    110564       HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0;
    110565     }
    110566     $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1;
    110567     $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0;
    110568     return (tempRet0 = $_0$1, $_0$0) | 0;
    110569 }
    110570 function ___udivdi3($a$0, $a$1, $b$0, $b$1) {
    110571     $a$0 = $a$0 | 0;
    110572     $a$1 = $a$1 | 0;
    110573     $b$0 = $b$0 | 0;
    110574     $b$1 = $b$1 | 0;
    110575     var $1$0 = 0;
    110576     $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0;
    110577     return $1$0 | 0;
    110578 }
    110579 function ___muldsi3($a, $b) {
    110580     $a = $a | 0;
    110581     $b = $b | 0;
    110582     var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0;
    110583     $1 = $a & 65535;
    110584     $2 = $b & 65535;
    110585     $3 = Math_imul($2, $1) | 0;
    110586     $6 = $a >>> 16;
    110587     $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0;
    110588     $11 = $b >>> 16;
    110589     $12 = Math_imul($11, $1) | 0;
    110590     return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0;
    110591 }
    110592 function ___muldi3($a$0, $a$1, $b$0, $b$1) {
    110593     $a$0 = $a$0 | 0;
    110594     $a$1 = $a$1 | 0;
    110595     $b$0 = $b$0 | 0;
    110596     $b$1 = $b$1 | 0;
    110597     var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0;
    110598     $x_sroa_0_0_extract_trunc = $a$0;
    110599     $y_sroa_0_0_extract_trunc = $b$0;
    110600     $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0;
    110601     $1$1 = tempRet0;
    110602     $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0;
    110603     return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0;
    110604 }
    110605 function _sbrk(increment) {
    110606     increment = increment|0;
    110607     var oldDynamicTop = 0;
    110608     var oldDynamicTopOnChange = 0;
    110609     var newDynamicTop = 0;
    110610     var totalMemory = 0;
    110611     increment = ((increment + 15) & -16)|0;
    110612     oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0;
    110613     newDynamicTop = oldDynamicTop + increment | 0;
    110614 
    110615     if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int.
    110616       | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract.
    110617       abortOnCannotGrowMemory()|0;
    110618       ___setErrNo(12);
    110619       return -1;
    110620     }
    110621 
    110622     HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop;
    110623     totalMemory = getTotalMemory()|0;
    110624     if ((newDynamicTop|0) > (totalMemory|0)) {
    110625       if ((enlargeMemory()|0) == 0) {
    110626         ___setErrNo(12);
    110627         HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop;
    110628         return -1;
    110629       }
    110630     }
    110631     return oldDynamicTop|0;
    110632 }
    110633 function _memcpy(dest, src, num) {
    110634     dest = dest|0; src = src|0; num = num|0;
    110635     var ret = 0;
    110636     var aligned_dest_end = 0;
    110637     var block_aligned_dest_end = 0;
    110638     var dest_end = 0;
    110639     // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use.
    110640     if ((num|0) >=
    110641       8192
    110642     ) {
    110643       return _emscripten_memcpy_big(dest|0, src|0, num|0)|0;
    110644     }
    110645 
    110646     ret = dest|0;
    110647     dest_end = (dest + num)|0;
    110648     if ((dest&3) == (src&3)) {
    110649       // The initial unaligned < 4-byte front.
    110650       while (dest & 3) {
    110651         if ((num|0) == 0) return ret|0;
    110652         HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
    110653         dest = (dest+1)|0;
    110654         src = (src+1)|0;
    110655         num = (num-1)|0;
    110656       }
    110657       aligned_dest_end = (dest_end & -4)|0;
    110658       block_aligned_dest_end = (aligned_dest_end - 64)|0;
    110659       while ((dest|0) <= (block_aligned_dest_end|0) ) {
    110660         HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
    110661         HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0);
    110662         HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0);
    110663         HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0);
    110664         HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0);
    110665         HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0);
    110666         HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0);
    110667         HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0);
    110668         HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0);
    110669         HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0);
    110670         HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0);
    110671         HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0);
    110672         HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0);
    110673         HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0);
    110674         HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0);
    110675         HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0);
    110676         dest = (dest+64)|0;
    110677         src = (src+64)|0;
    110678       }
    110679       while ((dest|0) < (aligned_dest_end|0) ) {
    110680         HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
    110681         dest = (dest+4)|0;
    110682         src = (src+4)|0;
    110683       }
    110684     } else {
    110685       // In the unaligned copy case, unroll a bit as well.
    110686       aligned_dest_end = (dest_end - 4)|0;
    110687       while ((dest|0) < (aligned_dest_end|0) ) {
    110688         HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
    110689         HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0);
    110690         HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0);
    110691         HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0);
    110692         dest = (dest+4)|0;
    110693         src = (src+4)|0;
    110694       }
    110695     }
    110696     // The remaining unaligned < 4 byte tail.
    110697     while ((dest|0) < (dest_end|0)) {
    110698       HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
    110699       dest = (dest+1)|0;
    110700       src = (src+1)|0;
    110701     }
    110702     return ret|0;
    110703 }
    110704 function _memmove(dest, src, num) {
    110705     dest = dest|0; src = src|0; num = num|0;
    110706     var ret = 0;
    110707     if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) {
    110708       // Unlikely case: Copy backwards in a safe manner
    110709       ret = dest;
    110710       src = (src + num)|0;
    110711       dest = (dest + num)|0;
    110712       while ((num|0) > 0) {
    110713         dest = (dest - 1)|0;
    110714         src = (src - 1)|0;
    110715         num = (num - 1)|0;
    110716         HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
    110717       }
    110718       dest = ret;
    110719     } else {
    110720       _memcpy(dest, src, num) | 0;
    110721     }
    110722     return dest | 0;
    110723 }
    110724 function ___uremdi3($a$0, $a$1, $b$0, $b$1) {
    110725     $a$0 = $a$0 | 0;
    110726     $a$1 = $a$1 | 0;
    110727     $b$0 = $b$0 | 0;
    110728     $b$1 = $b$1 | 0;
    110729     var $rem = 0, __stackBase__ = 0;
    110730     __stackBase__ = STACKTOP;
    110731     STACKTOP = STACKTOP + 16 | 0;
    110732     $rem = __stackBase__ | 0;
    110733     ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0;
    110734     STACKTOP = __stackBase__;
    110735     return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0;
    110736 }
    110737 
    110738  
    110739 function dynCall_iiii(index,a1,a2,a3) {
    110740   index = index|0;
    110741   a1=a1|0; a2=a2|0; a3=a3|0;
    110742   return FUNCTION_TABLE_iiii[index&511](a1|0,a2|0,a3|0)|0;
    110743 }
    110744 
    110745 
    110746 function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) {
    110747   index = index|0;
    110748   a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0;
    110749   FUNCTION_TABLE_viiiiiii[index&255](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0);
    110750 }
    110751 
    110752 
    110753 function dynCall_viiiii(index,a1,a2,a3,a4,a5) {
    110754   index = index|0;
    110755   a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0;
    110756   FUNCTION_TABLE_viiiii[index&255](a1|0,a2|0,a3|0,a4|0,a5|0);
    110757 }
    110758 
    110759 
    110760 function dynCall_vi(index,a1) {
    110761   index = index|0;
    110762   a1=a1|0;
    110763   FUNCTION_TABLE_vi[index&511](a1|0);
    110764 }
    110765 
    110766 
    110767 function dynCall_vii(index,a1,a2) {
    110768   index = index|0;
    110769   a1=a1|0; a2=a2|0;
    110770   FUNCTION_TABLE_vii[index&511](a1|0,a2|0);
    110771 }
    110772 
    110773 
    110774 function dynCall_ii(index,a1) {
    110775   index = index|0;
    110776   a1=a1|0;
    110777   return FUNCTION_TABLE_ii[index&255](a1|0)|0;
    110778 }
    110779 
    110780 
    110781 function dynCall_viii(index,a1,a2,a3) {
    110782   index = index|0;
    110783   a1=a1|0; a2=a2|0; a3=a3|0;
    110784   FUNCTION_TABLE_viii[index&511](a1|0,a2|0,a3|0);
    110785 }
    110786 
    110787 
    110788 function dynCall_iiiii(index,a1,a2,a3,a4) {
    110789   index = index|0;
    110790   a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
    110791   return FUNCTION_TABLE_iiiii[index&255](a1|0,a2|0,a3|0,a4|0)|0;
    110792 }
    110793 
    110794 
    110795 function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) {
    110796   index = index|0;
    110797   a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0;
    110798   FUNCTION_TABLE_viiiiii[index&255](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0);
    110799 }
    110800 
    110801 
    110802 function dynCall_iii(index,a1,a2) {
    110803   index = index|0;
    110804   a1=a1|0; a2=a2|0;
    110805   return FUNCTION_TABLE_iii[index&255](a1|0,a2|0)|0;
    110806 }
    110807 
    110808 
    110809 function dynCall_viiii(index,a1,a2,a3,a4) {
    110810   index = index|0;
    110811   a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
    110812   FUNCTION_TABLE_viiii[index&255](a1|0,a2|0,a3|0,a4|0);
    110813 }
    110814 
    110815 function b0(p0,p1,p2) {
    110816  p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(0);return 0;
    110817 }
    110818 function b1(p0,p1,p2,p3,p4,p5,p6) {
    110819  p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(1);
    110820 }
    110821 function b2(p0,p1,p2,p3,p4) {
    110822  p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(2);
    110823 }
    110824 function b3(p0) {
    110825  p0 = p0|0; nullFunc_vi(3);
    110826 }
    110827 function b4(p0,p1) {
    110828  p0 = p0|0;p1 = p1|0; nullFunc_vii(4);
    110829 }
    110830 function _emscripten_longjmp__wrapper(p0,p1) {
    110831  p0 = p0|0;p1 = p1|0; _emscripten_longjmp(p0|0,p1|0);
    110832 }
    110833 function b5(p0) {
    110834  p0 = p0|0; nullFunc_ii(5);return 0;
    110835 }
    110836 function b6(p0,p1,p2) {
    110837  p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(6);
    110838 }
    110839 function b7(p0,p1,p2,p3) {
    110840  p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_iiiii(7);return 0;
    110841 }
    110842 function b8(p0,p1,p2,p3,p4,p5) {
    110843  p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(8);
    110844 }
    110845 function b9(p0,p1) {
    110846  p0 = p0|0;p1 = p1|0; nullFunc_iii(9);return 0;
    110847 }
    110848 function b10(p0,p1,p2,p3) {
    110849  p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(10);
    110850 }
    110851 
    110852 // EMSCRIPTEN_END_FUNCS
    110853 var FUNCTION_TABLE_iiii = [b0,b0,___stdio_write,___stdio_seek,___stdio_read,___stdout_write,_sn_write,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110854 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110855 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110856 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110857 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,_mrb_method_search_vm,_mrb_intern_static,b0,b0,b0,b0,b0,b0,b0,b0
    110858 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,_mrb_realloc,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110859 ,b0,b0,_mrb_int_add_overflow_434,b0,_mrb_int_sub_overflow_435,b0,_mrb_obj_eq,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,_mrb_vm_define_module,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110860 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110861 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110862 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110863 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110864 ,b0,_scope_new,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110865 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110866 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110867 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110868 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110869 ,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
    110870 ,b0,b0,b0];
    110871 var FUNCTION_TABLE_viiiiiii = [b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
    110872 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
    110873 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
    110874 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
    110875 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,_mrb_funcall_with_block,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
    110876 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
    110877 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
    110878 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
    110879 ,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1];
    110880 var FUNCTION_TABLE_viiiii = [b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
    110881 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
    110882 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
    110883 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
    110884 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
    110885 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
    110886 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,_mrb_range_new,b2,b2,b2,b2,b2,b2,b2,b2
    110887 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
    110888 ,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2];
    110889 var FUNCTION_TABLE_vi = [b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110890 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110891 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110892 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110893 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_cipop,b3,_stack_init,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110894 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_mrb_nil_value_419,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110895 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110896 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110897 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110898 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110899 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110900 ,b3,b3,b3,b3,_mrb_pool_close,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110901 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110902 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110903 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110904 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110905 ,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
    110906 ,b3,b3,b3];
    110907 var FUNCTION_TABLE_vii = [b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110908 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110909 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110910 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110911 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_mrb_obj_value_420,b4,b4,_mrb_fixnum_value_421,b4,b4,b4,b4,b4,b4,_mrb_symbol_value_425,b4,b4,_mrb_gc_arena_restore,b4,_mrb_gc_protect
    110912 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_mrb_write_barrier,b4,b4,_ecall,b4,b4,b4,b4,b4,b4,b4,b4,_argnum_error,b4,b4,_emscripten_longjmp__wrapper,b4,_localjump_error,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_parser_init_cxt,b4,b4,_parser_update_cxt,b4,_yyerror,b4
    110913 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110914 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110915 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110916 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110917 ,b4,b4,b4,_mrb_irep_decref,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110918 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110919 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110920 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110921 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110922 ,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
    110923 ,b4,b4,b4];
    110924 var FUNCTION_TABLE_ii = [b5,___stdio_close,b5,b5,b5,b5,b5,_partial_hook,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
    110925 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
    110926 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
    110927 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
    110928 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_cipush,b5,b5,b5,_mrb_gc_arena_save,b5,b5,b5
    110929 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
    110930 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_yyparse,_new_nil,b5,b5,b5,b5
    110931 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
    110932 ,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5];
    110933 var FUNCTION_TABLE_viii = [b6,b6,b6,b6,b6,b6,b6,b6,_gc_start,_gc_enable,_gc_disable,_gc_interval_ratio_get,_gc_interval_ratio_set,_gc_step_ratio_get,_gc_step_ratio_set,_gc_generational_mode_set,_gc_generational_mode_get,_mrb_hash_aget,_mrb_hash_aset,_mrb_hash_clear,_mrb_hash_default,_mrb_hash_set_default,_mrb_hash_default_proc,_mrb_hash_set_default_proc,_mrb_hash_delete,_mrb_hash_empty_p,_mrb_hash_has_key,_mrb_hash_has_value,_mrb_hash_init
    110934 ,_mrb_hash_keys,_mrb_hash_size_m,_mrb_hash_shift,_mrb_hash_dup,_mrb_hash_values,_mrb_hash_to_hash,_num_pow,_num_div,_num_cmp,_int_to_i,_fix_plus,_fix_minus,_fix_mul,_fix_mod,_fix_equal,_fix_rev,_fix_and,_fix_or,_fix_xor,_fix_lshift,_fix_rshift,_fix_eql,_flo_hash,_fix_to_f,_fix_to_s,_fix_divmod,_flo_plus,_flo_minus,_flo_mul,_flo_mod
    110935 ,_flo_eq,_flo_ceil,_flo_finite_p,_flo_floor,_flo_infinite_p,_flo_round,_flo_to_f,_flo_truncate,_flo_divmod,_flo_eql,_flo_to_s,_flo_nan_p,_false_and,_false_xor,_false_or,_mrb_true,_nil_to_s,_nil_inspect,_true_and,_true_xor,_true_to_s,_true_or,_false_to_s,b6,_inspect_main,_mrb_str_bytesize,_mrb_str_cmp_m,_mrb_str_equal_m,_mrb_str_plus_m,_mrb_str_times
    110936 ,_mrb_str_aref_m,_mrb_str_capitalize,_mrb_str_capitalize_bang,_mrb_str_chomp,_mrb_str_chomp_bang,_mrb_str_chop,_mrb_str_chop_bang,_mrb_str_downcase,_mrb_str_downcase_bang,_mrb_str_empty_p,_mrb_str_eql,_mrb_str_hash_m,_mrb_str_include,_mrb_str_index,_mrb_str_init,_mrb_str_replace,_mrb_str_intern,_mrb_str_size,_mrb_str_reverse,_mrb_str_reverse_bang,_mrb_str_rindex,_mrb_str_split_m,_mrb_str_to_f,_mrb_str_to_i,_mrb_str_to_s,_mrb_str_upcase,_mrb_str_upcase_bang,_mrb_str_inspect,_mrb_str_bytes,_mrb_str_freeze
    110937 ,_sym_equal,_mrb_sym_to_s,_sym_to_sym,_sym_inspect,_sym_cmp,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_stack_extend,b6,_stack_copy,b6,b6,b6,b6
    110938 ,_mrb_gv_get,_mrb_gv_set,_mrb_vm_special_get,_mrb_vm_special_set,_mrb_vm_iv_get,_mrb_vm_iv_set,_mrb_vm_cv_get,_mrb_vm_cv_set,_mrb_vm_const_get,_mrb_vm_const_set,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_value_move,b6,b6,_mrb_ary_new_capa,b6,b6,_mrb_cptr_value,b6,b6
    110939 ,b6,b6,b6,b6,b6,b6,b6,_mrb_ary_splat,_mrb_ary_concat,_mrb_ary_push,b6,b6,_mrb_str_dup,_mrb_str_concat,_mrb_hash_new_capa,b6,b6,b6,b6,b6,_mrb_singleton_class,b6,b6,b6,b6,b6,b6,_mrb_parser_dump,b6,_mrb_ary_s_create
    110940 ,_mrb_ary_plus,_mrb_ary_times,_mrb_ary_push_m,_mrb_ary_aget,_mrb_ary_aset,_mrb_ary_clear,_mrb_ary_concat_m,_mrb_ary_delete_at,_mrb_ary_empty_p,_mrb_ary_first,_mrb_ary_index_m,_mrb_ary_replace_m,_mrb_ary_join_m,_mrb_ary_last,_mrb_ary_size,_mrb_ary_pop,_mrb_ary_reverse,_mrb_ary_reverse_bang,_mrb_ary_rindex_m,_mrb_ary_shift,_mrb_ary_unshift_m,_mrb_ary_eq,_mrb_ary_cmp,_get_backtrace_i,_mrb_bob_init,_mrb_bob_not,_mrb_bob_missing,_mrb_class_new_class,_mrb_class_superclass,_mrb_instance_new
    110941 ,_mrb_class_initialize,_mrb_mod_cvar_defined,_mrb_mod_cvar_get,_mrb_mod_cvar_set,_mrb_mod_extend_object,_mrb_mod_prepend,_mrb_mod_prepend_features,_mrb_mod_include,_mrb_mod_include_p,_mrb_mod_append_features,_mrb_mod_module_eval,_mrb_mod_included_modules,_mrb_mod_initialize,_mrb_mod_instance_methods,_mrb_mod_method_defined,_mrb_mod_module_function,_mrb_mod_dummy_visibility,_mrb_mod_remove_cvar,_mrb_mod_remove_method,_mrb_mod_attr_reader,_mrb_mod_attr_writer,_mrb_mod_to_s,_mrb_mod_alias,_mrb_mod_ancestors,_mrb_mod_undef,_mrb_mod_const_defined,_mrb_mod_const_get,_mrb_mod_const_set,_mrb_mod_constants,_mrb_mod_remove_const
    110942 ,_mrb_mod_const_missing,_mod_define_method,_mrb_mod_class_variables,_mrb_mod_eqq,_mrb_mod_s_constants,_attr_reader,_attr_writer,_exc_exception,_exc_initialize,_exc_to_s,_exc_message,_exc_inspect,_mrb_exc_backtrace,_mrb_any_to_s,_mrb_f_block_given_p_m,_mrb_f_global_variables,_mrb_local_variables,_mrb_f_raise,_mrb_obj_equal_m,_mrb_obj_not_equal_m,_mrb_equal_m,_mrb_obj_id_m,_mrb_f_send,_mrb_obj_class_m,_mrb_obj_clone,_mrb_obj_dup,_mrb_obj_extend_m,_mrb_obj_hash,_mrb_obj_init_copy,_mrb_obj_inspect
    110943 ,_mrb_obj_instance_eval,_obj_is_instance_of,_mrb_obj_ivar_defined,_mrb_obj_ivar_get,_mrb_obj_ivar_set,_mrb_obj_instance_variables,_mrb_obj_is_kind_of_m,_mrb_obj_methods_m,_mrb_false,_mrb_obj_private_methods,_mrb_obj_protected_methods,_mrb_obj_public_methods,_mrb_obj_remove_instance_variable,_obj_respond_to,_mrb_obj_singleton_methods_m,_mod_define_singleton_method,_mrb_obj_ceqq,_mrb_proc_initialize,_mrb_proc_init_copy,_mrb_proc_arity,_proc_lambda,_mrb_range_beg,_mrb_range_end,_mrb_range_eq,_mrb_range_include,_mrb_range_excl,_mrb_range_initialize,_range_to_s,_range_inspect,_range_eql
    110944 ,_range_initialize_copy,b6,_codegen,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
    110945 ,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
    110946 ,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
    110947 ,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
    110948 ,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
    110949 ,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
    110950 ,b6,b6,b6];
    110951 var FUNCTION_TABLE_iiiii = [b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
    110952 ,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
    110953 ,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,_mrb_default_allocf,b7,b7,b7,b7,b7,b7
    110954 ,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
    110955 ,b7,b7,b7,b7,b7,_iv_mark_i,_inspect_i,_iv_i,_cv_i,_const_i,_gv_i,_csym_i,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
    110956 ,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
    110957 ,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,_mrb_vm_define_class,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
    110958 ,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
    110959 ,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7];
    110960 var FUNCTION_TABLE_viiiiii = [b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
    110961 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
    110962 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
    110963 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
    110964 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
    110965 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,_mrb_convert_type,b8,b8,b8,b8
    110966 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
    110967 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
    110968 ,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8];
    110969 var FUNCTION_TABLE_iii = [b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
    110970 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
    110971 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
    110972 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
    110973 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,_mrb_class_get,b9,b9,_mrb_class_423,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
    110974 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,_uvenv,b9,b9,b9,_mrb_closure_new,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
    110975 ,_top_env,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,_mrb_proc_new,b9,b9,b9,b9,b9,_printf,b9,b9,b9,b9,b9,b9,b9
    110976 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
    110977 ,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9];
    110978 var FUNCTION_TABLE_viiii = [b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
    110979 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
    110980 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
    110981 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
    110982 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,_mrb_raisef,b10,b10,b10,b10,b10,b10,b10,b10,b10,_mrb_run,b10
    110983 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,_mrb_const_get,_mrb_const_set,b10,b10,b10,b10,b10,b10,_mrb_ary_new_from_values,_mrb_method_missing,_mrb_ary_unshift,b10,_mrb_str_new_static,_mrb_exc_new_str,b10,b10,b10,b10,_mrb_obj_iv_ifnone,b10
    110984 ,b10,b10,b10,_mrb_str_plus,b10,_mrb_fixnum_mul,b10,b10,b10,b10,_mrb_ary_ref,_mrb_ary_set,b10,b10,b10,_mrb_hash_set,b10,b10,b10,_mrb_define_method_raw,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
    110985 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
    110986 ,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10];
    110987 
    110988   return { _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _realloc: _realloc, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _testSetjmp: _testSetjmp, _saveSetjmp: _saveSetjmp, _free: _free, _memmove: _memmove, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiii: dynCall_viiiii, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_viiii: dynCall_viiii };
    110989 })
    110990 // EMSCRIPTEN_END_ASM
    110991 (Module.asmGlobalArg, Module.asmLibraryArg, buffer);
    110992 
    110993 var real__main = asm["_main"]; asm["_main"] = function() {
    110994 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    110995 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    110996 return real__main.apply(null, arguments);
    110997 };
    110998 
    110999 var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() {
    111000 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111001 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111002 return real_stackSave.apply(null, arguments);
    111003 };
    111004 
    111005 var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() {
    111006 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111007 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111008 return real_getTempRet0.apply(null, arguments);
    111009 };
    111010 
    111011 var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() {
    111012 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111013 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111014 return real__llvm_cttz_i32.apply(null, arguments);
    111015 };
    111016 
    111017 var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() {
    111018 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111019 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111020 return real_setThrew.apply(null, arguments);
    111021 };
    111022 
    111023 var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() {
    111024 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111025 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111026 return real__bitshift64Lshr.apply(null, arguments);
    111027 };
    111028 
    111029 var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() {
    111030 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111031 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111032 return real__bitshift64Shl.apply(null, arguments);
    111033 };
    111034 
    111035 var real__fflush = asm["_fflush"]; asm["_fflush"] = function() {
    111036 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111037 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111038 return real__fflush.apply(null, arguments);
    111039 };
    111040 
    111041 var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() {
    111042 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111043 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111044 return real__sbrk.apply(null, arguments);
    111045 };
    111046 
    111047 var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() {
    111048 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111049 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111050 return real__llvm_bswap_i32.apply(null, arguments);
    111051 };
    111052 
    111053 var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() {
    111054 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111055 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111056 return real____muldi3.apply(null, arguments);
    111057 };
    111058 
    111059 var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() {
    111060 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111061 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111062 return real____uremdi3.apply(null, arguments);
    111063 };
    111064 
    111065 var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() {
    111066 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111067 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111068 return real_stackAlloc.apply(null, arguments);
    111069 };
    111070 
    111071 var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() {
    111072 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111073 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111074 return real__i64Subtract.apply(null, arguments);
    111075 };
    111076 
    111077 var real____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = function() {
    111078 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111079 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111080 return real____udivmoddi4.apply(null, arguments);
    111081 };
    111082 
    111083 var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() {
    111084 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111085 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111086 return real_setTempRet0.apply(null, arguments);
    111087 };
    111088 
    111089 var real__realloc = asm["_realloc"]; asm["_realloc"] = function() {
    111090 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111091 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111092 return real__realloc.apply(null, arguments);
    111093 };
    111094 
    111095 var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() {
    111096 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111097 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111098 return real__i64Add.apply(null, arguments);
    111099 };
    111100 
    111101 var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() {
    111102 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111103 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111104 return real__emscripten_get_global_libc.apply(null, arguments);
    111105 };
    111106 
    111107 var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() {
    111108 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111109 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111110 return real____udivdi3.apply(null, arguments);
    111111 };
    111112 
    111113 var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() {
    111114 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111115 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111116 return real____errno_location.apply(null, arguments);
    111117 };
    111118 
    111119 var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() {
    111120 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111121 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111122 return real____muldsi3.apply(null, arguments);
    111123 };
    111124 
    111125 var real__testSetjmp = asm["_testSetjmp"]; asm["_testSetjmp"] = function() {
    111126 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111127 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111128 return real__testSetjmp.apply(null, arguments);
    111129 };
    111130 
    111131 var real__saveSetjmp = asm["_saveSetjmp"]; asm["_saveSetjmp"] = function() {
    111132 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111133 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111134 return real__saveSetjmp.apply(null, arguments);
    111135 };
    111136 
    111137 var real__free = asm["_free"]; asm["_free"] = function() {
    111138 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111139 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111140 return real__free.apply(null, arguments);
    111141 };
    111142 
    111143 var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() {
    111144 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111145 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111146 return real_establishStackSpace.apply(null, arguments);
    111147 };
    111148 
    111149 var real__memmove = asm["_memmove"]; asm["_memmove"] = function() {
    111150 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111151 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111152 return real__memmove.apply(null, arguments);
    111153 };
    111154 
    111155 var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() {
    111156 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111157 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111158 return real_stackRestore.apply(null, arguments);
    111159 };
    111160 
    111161 var real__malloc = asm["_malloc"]; asm["_malloc"] = function() {
    111162 assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
    111163 assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
    111164 return real__malloc.apply(null, arguments);
    111165 };
    111166 var _main = Module["_main"] = asm["_main"];
    111167 var stackSave = Module["stackSave"] = asm["stackSave"];
    111168 var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"];
    111169 var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"];
    111170 var setThrew = Module["setThrew"] = asm["setThrew"];
    111171 var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
    111172 var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
    111173 var _fflush = Module["_fflush"] = asm["_fflush"];
    111174 var _memset = Module["_memset"] = asm["_memset"];
    111175 var _sbrk = Module["_sbrk"] = asm["_sbrk"];
    111176 var _memcpy = Module["_memcpy"] = asm["_memcpy"];
    111177 var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
    111178 var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
    111179 var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"];
    111180 var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
    111181 var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
    111182 var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"];
    111183 var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"];
    111184 var _realloc = Module["_realloc"] = asm["_realloc"];
    111185 var _i64Add = Module["_i64Add"] = asm["_i64Add"];
    111186 var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"];
    111187 var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
    111188 var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
    111189 var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"];
    111190 var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"];
    111191 var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"];
    111192 var _free = Module["_free"] = asm["_free"];
    111193 var runPostSets = Module["runPostSets"] = asm["runPostSets"];
    111194 var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
    111195 var _memmove = Module["_memmove"] = asm["_memmove"];
    111196 var stackRestore = Module["stackRestore"] = asm["stackRestore"];
    111197 var _malloc = Module["_malloc"] = asm["_malloc"];
    111198 var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
    111199 var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"];
    111200 var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
    111201 var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
    111202 var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
    111203 var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
    111204 var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
    111205 var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
    111206 var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];
    111207 var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
    111208 var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
    111209 ;
    111210 
    111211 Runtime.stackAlloc = Module['stackAlloc'];
    111212 Runtime.stackSave = Module['stackSave'];
    111213 Runtime.stackRestore = Module['stackRestore'];
    111214 Runtime.establishStackSpace = Module['establishStackSpace'];
    111215 
    111216 Runtime.setTempRet0 = Module['setTempRet0'];
    111217 Runtime.getTempRet0 = Module['getTempRet0'];
     5625    stackRestore(sp);
     5626    if (e !== e+0 && e !== 'longjmp') throw e;
     5627    _setThrew(1, 0);
     5628  }
     5629}
     5630
    1112185631
    1112195632
     
    1112215634// === Auto-generated postamble setup entry stuff ===
    1112225635
    111223 Module['asm'] = asm;
    111224 
    111225 
    111226 
    111227 
    111228 
     5636
     5637if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5638if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5639if (!Object.getOwnPropertyDescriptor(Module, "ccall")) Module["ccall"] = function() { abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5640if (!Object.getOwnPropertyDescriptor(Module, "cwrap")) Module["cwrap"] = function() { abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5641if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5642if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5643if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5644Module["getMemory"] = getMemory;
     5645if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5646if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5647if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5648if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5649if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5650if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5651if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5652if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5653if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5654if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5655if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5656if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5657if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5658if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5659Module["addRunDependency"] = addRunDependency;
     5660Module["removeRunDependency"] = removeRunDependency;
     5661Module["FS_createFolder"] = FS.createFolder;
     5662Module["FS_createPath"] = FS.createPath;
     5663Module["FS_createDataFile"] = FS.createDataFile;
     5664Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
     5665Module["FS_createLazyFile"] = FS.createLazyFile;
     5666Module["FS_createLink"] = FS.createLink;
     5667Module["FS_createDevice"] = FS.createDevice;
     5668Module["FS_unlink"] = FS.unlink;
     5669if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5670if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5671if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5672if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5673if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5674if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5675if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5676if (!Object.getOwnPropertyDescriptor(Module, "addFunction")) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5677if (!Object.getOwnPropertyDescriptor(Module, "removeFunction")) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5678if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5679if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5680if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5681if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5682if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5683if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5684if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5685if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5686if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5687if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5688if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5689if (!Object.getOwnPropertyDescriptor(Module, "stringToNewUTF8")) Module["stringToNewUTF8"] = function() { abort("'stringToNewUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5690if (!Object.getOwnPropertyDescriptor(Module, "abortOnCannotGrowMemory")) Module["abortOnCannotGrowMemory"] = function() { abort("'abortOnCannotGrowMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5691if (!Object.getOwnPropertyDescriptor(Module, "emscripten_realloc_buffer")) Module["emscripten_realloc_buffer"] = function() { abort("'emscripten_realloc_buffer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5692if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5693if (!Object.getOwnPropertyDescriptor(Module, "ERRNO_CODES")) Module["ERRNO_CODES"] = function() { abort("'ERRNO_CODES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5694if (!Object.getOwnPropertyDescriptor(Module, "ERRNO_MESSAGES")) Module["ERRNO_MESSAGES"] = function() { abort("'ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5695if (!Object.getOwnPropertyDescriptor(Module, "setErrNo")) Module["setErrNo"] = function() { abort("'setErrNo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5696if (!Object.getOwnPropertyDescriptor(Module, "DNS")) Module["DNS"] = function() { abort("'DNS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5697if (!Object.getOwnPropertyDescriptor(Module, "GAI_ERRNO_MESSAGES")) Module["GAI_ERRNO_MESSAGES"] = function() { abort("'GAI_ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5698if (!Object.getOwnPropertyDescriptor(Module, "Protocols")) Module["Protocols"] = function() { abort("'Protocols' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5699if (!Object.getOwnPropertyDescriptor(Module, "Sockets")) Module["Sockets"] = function() { abort("'Sockets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5700if (!Object.getOwnPropertyDescriptor(Module, "UNWIND_CACHE")) Module["UNWIND_CACHE"] = function() { abort("'UNWIND_CACHE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5701if (!Object.getOwnPropertyDescriptor(Module, "readAsmConstArgs")) Module["readAsmConstArgs"] = function() { abort("'readAsmConstArgs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5702if (!Object.getOwnPropertyDescriptor(Module, "jstoi_q")) Module["jstoi_q"] = function() { abort("'jstoi_q' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5703if (!Object.getOwnPropertyDescriptor(Module, "jstoi_s")) Module["jstoi_s"] = function() { abort("'jstoi_s' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5704if (!Object.getOwnPropertyDescriptor(Module, "listenOnce")) Module["listenOnce"] = function() { abort("'listenOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5705if (!Object.getOwnPropertyDescriptor(Module, "autoResumeAudioContext")) Module["autoResumeAudioContext"] = function() { abort("'autoResumeAudioContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5706if (!Object.getOwnPropertyDescriptor(Module, "abortStackOverflow")) Module["abortStackOverflow"] = function() { abort("'abortStackOverflow' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5707if (!Object.getOwnPropertyDescriptor(Module, "reallyNegative")) Module["reallyNegative"] = function() { abort("'reallyNegative' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5708if (!Object.getOwnPropertyDescriptor(Module, "formatString")) Module["formatString"] = function() { abort("'formatString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5709if (!Object.getOwnPropertyDescriptor(Module, "PATH")) Module["PATH"] = function() { abort("'PATH' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5710if (!Object.getOwnPropertyDescriptor(Module, "PATH_FS")) Module["PATH_FS"] = function() { abort("'PATH_FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5711if (!Object.getOwnPropertyDescriptor(Module, "SYSCALLS")) Module["SYSCALLS"] = function() { abort("'SYSCALLS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5712if (!Object.getOwnPropertyDescriptor(Module, "syscallMmap2")) Module["syscallMmap2"] = function() { abort("'syscallMmap2' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5713if (!Object.getOwnPropertyDescriptor(Module, "syscallMunmap")) Module["syscallMunmap"] = function() { abort("'syscallMunmap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5714if (!Object.getOwnPropertyDescriptor(Module, "JSEvents")) Module["JSEvents"] = function() { abort("'JSEvents' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5715if (!Object.getOwnPropertyDescriptor(Module, "specialHTMLTargets")) Module["specialHTMLTargets"] = function() { abort("'specialHTMLTargets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5716if (!Object.getOwnPropertyDescriptor(Module, "demangle")) Module["demangle"] = function() { abort("'demangle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5717if (!Object.getOwnPropertyDescriptor(Module, "demangleAll")) Module["demangleAll"] = function() { abort("'demangleAll' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5718if (!Object.getOwnPropertyDescriptor(Module, "jsStackTrace")) Module["jsStackTrace"] = function() { abort("'jsStackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5719if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5720if (!Object.getOwnPropertyDescriptor(Module, "getEnvStrings")) Module["getEnvStrings"] = function() { abort("'getEnvStrings' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5721if (!Object.getOwnPropertyDescriptor(Module, "checkWasiClock")) Module["checkWasiClock"] = function() { abort("'checkWasiClock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5722if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64")) Module["writeI53ToI64"] = function() { abort("'writeI53ToI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5723if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64Clamped")) Module["writeI53ToI64Clamped"] = function() { abort("'writeI53ToI64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5724if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64Signaling")) Module["writeI53ToI64Signaling"] = function() { abort("'writeI53ToI64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5725if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToU64Clamped")) Module["writeI53ToU64Clamped"] = function() { abort("'writeI53ToU64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5726if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToU64Signaling")) Module["writeI53ToU64Signaling"] = function() { abort("'writeI53ToU64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5727if (!Object.getOwnPropertyDescriptor(Module, "readI53FromI64")) Module["readI53FromI64"] = function() { abort("'readI53FromI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5728if (!Object.getOwnPropertyDescriptor(Module, "readI53FromU64")) Module["readI53FromU64"] = function() { abort("'readI53FromU64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5729if (!Object.getOwnPropertyDescriptor(Module, "convertI32PairToI53")) Module["convertI32PairToI53"] = function() { abort("'convertI32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5730if (!Object.getOwnPropertyDescriptor(Module, "convertU32PairToI53")) Module["convertU32PairToI53"] = function() { abort("'convertU32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5731if (!Object.getOwnPropertyDescriptor(Module, "Browser")) Module["Browser"] = function() { abort("'Browser' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5732if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5733if (!Object.getOwnPropertyDescriptor(Module, "MEMFS")) Module["MEMFS"] = function() { abort("'MEMFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5734if (!Object.getOwnPropertyDescriptor(Module, "TTY")) Module["TTY"] = function() { abort("'TTY' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5735if (!Object.getOwnPropertyDescriptor(Module, "PIPEFS")) Module["PIPEFS"] = function() { abort("'PIPEFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5736if (!Object.getOwnPropertyDescriptor(Module, "SOCKFS")) Module["SOCKFS"] = function() { abort("'SOCKFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5737if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5738if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGet")) Module["emscriptenWebGLGet"] = function() { abort("'emscriptenWebGLGet' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5739if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetTexPixelData")) Module["emscriptenWebGLGetTexPixelData"] = function() { abort("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5740if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetUniform")) Module["emscriptenWebGLGetUniform"] = function() { abort("'emscriptenWebGLGetUniform' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5741if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetVertexAttrib")) Module["emscriptenWebGLGetVertexAttrib"] = function() { abort("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5742if (!Object.getOwnPropertyDescriptor(Module, "writeGLArray")) Module["writeGLArray"] = function() { abort("'writeGLArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5743if (!Object.getOwnPropertyDescriptor(Module, "AL")) Module["AL"] = function() { abort("'AL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5744if (!Object.getOwnPropertyDescriptor(Module, "SDL_unicode")) Module["SDL_unicode"] = function() { abort("'SDL_unicode' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5745if (!Object.getOwnPropertyDescriptor(Module, "SDL_ttfContext")) Module["SDL_ttfContext"] = function() { abort("'SDL_ttfContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5746if (!Object.getOwnPropertyDescriptor(Module, "SDL_audio")) Module["SDL_audio"] = function() { abort("'SDL_audio' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5747if (!Object.getOwnPropertyDescriptor(Module, "SDL")) Module["SDL"] = function() { abort("'SDL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5748if (!Object.getOwnPropertyDescriptor(Module, "SDL_gfx")) Module["SDL_gfx"] = function() { abort("'SDL_gfx' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5749if (!Object.getOwnPropertyDescriptor(Module, "GLUT")) Module["GLUT"] = function() { abort("'GLUT' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5750if (!Object.getOwnPropertyDescriptor(Module, "EGL")) Module["EGL"] = function() { abort("'EGL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5751if (!Object.getOwnPropertyDescriptor(Module, "GLFW_Window")) Module["GLFW_Window"] = function() { abort("'GLFW_Window' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5752if (!Object.getOwnPropertyDescriptor(Module, "GLFW")) Module["GLFW"] = function() { abort("'GLFW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5753if (!Object.getOwnPropertyDescriptor(Module, "GLEW")) Module["GLEW"] = function() { abort("'GLEW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5754if (!Object.getOwnPropertyDescriptor(Module, "IDBStore")) Module["IDBStore"] = function() { abort("'IDBStore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5755if (!Object.getOwnPropertyDescriptor(Module, "runAndAbortIfError")) Module["runAndAbortIfError"] = function() { abort("'runAndAbortIfError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5756if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5757if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5758if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5759if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5760if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5761if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5762if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5763if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5764if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5765if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5766if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5767if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5768if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5769if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8OnStack")) Module["allocateUTF8OnStack"] = function() { abort("'allocateUTF8OnStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
     5770Module["writeStackCookie"] = writeStackCookie;
     5771Module["checkStackCookie"] = checkStackCookie;if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { configurable: true, get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
     5772if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { configurable: true, get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
     5773if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { configurable: true, get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
     5774if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { configurable: true, get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
     5775
     5776
     5777
     5778var calledRun;
     5779
     5780/**
     5781 * @constructor
     5782 * @this {ExitStatus}
     5783 */
    1112295784function ExitStatus(status) {
    1112305785  this.name = "ExitStatus";
    1112315786  this.message = "Program terminated with exit(" + status + ")";
    1112325787  this.status = status;
    111233 };
    111234 ExitStatus.prototype = new Error();
    111235 ExitStatus.prototype.constructor = ExitStatus;
    111236 
    111237 var initialStackTop;
    111238 var preloadStartTime = null;
     5788}
     5789
    1112395790var calledMain = false;
     5791
    1112405792
    1112415793dependenciesFulfilled = function runCaller() {
    1112425794  // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
    111243   if (!Module['calledRun']) run();
    111244   if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
    111245 }
    111246 
    111247 Module['callMain'] = Module.callMain = function callMain(args) {
    111248   assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)');
     5795  if (!calledRun) run();
     5796  if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
     5797};
     5798
     5799function callMain(args) {
     5800  assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');
    1112495801  assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called');
    1112505802
     5803  var entryFunction = Module['_main'];
     5804
     5805
    1112515806  args = args || [];
    1112525807
    111253   ensureInitRuntime();
    111254 
    1112555808  var argc = args.length+1;
    111256   function pad() {
    111257     for (var i = 0; i < 4-1; i++) {
    111258       argv.push(0);
    111259     }
    111260   }
    111261   var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ];
    111262   pad();
    111263   for (var i = 0; i < argc-1; i = i + 1) {
    111264     argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL));
    111265     pad();
    111266   }
    111267   argv.push(0);
    111268   argv = allocate(argv, 'i32', ALLOC_NORMAL);
    111269 
     5809  var argv = stackAlloc((argc + 1) * 4);
     5810  HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram);
     5811  for (var i = 1; i < argc; i++) {
     5812    HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]);
     5813  }
     5814  HEAP32[(argv >> 2) + argc] = 0;
    1112705815
    1112715816  try {
    1112725817
    111273     var ret = Module['_main'](argc, argv, 0);
    111274 
    111275 
     5818    Module['___set_stack_limit'](STACK_MAX);
     5819
     5820    var ret = entryFunction(argc, argv);
     5821
     5822
     5823    // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as execution is asynchronously handed
     5824    // off to a pthread.
    1112765825    // if we're not running an evented main loop, it's time to exit
    111277     exit(ret, /* implicit = */ true);
     5826      exit(ret, /* implicit = */ true);
    1112785827  }
    1112795828  catch(e) {
     
    1112825831      // has been stopped completely
    1112835832      return;
    111284     } else if (e == 'SimulateInfiniteLoop') {
     5833    } else if (e == 'unwind') {
    1112855834      // running an evented main loop, don't immediately exit
    111286       Module['noExitRuntime'] = true;
     5835      noExitRuntime = true;
    1112875836      return;
    1112885837    } else {
     
    1112915840        toLog = [e, e.stack];
    1112925841      }
    111293       Module.printErr('exception thrown: ' + toLog);
    111294       Module['quit'](1, e);
     5842      err('exception thrown: ' + toLog);
     5843      quit_(1, e);
    1112955844    }
    1112965845  } finally {
     
    1113025851
    1113035852
     5853/** @type {function(Array=)} */
    1113045854function run(args) {
    111305   args = args || Module['arguments'];
    111306 
    111307   if (preloadStartTime === null) preloadStartTime = Date.now();
     5855  args = args || arguments_;
    1113085856
    1113095857  if (runDependencies > 0) {
    111310     Module.printErr('run() called, but dependencies remain, so not running');
    1113115858    return;
    1113125859  }
     
    1113175864
    1113185865  if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
    111319   if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
    1113205866
    1113215867  function doRun() {
    111322     if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
     5868    // run may have just been called through dependencies being fulfilled just in this very frame,
     5869    // or while the async setStatus time below was happening
     5870    if (calledRun) return;
     5871    calledRun = true;
    1113235872    Module['calledRun'] = true;
    1113245873
    1113255874    if (ABORT) return;
    1113265875
    111327     ensureInitRuntime();
     5876    initRuntime();
    1113285877
    1113295878    preMain();
    1113305879
    111331     if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) {
    111332       Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms');
    111333     }
    111334 
    1113355880    if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
    1113365881
    111337     if (Module['_main'] && shouldRunNow) Module['callMain'](args);
     5882    if (shouldRunNow) callMain(args);
    1113385883
    1113395884    postRun();
     
    1113485893      doRun();
    1113495894    }, 1);
    111350   } else {
     5895  } else
     5896  {
    1113515897    doRun();
    1113525898  }
    1113535899  checkStackCookie();
    1113545900}
    111355 Module['run'] = Module.run = run;
    111356 
     5901Module['run'] = run;
     5902
     5903function checkUnflushedContent() {
     5904  // Compiler settings do not allow exiting the runtime, so flushing
     5905  // the streams is not possible. but in ASSERTIONS mode we check
     5906  // if there was something to flush, and if so tell the user they
     5907  // should request that the runtime be exitable.
     5908  // Normally we would not even include flush() at all, but in ASSERTIONS
     5909  // builds we do so just for this check, and here we see if there is any
     5910  // content to flush, that is, we check if there would have been
     5911  // something a non-ASSERTIONS build would have not seen.
     5912  // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0
     5913  // mode (which has its own special function for this; otherwise, all
     5914  // the code is inside libc)
     5915  var print = out;
     5916  var printErr = err;
     5917  var has = false;
     5918  out = err = function(x) {
     5919    has = true;
     5920  }
     5921  try { // it doesn't matter if it fails
     5922    var flush = Module['_fflush'];
     5923    if (flush) flush(0);
     5924    // also flush in the JS FS layer
     5925    ['stdout', 'stderr'].forEach(function(name) {
     5926      var info = FS.analyzePath('/dev/' + name);
     5927      if (!info) return;
     5928      var stream = info.object;
     5929      var rdev = stream.rdev;
     5930      var tty = TTY.ttys[rdev];
     5931      if (tty && tty.output && tty.output.length) {
     5932        has = true;
     5933      }
     5934    });
     5935  } catch(e) {}
     5936  out = print;
     5937  err = printErr;
     5938  if (has) {
     5939    warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.');
     5940  }
     5941}
     5942
     5943/** @param {boolean|number=} implicit */
    1113575944function exit(status, implicit) {
    111358   if (implicit && Module['noExitRuntime']) {
    111359     Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)');
     5945  checkUnflushedContent();
     5946
     5947  // if this is just main exit-ing implicitly, and the status is 0, then we
     5948  // don't need to do anything here and can just leave. if the status is
     5949  // non-zero, though, then we need to report it.
     5950  // (we may have warned about this earlier, if a situation justifies doing so)
     5951  if (implicit && noExitRuntime && status === 0) {
    1113605952    return;
    1113615953  }
    1113625954
    111363   if (Module['noExitRuntime']) {
    111364     Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)');
     5955  if (noExitRuntime) {
     5956    // if exit() was called, we may warn the user if the runtime isn't actually being shut down
     5957    if (!implicit) {
     5958      var msg = 'program exited (with status: ' + status + '), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)';
     5959      err(msg);
     5960    }
    1113655961  } else {
    1113665962
    1113675963    ABORT = true;
    1113685964    EXITSTATUS = status;
    111369     STACKTOP = initialStackTop;
    1113705965
    1113715966    exitRuntime();
     
    1113745969  }
    1113755970
    111376   if (ENVIRONMENT_IS_NODE) {
    111377     process['exit'](status);
    111378   }
    111379   Module['quit'](status, new ExitStatus(status));
    111380 }
    111381 Module['exit'] = Module.exit = exit;
    111382 
    111383 var abortDecorators = [];
    111384 
    111385 function abort(what) {
    111386   if (what !== undefined) {
    111387     Module.print(what);
    111388     Module.printErr(what);
    111389     what = JSON.stringify(what)
    111390   } else {
    111391     what = '';
    111392   }
    111393 
    111394   ABORT = true;
    111395   EXITSTATUS = 1;
    111396 
    111397   var extra = '';
    111398 
    111399   var output = 'abort(' + what + ') at ' + stackTrace() + extra;
    111400   if (abortDecorators) {
    111401     abortDecorators.forEach(function(decorator) {
    111402       output = decorator(output, what);
    111403     });
    111404   }
    111405   throw output;
    111406 }
    111407 Module['abort'] = Module.abort = abort;
    111408 
    111409 // {{PRE_RUN_ADDITIONS}}
     5971  quit_(status, new ExitStatus(status));
     5972}
    1114105973
    1114115974if (Module['preInit']) {
     
    1114185981// shouldRunNow refers to calling main(), not run().
    1114195982var shouldRunNow = true;
    111420 if (Module['noInitialRun']) {
    111421   shouldRunNow = false;
    111422 }
    111423 
     5983
     5984if (Module['noInitialRun']) shouldRunNow = false;
     5985
     5986
     5987  noExitRuntime = true;
    1114245988
    1114255989run();
    1114265990
    111427 // {{POST_RUN_ADDITIONS}}
    1114285991
    1114295992
Note: See TracChangeset for help on using the changeset viewer.