<?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>165735</bug_id>
          
          <creation_ts>2016-12-10 14:48:43 -0800</creation_ts>
          <short_desc>Improve diagnostic capabilities of the GC</short_desc>
          <delta_ts>2016-12-11 16:46:02 -0800</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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>165741</dup_id>
          
          <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>149432</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1258766</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-12-10 14:48:43 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258767</commentid>
    <comment_count>1</comment_count>
      <attachid>296824</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-12-10 14:49:02 -0800</bug_when>
    <thetext>Created attachment 296824
work in progres</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258912</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-12-11 16:46:02 -0800</bug_when>
    <thetext>Ooops, I filed a new bug and put the newer patch there.

*** This bug has been marked as a duplicate of bug 165741 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296824</attachid>
            <date>2016-12-10 14:49:02 -0800</date>
            <delta_ts>2016-12-10 14:49:02 -0800</delta_ts>
            <desc>work in progres</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>20564</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAJKHJldmlz
aW9uIDIwOTY2OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTQwLDEyICsxNDAsMzkgQEAgdm9pZCBTbG90VmlzaXRvcjo6
YXBwZW5kSlNDZWxsT3JBdXhpbGlhcgogICAgIAogICAgIHN3aXRjaCAoaGVhcENlbGwtPmNlbGxL
aW5kKCkpIHsKICAgICBjYXNlIEhlYXBDZWxsOjpKU0NlbGw6IHsKKyAgICAgICAgLy8gV2UgaGF2
ZSBhbXBsZSBidWRnZXQgdG8gcGVyZm9ybSB2YWxpZGF0aW9uIGhlcmUuCisgICAgCiAgICAgICAg
IEpTQ2VsbCoganNDZWxsID0gc3RhdGljX2Nhc3Q8SlNDZWxsKj4oaGVhcENlbGwpOwogICAgICAg
ICAKLSAgICAgICAgaWYgKCFqc0NlbGwtPnN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorICAgICAg
ICBTdHJ1Y3R1cmVJRCBzdHJ1Y3R1cmVJRCA9IGpzQ2VsbC0+c3RydWN0dXJlSUQoKTsKKyAgICAg
ICAgCisgICAgICAgIGF1dG8gZGllID0gWyZdIChjb25zdCBjaGFyKiB0ZXh0KSB7CisgICAgICAg
ICAgICBXVEY6OmRhdGFGaWxlKCkuYXRvbWljYWxseSgKKyAgICAgICAgICAgICAgICBbJl0gKFBy
aW50U3RyZWFtJiBvdXQpIHsKKyAgICAgICAgICAgICAgICAgICAgb3V0LnByaW50KHRleHQpOwor
ICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdCBhdDogIiwgUmF3UG9pbnRlcihq
c0NlbGwpLCAiXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgb3V0LnByaW50KCJTdHJ1Y3R1cmUg
SUQ6ICIsIHN0cnVjdHVyZUlELCAiIChoZXg6ICIsIGZvcm1hdCgiJXgiLCBzdHJ1Y3R1cmVJRCks
ICIpXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgb3V0LnByaW50KCJTdHJ1Y3R1cmUgSUQgdGFi
bGUgc2l6ZTogIiwgaGVhcCgpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuc2l6ZSgpLCAiXG4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3QgY29udGVudHM6Iik7CisgICAgICAg
ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAxMDsgKytpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgb3V0LnByaW50KCIgIiwgZm9ybWF0KCIlbGx4IiwgYml0d2lzZV9jYXN0
PHVpbnQ2NF90Kj4oanNDZWxsKVtpXSkpOworICAgICAgICAgICAgICAgICAgICBvdXQucHJpbnQo
IlxuIik7CisgICAgICAgICAgICAgICAgICAgIFVOUkVBQ0hBQkxFX0ZPUl9QTEFURk9STSgpOwor
ICAgICAgICAgICAgICAgIH0pOworICAgICAgICB9OworICAgICAgICAKKyAgICAgICAgLy8gSXQn
cyBub3QgT0sgZm9yIHRoZSBzdHJ1Y3R1cmUgdG8gYmUgbnVsbCBhdCBhbnkgR0Mgc2NhbiBwb2lu
dC4gV2UgbXVzdCBub3QgR0Mgd2hpbGUKKyAgICAgICAgLy8gYW4gb2JqZWN0IGlzIG5vdCBmdWxs
eSBpbml0aWFsaXplZC4KKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmVJRCkKKyAgICAgICAgICAgIGRp
ZSgiR0Mgc2NhbiBmb3VuZCBjb3JydXB0IG9iamVjdDogc3RydWN0dXJlSUQgaXMgemVybyFcbiIp
OworICAgICAgICAKKyAgICAgICAgLy8gSXQncyBub3QgT0sgZm9yIHRoZSBzdHJ1Y3R1cmUgdG8g
YmUgbnVrZWQgYXQgYW55IEdDIHNjYW4gcG9pbnQuCisgICAgICAgIGlmIChpc051a2VkKHN0cnVj
dHVyZUlEKSkKKyAgICAgICAgICAgIGRpZSgiR0Mgc2NhbiBmb3VuZCBvYmplY3QgaW4gYmFkIHN0
YXRlOiBzdHJ1Y3R1cmVJRCBpcyBudWtlZCFcbiIpOworICAgICAgICAKKyAgICAgICAgLy8gVGhp
cyBkZXRlY3RzIHRoZSB3b3JzdCBvZiB0aGUgYmFkbmVzcy4KKyAgICAgICAgaWYgKHN0cnVjdHVy
ZUlEID49IGhlYXAoKS0+c3RydWN0dXJlSURUYWJsZSgpLnNpemUoKSkKKyAgICAgICAgICAgIGRp
ZSgiR0Mgc2NhbiBmb3VuZCBjb3JydXB0IG9iamVjdDogc3RydWN0dXJlSUQgaXMgb3V0IG9mIGJv
dW5kcyFcbiIpOwogICAgICAgICAKICAgICAgICAganNDZWxsLT5zZXRDZWxsU3RhdGUoQ2VsbFN0
YXRlOjpHcmV5KTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlSURUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUlEVGFibGUuaAkocmV2aXNpb24gMjA5NjY5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSURUYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05MCw2
ICs5MCw4IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmVJRCBhbGxvY2F0ZUlEKFN0cnVjdHVyZSop
OwogCiAgICAgdm9pZCBmbHVzaE9sZFRhYmxlcygpOworICAgIAorICAgIHNpemVfdCBzaXplKCkg
Y29uc3QgeyByZXR1cm4gbV9zaXplOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCByZXNpemUoc2l6
ZV90IG5ld0NhcGFjaXR5KTsKQEAgLTEyMSw3ICsxMjMsOSBAQCBwcml2YXRlOgogaW5saW5lIFN0
cnVjdHVyZSogU3RydWN0dXJlSURUYWJsZTo6Z2V0KFN0cnVjdHVyZUlEIHN0cnVjdHVyZUlEKQog
ewogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oc3RydWN0dXJlSUQgJiYgc3RydWN0dXJlSUQgPCBtX2NhcGFjaXR5KTsKKyAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihzdHJ1Y3R1cmVJRCk7CisgICAgQVNTRVJUX1dJVEhf
U0VDVVJJVFlfSU1QTElDQVRJT04oIWlzTnVrZWQoc3RydWN0dXJlSUQpKTsKKyAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihzdHJ1Y3R1cmVJRCA8IG1fY2FwYWNpdHkpOwogICAg
IHJldHVybiB0YWJsZSgpW3N0cnVjdHVyZUlEXS5zdHJ1Y3R1cmU7CiAjZWxzZQogICAgIHJldHVy
biBzdHJ1Y3R1cmVJRDsKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gMjA5NjY5KQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsOCBAQAogCQkwRjQzRDhGMjFE
QjVBRERDMDAxMDhGQjYgLyogQXV0b21hdGljVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQzRDhGMDFEQjVBRERDMDAxMDhGQjYgLyogQXV0
b21hdGljVGhyZWFkLmggKi87IH07CiAJCTBGNDU3MDQzMUJFNUI1OEYwMDYyQTYyOSAvKiBEb21p
bmF0b3JzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjQ1NzA0MjFCRTVCNThGMDA2MkE2MjkgLyogRG9taW5hdG9ycy5oICovOyB9OwogCQkwRjQ1NzA0
NTFCRTgzNDQxMDA2MkE2MjkgLyogQnViYmxlU29ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0NTcwNDQxQkU4MzQ0MTAwNjJBNjI5IC8qIEJ1YmJs
ZVNvcnQuaCAqLzsgfTsKKwkJMEY2MEYzMkYxREZDQkQxQjAwNDE2RDZDIC8qIExvY2tlZFByaW50
U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGNjBGMzJEMURGQ0JEMUIwMDQxNkQ2QyAvKiBMb2NrZWRQcmludFN0cmVhbS5jcHAgKi87IH07
CisJCTBGNjBGMzMwMURGQ0JEMUIwMDQxNkQ2QyAvKiBMb2NrZWRQcmludFN0cmVhbS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2MEYzMkUxREZDQkQx
QjAwNDE2RDZDIC8qIExvY2tlZFByaW50U3RyZWFtLmggKi87IH07CiAJCTBGNjZCMjhBMURDOTdC
QUIwMDRBMUQzRiAvKiBDbG9ja1R5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMEY2NkIyODAxREM5N0JBQjAwNEExRDNGIC8qIENsb2NrVHlwZS5j
cHAgKi87IH07CiAJCTBGNjZCMjhCMURDOTdCQUIwMDRBMUQzRiAvKiBDbG9ja1R5cGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNjZCMjgxMURDOTdC
QUIwMDRBMUQzRiAvKiBDbG9ja1R5cGUuaCAqLzsgfTsKIAkJMEY2NkIyOEMxREM5N0JBQjAwNEEx
RDNGIC8qIE1vbm90b25pY1RpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY2NkIyODIxREM5N0JBQjAwNEExRDNGIC8qIE1vbm90b25pY1RpbWUu
Y3BwICovOyB9OwpAQCAtMzg4LDYgKzM5MCw4IEBACiAJCTBGNDNEOEYwMURCNUFEREMwMDEwOEZC
NiAvKiBBdXRvbWF0aWNUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QXV0b21hdGljVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNDU3MDQy
MUJFNUI1OEYwMDYyQTYyOSAvKiBEb21pbmF0b3JzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERvbWluYXRvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0
NTcwNDQxQkU4MzQ0MTAwNjJBNjI5IC8qIEJ1YmJsZVNvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQnViYmxlU29ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjYwRjMyRDFERkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTG9ja2VkUHJpbnRTdHJlYW0uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjYwRjMyRTFERkNCRDFCMDA0MTZENkMgLyog
TG9ja2VkUHJpbnRTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9j
a2VkUHJpbnRTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY2NkIyODAx
REM5N0JBQjAwNEExRDNGIC8qIENsb2NrVHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDbG9ja1R5cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRjY2QjI4MTFEQzk3QkFCMDA0QTFEM0YgLyogQ2xvY2tUeXBlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENsb2NrVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwRjY2QjI4MjFEQzk3QkFCMDA0QTFEM0YgLyogTW9ub3RvbmljVGltZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb25vdG9uaWNUaW1lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg1OCw3ICs4NjIsNiBAQAogCQlBODc2REJENjE1MTgx
NkU1MDBEQURCOTUgLyogd3RmICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKLQkJCQlBRDdDNDM0QTFERDJBNEE3MDAyNjg4OEIgLyogRXhwZWN0ZWQuaCAqLywKIAkJ
CQkyQ0RFRDBGMDE4MTE1QzNGMDA0REJBNzAgLyogY2YgKi8sCiAJCQkJRTRBMEFEM0IxQTk2MjUx
OTAwNTM2REY2IC8qIGNvY29hICovLAogCQkJCUE4QTQ3MjgxMTUxQTgyNUEwMDQxMjNGRiAvKiBk
dG9hICovLApAQCAtOTI2LDYgKzkyOSw3IEBACiAJCQkJQThBNDcyOTcxNTFBODI1QTAwNDEyM0ZG
IC8qIGR0b2EuY3BwICovLAogCQkJCUE4QTQ3Mjk4MTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hLmgg
Ki8sCiAJCQkJMUFFQTg4RTExRDZCQkNGNDAwRTVBRDY0IC8qIEVudW1UcmFpdHMuaCAqLywKKwkJ
CQlBRDdDNDM0QTFERDJBNEE3MDAyNjg4OEIgLyogRXhwZWN0ZWQuaCAqLywKIAkJCQlBOEE0NzI5
RjE1MUE4MjVBMDA0MTIzRkYgLyogRXhwb3J0TWFjcm9zLmggKi8sCiAJCQkJMEY3QzVGQjUxRDg4
NUNGMjAwNDRGNUUyIC8qIEZhc3RCaXRWZWN0b3IuY3BwICovLAogCQkJCTBGRDgxQUM0MTU0RkIy
MkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmggKi8sCkBAIC05NjYsNiArOTcwLDggQEAKIAkJ
CQkwRkUxNjQ2ODFCNkZGQzk2MDA0MDBFN0MgLyogTG9jay5jcHAgKi8sCiAJCQkJMEZFMTY0Njkx
QjZGRkM5NjAwNDAwRTdDIC8qIExvY2suaCAqLywKIAkJCQkwRjBGQ0RERDFERDE2N0Y5MDBDQ0FC
NTMgLyogTG9ja0FsZ29yaXRobS5oICovLAorCQkJCTBGNjBGMzJEMURGQ0JEMUIwMDQxNkQ2QyAv
KiBMb2NrZWRQcmludFN0cmVhbS5jcHAgKi8sCisJCQkJMEY2MEYzMkUxREZDQkQxQjAwNDE2RDZD
IC8qIExvY2tlZFByaW50U3RyZWFtLmggKi8sCiAJCQkJQThBNDcyQzMxNTFBODI1QTAwNDEyM0ZG
IC8qIExvY2tlci5oICovLAogCQkJCTUxM0UxNzBBMUNEN0Q1QkYwMEUzNjUwQiAvKiBMb2dnaW5n
QWNjdW11bGF0b3IuaCAqLywKIAkJCQlBOEE0NzJDNjE1MUE4MjVBMDA0MTIzRkYgLyogTWFpblRo
cmVhZC5jcHAgKi8sCkBAIC0xMzg2LDYgKzEzOTIsNyBAQAogCQkJCTdDREQ3RkZBMTg2RDJBNTQw
MDc0MzNDRCAvKiBJdGVyYXRvclJhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQzRDhGMjFE
QjVBRERDMDAxMDhGQjYgLyogQXV0b21hdGljVGhyZWFkLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
M0FDOTFBODE4OTQyRkM0MDAyNDQ5MzkgLyogTENoYXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
NjBGMzMwMURGQ0JEMUIwMDQxNkQ2QyAvKiBMb2NrZWRQcmludFN0cmVhbS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTM5RUIwNjMxRDU1Mjg0MjAwQzgyRUY3IC8qIExFQkRlY29kZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE3MERBMDg1MTc5OUYwNEQwMDUyOUE5QiAvKiBMaXN0RHVtcC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY2NkIyOTMxREM5N0JBQjAwNEExRDNGIC8qIFdhbGxUaW1lLmggaW4g
SGVhZGVycyAqLywKQEAgLTE2NTQsNiArMTY2MSw3IEBACiAJCQkJQThBNDczQjAxNTFBODI1QjAw
NDEyM0ZGIC8qIGRvdWJsZS1jb252ZXJzaW9uLmNjIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
QkExNTFBODI1QjAwNDEyM0ZGIC8qIGR0b2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
QjMxNTFBODI1QjAwNDEyM0ZGIC8qIGZhc3QtZHRvYS5jYyBpbiBTb3VyY2VzICovLAorCQkJCTBG
NjBGMzJGMURGQ0JEMUIwMDQxNkQ2QyAvKiBMb2NrZWRQcmludFN0cmVhbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBOEE0NzNDMzE1MUE4MjVCMDA0MTIzRkYgLyogRmFzdE1hbGxvYy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwRjlEMzM2MDE2NURCQTczMDA1QUQzODcgLyogRmlsZVByaW50U3Ry
ZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0I1MTUxQTgyNUIwMDQxMjNGRiAvKiBm
aXhlZC1kdG9hLmNjIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9DTWFrZUxp
c3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAkocmV2
aXNpb24gMjA5NjY5KQorKysgU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTU3LDYgKzU3LDcgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgTGlzdEhhc2hTZXQu
aAogICAgIExvY2suaAogICAgIExvY2tBbGdvcml0aG0uaAorICAgIExvY2tlZFByaW50U3RyZWFt
LmgKICAgICBMb2NrZXIuaAogICAgIE1ENS5oCiAgICAgTWFpblRocmVhZC5oCkBAIC0xOTgsNiAr
MTk5LDcgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUuY3BwCiAgICAg
SGFzaFRhYmxlLmNwcAogICAgIExvY2suY3BwCisgICAgTG9ja2VkUHJpbnRTdHJlYW0uY3BwCiAg
ICAgTUQ1LmNwcAogICAgIE1haW5UaHJlYWQuY3BwCiAgICAgTWVkaWFUaW1lLmNwcApJbmRleDog
U291cmNlL1dURi93dGYvRGF0YUxvZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
RGF0YUxvZy5jcHAJKHJldmlzaW9uIDIwOTY2OSkKKysrIFNvdXJjZS9XVEYvd3RmL0RhdGFMb2cu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSA8dW5pc3RkLmg+
CiAjZW5kaWYKIAotI2RlZmluZSBEQVRBX0xPR19UT19GSUxFIDAKKyNkZWZpbmUgREFUQV9MT0df
VE9fRklMRSAxCiAKIC8vIFNldCB0byAxIHRvIHVzZSB0aGUgdGVtcCBkaXJlY3RvcnkgZnJvbSBj
b25mc3RyIGluc3RlYWQgb2YgaGFyZGNvZGVkIGRpcmVjdG9yeS4KIC8vIFRoZSBsYXN0IGNvbXBv
bmVudCBvZiBEQVRBX0xPR19GSUxFTkFNRSB3aWxsIHN0aWxsIGJlIHVzZWQuCkBAIC00Myw3ICs0
Myw3IEBACiAvLyBVbmNvbW1lbnQgdG8gZm9yY2UgbG9nZ2luZyB0byB0aGUgZ2l2ZW4gZmlsZSBy
ZWdhcmRsZXNzIG9mIHdoYXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHNheXMuCiAvLyBOb3Rl
IHRoYXQgd2Ugd2lsbCBhcHBlbmQgIi48cGlkPi50eHQiIHdoZXJlIDxwaWQ+IGlzIHRoZSBQSUQu
CiAvLyBUaGlzIHBhdGggd29uJ3Qgd29yayBvbiBXaW5kb3dzLCBtYWtlIHN1cmUgdG8gY2hhbmdl
IHRvIHNvbWV0aGluZyBsaWtlIEM6XFxVc2Vyc1xcPG1vcmUgcGF0aD5cXGxvZy50eHQuCi0jZGVm
aW5lIERBVEFfTE9HX0ZJTEVOQU1FICIvdG1wL1dURkxvZyIKKyNkZWZpbmUgREFUQV9MT0dfRklM
RU5BTUUgIi9Wb2x1bWVzL0RhdGEvZGF0YUxvZyIKIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTUx
LDEyICs1MSwxMyBAQCBuYW1lc3BhY2UgV1RGIHsKIHN0YXRpYyBwdGhyZWFkX29uY2VfdCBpbml0
aWFsaXplTG9nRmlsZU9uY2VLZXkgPSBQVEhSRUFEX09OQ0VfSU5JVDsKICNlbmRpZgogCi1zdGF0
aWMgRmlsZVByaW50U3RyZWFtKiBmaWxlOworc3RhdGljIFByaW50U3RyZWFtKiBzX2ZpbGU7CiAK
LXN0YXRpYyB1aW50NjRfdCBmaWxlRGF0YVsoc2l6ZW9mKEZpbGVQcmludFN0cmVhbSkgKyA3KSAv
IDhdOworc3RhdGljIHVpbnQ2NF90IHNfZmlsZURhdGFbKHNpemVvZihGaWxlUHJpbnRTdHJlYW0p
ICsgNykgLyA4XTsKIAogc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUxvZ0ZpbGVPbmNlKCkKIHsKKyAg
ICBGaWxlUHJpbnRTdHJlYW0qIGZpbGU7CiAjaWYgREFUQV9MT0dfVE9fRklMRQogICAgIGNvbnN0
IGxvbmcgbWF4UGF0aExlbmd0aCA9IDEwMjQ7CiAKQEAgLTExNywxMyArMTE4LDIyIEBAIHN0YXRp
YyB2b2lkIGluaXRpYWxpemVMb2dGaWxlT25jZSgpCiAgICAgICAgICAgICBXVEZMb2dBbHdheXMo
Ildhcm5pbmc6IENvdWxkIG5vdCBvcGVuIERhdGFMb2cgZmlsZSAlcyBmb3Igd3JpdGluZy5cbiIs
IGFjdHVhbEZpbGVuYW1lKTsKICAgICB9CiAjZW5kaWYgLy8gREFUQV9MT0dfVE9fRklMRQorICAg
IAorICAgIGJvb2wgd3JhcFdpdGhMb2NrZWQgPSB0cnVlOworICAgIAogICAgIGlmICghZmlsZSkg
ewogICAgICAgICAvLyBVc2UgcGxhY2VtZW50IG5ldzsgdGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8g
dXNlIGRhdGFMb2coKSB0byBkZWJ1ZwogICAgICAgICAvLyBmYXN0TWFsbG9jLgogICAgICAgICBm
aWxlID0gbmV3IChmaWxlRGF0YSkgRmlsZVByaW50U3RyZWFtKHN0ZGVyciwgRmlsZVByaW50U3Ry
ZWFtOjpCb3Jyb3cpOworICAgICAgICB3cmFwV2l0aExvY2tlZCA9IGZhbHNlOwogICAgIH0KICAg
ICAKICAgICBzZXR2YnVmKGZpbGUtPmZpbGUoKSwgMCwgX0lPTkJGLCAwKTsgLy8gUHJlZmVyIHVu
YnVmZmVyZWQgb3V0cHV0LCBzbyB0aGF0IHdlIGdldCBhIGZ1bGwgbG9nIHVwb24gY3Jhc2ggb3Ig
ZGVhZGxvY2suCisgICAgCisgICAgaWYgKHdyYXBXaXRoTG9ja2VkKQorICAgICAgICBzX2ZpbGUg
PSBuZXcgTG9ja2VkUHJpbnRTdHJlYW0oZmlsZSk7CisgICAgZWxzZQorICAgICAgICBzX2ZpbGUg
PSBmaWxlOwogfQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplTG9nRmlsZSgpCkBAIC0xMzYsNyAr
MTQ2LDcgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUxvZ0ZpbGUoKQogI2VuZGlmCiB9CiAKLUZp
bGVQcmludFN0cmVhbSYgZGF0YUZpbGUoKQorUHJpbnRTdHJlYW0mIGRhdGFGaWxlKCkKIHsKICAg
ICBpbml0aWFsaXplTG9nRmlsZSgpOwogICAgIHJldHVybiAqZmlsZTsKSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL0RhdGFMb2cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9EYXRhTG9nLmgJ
KHJldmlzaW9uIDIwOTY2OSkKKysrIFNvdXJjZS9XVEYvd3RmL0RhdGFMb2cuaAkod29ya2luZyBj
b3B5KQpAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlIDxzdGRhcmcuaD4KICNpbmNsdWRl
IDxzdGRpby5oPgotI2luY2x1ZGUgPHd0Zi9GaWxlUHJpbnRTdHJlYW0uaD4KKyNpbmNsdWRlIDx3
dGYvUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVz
cGFjZSBXVEYgewogCi1XVEZfRVhQT1JUX1BSSVZBVEUgRmlsZVByaW50U3RyZWFtJiBkYXRhRmls
ZSgpOworV1RGX0VYUE9SVF9QUklWQVRFIFByaW50U3RyZWFtJiBkYXRhRmlsZSgpOwogCiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBkYXRhTG9nRlYoY29uc3QgY2hhciogZm9ybWF0LCB2YV9saXN0
KSBXVEZfQVRUUklCVVRFX1BSSU5URigxLCAwKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGRh
dGFMb2dGKGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BSSU5URigxLCAy
KTsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0xvY2tlZFByaW50U3RyZWFtLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi9Mb2NrZWRQcmludFN0cmVhbS5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL1dURi93dGYvTG9ja2VkUHJpbnRTdHJlYW0uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvY2tlZFByaW50U3RyZWFtLmgi
CisKK25hbWVzcGFjZSBXVEYgeworCitMb2NrZWRQcmludFN0cmVhbTo6TG9ja2VkUHJpbnRTdHJl
YW0oc3RkOjp1bmlxdWVfcHRyPFByaW50U3RyZWFtPiB0YXJnZXQpCisgICAgOiBtX3RhcmdldChX
VEZNb3ZlKHRhcmdldCkpCit7Cit9CisKK0xvY2tlZFByaW50U3RyZWFtOjp+TG9ja2VkUHJpbnRT
dHJlYW0oKQoreworfQorCit2b2lkIExvY2tlZFByaW50U3RyZWFtOjp2cHJpbnRmKGNvbnN0IGNo
YXIqIGZvcm1hdCwgdmFfbGlzdCBhcmdzKQoreworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2so
bV9sb2NrKTsKKyAgICBtX3RhcmdldC0+dnByaW50Zihmb3JtYXQsIGFyZ3MpOworfQorCit2b2lk
IExvY2tlZFByaW50U3RyZWFtOjpmbHVzaCgpCit7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9j
ayhtX2xvY2spOworICAgIG1fdGFyZ2V0LT5mbHVzaCgpOworfQorCitQcmludFN0cmVhbSYgTG9j
a2VkUHJpbnRTdHJlYW06OmJlZ2luKCkKK3sKKyAgICBtX2xvY2subG9jaygpOworICAgIHJldHVy
biAqbV90YXJnZXQ7Cit9CisKK3ZvaWQgTG9ja2VkUHJpbnRTdHJlYW06OmVuZCgpCit7CisgICAg
bV9sb2NrLnVubG9jaygpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwpJbmRleDogU291cmNl
L1dURi93dGYvTG9ja2VkUHJpbnRTdHJlYW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0
Zi9Mb2NrZWRQcmludFN0cmVhbS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XVEYvd3RmL0xv
Y2tlZFByaW50U3RyZWFtLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIExvY2tlZFBy
aW50U3RyZWFtX2gKKyNkZWZpbmUgTG9ja2VkUHJpbnRTdHJlYW1faAorCisjaW5jbHVkZSA8d3Rm
L1ByaW50U3RyZWFtLmg+CisjaW5jbHVkZSA8d3RmL1dvcmRMb2NrLmg+CisKK25hbWVzcGFjZSBX
VEYgeworCisvLyBNYWtlcyBldmVyeSBjYWxsIHRvIHByaW50KCkgYXRvbWljLgorY2xhc3MgTG9j
a2VkUHJpbnRTdHJlYW0gOiBwdWJsaWMgUHJpbnRTdHJlYW0geworcHVibGljOgorICAgIExvY2tl
ZFByaW50U3RyZWFtKHN0ZDo6dW5pcXVlX3B0cjxQcmludFN0cmVhbT4gdGFyZ2V0KTsKKyAgICB2
aXJ0dWFsIH5Mb2NrZWRQcmludFN0cmVhbSgpOworICAgIAorICAgIHZvaWQgdnByaW50Zihjb25z
dCBjaGFyKiBmb3JtYXQsIHZhX2xpc3QpIG92ZXJyaWRlIFdURl9BVFRSSUJVVEVfUFJJTlRGKDIs
IDApOworICAgIHZvaWQgZmx1c2goKSBvdmVycmlkZTsKKworcHJvdGVjdGVkOgorICAgIFByaW50
U3RyZWFtJiBiZWdpbigpIG92ZXJyaWRlOworICAgIHZvaWQgZW5kKCk7CisKK3ByaXZhdGU6Cisg
ICAgV29yZExvY2sgbV9sb2NrOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcmludFN0cmVhbT4gbV90
YXJnZXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpMb2NrZWRQcmlu
dFN0cmVhbTsKKworCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uY3BwCShyZXZpc2lvbiAyMDk2Njkp
CisrKyBTb3VyY2UvV1RGL3d0Zi9QcmludFN0cmVhbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDYgKzQ4LDE1IEBAIHZvaWQgUHJpbnRTdHJlYW06OmZsdXNoKCkKIHsKIH0KIAorUHJpbnRTdHJl
YW0mIFByaW50U3RyZWFtOjpiZWdpbigpCit7CisgICAgcmV0dXJuICp0aGlzOworfQorCit2b2lk
IFByaW50U3RyZWFtOjplbmQoKQoreworfQorCiB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJl
YW0mIG91dCwgY29uc3QgY2hhciogc3RyaW5nKQogewogICAgIG91dC5wcmludGYoIiVzIiwgc3Ry
aW5nKTsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1ByaW50U3RyZWFtLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvUHJpbnRTdHJlYW0uaAkocmV2aXNpb24gMjA5NjY5KQorKysgU291cmNl
L1dURi93dGYvUHJpbnRTdHJlYW0uaAkod29ya2luZyBjb3B5KQpAQCAtNTYsMjcgKzU2LDQwIEBA
IHB1YmxpYzoKICAgICAvLyB0aGUgaW1wbGVtZW50YXRpb24gc2hvdWxkIGZsdXNoIGl0cyBidWZm
ZXJzIGlmIGl0IGhhZCBub3QgZG9uZSBzbyBhbHJlYWR5LgogICAgIHZpcnR1YWwgdm9pZCBmbHVz
aCgpOwogICAgIAotICAgIHZvaWQgcHJpbnQoKSB7IH0KLQotICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+Ci0gICAgdm9pZCBwcmludChjb25zdCBUJiB2YWx1ZSkKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBGdW5jPgorICAgIHZvaWQgYXRvbWljYWxseShjb25zdCBGdW5jJiBmdW5jKQogICAgIHsKLSAg
ICAgICAgcHJpbnRJbnRlcm5hbCgqdGhpcywgdmFsdWUpOworICAgICAgICBmdW5jKGJlZ2luKCkp
OworICAgICAgICBlbmQoKTsKICAgICB9Ci0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBl
bmFtZS4uLiBUeXBlcz4KLSAgICB2b2lkIHByaW50KGNvbnN0IFQmIHZhbHVlLCBjb25zdCBUeXBl
cyYuLi4gcmVtYWluaW5nVmFsdWVzKQorICAgIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFR5
cGVzPgorICAgIHZvaWQgcHJpbnQoY29uc3QgVHlwZXMmLi4uIHZhbHVlcykKICAgICB7Ci0gICAg
ICAgIHByaW50SW50ZXJuYWwoKnRoaXMsIHZhbHVlKTsKLSAgICAgICAgcHJpbnQocmVtYWluaW5n
VmFsdWVzLi4uKTsKKyAgICAgICAgYXRvbWljYWxseSgKKyAgICAgICAgICAgIFsmXSAoUHJpbnRT
dHJlYW0mIG91dCkgeworICAgICAgICAgICAgICAgIG91dC5wcmludEltcGwodmFsdWVzLi4uKTsK
KyAgICAgICAgICAgIH0pOwogICAgIH0KICAgICAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBU
eXBlcz4KICAgICB2b2lkIHByaW50bG4oY29uc3QgVHlwZXMmLi4uIHZhbHVlcykKICAgICB7Ci0g
ICAgICAgIHByaW50KHZhbHVlcy4uLik7Ci0gICAgICAgIHByaW50KCJcbiIpOworICAgICAgICBw
cmludCh2YWx1ZXMuLi4sICJcbiIpOworICAgIH0KKworcHJvdGVjdGVkOgorICAgIHZvaWQgcHJp
bnRJbXBsKCkgeyB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZS4uLiBUeXBl
cz4KKyAgICB2b2lkIHByaW50SW1wbChjb25zdCBUJiB2YWx1ZSwgY29uc3QgVHlwZXMmLi4uIHJl
bWFpbmluZ1ZhbHVlcykKKyAgICB7CisgICAgICAgIHByaW50SW50ZXJuYWwoKnRoaXMsIHZhbHVl
KTsKKyAgICAgICAgcHJpbnRJbXBsKHJlbWFpbmluZ1ZhbHVlcy4uLik7CiAgICAgfQorICAgIAor
ICAgIHZpcnR1YWwgUHJpbnRTdHJlYW0mIGJlZ2luKCk7CisgICAgdmlydHVhbCB2b2lkIGVuZCgp
OwogfTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVh
bSYsIGNvbnN0IGNoYXIqKTsKQEAgLTI2Niw2ICsyNzksNTcgQEAgVmFsdWVJZ25vcmluZ0NvbnRl
eHQ8VCwgVT4gaWdub3JpbmdDb250ZQogICAgIHJldHVybiBWYWx1ZUlnbm9yaW5nQ29udGV4dDxU
LCBVPih2YWx1ZSk7CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lLi4uIFR5cGVzPgorY2xhc3MgRm9y
bWF0SW1wbCB7CitwdWJsaWM6CisgICAgRm9ybWF0SW1wbChjb25zdCBUeXBlcyYuLi4gdmFsdWVz
KQorICAgICAgICA6IG1fdmFsdWVzKHN0ZDo6bWFrZV90dXBsZSh2YWx1ZXMpKQorICAgIHsKKyAg
ICB9CisgICAgCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CisgICAgewor
ICAgICAgICBVbnBhY2tlcjxzaXplb2YuLi4oVHlwZXMpIC0gMT46OnVucGFjayhvdXQsIG1fdmFs
dWVzKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdGVtcGxhdGU8dW5zaWduZWQgaW5kZXg+Cisg
ICAgc3RydWN0IFVucGFja2VyIHsKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4K
KyAgICAgICAgc3RhdGljIHZvaWQgdW5wYWNrKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IHN0ZDo6
dHVwbGU8VHlwZXMuLi4+JiB0dXBsZSwgY29uc3QgQXJncyYuLi4gdmFsdWVzKTsKKyAgICB9Owor
ICAgIAorICAgIHRlbXBsYXRlPD4KKyAgICBzdHJ1Y3QgVW5wYWNrZXI8MD4geworICAgICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdzPgorICAgICAgICBzdGF0aWMgdm9pZCB1bnBhY2soUHJp
bnRTdHJlYW0mIG91dCwgY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIHR1cGxlLCBjb25zdCBB
cmdzJi4uLiB2YWx1ZXMpOworICAgIH07CisgICAgCisgICAgc3RkOjp0dXBsZTxUeXBlcy4uLj4g
bV92YWx1ZXM7Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4KK3RlbXBsYXRlPHVu
c2lnbmVkIGluZGV4PgordGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4KK3ZvaWQgRm9ybWF0SW1w
bDxUeXBlcy4uLj46OlVucGFja2VyPGluZGV4Pjo6dW5wYWNrKFByaW50U3RyZWFtJiBvdXQsIGNv
bnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiB0dXBsZSwgY29uc3QgQXJncyYuLi4gdmFsdWVzKQor
eworICAgIFVucGFja2VyPGluZGV4IC0gMT46OnVucGFjayhvdXQsIHR1cGxlLCBzdGQ6OmdldDxp
bmRleD4odHVwbGUpLCB2YWx1ZXMuLi4pOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBl
cz4KK3RlbXBsYXRlPD4KK3RlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+Cit2b2lkIEZvcm1hdElt
cGw8VHlwZXMuLi4+OjpVbnBhY2tlcjwwPjo6dW5wYWNrKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0
IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiB0dXBsZSwgY29uc3QgQXJncyYuLi4gdmFsdWVzKQorewor
ICAgIG91dC5wcmludGYoc3RkOjpnZXQ8MD4odHVwbGUpLCB2YWx1ZXMuLi4pOworfQorCit0ZW1w
bGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4KK0Zvcm1hdEltcGw8VHlwZXMuLi4+IGZvcm1hdChjb25z
dCBUeXBlcyYuLi4gdmFsdWVzKQoreworICAgIHJldHVybiBGb3JtYXRJbXBsKHZhbHVlcyk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OkNoYXJhY3RlckR1bXA7CkluZGV4
OiBTb3VyY2UvV1RGL3d0Zi9Xb3JkTG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93
dGYvV29yZExvY2suY3BwCShyZXZpc2lvbiAyMDk2NjkpCisrKyBTb3VyY2UvV1RGL3d0Zi9Xb3Jk
TG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDYgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXb3JkTG9jay5oIgogCi0jaW5jbHVkZSAiRGF0YUxvZy5oIgotI2lu
Y2x1ZGUgIlN0cmluZ1ByaW50U3RyZWFtLmgiCiAjaW5jbHVkZSAiVGhyZWFkU3BlY2lmaWMuaCIK
ICNpbmNsdWRlICJUaHJlYWRpbmdQcmltaXRpdmVzLmgiCiAjaW5jbHVkZSA8Y29uZGl0aW9uX3Zh
cmlhYmxlPgpJbmRleDogU291cmNlL1dURi93dGYvV29yZExvY2suaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV1RGL3d0Zi9Xb3JkTG9jay5oCShyZXZpc2lvbiAyMDk2NjkpCisrKyBTb3VyY2UvV1RG
L3d0Zi9Xb3JkTG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0MiwxMCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKIC8vIExvY2sgaW5zdGVhZC4gV29yZExvY2sgc2l0cyBsb3dlciBpbiB0aGUgc3Rh
Y2sgYW5kIGlzIHVzZWQgdG8gaW1wbGVtZW50IExvY2ssIHNvIExvY2sgaXMgdGhlIG1haW4KIC8v
IGNsaWVudCBvZiBXb3JkTG9jay4KIAorLy8gTk9URTogVGhpcyBpcyBhbHNvIGEgZ3JlYXQgbG9j
ayB0byB1c2UgaWYgeW91IGFyZSB2ZXJ5IGxvdyBpbiB0aGUgc3RhY2suIEZvciBleGFtcGxlLAor
Ly8gUHJpbnRTdHJlYW0gdXNlcyB0aGlzIHNvIHRoYXQgUGFya2luZ0xvdCBhbmQgTG9jayBjYW4g
dXNlIFByaW50U3RyZWFtLiBUaGlzIG1lYW5zIHRoYXQgaWYgeW91CisvLyB0cnkgdG8gdXNlIGRh
dGFMb2cgdG8gZGVidWcgdGhpcyBjb2RlLCB5b3Ugd2lsbCBoYXZlIGEgYmFkIHRpbWUuCisKIHN0
cnVjdCBXb3JkTG9ja0Jhc2UgewogICAgIHZvaWQgbG9jaygpCiAgICAgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>