diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-01-29 17:57:02 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-01-29 20:17:41 -0800 |
commit | 17ab9b60b0cd48b2fd37217fd91a3c65feb03e5f (patch) | |
tree | 5279d4d31386d1cf10624d2e6171d5f60e6921a6 | |
parent | d569cf1db86179981d27145c6e126247d4d89ae3 (diff) | |
download | binaryen-17ab9b60b0cd48b2fd37217fd91a3c65feb03e5f.tar.gz binaryen-17ab9b60b0cd48b2fd37217fd91a3c65feb03e5f.tar.bz2 binaryen-17ab9b60b0cd48b2fd37217fd91a3c65feb03e5f.zip |
fix switch in binary format
-rw-r--r-- | src/wasm-binary.h | 53 | ||||
-rw-r--r-- | test/emcc_hello_world.wast.fromBinary | 68 | ||||
-rw-r--r-- | test/unit.wast.fromBinary | 18 |
3 files changed, 67 insertions, 72 deletions
diff --git a/src/wasm-binary.h b/src/wasm-binary.h index ce7472b0f..a722f88ea 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -647,17 +647,14 @@ public: return breakStack.size() - 1 - i; } } - return -1; + std::cerr << "bad break: " << name << std::endl; + abort(); } void visitBreak(Break *curr) { if (debug) std::cerr << "zz node: Break" << std::endl; o << int8_t(curr->condition ? BinaryConsts::BrIf : BinaryConsts::Br); int offset = getBreakIndex(curr->name); - if (offset < 0) { - std::cerr << "bad break: " << curr->name << std::endl; - abort(); - } o << int8_t(offset); if (curr->condition) recurse(curr->condition); if (curr->value) { @@ -670,23 +667,22 @@ public: if (debug) std::cerr << "zz node: Switch" << std::endl; o << int8_t(BinaryConsts::TableSwitch) << int16_t(curr->cases.size()) << int16_t(curr->targets.size() + 1); - std::map<Name, int16_t> mapping; // target name => index in cases for (size_t i = 0; i < curr->cases.size(); i++) { - mapping[curr->cases[i].name] = i; - } - if (mapping.find(curr->default_) == mapping.end()) { - mapping[curr->default_] = curr->cases.size(); + breakStack.push_back(curr->cases[i].name); } + breakStack.push_back(curr->name); for (auto target : curr->targets) { - o << mapping[target]; + o << (int16_t)getBreakIndex(target); } - o << mapping[curr->default_]; - breakStack.push_back(curr->name); + o << (int16_t)getBreakIndex(curr->default_); recurse(curr->value); for (auto& c : curr->cases) { recurse(c.body); } - breakStack.pop_back(); + breakStack.pop_back(); // name + for (size_t i = 0; i < curr->cases.size(); i++) { + breakStack.pop_back(); // case + } } void visitCall(Call *curr) { if (debug) std::cerr << "zz node: Call" << std::endl; @@ -1348,27 +1344,26 @@ public: if (debug) std::cerr << "zz node: Switch" << std::endl; auto numCases = getInt16(); auto numTargets = getInt16(); - std::map<size_t, Name> caseLabels; - auto getCaseLabel = [&](size_t index) { - if (caseLabels.find(index) == caseLabels.end()) { - caseLabels[index] = getNextLabel(); - } - return caseLabels[index]; - }; - for (auto i = 0; i < numTargets - 1; i++) { - curr->targets.push_back(getCaseLabel(getInt16())); + for (auto i = 0; i < numCases; i++) { + Switch::Case c; + c.name = getNextLabel(); + curr->cases.push_back(c); + breakStack.push_back(c.name); } - curr->default_ = getCaseLabel(getInt16()); curr->name = getNextLabel(); breakStack.push_back(curr->name); + for (auto i = 0; i < numTargets - 1; i++) { + curr->targets.push_back(getBreakName(getInt16())); + } + curr->default_ = getBreakName(getInt16()); readExpression(curr->value); for (auto i = 0; i < numCases; i++) { - Switch::Case c; - c.name = getCaseLabel(i); - readExpression(c.body); - curr->cases.push_back(c); + readExpression(curr->cases[i].body); + } + breakStack.pop_back(); // name + for (size_t i = 0; i < curr->cases.size(); i++) { + breakStack.pop_back(); // case } - breakStack.pop_back(); } void visitCall(Call *curr, Name target) { if (debug) std::cerr << "zz node: Call" << std::endl; diff --git a/test/emcc_hello_world.wast.fromBinary b/test/emcc_hello_world.wast.fromBinary index 394cffd6d..ff26b930f 100644 --- a/test/emcc_hello_world.wast.fromBinary +++ b/test/emcc_hello_world.wast.fromBinary @@ -436,7 +436,7 @@ (get_local $var$9) (i32.const 0) ) - (table (case $label$1) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$3)) (case $label$2) + (table (case $label$1) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$2)) (case $label$3) (case $label$1 (block $label$5 (set_local $var$13 @@ -497,7 +497,7 @@ (br $label$4) ) ) - (case $label$3 + (case $label$2 (block $label$8 (set_local $var$19 (get_local $var$0) @@ -505,7 +505,7 @@ (br $label$4) ) ) - (case $label$2 + (case $label$3 (block $label$9 (set_local $var$12 (i32.add @@ -6160,8 +6160,8 @@ ) (i32.const 0) ) - (table (case $label$13) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$15)) (case $label$14) - (case $label$15 + (table (case $label$14) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$13)) (case $label$15) + (case $label$13 (block $label$17 (set_local $var$687 (get_local $var$684) @@ -6176,7 +6176,7 @@ (br $label$16) ) ) - (case $label$13 + (case $label$14 (block $label$18 (set_local $var$686 (get_local $var$684) @@ -6188,7 +6188,7 @@ (br $label$16) ) ) - (case $label$14 + (case $label$15 (nop) ) ) @@ -8043,15 +8043,15 @@ (get_local $var$937) (i32.const 65) ) - (table (case $label$89) (case $label$90) (case $label$91) (case $label$90) (case $label$92) (case $label$93) (case $label$94) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$95) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$96) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$97) (case $label$90) (case $label$98) (case $label$99) (case $label$100) (case $label$101) (case $label$102) (case $label$90) (case $label$103) (case $label$90) (case $label$90) (case $label$90) (case $label$104) (case $label$105) (case $label$106) (case $label$107) (case $label$90) (case $label$90) (case $label$108) (case $label$90) (case $label$109) (case $label$90) (case $label$90) (case $label$110)) (case $label$90) - (case $label$105 + (table (case $label$102) (case $label$110) (case $label$100) (case $label$110) (case $label$105) (case $label$104) (case $label$103) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$101) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$91) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$106) (case $label$110) (case $label$97) (case $label$95) (case $label$109) (case $label$108) (case $label$107) (case $label$110) (case $label$94) (case $label$110) (case $label$110) (case $label$110) (case $label$98) (case $label$89) (case $label$93) (case $label$90) (case $label$110) (case $label$110) (case $label$99) (case $label$110) (case $label$96) (case $label$110) (case $label$110) (case $label$92)) (case $label$110) + (case $label$89 (block $label$112 (tableswitch $label$121 (i32.sub (get_local $var$844) (i32.const 0) ) - (table (case $label$113) (case $label$114) (case $label$115) (case $label$116) (case $label$117) (case $label$118) (case $label$119) (case $label$120)) (case $label$118) + (table (case $label$113) (case $label$114) (case $label$115) (case $label$116) (case $label$117) (case $label$120) (case $label$118) (case $label$119)) (case $label$120) (case $label$113 (block $label$122 (set_local $var$258 @@ -8233,7 +8233,7 @@ (br $label$121) ) ) - (case $label$119 + (case $label$118 (block $label$127 (set_local $var$270 (i32.load align=4 @@ -8260,7 +8260,7 @@ (br $label$121) ) ) - (case $label$120 + (case $label$119 (block $label$128 (set_local $var$271 (i32.lt_s @@ -8321,7 +8321,7 @@ (br $label$121) ) ) - (case $label$118 + (case $label$120 (block $label$129 (set_local $var$549 (get_local $var$550) @@ -8342,7 +8342,7 @@ (br $label$111) ) ) - (case $label$107 + (case $label$90 (block $label$130 (set_local $var$455 (i32.gt_u @@ -8381,10 +8381,10 @@ (br $label$111) ) ) - (case $label$96 + (case $label$91 (nop) ) - (case $label$110 + (case $label$92 (block $label$131 (set_local $var$639 (get_local $var$638) @@ -8401,7 +8401,7 @@ (br $label$111) ) ) - (case $label$106 + (case $label$93 (block $label$132 (set_local $var$41 (get_local $var$392) @@ -8632,10 +8632,10 @@ (br $label$111) ) ) - (case $label$103 + (case $label$94 (nop) ) - (case $label$99 + (case $label$95 (block $label$141 (set_local $var$62 (get_local $var$392) @@ -8796,7 +8796,7 @@ (br $label$111) ) ) - (case $label$109 + (case $label$96 (block $label$145 (set_local $var$251 (get_local $var$392) @@ -8841,7 +8841,7 @@ (br $label$111) ) ) - (case $label$98 + (case $label$97 (block $label$146 (set_local $var$91 (get_local $var$392) @@ -8899,7 +8899,7 @@ (br $label$111) ) ) - (case $label$104 + (case $label$98 (block $label$147 (set_local $var$424 (call $___errno_location) @@ -8923,7 +8923,7 @@ (br $label$111) ) ) - (case $label$108 + (case $label$99 (block $label$148 (set_local $var$99 (i32.load align=4 @@ -8952,7 +8952,7 @@ (br $label$111) ) ) - (case $label$91 + (case $label$100 (block $label$149 (set_local $var$101 (get_local $var$392) @@ -9000,7 +9000,7 @@ (br $label$111) ) ) - (case $label$95 + (case $label$101 (block $label$150 (set_local $var$477 (i32.eq @@ -9037,28 +9037,28 @@ (br $label$111) ) ) - (case $label$89 + (case $label$102 (nop) ) - (case $label$94 + (case $label$103 (nop) ) - (case $label$93 + (case $label$104 (nop) ) - (case $label$92 + (case $label$105 (nop) ) - (case $label$97 + (case $label$106 (nop) ) - (case $label$102 + (case $label$107 (nop) ) - (case $label$101 + (case $label$108 (nop) ) - (case $label$100 + (case $label$109 (block $label$153 (set_local $var$1038 (f64.load align=8 @@ -13565,7 +13565,7 @@ (br $label$111) ) ) - (case $label$90 + (case $label$110 (block $label$345 (set_local $var$293 (get_local $var$685) diff --git a/test/unit.wast.fromBinary b/test/unit.wast.fromBinary index 4556cd0b6..7c5e00b94 100644 --- a/test/unit.wast.fromBinary +++ b/test/unit.wast.fromBinary @@ -203,18 +203,18 @@ (get_local $var$0) (i32.const 5) ) - (table (case $label$5) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$7)) (case $label$6) - (case $label$7 + (table (case $label$6) (case $label$7) (case $label$7) (case $label$7) (case $label$7) (case $label$7) (case $label$7) (case $label$5)) (case $label$7) + (case $label$5 (br $label$0 (i32.const 121) ) ) - (case $label$5 + (case $label$6 (br $label$0 (i32.const 51) ) ) - (case $label$6 + (case $label$7 (nop) ) ) @@ -223,11 +223,11 @@ (get_local $var$0) (i32.const 2) ) - (table (case $label$9) (case $label$10) (case $label$10) (case $label$11) (case $label$10) (case $label$10) (case $label$10) (case $label$10) (case $label$12) (case $label$10) (case $label$13)) (case $label$10) - (case $label$13 + (table (case $label$12) (case $label$13) (case $label$13) (case $label$11) (case $label$13) (case $label$13) (case $label$13) (case $label$13) (case $label$10) (case $label$13) (case $label$9)) (case $label$13) + (case $label$9 (br $label$14) ) - (case $label$12 + (case $label$10 (br $label$14) ) (case $label$11 @@ -241,7 +241,7 @@ (br $label$14) ) ) - (case $label$9 + (case $label$12 (block $label$19 (loop $label$20 $label$21 (block $label$22 @@ -252,7 +252,7 @@ (br $label$14) ) ) - (case $label$10 + (case $label$13 (nop) ) ) |