You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					324 lines
				
				10 KiB
			
		
		
			
		
	
	
					324 lines
				
				10 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								var illegalop = "illegal";
							 | 
						||
| 
								 | 
							
								var magicModuleHeader = [0x00, 0x61, 0x73, 0x6d];
							 | 
						||
| 
								 | 
							
								var moduleVersion = [0x01, 0x00, 0x00, 0x00];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function invertMap(obj) {
							 | 
						||
| 
								 | 
							
								  var keyModifierFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (k) {
							 | 
						||
| 
								 | 
							
								    return k;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  var result = {};
							 | 
						||
| 
								 | 
							
								  var keys = Object.keys(obj);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (var i = 0, length = keys.length; i < length; i++) {
							 | 
						||
| 
								 | 
							
								    result[keyModifierFn(obj[keys[i]])] = keys[i];
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return result;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function createSymbolObject(name
							 | 
						||
| 
								 | 
							
								/*: string */
							 | 
						||
| 
								 | 
							
								, object
							 | 
						||
| 
								 | 
							
								/*: string */
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								/*: Symbol*/
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  var numberOfArgs
							 | 
						||
| 
								 | 
							
								  /*: number*/
							 | 
						||
| 
								 | 
							
								  = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
							 | 
						||
| 
								 | 
							
								  return {
							 | 
						||
| 
								 | 
							
								    name: name,
							 | 
						||
| 
								 | 
							
								    object: object,
							 | 
						||
| 
								 | 
							
								    numberOfArgs: numberOfArgs
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function createSymbol(name
							 | 
						||
| 
								 | 
							
								/*: string */
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								/*: Symbol*/
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  var numberOfArgs
							 | 
						||
| 
								 | 
							
								  /*: number*/
							 | 
						||
| 
								 | 
							
								  = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
							 | 
						||
| 
								 | 
							
								  return {
							 | 
						||
| 
								 | 
							
								    name: name,
							 | 
						||
| 
								 | 
							
								    numberOfArgs: numberOfArgs
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var types = {
							 | 
						||
| 
								 | 
							
								  func: 0x60,
							 | 
						||
| 
								 | 
							
								  result: 0x40
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var exportTypes = {
							 | 
						||
| 
								 | 
							
								  0x00: "Func",
							 | 
						||
| 
								 | 
							
								  0x01: "Table",
							 | 
						||
| 
								 | 
							
								  0x02: "Mem",
							 | 
						||
| 
								 | 
							
								  0x03: "Global"
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var exportTypesByName = invertMap(exportTypes);
							 | 
						||
| 
								 | 
							
								var valtypes = {
							 | 
						||
| 
								 | 
							
								  0x7f: "i32",
							 | 
						||
| 
								 | 
							
								  0x7e: "i64",
							 | 
						||
| 
								 | 
							
								  0x7d: "f32",
							 | 
						||
| 
								 | 
							
								  0x7c: "f64",
							 | 
						||
| 
								 | 
							
								  0x7b: "v128"
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var valtypesByString = invertMap(valtypes);
							 | 
						||
| 
								 | 
							
								var tableTypes = {
							 | 
						||
| 
								 | 
							
								  0x70: "anyfunc"
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var blockTypes = Object.assign({}, valtypes, {
							 | 
						||
| 
								 | 
							
								  // https://webassembly.github.io/spec/core/binary/types.html#binary-blocktype
							 | 
						||
| 
								 | 
							
								  0x40: null,
							 | 
						||
| 
								 | 
							
								  // https://webassembly.github.io/spec/core/binary/types.html#binary-valtype
							 | 
						||
| 
								 | 
							
								  0x7f: "i32",
							 | 
						||
| 
								 | 
							
								  0x7e: "i64",
							 | 
						||
| 
								 | 
							
								  0x7d: "f32",
							 | 
						||
| 
								 | 
							
								  0x7c: "f64"
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								var globalTypes = {
							 | 
						||
| 
								 | 
							
								  0x00: "const",
							 | 
						||
| 
								 | 
							
								  0x01: "var"
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var globalTypesByString = invertMap(globalTypes);
							 | 
						||
| 
								 | 
							
								var importTypes = {
							 | 
						||
| 
								 | 
							
								  0x00: "func",
							 | 
						||
| 
								 | 
							
								  0x01: "table",
							 | 
						||
| 
								 | 
							
								  0x02: "mem",
							 | 
						||
| 
								 | 
							
								  0x03: "global"
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var sections = {
							 | 
						||
| 
								 | 
							
								  custom: 0,
							 | 
						||
| 
								 | 
							
								  type: 1,
							 | 
						||
| 
								 | 
							
								  import: 2,
							 | 
						||
| 
								 | 
							
								  func: 3,
							 | 
						||
| 
								 | 
							
								  table: 4,
							 | 
						||
| 
								 | 
							
								  memory: 5,
							 | 
						||
| 
								 | 
							
								  global: 6,
							 | 
						||
| 
								 | 
							
								  export: 7,
							 | 
						||
| 
								 | 
							
								  start: 8,
							 | 
						||
| 
								 | 
							
								  element: 9,
							 | 
						||
| 
								 | 
							
								  code: 10,
							 | 
						||
| 
								 | 
							
								  data: 11
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var symbolsByByte = {
							 | 
						||
| 
								 | 
							
								  0x00: createSymbol("unreachable"),
							 | 
						||
| 
								 | 
							
								  0x01: createSymbol("nop"),
							 | 
						||
| 
								 | 
							
								  0x02: createSymbol("block"),
							 | 
						||
| 
								 | 
							
								  0x03: createSymbol("loop"),
							 | 
						||
| 
								 | 
							
								  0x04: createSymbol("if"),
							 | 
						||
| 
								 | 
							
								  0x05: createSymbol("else"),
							 | 
						||
| 
								 | 
							
								  0x06: illegalop,
							 | 
						||
| 
								 | 
							
								  0x07: illegalop,
							 | 
						||
| 
								 | 
							
								  0x08: illegalop,
							 | 
						||
| 
								 | 
							
								  0x09: illegalop,
							 | 
						||
| 
								 | 
							
								  0x0a: illegalop,
							 | 
						||
| 
								 | 
							
								  0x0b: createSymbol("end"),
							 | 
						||
| 
								 | 
							
								  0x0c: createSymbol("br", 1),
							 | 
						||
| 
								 | 
							
								  0x0d: createSymbol("br_if", 1),
							 | 
						||
| 
								 | 
							
								  0x0e: createSymbol("br_table"),
							 | 
						||
| 
								 | 
							
								  0x0f: createSymbol("return"),
							 | 
						||
| 
								 | 
							
								  0x10: createSymbol("call", 1),
							 | 
						||
| 
								 | 
							
								  0x11: createSymbol("call_indirect", 2),
							 | 
						||
| 
								 | 
							
								  0x12: illegalop,
							 | 
						||
| 
								 | 
							
								  0x13: illegalop,
							 | 
						||
| 
								 | 
							
								  0x14: illegalop,
							 | 
						||
| 
								 | 
							
								  0x15: illegalop,
							 | 
						||
| 
								 | 
							
								  0x16: illegalop,
							 | 
						||
| 
								 | 
							
								  0x17: illegalop,
							 | 
						||
| 
								 | 
							
								  0x18: illegalop,
							 | 
						||
| 
								 | 
							
								  0x19: illegalop,
							 | 
						||
| 
								 | 
							
								  0x1a: createSymbol("drop"),
							 | 
						||
| 
								 | 
							
								  0x1b: createSymbol("select"),
							 | 
						||
| 
								 | 
							
								  0x1c: illegalop,
							 | 
						||
| 
								 | 
							
								  0x1d: illegalop,
							 | 
						||
| 
								 | 
							
								  0x1e: illegalop,
							 | 
						||
| 
								 | 
							
								  0x1f: illegalop,
							 | 
						||
| 
								 | 
							
								  0x20: createSymbol("get_local", 1),
							 | 
						||
| 
								 | 
							
								  0x21: createSymbol("set_local", 1),
							 | 
						||
| 
								 | 
							
								  0x22: createSymbol("tee_local", 1),
							 | 
						||
| 
								 | 
							
								  0x23: createSymbol("get_global", 1),
							 | 
						||
| 
								 | 
							
								  0x24: createSymbol("set_global", 1),
							 | 
						||
| 
								 | 
							
								  0x25: illegalop,
							 | 
						||
| 
								 | 
							
								  0x26: illegalop,
							 | 
						||
| 
								 | 
							
								  0x27: illegalop,
							 | 
						||
| 
								 | 
							
								  0x28: createSymbolObject("load", "u32", 1),
							 | 
						||
| 
								 | 
							
								  0x29: createSymbolObject("load", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x2a: createSymbolObject("load", "f32", 1),
							 | 
						||
| 
								 | 
							
								  0x2b: createSymbolObject("load", "f64", 1),
							 | 
						||
| 
								 | 
							
								  0x2c: createSymbolObject("load8_s", "u32", 1),
							 | 
						||
| 
								 | 
							
								  0x2d: createSymbolObject("load8_u", "u32", 1),
							 | 
						||
| 
								 | 
							
								  0x2e: createSymbolObject("load16_s", "u32", 1),
							 | 
						||
| 
								 | 
							
								  0x2f: createSymbolObject("load16_u", "u32", 1),
							 | 
						||
| 
								 | 
							
								  0x30: createSymbolObject("load8_s", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x31: createSymbolObject("load8_u", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x32: createSymbolObject("load16_s", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x33: createSymbolObject("load16_u", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x34: createSymbolObject("load32_s", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x35: createSymbolObject("load32_u", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x36: createSymbolObject("store", "u32", 1),
							 | 
						||
| 
								 | 
							
								  0x37: createSymbolObject("store", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x38: createSymbolObject("store", "f32", 1),
							 | 
						||
| 
								 | 
							
								  0x39: createSymbolObject("store", "f64", 1),
							 | 
						||
| 
								 | 
							
								  0x3a: createSymbolObject("store8", "u32", 1),
							 | 
						||
| 
								 | 
							
								  0x3b: createSymbolObject("store16", "u32", 1),
							 | 
						||
| 
								 | 
							
								  0x3c: createSymbolObject("store8", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x3d: createSymbolObject("store16", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x3e: createSymbolObject("store32", "u64", 1),
							 | 
						||
| 
								 | 
							
								  0x3f: createSymbolObject("current_memory"),
							 | 
						||
| 
								 | 
							
								  0x40: createSymbolObject("grow_memory"),
							 | 
						||
| 
								 | 
							
								  0x41: createSymbolObject("const", "i32", 1),
							 | 
						||
| 
								 | 
							
								  0x42: createSymbolObject("const", "i64", 1),
							 | 
						||
| 
								 | 
							
								  0x43: createSymbolObject("const", "f32", 1),
							 | 
						||
| 
								 | 
							
								  0x44: createSymbolObject("const", "f64", 1),
							 | 
						||
| 
								 | 
							
								  0x45: createSymbolObject("eqz", "i32"),
							 | 
						||
| 
								 | 
							
								  0x46: createSymbolObject("eq", "i32"),
							 | 
						||
| 
								 | 
							
								  0x47: createSymbolObject("ne", "i32"),
							 | 
						||
| 
								 | 
							
								  0x48: createSymbolObject("lt_s", "i32"),
							 | 
						||
| 
								 | 
							
								  0x49: createSymbolObject("lt_u", "i32"),
							 | 
						||
| 
								 | 
							
								  0x4a: createSymbolObject("gt_s", "i32"),
							 | 
						||
| 
								 | 
							
								  0x4b: createSymbolObject("gt_u", "i32"),
							 | 
						||
| 
								 | 
							
								  0x4c: createSymbolObject("le_s", "i32"),
							 | 
						||
| 
								 | 
							
								  0x4d: createSymbolObject("le_u", "i32"),
							 | 
						||
| 
								 | 
							
								  0x4e: createSymbolObject("ge_s", "i32"),
							 | 
						||
| 
								 | 
							
								  0x4f: createSymbolObject("ge_u", "i32"),
							 | 
						||
| 
								 | 
							
								  0x50: createSymbolObject("eqz", "i64"),
							 | 
						||
| 
								 | 
							
								  0x51: createSymbolObject("eq", "i64"),
							 | 
						||
| 
								 | 
							
								  0x52: createSymbolObject("ne", "i64"),
							 | 
						||
| 
								 | 
							
								  0x53: createSymbolObject("lt_s", "i64"),
							 | 
						||
| 
								 | 
							
								  0x54: createSymbolObject("lt_u", "i64"),
							 | 
						||
| 
								 | 
							
								  0x55: createSymbolObject("gt_s", "i64"),
							 | 
						||
| 
								 | 
							
								  0x56: createSymbolObject("gt_u", "i64"),
							 | 
						||
| 
								 | 
							
								  0x57: createSymbolObject("le_s", "i64"),
							 | 
						||
| 
								 | 
							
								  0x58: createSymbolObject("le_u", "i64"),
							 | 
						||
| 
								 | 
							
								  0x59: createSymbolObject("ge_s", "i64"),
							 | 
						||
| 
								 | 
							
								  0x5a: createSymbolObject("ge_u", "i64"),
							 | 
						||
| 
								 | 
							
								  0x5b: createSymbolObject("eq", "f32"),
							 | 
						||
| 
								 | 
							
								  0x5c: createSymbolObject("ne", "f32"),
							 | 
						||
| 
								 | 
							
								  0x5d: createSymbolObject("lt", "f32"),
							 | 
						||
| 
								 | 
							
								  0x5e: createSymbolObject("gt", "f32"),
							 | 
						||
| 
								 | 
							
								  0x5f: createSymbolObject("le", "f32"),
							 | 
						||
| 
								 | 
							
								  0x60: createSymbolObject("ge", "f32"),
							 | 
						||
| 
								 | 
							
								  0x61: createSymbolObject("eq", "f64"),
							 | 
						||
| 
								 | 
							
								  0x62: createSymbolObject("ne", "f64"),
							 | 
						||
| 
								 | 
							
								  0x63: createSymbolObject("lt", "f64"),
							 | 
						||
| 
								 | 
							
								  0x64: createSymbolObject("gt", "f64"),
							 | 
						||
| 
								 | 
							
								  0x65: createSymbolObject("le", "f64"),
							 | 
						||
| 
								 | 
							
								  0x66: createSymbolObject("ge", "f64"),
							 | 
						||
| 
								 | 
							
								  0x67: createSymbolObject("clz", "i32"),
							 | 
						||
| 
								 | 
							
								  0x68: createSymbolObject("ctz", "i32"),
							 | 
						||
| 
								 | 
							
								  0x69: createSymbolObject("popcnt", "i32"),
							 | 
						||
| 
								 | 
							
								  0x6a: createSymbolObject("add", "i32"),
							 | 
						||
| 
								 | 
							
								  0x6b: createSymbolObject("sub", "i32"),
							 | 
						||
| 
								 | 
							
								  0x6c: createSymbolObject("mul", "i32"),
							 | 
						||
| 
								 | 
							
								  0x6d: createSymbolObject("div_s", "i32"),
							 | 
						||
| 
								 | 
							
								  0x6e: createSymbolObject("div_u", "i32"),
							 | 
						||
| 
								 | 
							
								  0x6f: createSymbolObject("rem_s", "i32"),
							 | 
						||
| 
								 | 
							
								  0x70: createSymbolObject("rem_u", "i32"),
							 | 
						||
| 
								 | 
							
								  0x71: createSymbolObject("and", "i32"),
							 | 
						||
| 
								 | 
							
								  0x72: createSymbolObject("or", "i32"),
							 | 
						||
| 
								 | 
							
								  0x73: createSymbolObject("xor", "i32"),
							 | 
						||
| 
								 | 
							
								  0x74: createSymbolObject("shl", "i32"),
							 | 
						||
| 
								 | 
							
								  0x75: createSymbolObject("shr_s", "i32"),
							 | 
						||
| 
								 | 
							
								  0x76: createSymbolObject("shr_u", "i32"),
							 | 
						||
| 
								 | 
							
								  0x77: createSymbolObject("rotl", "i32"),
							 | 
						||
| 
								 | 
							
								  0x78: createSymbolObject("rotr", "i32"),
							 | 
						||
| 
								 | 
							
								  0x79: createSymbolObject("clz", "i64"),
							 | 
						||
| 
								 | 
							
								  0x7a: createSymbolObject("ctz", "i64"),
							 | 
						||
| 
								 | 
							
								  0x7b: createSymbolObject("popcnt", "i64"),
							 | 
						||
| 
								 | 
							
								  0x7c: createSymbolObject("add", "i64"),
							 | 
						||
| 
								 | 
							
								  0x7d: createSymbolObject("sub", "i64"),
							 | 
						||
| 
								 | 
							
								  0x7e: createSymbolObject("mul", "i64"),
							 | 
						||
| 
								 | 
							
								  0x7f: createSymbolObject("div_s", "i64"),
							 | 
						||
| 
								 | 
							
								  0x80: createSymbolObject("div_u", "i64"),
							 | 
						||
| 
								 | 
							
								  0x81: createSymbolObject("rem_s", "i64"),
							 | 
						||
| 
								 | 
							
								  0x82: createSymbolObject("rem_u", "i64"),
							 | 
						||
| 
								 | 
							
								  0x83: createSymbolObject("and", "i64"),
							 | 
						||
| 
								 | 
							
								  0x84: createSymbolObject("or", "i64"),
							 | 
						||
| 
								 | 
							
								  0x85: createSymbolObject("xor", "i64"),
							 | 
						||
| 
								 | 
							
								  0x86: createSymbolObject("shl", "i64"),
							 | 
						||
| 
								 | 
							
								  0x87: createSymbolObject("shr_s", "i64"),
							 | 
						||
| 
								 | 
							
								  0x88: createSymbolObject("shr_u", "i64"),
							 | 
						||
| 
								 | 
							
								  0x89: createSymbolObject("rotl", "i64"),
							 | 
						||
| 
								 | 
							
								  0x8a: createSymbolObject("rotr", "i64"),
							 | 
						||
| 
								 | 
							
								  0x8b: createSymbolObject("abs", "f32"),
							 | 
						||
| 
								 | 
							
								  0x8c: createSymbolObject("neg", "f32"),
							 | 
						||
| 
								 | 
							
								  0x8d: createSymbolObject("ceil", "f32"),
							 | 
						||
| 
								 | 
							
								  0x8e: createSymbolObject("floor", "f32"),
							 | 
						||
| 
								 | 
							
								  0x8f: createSymbolObject("trunc", "f32"),
							 | 
						||
| 
								 | 
							
								  0x90: createSymbolObject("nearest", "f32"),
							 | 
						||
| 
								 | 
							
								  0x91: createSymbolObject("sqrt", "f32"),
							 | 
						||
| 
								 | 
							
								  0x92: createSymbolObject("add", "f32"),
							 | 
						||
| 
								 | 
							
								  0x93: createSymbolObject("sub", "f32"),
							 | 
						||
| 
								 | 
							
								  0x94: createSymbolObject("mul", "f32"),
							 | 
						||
| 
								 | 
							
								  0x95: createSymbolObject("div", "f32"),
							 | 
						||
| 
								 | 
							
								  0x96: createSymbolObject("min", "f32"),
							 | 
						||
| 
								 | 
							
								  0x97: createSymbolObject("max", "f32"),
							 | 
						||
| 
								 | 
							
								  0x98: createSymbolObject("copysign", "f32"),
							 | 
						||
| 
								 | 
							
								  0x99: createSymbolObject("abs", "f64"),
							 | 
						||
| 
								 | 
							
								  0x9a: createSymbolObject("neg", "f64"),
							 | 
						||
| 
								 | 
							
								  0x9b: createSymbolObject("ceil", "f64"),
							 | 
						||
| 
								 | 
							
								  0x9c: createSymbolObject("floor", "f64"),
							 | 
						||
| 
								 | 
							
								  0x9d: createSymbolObject("trunc", "f64"),
							 | 
						||
| 
								 | 
							
								  0x9e: createSymbolObject("nearest", "f64"),
							 | 
						||
| 
								 | 
							
								  0x9f: createSymbolObject("sqrt", "f64"),
							 | 
						||
| 
								 | 
							
								  0xa0: createSymbolObject("add", "f64"),
							 | 
						||
| 
								 | 
							
								  0xa1: createSymbolObject("sub", "f64"),
							 | 
						||
| 
								 | 
							
								  0xa2: createSymbolObject("mul", "f64"),
							 | 
						||
| 
								 | 
							
								  0xa3: createSymbolObject("div", "f64"),
							 | 
						||
| 
								 | 
							
								  0xa4: createSymbolObject("min", "f64"),
							 | 
						||
| 
								 | 
							
								  0xa5: createSymbolObject("max", "f64"),
							 | 
						||
| 
								 | 
							
								  0xa6: createSymbolObject("copysign", "f64"),
							 | 
						||
| 
								 | 
							
								  0xa7: createSymbolObject("wrap/i64", "i32"),
							 | 
						||
| 
								 | 
							
								  0xa8: createSymbolObject("trunc_s/f32", "i32"),
							 | 
						||
| 
								 | 
							
								  0xa9: createSymbolObject("trunc_u/f32", "i32"),
							 | 
						||
| 
								 | 
							
								  0xaa: createSymbolObject("trunc_s/f64", "i32"),
							 | 
						||
| 
								 | 
							
								  0xab: createSymbolObject("trunc_u/f64", "i32"),
							 | 
						||
| 
								 | 
							
								  0xac: createSymbolObject("extend_s/i32", "i64"),
							 | 
						||
| 
								 | 
							
								  0xad: createSymbolObject("extend_u/i32", "i64"),
							 | 
						||
| 
								 | 
							
								  0xae: createSymbolObject("trunc_s/f32", "i64"),
							 | 
						||
| 
								 | 
							
								  0xaf: createSymbolObject("trunc_u/f32", "i64"),
							 | 
						||
| 
								 | 
							
								  0xb0: createSymbolObject("trunc_s/f64", "i64"),
							 | 
						||
| 
								 | 
							
								  0xb1: createSymbolObject("trunc_u/f64", "i64"),
							 | 
						||
| 
								 | 
							
								  0xb2: createSymbolObject("convert_s/i32", "f32"),
							 | 
						||
| 
								 | 
							
								  0xb3: createSymbolObject("convert_u/i32", "f32"),
							 | 
						||
| 
								 | 
							
								  0xb4: createSymbolObject("convert_s/i64", "f32"),
							 | 
						||
| 
								 | 
							
								  0xb5: createSymbolObject("convert_u/i64", "f32"),
							 | 
						||
| 
								 | 
							
								  0xb6: createSymbolObject("demote/f64", "f32"),
							 | 
						||
| 
								 | 
							
								  0xb7: createSymbolObject("convert_s/i32", "f64"),
							 | 
						||
| 
								 | 
							
								  0xb8: createSymbolObject("convert_u/i32", "f64"),
							 | 
						||
| 
								 | 
							
								  0xb9: createSymbolObject("convert_s/i64", "f64"),
							 | 
						||
| 
								 | 
							
								  0xba: createSymbolObject("convert_u/i64", "f64"),
							 | 
						||
| 
								 | 
							
								  0xbb: createSymbolObject("promote/f32", "f64"),
							 | 
						||
| 
								 | 
							
								  0xbc: createSymbolObject("reinterpret/f32", "i32"),
							 | 
						||
| 
								 | 
							
								  0xbd: createSymbolObject("reinterpret/f64", "i64"),
							 | 
						||
| 
								 | 
							
								  0xbe: createSymbolObject("reinterpret/i32", "f32"),
							 | 
						||
| 
								 | 
							
								  0xbf: createSymbolObject("reinterpret/i64", "f64")
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								var symbolsByName = invertMap(symbolsByByte, function (obj) {
							 | 
						||
| 
								 | 
							
								  if (typeof obj.object === "string") {
							 | 
						||
| 
								 | 
							
								    return "".concat(obj.object, ".").concat(obj.name);
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return obj.name;
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								export default {
							 | 
						||
| 
								 | 
							
								  symbolsByByte: symbolsByByte,
							 | 
						||
| 
								 | 
							
								  sections: sections,
							 | 
						||
| 
								 | 
							
								  magicModuleHeader: magicModuleHeader,
							 | 
						||
| 
								 | 
							
								  moduleVersion: moduleVersion,
							 | 
						||
| 
								 | 
							
								  types: types,
							 | 
						||
| 
								 | 
							
								  valtypes: valtypes,
							 | 
						||
| 
								 | 
							
								  exportTypes: exportTypes,
							 | 
						||
| 
								 | 
							
								  blockTypes: blockTypes,
							 | 
						||
| 
								 | 
							
								  tableTypes: tableTypes,
							 | 
						||
| 
								 | 
							
								  globalTypes: globalTypes,
							 | 
						||
| 
								 | 
							
								  importTypes: importTypes,
							 | 
						||
| 
								 | 
							
								  valtypesByString: valtypesByString,
							 | 
						||
| 
								 | 
							
								  globalTypesByString: globalTypesByString,
							 | 
						||
| 
								 | 
							
								  exportTypesByName: exportTypesByName,
							 | 
						||
| 
								 | 
							
								  symbolsByName: symbolsByName
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								export { getSectionForNode } from "./section";
							 |