<?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>149383</bug_id>
          
          <creation_ts>2015-09-20 00:24:33 -0700</creation_ts>
          <short_desc>Implement SetLocal and SetGlobal expressions in WebAssembly</short_desc>
          <delta_ts>2015-09-20 22:06:48 -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>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127480</commentid>
    <comment_count>0</comment_count>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-20 00:24:33 -0700</bug_when>
    <thetext>SetLocal and SetGlobal can be statements and expressions. We have implemented them as statements but haven&apos;t implemented them as expressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127484</commentid>
    <comment_count>1</comment_count>
      <attachid>261606</attachid>
    <who name="Sukolsak Sakshuwong">sukolsak</who>
    <bug_when>2015-09-20 00:41:38 -0700</bug_when>
    <thetext>Created attachment 261606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127557</commentid>
    <comment_count>2</comment_count>
      <attachid>261606</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-20 21:12:44 -0700</bug_when>
    <thetext>Comment on attachment 261606
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127564</commentid>
    <comment_count>3</comment_count>
      <attachid>261606</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-20 22:06:44 -0700</bug_when>
    <thetext>Comment on attachment 261606
Patch

Clearing flags on attachment: 261606

Committed r190043: &lt;http://trac.webkit.org/changeset/190043&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127565</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-20 22:06:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261606</attachid>
            <date>2015-09-20 00:41:38 -0700</date>
            <delta_ts>2015-09-20 22:06:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149383-20150920004220.patch</filename>
            <type>text/plain</type>
            <size>21016</size>
            <attacher name="Sukolsak Sakshuwong">sukolsak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MTM4YzU2NDIxMDg1MmYxMDUxZTFhOGI0NzRkMmQyZGRjYWYxZWE1Li4xZWNhMWQ0Zjk3MGU4YWIz
