<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>149051</bug_id>
          
          <creation_ts>2015-09-10 17:02:39 -0700</creation_ts>
          <short_desc>Implement switch statements in WebAssembly</short_desc>
          <delta_ts>2015-09-10 18:37:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>146064</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sukolsak Sakshuwong">sukolsak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>sukolsak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125085</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-10 17:02:39 -0700</bug_when>
    <thetext>Implement switch statements in WebAssembly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125088</commentid>
    <comment_count>1</comment_count>
      <attachid>260972</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-10 17:13:19 -0700</bug_when>
    <thetext>Created attachment 260972
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125089</commentid>
    <comment_count>2</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-10 17:18:42 -0700</bug_when>
    <thetext>Here&apos;s what buildSwitch() in the LLVM IR generator will look like:

void buildSwitch(LValue expression, const Vector&lt;int64_t&gt;&amp; cases, const Vector&lt;LBasicBlock&gt;&amp; targets, LBasicBlock defaultTarget)
{
    Vector&lt;FTL::SwitchCase&gt; switchCases;
    switchCases.reserveInitialCapacity(cases.size());
    for (size_t i = 0; i &lt; cases.size(); ++i)
        switchCases.uncheckedAppend(FTL::SwitchCase(m_out.constInt32(static_cast&lt;int32_t&gt;(cases[i])), targets[i]));
    m_out.switchInstruction(expression, switchCases, defaultTarget, FTL::Weight());
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125095</commentid>
    <comment_count>3</comment_count>
      <attachid>260972</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-10 17:48:20 -0700</bug_when>
    <thetext>Comment on attachment 260972
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125116</commentid>
    <comment_count>4</comment_count>
      <attachid>260972</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-10 18:37:20 -0700</bug_when>
    <thetext>Comment on attachment 260972
Patch

Clearing flags on attachment: 260972

Committed r189599: &lt;http://trac.webkit.org/changeset/189599&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125117</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-10 18:37:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260972</attachid>
            <date>2015-09-10 17:13:19 -0700</date>
            <delta_ts>2015-09-10 18:37:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149051-20150910171258.patch</filename>
            <type>text/plain</type>
            <size>8787</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZDc3MDI3NWI4M2M3ZTI0OWZjMTYzYzkwMmVkODg2NDQwM2Y0M2U3Li5iZjc2ZTBlYmE2ODkzZWVl
MTY1NmI0Mzk5NGQ4ZjEyNzMzY2QxODYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNS0wOS0xMCAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc3dpdGNoIHN0YXRlbWVudHMgaW4gV2ViQXNz
ZW1ibHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
OTA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgcGF0Y2ggaW1wbGVtZW50cyBzd2l0Y2ggc3RhdGVtZW50cyBpbiBXZWJBc3NlbWJseSB1c2lu
ZyB0aGUKKyAgICAgICAgSlNDOjpCaW5hcnlTd2l0Y2ggY2xhc3MuCisKKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3Mvd2FzbS1jb250cm9sLWZsb3cuanM6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3dh
c20vY29udHJvbC1mbG93Lndhc206CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25Db21waWxl
ci5oOgorICAgICAgICAoSlNDOjpXQVNNRnVuY3Rpb25Db21waWxlcjo6YnVpbGRTd2l0Y2gpOgor
ICAgICAgICAqIHdhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6V0FT
TUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN3aXRjaFN0YXRlbWVudCk6CisgICAgICAgICogd2FzbS9X
QVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblN5
bnRheENoZWNrZXI6OmJ1aWxkU3dpdGNoKToKKwogMjAxNS0wOS0wOSAgU3Vrb2xzYWsgU2Frc2h1
d29uZyAgPHN1a29sc2FrQGdtYWlsLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgaW50ZXJuYWwg
Y2FsbHMgaW4gV2ViQXNzZW1ibHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3Mvd2FzbS1jb250cm9sLWZsb3cuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3dhc20tY29udHJvbC1mbG93LmpzCmluZGV4IDAxZmUxZmY5MjMyOTJhZThk
YjQ4MDRjZTVkNmZmZWNmOWJiMzE4NDUuLmMxNDA2NGM2YzJhYTc2ZGQ0ZDQ0Y2ZiY2I1NGM0NTM1
NDg4N2E3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
d2FzbS1jb250cm9sLWZsb3cuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy93YXNtLWNvbnRyb2wtZmxvdy5qcwpAQCAtMjA0LDYgKzIwNCwzOSBAQCBmdW5jdGlvbiBh
c21Nb2R1bGUoZ2xvYmFsLCBlbnYsIGJ1ZmZlcikgewogICAgICAgICByZXR1cm4geDsKICAgICB9
CiAKKyAgICBmdW5jdGlvbiBzd2l0Y2hDYXNlKHgpIHsKKyAgICAgICAgeCA9IHggfCAwOworICAg
ICAgICB2YXIgeSA9IDA7CisgICAgICAgIHN3aXRjaCAoeCkgeworICAgICAgICBjYXNlIDA6Cisg
ICAgICAgICAgICB5ID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDE6Cisg
ICAgICAgICAgICB5ID0gMjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDI6Cisg
ICAgICAgICAgICB5ID0gMzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
IHJldHVybiB5OworICAgIH0KKworICAgIGZ1bmN0aW9uIHN3aXRjaEZhbGxUaHJvdWdoKHgpIHsK
KyAgICAgICAgeCA9IHggfCAwOworICAgICAgICB2YXIgeSA9IDA7CisgICAgICAgIHN3aXRjaCAo
eCkgeworICAgICAgICBjYXNlIDM6CisgICAgICAgICAgICB5ID0gKHkgKyAxMDAwKSB8IDA7Cisg
ICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIHkgPSAoeSArIDEwMCkgfCAwOworICAgICAgICBj
YXNlIDE6CisgICAgICAgICAgICB5ID0gKHkgKyAxMCkgfCAwOworICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgeSA9ICh5ICsgMSkgfCAwOworICAgICAgICB9CisgICAgICAgIHJldHVybiB5
OworICAgIH0KKwogICAgIHJldHVybiB7CiAgICAgICAgIGlmVHJ1ZTogaWZUcnVlLAogICAgICAg
ICBpZkZhbHNlOiBpZkZhbHNlLApAQCAtMjIyLDYgKzI1NSw4IEBAIGZ1bmN0aW9uIGFzbU1vZHVs
ZShnbG9iYWwsIGVudiwgYnVmZmVyKSB7CiAgICAgICAgIGxhYmVsSW5MYWJlbEJyZWFrSW5uZXI6
IGxhYmVsSW5MYWJlbEJyZWFrSW5uZXIsCiAgICAgICAgIGxhYmVsSW5MYWJlbEJyZWFrT3V0ZXI6
IGxhYmVsSW5MYWJlbEJyZWFrT3V0ZXIsCiAgICAgICAgIHdoaWxlSW5XaGlsZUJyZWFrT3V0ZXI6
IHdoaWxlSW5XaGlsZUJyZWFrT3V0ZXIsCisgICAgICAgIHN3aXRjaENhc2U6IHN3aXRjaENhc2Us
CisgICAgICAgIHN3aXRjaEZhbGxUaHJvdWdoOiBzd2l0Y2hGYWxsVGhyb3VnaCwKICAgICB9Owog
fQogKi8KQEAgLTIzMywxNSArMjY4LDI4IEBAIHNob3VsZEJlKG1vZHVsZS5pZkZhbHNlKCksIDAp
Owogc2hvdWxkQmUobW9kdWxlLmlmRWxzZVRydWUoKSwgMSk7CiBzaG91bGRCZShtb2R1bGUuaWZF
bHNlRmFsc2UoKSwgMik7CiBzaG91bGRCZShtb2R1bGUuaWZJbklmKCksIDMpOworCiBzaG91bGRC
ZShtb2R1bGUud2hpbGVMb29wKCksIDUpOwogc2hvdWxkQmUobW9kdWxlLndoaWxlQnJlYWsoKSwg
Mik7CiBzaG91bGRCZShtb2R1bGUud2hpbGVDb250aW51ZSgpLCA0KTsKIHNob3VsZEJlKG1vZHVs
ZS53aGlsZUluV2hpbGUoKSwgMTApOworCiBzaG91bGRCZShtb2R1bGUuZG9Mb29wKCksIDEpOwog
c2hvdWxkQmUobW9kdWxlLmRvQnJlYWsoKSwgMik7CiBzaG91bGRCZShtb2R1bGUuZG9Db250aW51
ZSgpLCA0KTsKKwogc2hvdWxkQmUobW9kdWxlLmxhYmVsQnJlYWsoKSwgMSk7CiBzaG91bGRCZSht
b2R1bGUubGFiZWxDb250aW51ZSgpLCAxKTsKIHNob3VsZEJlKG1vZHVsZS5sYWJlbEluTGFiZWxC
cmVha0lubmVyKCksIDQpOwogc2hvdWxkQmUobW9kdWxlLmxhYmVsSW5MYWJlbEJyZWFrT3V0ZXIo
KSwgMik7CiBzaG91bGRCZShtb2R1bGUud2hpbGVJbldoaWxlQnJlYWtPdXRlcigpLCA4KTsKKwor
c2hvdWxkQmUobW9kdWxlLnN3aXRjaENhc2UoMCksIDEpOworc2hvdWxkQmUobW9kdWxlLnN3aXRj
aENhc2UoMSksIDIpOworc2hvdWxkQmUobW9kdWxlLnN3aXRjaENhc2UoMiksIDMpOworc2hvdWxk
QmUobW9kdWxlLnN3aXRjaENhc2UoMyksIDApOworc2hvdWxkQmUobW9kdWxlLnN3aXRjaEZhbGxU
aHJvdWdoKDApLCAxKTsKK3Nob3VsZEJlKG1vZHVsZS5zd2l0Y2hGYWxsVGhyb3VnaCgxKSwgMTEp
Oworc2hvdWxkQmUobW9kdWxlLnN3aXRjaEZhbGxUaHJvdWdoKDIpLCAxMTEpOworc2hvdWxkQmUo
bW9kdWxlLnN3aXRjaEZhbGxUaHJvdWdoKDMpLCAxMTExKTsKK3Nob3VsZEJlKG1vZHVsZS5zd2l0
Y2hGYWxsVGhyb3VnaCg0KSwgMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3dhc20vY29udHJvbC1mbG93Lndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL3dhc20vY29udHJvbC1mbG93Lndhc20KaW5kZXggOGRhZDdhZTJlMDEx
NDMxZjRjYTZmNjhmYWQ0OWM2MzViN2M4MjNiNi4uM2M3MzA4OGU5MDcyNzJlODM5NDliMWQzMTEw
MWUwOGY5MjZhMmZkMyAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxNTEKemNtZXl1YSow
KjlKaDM+fWpHRi1qbjFHbE8lbU5YQGEyQVpnJGhjNz5oMCYmd05zOVJaNjlaR0BMTk8qcnJwODVM
CnpPaVdDVGleY2Q0MHdxYHVGZnVwRjlifG1MNHdNMVhEVTZJalk4NEJSU2pjfm5RRndBNjwxX2k8
XjMwT3Q0Q2xuKwpXUjBjcl4rYnVDQ0NuVGROemNmOUFLP25mKjckWXRLCgpkZWx0YSA1NgpwY21j
Yl9gaGBXS0poMz1laD5IT1A3e01mJTVKV0pjdGN8KVVqNypHemxnfjBmMHw0NkgyWWRoawoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCmlu
ZGV4IDE1MDU2ZjNhY2U3Mzc0NDNhYzFhMzg4ZTlmZTdhNGIxNmVkNzAwNDMuLmYzNzMxODMyOGQx
YTI5MTA3YTI1NjI5YTBiYzc2YmRiNDdkYzIzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uQ29tcGlsZXIuaApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFdFQkFTU0VNQkxZKQogCisjaW5jbHVkZSAiQmluYXJ5U3dpdGNoLmgiCiAjaW5j
bHVkZSAiQ0NhbGxIZWxwZXJzLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUT3Bl
cmF0aW9ucy5oIgpAQCAtNTgyLDYgKzU4MywxOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBt
X2NvbnRpbnVlTGFiZWxUYXJnZXRzW2xhYmVsSW5kZXhdOwogICAgIH0KIAorICAgIHZvaWQgYnVp
bGRTd2l0Y2goaW50LCBjb25zdCBWZWN0b3I8aW50NjRfdD4mIGNhc2VzLCBWZWN0b3I8SnVtcFRh
cmdldD4mIHRhcmdldHMsIEp1bXBUYXJnZXQgZGVmYXVsdFRhcmdldCkKKyAgICB7CisgICAgICAg
IGxvYWQzMih0ZW1wb3JhcnlBZGRyZXNzKG1fdGVtcFN0YWNrVG9wIC0gMSksIEdQUkluZm86OnJl
Z1QwKTsKKyAgICAgICAgbV90ZW1wU3RhY2tUb3AtLTsKKyAgICAgICAgQmluYXJ5U3dpdGNoIGJp
bmFyeVN3aXRjaChHUFJJbmZvOjpyZWdUMCwgY2FzZXMsIEJpbmFyeVN3aXRjaDo6SW50MzIpOwor
ICAgICAgICB3aGlsZSAoYmluYXJ5U3dpdGNoLmFkdmFuY2UoKnRoaXMpKSB7CisgICAgICAgICAg
ICB1bnNpZ25lZCBpbmRleCA9IGJpbmFyeVN3aXRjaC5jYXNlSW5kZXgoKTsKKyAgICAgICAgICAg
IGp1bXAodGFyZ2V0c1tpbmRleF0ubGFiZWwpOworICAgICAgICB9CisgICAgICAgIGJpbmFyeVN3
aXRjaC5mYWxsVGhyb3VnaCgpLmxpbmtUbyhkZWZhdWx0VGFyZ2V0LmxhYmVsLCB0aGlzKTsKKyAg
ICB9CisKIHByaXZhdGU6CiAgICAgdW5pb24gU3RhY2tTbG90IHsKICAgICAgICAgaW50MzJfdCBp
bnRWYWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5j
dGlvblBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Q
YXJzZXIuY3BwCmluZGV4IDVjYmYxZTc0MjAyOTUzZGNhNDdjM2E3NjcyYWRkNDYxNTFhMGFhZWQu
LmQxNzc3NTU4OWFkY2UyMjg3NDk5NDY1OWNhYjM0NjJiNzdiMjk5MTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uUGFyc2VyLmNwcApAQCAtMzk0LDEx
ICszOTQsMjIgQEAgQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlQ29u
dGludWVMYWJlbFN0YXRlbWVudChDb250ZXh0JiBjb250ZXgKIHRlbXBsYXRlIDxjbGFzcyBDb250
ZXh0PgogQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU3dpdGNoU3Rh
dGVtZW50KENvbnRleHQmIGNvbnRleHQpCiB7CisgICAgY29udGV4dC5zdGFydFN3aXRjaCgpOwog
ICAgIHVpbnQzMl90IG51bWJlck9mQ2FzZXM7CiAgICAgUkVBRF9DT01QQUNUX1VJTlQzMl9PUl9G
QUlMKG51bWJlck9mQ2FzZXMsICJDYW5ub3QgcmVhZCB0aGUgbnVtYmVyIG9mIGNhc2VzLiIpOwot
ICAgIHBhcnNlRXhwcmVzc2lvbkkzMihjb250ZXh0KTsKKyAgICBDb250ZXh0RXhwcmVzc2lvbiBl
eHByZXNzaW9uID0gcGFyc2VFeHByZXNzaW9uSTMyKGNvbnRleHQpOwogICAgIFBST1BBR0FURV9F
UlJPUigpOwogCisgICAgQ29udGV4dEp1bXBUYXJnZXQgY29tcGFyZTsKKyAgICBjb250ZXh0Lmp1
bXBUb1RhcmdldChjb21wYXJlKTsKKworICAgIFZlY3RvcjxpbnQ2NF90PiBjYXNlczsKKyAgICBW
ZWN0b3I8Q29udGV4dEp1bXBUYXJnZXQ+IHRhcmdldHM7CisgICAgY2FzZXMucmVzZXJ2ZUluaXRp
YWxDYXBhY2l0eShudW1iZXJPZkNhc2VzKTsKKyAgICB0YXJnZXRzLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkobnVtYmVyT2ZDYXNlcyk7CisgICAgYm9vbCBoYXNEZWZhdWx0ID0gZmFsc2U7CisgICAg
Q29udGV4dEp1bXBUYXJnZXQgZGVmYXVsdFRhcmdldDsKKwogICAgIG1fYnJlYWtTY29wZURlcHRo
Kys7CiAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IG51bWJlck9mQ2FzZXM7ICsraSkgewog
ICAgICAgICBXQVNNU3dpdGNoQ2FzZSBzd2l0Y2hDYXNlOwpAQCAtNDA5LDYgKzQyMCwxMCBAQCBD
b250ZXh0U3RhdGVtZW50IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTd2l0Y2hTdGF0ZW1lbnQo
Q29udGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBXQVNNU3dpdGNoQ2FzZTo6Q2FzZVdpdGhC
bG9ja1N0YXRlbWVudDogewogICAgICAgICAgICAgdWludDMyX3QgdmFsdWU7CiAgICAgICAgICAg
ICBSRUFEX0NPTVBBQ1RfSU5UMzJfT1JfRkFJTCh2YWx1ZSwgIkNhbm5vdCByZWFkIHRoZSB2YWx1
ZSBvZiB0aGUgc3dpdGNoIGNhc2UuIik7CisgICAgICAgICAgICBjYXNlcy51bmNoZWNrZWRBcHBl
bmQodmFsdWUpOworICAgICAgICAgICAgQ29udGV4dEp1bXBUYXJnZXQgdGFyZ2V0OworICAgICAg
ICAgICAgY29udGV4dC5saW5rVGFyZ2V0KHRhcmdldCk7CisgICAgICAgICAgICB0YXJnZXRzLnVu
Y2hlY2tlZEFwcGVuZCh0YXJnZXQpOwogICAgICAgICAgICAgaWYgKHN3aXRjaENhc2UgPT0gV0FT
TVN3aXRjaENhc2U6OkNhc2VXaXRoU3RhdGVtZW50KSB7CiAgICAgICAgICAgICAgICAgcGFyc2VT
dGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgICAgICAgICAgUFJPUEFHQVRFX0VSUk9SKCk7CkBA
IC00MjIsNiArNDM3LDggQEAgQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBh
cnNlU3dpdGNoU3RhdGVtZW50KENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIGNhc2UgV0FTTVN3
aXRjaENhc2U6OkRlZmF1bHRXaXRoU3RhdGVtZW50OgogICAgICAgICBjYXNlIFdBU01Td2l0Y2hD
YXNlOjpEZWZhdWx0V2l0aEJsb2NrU3RhdGVtZW50OiB7CiAgICAgICAgICAgICBGQUlMX0lGX0ZB
TFNFKGkgPT0gbnVtYmVyT2ZDYXNlcyAtIDEsICJUaGUgZGVmYXVsdCBjYXNlIG11c3QgYmUgdGhl
IGxhc3QgY2FzZS4iKTsKKyAgICAgICAgICAgIGhhc0RlZmF1bHQgPSB0cnVlOworICAgICAgICAg
ICAgY29udGV4dC5saW5rVGFyZ2V0KGRlZmF1bHRUYXJnZXQpOwogICAgICAgICAgICAgaWYgKHN3
aXRjaENhc2UgPT0gV0FTTVN3aXRjaENhc2U6OkRlZmF1bHRXaXRoU3RhdGVtZW50KSB7CiAgICAg
ICAgICAgICAgICAgcGFyc2VTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgICAgICAgICAgUFJP
UEFHQVRFX0VSUk9SKCk7CkBAIC00MzUsOCArNDUyLDE4IEBAIENvbnRleHRTdGF0ZW1lbnQgV0FT
TUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN3aXRjaFN0YXRlbWVudChDb250ZXh0JiBjb250ZXh0KQog
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIH0KICAgICB9CisgICAg
aWYgKCFoYXNEZWZhdWx0KQorICAgICAgICBjb250ZXh0LmxpbmtUYXJnZXQoZGVmYXVsdFRhcmdl
dCk7CisKICAgICBtX2JyZWFrU2NvcGVEZXB0aC0tOwotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQg
dGhpcyBpbnN0cnVjdGlvbi4KKworICAgIGNvbnRleHQuanVtcFRvVGFyZ2V0KGNvbnRleHQuYnJl
YWtUYXJnZXQoKSk7CisgICAgY29udGV4dC5saW5rVGFyZ2V0KGNvbXBhcmUpOworCisgICAgY29u
dGV4dC5idWlsZFN3aXRjaChleHByZXNzaW9uLCBjYXNlcywgdGFyZ2V0cywgZGVmYXVsdFRhcmdl
dCk7CisKKyAgICBjb250ZXh0LmxpbmtUYXJnZXQoY29udGV4dC5icmVha1RhcmdldCgpKTsKKyAg
ICBjb250ZXh0LmVuZFN3aXRjaCgpOwogICAgIHJldHVybiBVTlVTRUQ7CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblN5bnRheENoZWNrZXIu
aAppbmRleCAzYjEyYTYxZjQyOTFiN2ZmYmI0YjU2MjRmMTVlYjEyMTI1NjdiMGU4Li45MWNhY2I3
YzdiNWQxMjVmZWI0MTVjNWI0YTBmOWQ2M2U3OTMyMmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9uU3ludGF4Q2hlY2tlci5oCkBAIC0xNDMs
NiArMTQzLDExIEBAIHB1YmxpYzoKICAgICBpbnQgYnJlYWtMYWJlbFRhcmdldCh1aW50MzJfdCkg
eyByZXR1cm4gVU5VU0VEOyB9CiAgICAgaW50IGNvbnRpbnVlTGFiZWxUYXJnZXQodWludDMyX3Qp
IHsgcmV0dXJuIFVOVVNFRDsgfQogCisgICAgdm9pZCBidWlsZFN3aXRjaChpbnQsIGNvbnN0IFZl
Y3RvcjxpbnQ2NF90PiYsIGNvbnN0IFZlY3RvcjxpbnQ+JiwgY29uc3QgaW50JikKKyAgICB7Cisg
ICAgICAgIG1fdGVtcFN0YWNrVG9wLS07CisgICAgfQorCiAgICAgdW5zaWduZWQgc3RhY2tIZWln
aHQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbnVtYmVyT2ZMb2NhbHMgKyBtX3RlbXBTdGFj
a0hlaWdodDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>