ZjVjM2Y3Y2YwNTAyZTFkOWEwZTRmNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MSBAQAorMjAxNS0wOS0yMCAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdt
YWlsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgU2V0TG9jYWwgYW5kIFNldEdsb2JhbCBleHBy
ZXNzaW9ucyBpbiBXZWJBc3NlbWJseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ5MzgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgU2V0TG9jYWwgYW5kIFNldEdsb2JhbCBpbiBXZWJBc3NlbWJseSBjYW4g
YmUgYm90aCBzdGF0ZW1lbnRzIGFuZAorICAgICAgICBleHByZXNzaW9ucy4gV2UgaGF2ZSBpbXBs
ZW1lbnRlZCB0aGUgc3RhdGVtZW50IHZlcnNpb24uIFRoaXMgcGF0Y2gKKyAgICAgICAgaW1wbGVt
ZW50cyB0aGUgZXhwcmVzc2lvbiB2ZXJzaW9uLgorCisgICAgICAgIFNldExvY2FsIGFuZCBTZXRH
bG9iYWwgZXhwcmVzc2lvbnMgcmV0dXJuIHRoZSBhc3NpZ25lZCB2YWx1ZS4KKyAgICAgICAgU2lu
Y2UgU2V0TG9jYWwgYW5kIFNldEdsb2JhbCB1c2Ugb25seSBvbmUgb3BlcmFuZCwgd2hpY2ggaXMg
dGhlIGFzc2lnbmVkCisgICAgICAgIHZhbHVlLCB3ZSBjYW4gc2ltcGx5IGltcGxlbWVudCB0aGVt
IGJ5IG5vdCByZW1vdmluZyB0aGUgdmFsdWUgZnJvbSB0aGUKKyAgICAgICAgdG9wIG9mIHRoZSBz
dGFjay4KKworICAgICAgICAqIHRlc3RzL3N0cmVzcy93YXNtLWdsb2JhbHMuanM6CisgICAgICAg
ICogdGVzdHMvc3RyZXNzL3dhc20tbG9jYWxzLmpzOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy93
YXNtL2dsb2JhbHMud2FzbToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvd2FzbS9sb2NhbHMud2Fz
bToKKyAgICAgICAgKiB3YXNtL1dBU01Db25zdGFudHMuaDoKKyAgICAgICAgKiB3YXNtL1dBU01G
dW5jdGlvbkNvbXBpbGVyLmg6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvbkNvbXBpbGVyOjpi
dWlsZFNldExvY2FsKToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uQ29tcGlsZXI6OmJ1aWxk
U2V0R2xvYmFsKToKKyAgICAgICAgKiB3YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAo
SlNDOjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlRXhwcmVzc2lvbkkzMik6CisgICAgICAgIChK
U0M6OldBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VFeHByZXNzaW9uRjMyKToKKyAgICAgICAgKEpT
Qzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GNjQpOgorICAgICAgICAoSlND
OjpXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU2V0TG9jYWwpOgorICAgICAgICAoSlNDOjpXQVNN
RnVuY3Rpb25QYXJzZXI6OnBhcnNlU2V0R2xvYmFsKToKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0
aW9uUGFyc2VyOjpwYXJzZVNldExvY2FsU3RhdGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6V0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVNldEdsb2JhbFN0YXRlbWVudCk6IERlbGV0ZWQu
CisgICAgICAgICogd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaDoKKyAgICAgICAgKiB3YXNtL1dB
U01GdW5jdGlvblN5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6V0FTTUZ1bmN0aW9uU3lu
dGF4Q2hlY2tlcjo6YnVpbGRTZXRMb2NhbCk6CisgICAgICAgIChKU0M6OldBU01GdW5jdGlvblN5
bnRheENoZWNrZXI6OmJ1aWxkU2V0R2xvYmFsKToKKwogMjAxNS0wOS0xOCAgU3Vrb2xzYWsgU2Fr
c2h1d29uZyAgPHN1a29sc2FrQGdtYWlsLmNvbT4KIAogICAgICAgICBSZW1vdmUgZHVwbGljYXRl
IGNvZGUgaW4gdGhlIFdlYkFzc2VtYmx5IHBhcnNlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy93YXNtLWdsb2JhbHMuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL3dhc20tZ2xvYmFscy5qcwppbmRleCBhZmEwZTY5OTZkYzI2OTI1
NTI3NjJjZDZhYzg4ZTBhM2IzMDc0YTQzLi5hNjlmMjZkMWU0NDBhYTJiNTczMTk2NTdjM2Q5OTUz
MzkwYmIxZWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3dhc20tZ2xvYmFscy5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3dhc20tZ2xvYmFscy5qcwpAQCAtNTgsNiArNTgsMjEgQEAgZnVuY3Rpb24gYXNtTW9kdWxlKGds
b2JhbCwgaW1wb3J0cywgYnVmZmVyKSB7CiAgICAgICAgIHogPSBuZXdaOwogICAgIH0KIAorICAg
IGZ1bmN0aW9uIHNldFhFeHByZXNzaW9uKG5ld1gpIHsKKyAgICAgICAgbmV3WCA9IG5ld1ggfCAw
OworICAgICAgICByZXR1cm4gKHggPSBuZXdYKSB8IDA7CisgICAgfQorCisgICAgZnVuY3Rpb24g
c2V0WUV4cHJlc3Npb24obmV3WSkgeworICAgICAgICBuZXdZID0gZnJvdW5kKG5ld1kpOworICAg
ICAgICByZXR1cm4geSA9IG5ld1k7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2V0WkV4cHJlc3Np
b24obmV3WikgeworICAgICAgICBuZXdaID0gK25ld1o7CisgICAgICAgIHJldHVybiB6ID0gbmV3
WjsKKyAgICB9CisKICAgICByZXR1cm4gewogICAgICAgICBnZXRBOiBnZXRBLAogICAgICAgICBn
ZXRCOiBnZXRCLApAQCAtNjgsNiArODMsOSBAQCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBp
bXBvcnRzLCBidWZmZXIpIHsKICAgICAgICAgc2V0WDogc2V0WCwKICAgICAgICAgc2V0WTogc2V0
WSwKICAgICAgICAgc2V0Wjogc2V0WiwKKyAgICAgICAgc2V0WEV4cHJlc3Npb246IHNldFhFeHBy
ZXNzaW9uLAorICAgICAgICBzZXRZRXhwcmVzc2lvbjogc2V0WUV4cHJlc3Npb24sCisgICAgICAg
IHNldFpFeHByZXNzaW9uOiBzZXRaRXhwcmVzc2lvbiwKICAgICB9OwogfQogKi8KQEAgLTEwNCwz
ICsxMjIsMTAgQEAgbW9kdWxlLnNldFooMC4xKTsKIHNob3VsZEJlKG1vZHVsZS5nZXRYKCksIDEp
Owogc2hvdWxkQmUobW9kdWxlLmdldFkoKSwgMC4xMDAwMDAwMDE0OTAxMTYxMik7CiBzaG91bGRC
ZShtb2R1bGUuZ2V0WigpLCAwLjEpOworCitzaG91bGRCZShtb2R1bGUuc2V0WEV4cHJlc3Npb24o
MiksIDIpOworc2hvdWxkQmUobW9kdWxlLmdldFgoKSwgMik7CitzaG91bGRCZShtb2R1bGUuc2V0
WUV4cHJlc3Npb24oMC4yKSwgMC4yMDAwMDAwMDI5ODAyMzIyNCk7CitzaG91bGRCZShtb2R1bGUu
Z2V0WSgpLCAwLjIwMDAwMDAwMjk4MDIzMjI0KTsKK3Nob3VsZEJlKG1vZHVsZS5zZXRaRXhwcmVz
c2lvbigwLjIpLCAwLjIpOworc2hvdWxkQmUobW9kdWxlLmdldFooKSwgMC4yKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS1sb2NhbHMuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20tbG9jYWxzLmpzCmluZGV4IGE3
Mzk4MTA1MzU5ZjgzYjU2ZGMxOTc4ZDZhNTZhMWEyMTZhY2IxYTAuLjNjZTA4NzA0M2FiMGQxOTUy
ZTM2YzhmYWQ2MGRhNTlkZmI1OTlkNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3Mvd2FzbS1sb2NhbHMuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy93YXNtLWxvY2Fscy5qcwpAQCAtMjQsOSArMjQsMzAgQEAgZnVuY3Rpb24g
YXNtTW9kdWxlKGdsb2JhbCwgZW52LCBidWZmZXIpIHsKICAgICAgICAgcmV0dXJuICh4ICsgMSkg
fCAwOwogICAgIH0KIAorICAgIGZ1bmN0aW9uIHRlc3RTZXRMb2NhbEV4cHJlc3Npb24xKCkgewor
ICAgICAgICB2YXIgeCA9IDA7CisgICAgICAgIHJldHVybiAoeCA9IDIpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHRlc3RTZXRMb2NhbEV4cHJlc3Npb24yKCkgeworICAgICAgICB2YXIgeCA9IDA7
CisgICAgICAgIHggPSAxOworICAgICAgICByZXR1cm4gKHggKyAoKCh4ID0gMykgKyB4KSB8IDAp
KSB8IDA7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdFNldExvY2FsRXhwcmVzc2lvbjMoKSB7
CisgICAgICAgIHZhciB4ID0gMDsKKyAgICAgICAgeCA9IDE7CisgICAgICAgIHJldHVybiAoeCAr
ICgoKHggPSAoKHggKyAxKSB8IDApKSArIHgpIHwgMCkpIHwgMDsKKyAgICB9CisKICAgICByZXR1
cm4gewogICAgICAgICBzdW06IHN1bSwKICAgICAgICAgYWRkMTogYWRkMSwKKworICAgICAgICB0
ZXN0U2V0TG9jYWxFeHByZXNzaW9uMTogdGVzdFNldExvY2FsRXhwcmVzc2lvbjEsCisgICAgICAg
IHRlc3RTZXRMb2NhbEV4cHJlc3Npb24yOiB0ZXN0U2V0TG9jYWxFeHByZXNzaW9uMiwKKyAgICAg
ICAgdGVzdFNldExvY2FsRXhwcmVzc2lvbjM6IHRlc3RTZXRMb2NhbEV4cHJlc3Npb24zLAogICAg
IH07CiB9CiAqLwpAQCAtMzQsNSArNTUsOCBAQCBmdW5jdGlvbiBhc21Nb2R1bGUoZ2xvYmFsLCBl
bnYsIGJ1ZmZlcikgewogdmFyIG1vZHVsZSA9IGxvYWRXZWJBc3NlbWJseSgid2FzbS9sb2NhbHMu
d2FzbSIpOwogCiBzaG91bGRCZShtb2R1bGUuc3VtKDEyLCAzMCksIDQyKTsKLQogc2hvdWxkQmUo
bW9kdWxlLmFkZDEoNDIpLCA0Myk7CisKK3Nob3VsZEJlKG1vZHVsZS50ZXN0U2V0TG9jYWxFeHBy
ZXNzaW9uMSgpLCAyKTsKK3Nob3VsZEJlKG1vZHVsZS50ZXN0U2V0TG9jYWxFeHByZXNzaW9uMigp
LCA3KTsKK3Nob3VsZEJlKG1vZHVsZS50ZXN0U2V0TG9jYWxFeHByZXNzaW9uMygpLCA1KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvd2FzbS9nbG9iYWxz
Lndhc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20vZ2xvYmFscy53
YXNtCmluZGV4IDY0N2M4OTViZTU3YWQ3ZDAxODU4YjMyOThjMjliNjNmNGFjMmQ5ZWEuLmZlOGFj
YjAwODAxZjNkYzM2ZDlhNWI5MDNjMmQ5NzgwNTI3Yzg5YTggMTAwNjQ0CkdJVCBiaW5hcnkgcGF0
Y2gKZGVsdGEgMTQ0CnpjbWJRbl89TTVFSmgzPWVsOWQ0akkyamxpOEpITkQ4RyhxQW5VTSp8VmBP
QXgweTAxfTVGfDFyRihmbmFGbzJ8KAp6bXwwbGEqZn1OfFlsfTI2XjBQNz0wRmpJZktxUyl3TXhL
Y1lXKExLbkJAd09fMXgyYUYjaExrZTQ0Z29JQm9kenMKSyRkNXdlYXt+YXQkc0Y0TgoKZGVsdGEg
NjUKemNtYUZESUV+U2BKaDM9OG14VGNZKmNjY1g4SkhORDhHKHFBblVNKnwxJXBJfUIhKi1MUDZu
VXxCTkg8Vj5xTDhQCktDUHZQUWIhR3EqLVVveUwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL3dhc20vbG9jYWxzLndhc20gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL3dhc20vbG9jYWxzLndhc20KaW5kZXggZmE3NjFiNjk5ZTMwYTEz
MTNhZTQxMDlmNTA5ZWM4ZTVhMWZkMDIwMy4uYmQ1MTI0YzkwODM2YTk3YTFhZjUzZDcwNzZiMjM1
ZmQ5NjFlNjBmZSAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE3MAp6Y21YUjxFWTgo
dFZFX1NVMXx9Zk0yeGRiRlJ0ODJVQ01KZVByWTUtcTJsKT4qRiFJWUNTbEd6TyYlJl4laypRJUoK
emtTRTgmdT1vSWk0VXw1PiRYWjtRJWZPSkJsNDhpZlNkdjs/NX1hRCVsYkBXSjw2MlFybHYtU3pu
VilDS3o9VTFHCk1oPUNjcWdmUm1QMDczO1lDamJCZAoKbGl0ZXJhbCA1OAp6Y21YUjxFWTVYZVcm
aTt1QVlAPSoxaFhOME11dFlGQ2I8SSNgNDJUUF4yOzRxJGpEUyZuIztoRG4zN2Axeno2e0sKQzJN
UnBeCgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUNvbnN0YW50
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUNvbnN0YW50cy5oCmluZGV4IDU2
NmMzZmRlYTQ3ZmE4ZWMyNTAwMjMzYmIzM2U0YjkxM2M5M2Q4ZWEuLjJjNjBhN2M1MmVjZDAzMDc0
MWI0NTU3ZjQyNzNiZmViOTM2ZDVmNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dBU01Db25zdGFudHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
QVNNQ29uc3RhbnRzLmgKQEAgLTQ5LDYgKzQ5LDExIEBAIG5hbWVzcGFjZSBKU0MgewogCiBzdGF0
aWMgY29uc3QgdWludDMyX3Qgd2FzbU1hZ2ljTnVtYmVyID0gMHg2ZDczNjE3NzsKIAorZW51bSBj
bGFzcyBXQVNNT3BLaW5kIHsKKyAgICBTdGF0ZW1lbnQsCisgICAgRXhwcmVzc2lvbgorfTsKKwog
ZW51bSBjbGFzcyBXQVNNT3BTdGF0ZW1lbnQgOiB1aW50OF90IHsKICAgICBTZXRMb2NhbCwKICAg
ICBTZXRHbG9iYWwsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
RnVuY3Rpb25Db21waWxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0
aW9uQ29tcGlsZXIuaAppbmRleCBjY2E1YWVmYWQ0YTQyMGE0OWNlNWQzOWYyZWFmNTJhZTJiZTUw
NjI0Li5iZDE4ZDU1YTJiNWE4MDE4OWUzMjBhOWY1NjZjZWNlNzA0ZTExYmQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25Db21waWxlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvbkNvbXBpbGVyLmgKQEAgLTI2
OSwyNiArMjY5LDI3IEBAIHB1YmxpYzoKICAgICAgICAgbV9jb2RlQmxvY2stPmNhcGFiaWxpdHlM
ZXZlbCgpOwogICAgIH0KIAotICAgIHZvaWQgYnVpbGRTZXRMb2NhbCh1aW50MzJfdCBsb2NhbElu
ZGV4LCBpbnQsIFdBU01UeXBlIHR5cGUpCisgICAgaW50IGJ1aWxkU2V0TG9jYWwoV0FTTU9wS2lu
ZCBvcEtpbmQsIHVpbnQzMl90IGxvY2FsSW5kZXgsIGludCwgV0FTTVR5cGUgdHlwZSkKICAgICB7
CiAgICAgICAgIHN3aXRjaCAodHlwZSkgewogICAgICAgICBjYXNlIFdBU01UeXBlOjpJMzI6CiAg
ICAgICAgIGNhc2UgV0FTTVR5cGU6OkYzMjoKICAgICAgICAgICAgIGxvYWQzMih0ZW1wb3JhcnlB
ZGRyZXNzKG1fdGVtcFN0YWNrVG9wIC0gMSksIEdQUkluZm86OnJlZ1QwKTsKLSAgICAgICAgICAg
IG1fdGVtcFN0YWNrVG9wLS07CiAgICAgICAgICAgICBzdG9yZTMyKEdQUkluZm86OnJlZ1QwLCBs
b2NhbEFkZHJlc3MobG9jYWxJbmRleCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgV0FTTVR5cGU6OkY2NDoKICAgICAgICAgICAgIGxvYWREb3VibGUodGVtcG9yYXJ5QWRkcmVz
cyhtX3RlbXBTdGFja1RvcCAtIDEpLCBGUFJJbmZvOjpmcFJlZ1QwKTsKLSAgICAgICAgICAgIG1f
dGVtcFN0YWNrVG9wLS07CiAgICAgICAgICAgICBzdG9yZURvdWJsZShGUFJJbmZvOjpmcFJlZ1Qw
LCBsb2NhbEFkZHJlc3MobG9jYWxJbmRleCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgfQor
ICAgICAgICBpZiAob3BLaW5kID09IFdBU01PcEtpbmQ6OlN0YXRlbWVudCkKKyAgICAgICAgICAg
IG1fdGVtcFN0YWNrVG9wLS07CisgICAgICAgIHJldHVybiBVTlVTRUQ7CiAgICAgfQogCi0gICAg
dm9pZCBidWlsZFNldEdsb2JhbCh1aW50MzJfdCBnbG9iYWxJbmRleCwgaW50LCBXQVNNVHlwZSB0
eXBlKQorICAgIGludCBidWlsZFNldEdsb2JhbChXQVNNT3BLaW5kIG9wS2luZCwgdWludDMyX3Qg
Z2xvYmFsSW5kZXgsIGludCwgV0FTTVR5cGUgdHlwZSkKICAgICB7CiAgICAgICAgIG1vdmUoVHJ1
c3RlZEltbVB0cigmbV9tb2R1bGUtPmdsb2JhbFZhcmlhYmxlcygpW2dsb2JhbEluZGV4XSksIEdQ
UkluZm86OnJlZ1QwKTsKICAgICAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC0zMDQsNyArMzA1LDkg
QEAgcHVibGljOgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIH0KLSAgICAgICAgbV90ZW1wU3RhY2tUb3AtLTsKKyAgICAgICAgaWYg
KG9wS2luZCA9PSBXQVNNT3BLaW5kOjpTdGF0ZW1lbnQpCisgICAgICAgICAgICBtX3RlbXBTdGFj
a1RvcC0tOworICAgICAgICByZXR1cm4gVU5VU0VEOwogICAgIH0KIAogICAgIHZvaWQgYnVpbGRS
ZXR1cm4oaW50LCBXQVNNRXhwcmVzc2lvblR5cGUgcmV0dXJuVHlwZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dBU01GdW5jdGlvblBhcnNlci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuY3BwCmluZGV4IDY5M2E0YTI4
N2Y2ZDk1ODY3YzZlOTIxY2E0MGZkMGVjMDI3MWM2MzQuLmRkZWQ4OTQ3OGFjNmE2N2Y1NjA1NWFl
ZjdmNmZjZjBjYWE1ZGQyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dBU01GdW5jdGlvblBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V0FTTUZ1bmN0aW9uUGFyc2VyLmNwcApAQCAtMTUyLDEwICsxNTIsMTAgQEAgQ29udGV4dFN0YXRl
bWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU3RhdGVtZW50KENvbnRleHQmIGNvbnRleHQp
CiAgICAgaWYgKCFoYXNJbW1lZGlhdGUpIHsKICAgICAgICAgc3dpdGNoIChvcCkgewogICAgICAg
ICBjYXNlIFdBU01PcFN0YXRlbWVudDo6U2V0TG9jYWw6Ci0gICAgICAgICAgICBwYXJzZVNldExv
Y2FsU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAgICAgcGFyc2VTZXRMb2NhbChjb250ZXh0
LCBXQVNNT3BLaW5kOjpTdGF0ZW1lbnQsIFdBU01FeHByZXNzaW9uVHlwZTo6Vm9pZCk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXQVNNT3BTdGF0ZW1lbnQ6OlNldEdsb2JhbDoK
LSAgICAgICAgICAgIHBhcnNlU2V0R2xvYmFsU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAg
ICAgcGFyc2VTZXRHbG9iYWwoY29udGV4dCwgV0FTTU9wS2luZDo6U3RhdGVtZW50LCBXQVNNRXhw
cmVzc2lvblR5cGU6OlZvaWQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV0FT
TU9wU3RhdGVtZW50OjpJMzJTdG9yZTg6CiAgICAgICAgICAgICBwYXJzZVN0b3JlKGNvbnRleHQs
IFdBU01FeHByZXNzaW9uVHlwZTo6STMyLCBXQVNNTWVtb3J5VHlwZTo6STgsIE1lbW9yeUFjY2Vz
c09mZnNldE1vZGU6Ok5vT2Zmc2V0KTsKQEAgLTIzNCwxMCArMjM0LDEwIEBAIENvbnRleHRTdGF0
ZW1lbnQgV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZVN0YXRlbWVudChDb250ZXh0JiBjb250ZXh0
KQogICAgIH0gZWxzZSB7CiAgICAgICAgIHN3aXRjaCAob3BXaXRoSW1tZWRpYXRlKSB7CiAgICAg
ICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50V2l0aEltbWVkaWF0ZTo6U2V0TG9jYWw6Ci0gICAgICAg
ICAgICBwYXJzZVNldExvY2FsU3RhdGVtZW50KGNvbnRleHQsIGltbWVkaWF0ZSk7CisgICAgICAg
ICAgICBwYXJzZVNldExvY2FsKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FTTUV4
cHJlc3Npb25UeXBlOjpWb2lkLCBpbW1lZGlhdGUpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgV0FTTU9wU3RhdGVtZW50V2l0aEltbWVkaWF0ZTo6U2V0R2xvYmFsOgotICAgICAg
ICAgICAgcGFyc2VTZXRHbG9iYWxTdGF0ZW1lbnQoY29udGV4dCwgaW1tZWRpYXRlKTsKKyAgICAg
ICAgICAgIHBhcnNlU2V0R2xvYmFsKGNvbnRleHQsIFdBU01PcEtpbmQ6OlN0YXRlbWVudCwgV0FT
TUV4cHJlc3Npb25UeXBlOjpWb2lkLCBpbW1lZGlhdGUpOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTI0
Nyw0NCArMjQ3LDYgQEAgQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNl
U3RhdGVtZW50KENvbnRleHQmIGNvbnRleHQpCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0
PgotQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU2V0TG9jYWxTdGF0
ZW1lbnQoQ29udGV4dCYgY29udGV4dCwgdWludDMyX3QgbG9jYWxJbmRleCkKLXsKLSAgICBGQUlM
X0lGX0ZBTFNFKGxvY2FsSW5kZXggPCBtX2xvY2FsVHlwZXMuc2l6ZSgpLCAiVGhlIGxvY2FsIHZh
cmlhYmxlIGluZGV4IGlzIGluY29ycmVjdC4iKTsKLSAgICBXQVNNVHlwZSB0eXBlID0gbV9sb2Nh
bFR5cGVzW2xvY2FsSW5kZXhdOwotICAgIENvbnRleHRFeHByZXNzaW9uIGV4cHJlc3Npb24gPSBw
YXJzZUV4cHJlc3Npb24oY29udGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlKHR5cGUpKTsKLSAgICBQ
Uk9QQUdBVEVfRVJST1IoKTsKLSAgICBjb250ZXh0LmJ1aWxkU2V0TG9jYWwobG9jYWxJbmRleCwg
ZXhwcmVzc2lvbiwgdHlwZSk7Ci0gICAgcmV0dXJuIFVOVVNFRDsKLX0KLQotdGVtcGxhdGUgPGNs
YXNzIENvbnRleHQ+Ci1Db250ZXh0U3RhdGVtZW50IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VT
ZXRMb2NhbFN0YXRlbWVudChDb250ZXh0JiBjb250ZXh0KQotewotICAgIHVpbnQzMl90IGxvY2Fs
SW5kZXg7Ci0gICAgUkVBRF9DT01QQUNUX1VJTlQzMl9PUl9GQUlMKGxvY2FsSW5kZXgsICJDYW5u
b3QgcmVhZCB0aGUgbG9jYWwgaW5kZXguIik7Ci0gICAgcmV0dXJuIHBhcnNlU2V0TG9jYWxTdGF0
ZW1lbnQoY29udGV4dCwgbG9jYWxJbmRleCk7Ci19Ci0KLXRlbXBsYXRlIDxjbGFzcyBDb250ZXh0
PgotQ29udGV4dFN0YXRlbWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU2V0R2xvYmFsU3Rh
dGVtZW50KENvbnRleHQmIGNvbnRleHQsIHVpbnQzMl90IGdsb2JhbEluZGV4KQotewotICAgIEZB
SUxfSUZfRkFMU0UoZ2xvYmFsSW5kZXggPCBtX21vZHVsZS0+Z2xvYmFsVmFyaWFibGVUeXBlcygp
LnNpemUoKSwgIlRoZSBnbG9iYWwgaW5kZXggaXMgaW5jb3JyZWN0LiIpOwotICAgIFdBU01UeXBl
IHR5cGUgPSBtX21vZHVsZS0+Z2xvYmFsVmFyaWFibGVUeXBlcygpW2dsb2JhbEluZGV4XTsKLSAg
ICBDb250ZXh0RXhwcmVzc2lvbiBleHByZXNzaW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQs
IFdBU01FeHByZXNzaW9uVHlwZSh0eXBlKSk7Ci0gICAgUFJPUEFHQVRFX0VSUk9SKCk7Ci0gICAg
Y29udGV4dC5idWlsZFNldEdsb2JhbChnbG9iYWxJbmRleCwgZXhwcmVzc2lvbiwgdHlwZSk7Ci0g
ICAgcmV0dXJuIFVOVVNFRDsKLX0KLQotdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+Ci1Db250ZXh0
U3RhdGVtZW50IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTZXRHbG9iYWxTdGF0ZW1lbnQoQ29u
dGV4dCYgY29udGV4dCkKLXsKLSAgICB1aW50MzJfdCBnbG9iYWxJbmRleDsKLSAgICBSRUFEX0NP
TVBBQ1RfVUlOVDMyX09SX0ZBSUwoZ2xvYmFsSW5kZXgsICJDYW5ub3QgcmVhZCB0aGUgZ2xvYmFs
IGluZGV4LiIpOwotICAgIHJldHVybiBwYXJzZVNldEdsb2JhbFN0YXRlbWVudChjb250ZXh0LCBn
bG9iYWxJbmRleCk7Ci19Ci0KLXRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PgogQ29udGV4dFN0YXRl
bWVudCBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlUmV0dXJuU3RhdGVtZW50KENvbnRleHQmIGNv
bnRleHQpCiB7CiAgICAgQ29udGV4dEV4cHJlc3Npb24gZXhwcmVzc2lvbiA9IDA7CkBAIC01NjIs
NiArNTI0LDEwIEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VF
eHByZXNzaW9uSTMyKENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgICAgICByZXR1cm4gcGFyc2VH
ZXRMb2NhbEV4cHJlc3Npb24oY29udGV4dCwgV0FTTVR5cGU6OkkzMik7CiAgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkkzMjo6R2V0R2xvYmFsOgogICAgICAgICAgICAgcmV0dXJuIHBhcnNl
R2V0R2xvYmFsRXhwcmVzc2lvbihjb250ZXh0LCBXQVNNVHlwZTo6STMyKTsKKyAgICAgICAgY2Fz
ZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTZXRMb2NhbDoKKyAgICAgICAgICAgIHJldHVybiBwYXJz
ZVNldExvY2FsKGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9u
VHlwZTo6STMyKTsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTZXRHbG9iYWw6
CisgICAgICAgICAgICByZXR1cm4gcGFyc2VTZXRHbG9iYWwoY29udGV4dCwgV0FTTU9wS2luZDo6
RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIpOwogICAgICAgICBjYXNlIFdBU01P
cEV4cHJlc3Npb25JMzI6OlNMb2FkODoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUxvYWQoY29u
dGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlOjpJMzIsIFdBU01NZW1vcnlUeXBlOjpJOCwgTWVtb3J5
QWNjZXNzT2Zmc2V0TW9kZTo6Tm9PZmZzZXQsIE1lbW9yeUFjY2Vzc0NvbnZlcnNpb246OlNpZ25F
eHRlbmQpOwogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlNMb2FkV2l0aE9mZnNl
dDg6CkBAIC02MzcsOCArNjAzLDYgQEAgQ29udGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFy
c2VyOjpwYXJzZUV4cHJlc3Npb25JMzIoQ29udGV4dCYgY29udGV4dCkKICAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uSTMyOjpHcmVhdGVyVGhhbkY2NDoKICAgICAgICAgY2FzZSBXQVNNT3BF
eHByZXNzaW9uSTMyOjpHcmVhdGVyVGhhbk9yRXF1YWxGNjQ6CiAgICAgICAgICAgICByZXR1cm4g
cGFyc2VSZWxhdGlvbmFsRjY0RXhwcmVzc2lvbkkzMihjb250ZXh0LCBvcCk7Ci0gICAgICAgIGNh
c2UgV0FTTU9wRXhwcmVzc2lvbkkzMjo6U2V0TG9jYWw6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhw
cmVzc2lvbkkzMjo6U2V0R2xvYmFsOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6
OlN0b3JlODoKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uSTMyOjpTdG9yZVdpdGhPZmZz
ZXQ4OgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25JMzI6OlN0b3JlMTY6CkBAIC03NjYs
NiArNzMwLDEwIEBAIENvbnRleHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VF
eHByZXNzaW9uRjMyKENvbnRleHQmIGNvbnRleHQpCiAgICAgICAgICAgICByZXR1cm4gcGFyc2VH
ZXRMb2NhbEV4cHJlc3Npb24oY29udGV4dCwgV0FTTVR5cGU6OkYzMik7CiAgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkYzMjo6R2V0R2xvYmFsOgogICAgICAgICAgICAgcmV0dXJuIHBhcnNl
R2V0R2xvYmFsRXhwcmVzc2lvbihjb250ZXh0LCBXQVNNVHlwZTo6RjMyKTsKKyAgICAgICAgY2Fz
ZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpTZXRMb2NhbDoKKyAgICAgICAgICAgIHJldHVybiBwYXJz
ZVNldExvY2FsKGNvbnRleHQsIFdBU01PcEtpbmQ6OkV4cHJlc3Npb24sIFdBU01FeHByZXNzaW9u
VHlwZTo6RjMyKTsKKyAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpTZXRHbG9iYWw6
CisgICAgICAgICAgICByZXR1cm4gcGFyc2VTZXRHbG9iYWwoY29udGV4dCwgV0FTTU9wS2luZDo6
RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGMzIpOwogICAgICAgICBjYXNlIFdBU01P
cEV4cHJlc3Npb25GMzI6OkxvYWQ6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VMb2FkKGNvbnRl
eHQsIFdBU01FeHByZXNzaW9uVHlwZTo6RjMyLCBXQVNNTWVtb3J5VHlwZTo6RjMyLCBNZW1vcnlB
Y2Nlc3NPZmZzZXRNb2RlOjpOb09mZnNldCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkYzMjo6TG9hZFdpdGhPZmZzZXQ6CkBAIC03OTEsOCArNzU5LDYgQEAgQ29udGV4dEV4cHJlc3Np
b24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GMzIoQ29udGV4dCYgY29udGV4
dCkKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjMyOjpNdWw6CiAgICAgICAgIGNhc2Ug
V0FTTU9wRXhwcmVzc2lvbkYzMjo6RGl2OgogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQmluYXJ5
RXhwcmVzc2lvbkYzMihjb250ZXh0LCBvcCk7Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkYzMjo6U2V0TG9jYWw6Ci0gICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkYzMjo6U2V0R2xv
YmFsOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OlN0b3JlOgogICAgICAgICBj
YXNlIFdBU01PcEV4cHJlc3Npb25GMzI6OlN0b3JlV2l0aE9mZnNldDoKICAgICAgICAgY2FzZSBX
QVNNT3BFeHByZXNzaW9uRjMyOjpDb25kaXRpb25hbDoKQEAgLTg3NCw2ICs4NDAsMTAgQEAgQ29u
dGV4dEV4cHJlc3Npb24gV0FTTUZ1bmN0aW9uUGFyc2VyOjpwYXJzZUV4cHJlc3Npb25GNjQoQ29u
dGV4dCYgY29udGV4dCkKICAgICAgICAgICAgIHJldHVybiBwYXJzZUdldExvY2FsRXhwcmVzc2lv
bihjb250ZXh0LCBXQVNNVHlwZTo6RjY0KTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9u
RjY0OjpHZXRHbG9iYWw6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VHZXRHbG9iYWxFeHByZXNz
aW9uKGNvbnRleHQsIFdBU01UeXBlOjpGNjQpOworICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Np
b25GNjQ6OlNldExvY2FsOgorICAgICAgICAgICAgcmV0dXJuIHBhcnNlU2V0TG9jYWwoY29udGV4
dCwgV0FTTU9wS2luZDo6RXhwcmVzc2lvbiwgV0FTTUV4cHJlc3Npb25UeXBlOjpGNjQpOworICAg
ICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OlNldEdsb2JhbDoKKyAgICAgICAgICAgIHJl
dHVybiBwYXJzZVNldEdsb2JhbChjb250ZXh0LCBXQVNNT3BLaW5kOjpFeHByZXNzaW9uLCBXQVNN
RXhwcmVzc2lvblR5cGU6OkY2NCk7CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lvbkY2NDo6
TG9hZDoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUxvYWQoY29udGV4dCwgV0FTTUV4cHJlc3Np
b25UeXBlOjpGNjQsIFdBU01NZW1vcnlUeXBlOjpGNjQsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGU6
Ok5vT2Zmc2V0KTsKICAgICAgICAgY2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpMb2FkV2l0aE9m
ZnNldDoKQEAgLTkxMiw4ICs4ODIsNiBAQCBDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25Q
YXJzZXI6OnBhcnNlRXhwcmVzc2lvbkY2NChDb250ZXh0JiBjb250ZXh0KQogICAgICAgICBjYXNl
IFdBU01PcEV4cHJlc3Npb25GNjQ6OkFUYW4yOgogICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Np
b25GNjQ6OlBvdzoKICAgICAgICAgICAgIHJldHVybiBwYXJzZUJpbmFyeUV4cHJlc3Npb25GNjQo
Y29udGV4dCwgb3ApOwotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OlNldExvY2Fs
OgotICAgICAgICBjYXNlIFdBU01PcEV4cHJlc3Npb25GNjQ6OlNldEdsb2JhbDoKICAgICAgICAg
Y2FzZSBXQVNNT3BFeHByZXNzaW9uRjY0OjpTdG9yZToKICAgICAgICAgY2FzZSBXQVNNT3BFeHBy
ZXNzaW9uRjY0OjpTdG9yZVdpdGhPZmZzZXQ6CiAgICAgICAgIGNhc2UgV0FTTU9wRXhwcmVzc2lv
bkY2NDo6Q29uZGl0aW9uYWw6CkBAIC0xMDA2LDYgKzk3NCw0NiBAQCBDb250ZXh0RXhwcmVzc2lv
biBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlR2V0R2xvYmFsRXhwcmVzc2lvbihDb250ZXh0JiBj
b250ZXh0LAogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRleHRFeHByZXNzaW9u
IFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTZXRMb2NhbChDb250ZXh0JiBjb250ZXh0LCBXQVNN
T3BLaW5kIG9wS2luZCwgV0FTTUV4cHJlc3Npb25UeXBlIGV4cHJlc3Npb25UeXBlLCB1aW50MzJf
dCBsb2NhbEluZGV4KQoreworICAgIEZBSUxfSUZfRkFMU0UobG9jYWxJbmRleCA8IG1fbG9jYWxU
eXBlcy5zaXplKCksICJUaGUgbG9jYWwgdmFyaWFibGUgaW5kZXggaXMgaW5jb3JyZWN0LiIpOwor
ICAgIFdBU01UeXBlIHR5cGUgPSBtX2xvY2FsVHlwZXNbbG9jYWxJbmRleF07CisgICAgaWYgKG9w
S2luZCA9PSBXQVNNT3BLaW5kOjpFeHByZXNzaW9uKQorICAgICAgICBGQUlMX0lGX0ZBTFNFKGV4
cHJlc3Npb25UeXBlID09IFdBU01FeHByZXNzaW9uVHlwZSh0eXBlKSwgIlRoZSB0eXBlIGRvZXNu
J3QgbWF0Y2guIik7CisgICAgQ29udGV4dEV4cHJlc3Npb24gZXhwcmVzc2lvbiA9IHBhcnNlRXhw
cmVzc2lvbihjb250ZXh0LCBXQVNNRXhwcmVzc2lvblR5cGUodHlwZSkpOworICAgIFBST1BBR0FU
RV9FUlJPUigpOworICAgIHJldHVybiBjb250ZXh0LmJ1aWxkU2V0TG9jYWwob3BLaW5kLCBsb2Nh
bEluZGV4LCBleHByZXNzaW9uLCB0eXBlKTsKK30KKwordGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+
CitDb250ZXh0RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU2V0TG9jYWwoQ29u
dGV4dCYgY29udGV4dCwgV0FTTU9wS2luZCBvcEtpbmQsIFdBU01FeHByZXNzaW9uVHlwZSBleHBy
ZXNzaW9uVHlwZSkKK3sKKyAgICB1aW50MzJfdCBsb2NhbEluZGV4OworICAgIFJFQURfQ09NUEFD
VF9VSU5UMzJfT1JfRkFJTChsb2NhbEluZGV4LCAiQ2Fubm90IHJlYWQgdGhlIGxvY2FsIGluZGV4
LiIpOworICAgIHJldHVybiBwYXJzZVNldExvY2FsKGNvbnRleHQsIG9wS2luZCwgZXhwcmVzc2lv
blR5cGUsIGxvY2FsSW5kZXgpOworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KK0NvbnRl
eHRFeHByZXNzaW9uIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VTZXRHbG9iYWwoQ29udGV4dCYg
Y29udGV4dCwgV0FTTU9wS2luZCBvcEtpbmQsIFdBU01FeHByZXNzaW9uVHlwZSBleHByZXNzaW9u
VHlwZSwgdWludDMyX3QgZ2xvYmFsSW5kZXgpCit7CisgICAgRkFJTF9JRl9GQUxTRShnbG9iYWxJ
bmRleCA8IG1fbW9kdWxlLT5nbG9iYWxWYXJpYWJsZVR5cGVzKCkuc2l6ZSgpLCAiVGhlIGdsb2Jh
bCBpbmRleCBpcyBpbmNvcnJlY3QuIik7CisgICAgV0FTTVR5cGUgdHlwZSA9IG1fbW9kdWxlLT5n
bG9iYWxWYXJpYWJsZVR5cGVzKClbZ2xvYmFsSW5kZXhdOworICAgIGlmIChvcEtpbmQgPT0gV0FT
TU9wS2luZDo6RXhwcmVzc2lvbikKKyAgICAgICAgRkFJTF9JRl9GQUxTRShleHByZXNzaW9uVHlw
ZSA9PSBXQVNNRXhwcmVzc2lvblR5cGUodHlwZSksICJUaGUgdHlwZSBkb2Vzbid0IG1hdGNoLiIp
OworICAgIENvbnRleHRFeHByZXNzaW9uIGV4cHJlc3Npb24gPSBwYXJzZUV4cHJlc3Npb24oY29u
dGV4dCwgV0FTTUV4cHJlc3Npb25UeXBlKHR5cGUpKTsKKyAgICBQUk9QQUdBVEVfRVJST1IoKTsK
KyAgICByZXR1cm4gY29udGV4dC5idWlsZFNldEdsb2JhbChvcEtpbmQsIGdsb2JhbEluZGV4LCBl
eHByZXNzaW9uLCB0eXBlKTsKK30KKwordGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+CitDb250ZXh0
RXhwcmVzc2lvbiBXQVNNRnVuY3Rpb25QYXJzZXI6OnBhcnNlU2V0R2xvYmFsKENvbnRleHQmIGNv
bnRleHQsIFdBU01PcEtpbmQgb3BLaW5kLCBXQVNNRXhwcmVzc2lvblR5cGUgZXhwcmVzc2lvblR5
cGUpCit7CisgICAgdWludDMyX3QgZ2xvYmFsSW5kZXg7CisgICAgUkVBRF9DT01QQUNUX1VJTlQz
Ml9PUl9GQUlMKGdsb2JhbEluZGV4LCAiQ2Fubm90IHJlYWQgdGhlIGdsb2JhbCBpbmRleC4iKTsK
KyAgICByZXR1cm4gcGFyc2VTZXRHbG9iYWwoY29udGV4dCwgb3BLaW5kLCBleHByZXNzaW9uVHlw
ZSwgZ2xvYmFsSW5kZXgpOworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4KIENvbnRleHRN
ZW1vcnlBZGRyZXNzIFdBU01GdW5jdGlvblBhcnNlcjo6cGFyc2VNZW1vcnlBZGRyZXNzKENvbnRl
eHQmIGNvbnRleHQsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGUgb2Zmc2V0TW9kZSkKIHsKICAgICB1
aW50MzJfdCBvZmZzZXQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV0FTTUZ1bmN0aW9uUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNN
RnVuY3Rpb25QYXJzZXIuaAppbmRleCA4MDNmZjAxNmY2YTA4ODc1ZDc1ODU2NmRiMDMzZGE1NmMw
OTU3NzNhLi5jODE4NmZlMTFmYjg5Y2RhM2JlMzIzYTg4MzY5OGU4ZWUyNTBiMTg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25QYXJzZXIuaApAQCAtNjMs
MTAgKzYzLDYgQEAgcHJpdmF0ZToKICAgICBib29sIHBhcnNlTG9jYWxWYXJpYWJsZXMoKTsKIAog
ICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0U3RhdGVtZW50IHBhcnNlU3RhdGVt
ZW50KENvbnRleHQmKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dFN0YXRl
bWVudCBwYXJzZVNldExvY2FsU3RhdGVtZW50KENvbnRleHQmLCB1aW50MzJfdCBsb2NhbEluZGV4
KTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4gQ29udGV4dFN0YXRlbWVudCBwYXJzZVNl
dExvY2FsU3RhdGVtZW50KENvbnRleHQmKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgQ29udGV4dD4g
Q29udGV4dFN0YXRlbWVudCBwYXJzZVNldEdsb2JhbFN0YXRlbWVudChDb250ZXh0JiwgdWludDMy
X3QgZ2xvYmFsSW5kZXgpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0U3Rh
dGVtZW50IHBhcnNlU2V0R2xvYmFsU3RhdGVtZW50KENvbnRleHQmKTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgQ29udGV4dD4gQ29udGV4dFN0YXRlbWVudCBwYXJzZVJldHVyblN0YXRlbWVudChDb250
ZXh0Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRTdGF0ZW1lbnQgcGFy
c2VCbG9ja1N0YXRlbWVudChDb250ZXh0Jik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+
IENvbnRleHRTdGF0ZW1lbnQgcGFyc2VJZlN0YXRlbWVudChDb250ZXh0Jik7CkBAIC0xMTAsNiAr
MTA2LDEwIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRF
eHByZXNzaW9uIHBhcnNlR2V0TG9jYWxFeHByZXNzaW9uKENvbnRleHQmLCBXQVNNVHlwZSwgdWlu
dDMyX3QgbG9jYWxJbmRleCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRF
eHByZXNzaW9uIHBhcnNlR2V0TG9jYWxFeHByZXNzaW9uKENvbnRleHQmLCBXQVNNVHlwZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlR2V0R2xv
YmFsRXhwcmVzc2lvbihDb250ZXh0JiwgV0FTTVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBD
b250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZVNldExvY2FsKENvbnRleHQmLCBXQVNNT3BL
aW5kLCBXQVNNRXhwcmVzc2lvblR5cGUsIHVpbnQzMl90IGxvY2FsSW5kZXgpOworICAgIHRlbXBs
YXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZVNldExvY2FsKENvbnRl
eHQmLCBXQVNNT3BLaW5kLCBXQVNNRXhwcmVzc2lvblR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFz
cyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZVNldEdsb2JhbChDb250ZXh0JiwgV0FT
TU9wS2luZCwgV0FTTUV4cHJlc3Npb25UeXBlLCB1aW50MzJfdCBnbG9iYWxJbmRleCk7CisgICAg
dGVtcGxhdGUgPGNsYXNzIENvbnRleHQ+IENvbnRleHRFeHByZXNzaW9uIHBhcnNlU2V0R2xvYmFs
KENvbnRleHQmLCBXQVNNT3BLaW5kLCBXQVNNRXhwcmVzc2lvblR5cGUpOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBDb250ZXh0PiBDb250ZXh0TWVtb3J5QWRkcmVzcyBwYXJzZU1lbW9yeUFkZHJlc3Mo
Q29udGV4dCYsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBD
b250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZUxvYWQoQ29udGV4dCYsIFdBU01FeHByZXNz
aW9uVHlwZSwgV0FTTU1lbW9yeVR5cGUsIE1lbW9yeUFjY2Vzc09mZnNldE1vZGUsIE1lbW9yeUFj
Y2Vzc0NvbnZlcnNpb24gPSBNZW1vcnlBY2Nlc3NDb252ZXJzaW9uOjpOb0NvbnZlcnNpb24pOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBDb250ZXh0PiBDb250ZXh0RXhwcmVzc2lvbiBwYXJzZVN0b3Jl
KENvbnRleHQmLCBXQVNNRXhwcmVzc2lvblR5cGUsIFdBU01NZW1vcnlUeXBlLCBNZW1vcnlBY2Nl
c3NPZmZzZXRNb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01GdW5jdGlvblN5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dB
U01GdW5jdGlvblN5bnRheENoZWNrZXIuaAppbmRleCBiN2JiMTkyMzU2NmE4ZDJjMTdiYWNkNzky
NzUwOGQyZWRiMWUyZTY2Li4wZjdiMTBiM2Y3MzQxMTc4ZjQ4NmFhYzhjNGUwYTVjYWY0ZjYyM2M4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XQVNNRnVuY3Rpb25TeW50
YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV0FTTUZ1bmN0aW9u
U3ludGF4Q2hlY2tlci5oCkBAIC01NCwxNCArNTQsMTggQEAgcHVibGljOgogICAgICAgICBBU1NF
UlQoIW1fdGVtcFN0YWNrVG9wKTsKICAgICB9CiAKLSAgICB2b2lkIGJ1aWxkU2V0TG9jYWwodWlu
dDMyX3QsIGludCwgV0FTTVR5cGUpCisgICAgaW50IGJ1aWxkU2V0TG9jYWwoV0FTTU9wS2luZCBv
cEtpbmQsIHVpbnQzMl90LCBpbnQsIFdBU01UeXBlKQogICAgIHsKLSAgICAgICAgbV90ZW1wU3Rh
Y2tUb3AtLTsKKyAgICAgICAgaWYgKG9wS2luZCA9PSBXQVNNT3BLaW5kOjpTdGF0ZW1lbnQpCisg
ICAgICAgICAgICBtX3RlbXBTdGFja1RvcC0tOworICAgICAgICByZXR1cm4gVU5VU0VEOwogICAg
IH0KIAotICAgIHZvaWQgYnVpbGRTZXRHbG9iYWwodWludDMyX3QsIGludCwgV0FTTVR5cGUpCisg
ICAgaW50IGJ1aWxkU2V0R2xvYmFsKFdBU01PcEtpbmQgb3BLaW5kLCB1aW50MzJfdCwgaW50LCBX
QVNNVHlwZSkKICAgICB7Ci0gICAgICAgIG1fdGVtcFN0YWNrVG9wLS07CisgICAgICAgIGlmIChv
cEtpbmQgPT0gV0FTTU9wS2luZDo6U3RhdGVtZW50KQorICAgICAgICAgICAgbV90ZW1wU3RhY2tU
b3AtLTsKKyAgICAgICAgcmV0dXJuIFVOVVNFRDsKICAgICB9CiAKICAgICB2b2lkIGJ1aWxkUmV0
dXJuKGludCwgV0FTTUV4cHJlc3Npb25UeXBlIHJldHVyblR5cGUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>