<?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>131899</bug_id>
          
          <creation_ts>2014-04-19 14:01:29 -0700</creation_ts>
          <short_desc>Arguments objects shouldn&apos;t need a destructor</short_desc>
          <delta_ts>2014-04-21 18:38:04 -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>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1002267</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-04-19 14:01:29 -0700</bug_when>
    <thetext>We can use CopiedSpace for their backing stores instead of malloc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002679</commentid>
    <comment_count>1</comment_count>
      <attachid>229832</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-04-21 14:33:05 -0700</bug_when>
    <thetext>Created attachment 229832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002707</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-04-21 16:13:15 -0700</bug_when>
    <thetext>This neutral on the JS benchmarks we track.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002716</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-04-21 17:00:37 -0700</bug_when>
    <thetext>This is a 1.5% speedup on dromaeo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002717</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-04-21 17:01:45 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; This is a 1.5% speedup on dromaeo.

(See http://dromaeo.com/?id=220240,220241)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002749</commentid>
    <comment_count>5</comment_count>
      <attachid>229832</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-21 18:38:02 -0700</bug_when>
    <thetext>Comment on attachment 229832
Patch

Clearing flags on attachment: 229832

Committed r167641: &lt;http://trac.webkit.org/changeset/167641&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002750</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-21 18:38:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229832</attachid>
            <date>2014-04-21 14:33:05 -0700</date>
            <delta_ts>2014-04-21 18:38:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131899-20140421142945.patch</filename>
            <type>text/plain</type>
            <size>20729</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY3NjI0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBA
CisyMDE0LTA0LTIxICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgQXJndW1lbnRzIG9iamVjdHMgc2hvdWxkbid0IG5lZWQgYSBkZXN0cnVjdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE4OTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IHJpZHMgQXJndW1lbnRzIG9iamVjdHMgb2YgdGhlaXIgZGVzdHJ1Y3RvcnMuIEl0IGRvZXMgdGhp
cyBieSAKKyAgICAgICAgc3dpdGNoaW5nIHRoZWlyIGJhY2tpbmcgc3RvcmVzIHRvIHVzZSBDb3Bp
ZWRTcGFjZSByYXRoZXIgdGhhbiBtYWxsb2MgbWVtb3J5LgorCisgICAgICAgICogZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1p
dEFsbG9jYXRlQXJndW1lbnRzKTogRml4IHRoZSBjb2RlIGVtaXR0ZWQgZm9yIGlubGluZQorICAg
ICAgICBBcmd1bWVudHMgYWxsb2NhdGlvbiBzbyB0aGF0IGl0IG9ubHkgZW1pdHMgYW4gZXh0cmEg
d3JpdGUgZm9yIHN0cmljdCBtb2RlIGNvZGUgcmF0aGVyCisgICAgICAgIHRoYW4gdW5jb25kaXRp
b25hbGx5LgorICAgICAgICAqIGhlYXAvQ29weVRva2VuLmg6IE5ldyBDb3B5VG9rZW5zIGZvciB0
aGUgdHdvIGRpZmZlcmVudCB0eXBlcyBvZiBBcmd1bWVudHMgYmFja2luZyBzdG9yZXMuCisgICAg
ICAgICogcnVudGltZS9Bcmd1bWVudHMuY3BwOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6OnZp
c2l0Q2hpbGRyZW4pOiBXZSBuZWVkIHRvIHRlbGwgdGhlIGNvbGxlY3RvciB0byBjb3B5IHRoZSBi
YWNrIHN0b3JlcyBub3cuCisgICAgICAgIChKU0M6OkFyZ3VtZW50czo6Y29weUJhY2tpbmdTdG9y
ZSk6IERvIHRoZSBhY3R1YWwgY29weWluZyBvZiB0aGUgYmFja2luZyBzdG9yZXMuCisgICAgICAg
IChKU0M6OkFyZ3VtZW50czo6ZGVsZXRlUHJvcGVydHlCeUluZGV4KTogVXBkYXRlIGFsbCB0aGUg
YWNjZXNzZXMgdG8gU2xvd0FyZ3VtZW50RGF0YSBhbmQgbV9yZWdpc3RlckFycmF5LgorICAgICAg
ICAoSlNDOjpBcmd1bWVudHM6OmRlbGV0ZVByb3BlcnR5KToKKyAgICAgICAgKEpTQzo6QXJndW1l
bnRzOjpkZWZpbmVPd25Qcm9wZXJ0eSk6CisgICAgICAgIChKU0M6OkFyZ3VtZW50czo6YWxsb2Nh
dGVSZWdpc3RlckFycmF5KToKKyAgICAgICAgKEpTQzo6QXJndW1lbnRzOjp0ZWFyT2ZmKToKKyAg
ICAgICAgKEpTQzo6QXJndW1lbnRzOjpkZXN0cm95KTogRGVsZXRlZC4gV2UgZG9uJ3QgbmVlZCB0
aGUgZGVzdHJ1Y3RvciBhbnkgbW9yZS4KKyAgICAgICAgKiBydW50aW1lL0FyZ3VtZW50cy5oOgor
ICAgICAgICAoSlNDOjpBcmd1bWVudHM6OnJlZ2lzdGVyQXJyYXlTaXplSW5CeXRlcyk6CisgICAg
ICAgIChKU0M6OkFyZ3VtZW50czo6U2xvd0FyZ3VtZW50RGF0YTo6U2xvd0FyZ3VtZW50RGF0YSk6
IFN3aXRjaCBTbG93QXJndW1lbnREYXRhIHRvIGJlaW5nIGFsbG9jYXRlZAorICAgICAgICBpbiBD
b3BpZWRTcGFjZS4gTm93IHRoZSBTbG93QXJndW1lbnREYXRhIGFuZCBpdHMgYmFja2luZyBzdG9y
ZSBhcmUgYSBzaW5nbGUgY29udGlndW91cyBDb3BpZWRTcGFjZQorICAgICAgICBhbGxvY2F0aW9u
LgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6OlNsb3dBcmd1bWVudERhdGE6OnNsb3dBcmd1bWVu
dHMpOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6OlNsb3dBcmd1bWVudERhdGE6OmJ5dGVjb2Rl
VG9NYWNoaW5lQ2FwdHVyZU9mZnNldCk6CisgICAgICAgIChKU0M6OkFyZ3VtZW50czo6U2xvd0Fy
Z3VtZW50RGF0YTo6c2V0Qnl0ZWNvZGVUb01hY2hpbmVDYXB0dXJlT2Zmc2V0KToKKyAgICAgICAg
KEpTQzo6QXJndW1lbnRzOjpTbG93QXJndW1lbnREYXRhOjpzaXplRm9yTnVtQXJndW1lbnRzKToK
KyAgICAgICAgKEpTQzo6QXJndW1lbnRzOjpBcmd1bWVudHMpOgorICAgICAgICAoSlNDOjpBcmd1
bWVudHM6OmFsbG9jYXRlU2xvd0FyZ3VtZW50cyk6CisgICAgICAgIChKU0M6OkFyZ3VtZW50czo6
dHJ5RGVsZXRlQXJndW1lbnQpOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6OmlzRGVsZXRlZEFy
Z3VtZW50KToKKyAgICAgICAgKEpTQzo6QXJndW1lbnRzOjppc0FyZ3VtZW50KToKKyAgICAgICAg
KEpTQzo6QXJndW1lbnRzOjphcmd1bWVudCk6CisgICAgICAgIChKU0M6OkFyZ3VtZW50czo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKwogMjAxNC0w
NC0yMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgdGVzdCBnYXJkZW5pbmcsIHJ1biB0aGUgcmVwZWF0LW91dC1vZi1ib3VuZHMgdGVzdHMgYWdh
aW4uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAkocmV2aXNpb24gMTY3NTk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOCw4ICsxMTgsOCBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0QWxsb2NhdGVBcmd1bWVuCiAgICAgbV9qaXQuc3RvcmUz
MihzY3JhdGNoR1BSMSwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MocmVzdWx0R1BSLCBBcmd1bWVu
dHM6Om9mZnNldE9mTnVtQXJndW1lbnRzKCkpKTsKIAogICAgIG1faml0LnN0b3JlMzIoVHJ1c3Rl
ZEltbTMyKDApLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIEFyZ3VtZW50czo6
b2Zmc2V0T2ZPdmVycm9kZUxlbmd0aCgpKSk7Ci0gICAgbV9qaXQuc3RvcmU4KFRydXN0ZWRJbW0z
MihtX2ppdC5pc1N0cmljdE1vZGVGb3IobV9jdXJyZW50Tm9kZS0+b3JpZ2luLnNlbWFudGljKSks
IAotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIEFyZ3VtZW50czo6
b2Zmc2V0T2ZJc1N0cmljdE1vZGUoKSkpOworICAgIGlmIChtX2ppdC5pc1N0cmljdE1vZGVGb3Io
bV9jdXJyZW50Tm9kZS0+b3JpZ2luLnNlbWFudGljKSkKKyAgICAgICAgbV9qaXQuc3RvcmU4KFRy
dXN0ZWRJbW0zMigxKSwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MocmVzdWx0R1BSLCBBcmd1bWVu
dHM6Om9mZnNldE9mSXNTdHJpY3RNb2RlKCkpKTsKIAogICAgIG1faml0LnN0b3JlUHRyKEdQUklu
Zm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhyZXN1bHRHUFIs
IEFyZ3VtZW50czo6b2Zmc2V0T2ZSZWdpc3RlcnMoKSkpOwogICAgIG1faml0LnN0b3JlUHRyKFRy
dXN0ZWRJbW1QdHIoMCksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwgQXJndW1l
bnRzOjpvZmZzZXRPZlJlZ2lzdGVyQXJyYXkoKSkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvQ29weVRva2VuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvQ29weVRva2VuLmgJKHJldmlzaW9uIDE2NzU5NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0NvcHlUb2tlbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw5IEBAIG5h
bWVzcGFjZSBKU0MgewogZW51bSBDb3B5VG9rZW4gewogICAgIEJ1dHRlcmZseUNvcHlUb2tlbiwK
ICAgICBUeXBlZEFycmF5VmVjdG9yQ29weVRva2VuLAotICAgIE1hcEJhY2tpbmdTdG9yZUNvcHlU
b2tlbgorICAgIE1hcEJhY2tpbmdTdG9yZUNvcHlUb2tlbiwKKyAgICBBcmd1bWVudHNSZWdpc3Rl
ckFycmF5Q29weVRva2VuLAorICAgIEFyZ3VtZW50c1Nsb3dBcmd1bWVudERhdGFDb3B5VG9rZW4K
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Bcmd1bWVudHMuY3BwCShyZXZpc2lvbiAxNjc1OTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsy
NSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAKKyNp
bmNsdWRlICJDb3B5VmlzaXRvcklubGluZXMuaCIKICNpbmNsdWRlICJKU0FjdGl2YXRpb24uaCIK
ICNpbmNsdWRlICJKU0FyZ3VtZW50c0l0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5o
IgpAQCAtMzUsNiArMzYsOCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgSlND
IHsKIAorU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKEFyZ3VtZW50cyk7
CisKIGNvbnN0IENsYXNzSW5mbyBBcmd1bWVudHM6OnNfaW5mbyA9IHsgIkFyZ3VtZW50cyIsICZC
YXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoQXJndW1lbnRzKSB9OwogCiB2
b2lkIEFyZ3VtZW50czo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQpAQCAtNDUsMTggKzQ4LDYyIEBAIHZvaWQgQXJndW1lbnRzOjp2aXNpdENoaWxkcmVu
KEpTQ2VsbCogY2UKICAgICBBU1NFUlQodGhpc09iamVjdC0+c3RydWN0dXJlKCktPnR5cGVJbmZv
KCkub3ZlcnJpZGVzVmlzaXRDaGlsZHJlbigpKTsKICAgICBKU09iamVjdDo6dmlzaXRDaGlsZHJl
bih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKIAotICAgIGlmICh0aGlzT2JqZWN0LT5tX3JlZ2lzdGVy
QXJyYXkpCisgICAgaWYgKHRoaXNPYmplY3QtPm1fcmVnaXN0ZXJBcnJheSkgeworICAgICAgICB2
aXNpdG9yLmNvcHlMYXRlcih0aGlzT2JqZWN0LCBBcmd1bWVudHNSZWdpc3RlckFycmF5Q29weVRv
a2VuLCAKKyAgICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmVnaXN0ZXJBcnJheS5nZXQoKSwgdGhp
c09iamVjdC0+cmVnaXN0ZXJBcnJheVNpemVJbkJ5dGVzKCkpOwogICAgICAgICB2aXNpdG9yLmFw
cGVuZFZhbHVlcyh0aGlzT2JqZWN0LT5tX3JlZ2lzdGVyQXJyYXkuZ2V0KCksIHRoaXNPYmplY3Qt
Pm1fbnVtQXJndW1lbnRzKTsKKyAgICB9CisgICAgaWYgKHRoaXNPYmplY3QtPm1fc2xvd0FyZ3Vt
ZW50RGF0YSkgeworICAgICAgICB2aXNpdG9yLmNvcHlMYXRlcih0aGlzT2JqZWN0LCBBcmd1bWVu
dHNTbG93QXJndW1lbnREYXRhQ29weVRva2VuLAorICAgICAgICAgICAgdGhpc09iamVjdC0+bV9z
bG93QXJndW1lbnREYXRhLmdldCgpLCBTbG93QXJndW1lbnREYXRhOjpzaXplRm9yTnVtQXJndW1l
bnRzKHRoaXNPYmplY3QtPm1fbnVtQXJndW1lbnRzKSk7CisgICAgfQogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX2NhbGxlZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fYWN0aXZhdGlvbik7CiB9Ci0gICAgCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcmd1bWVudHNGdW5jSXRlcmF0b3IoRXhlY1N0YXRlKik7CiAKLXZvaWQgQXJndW1l
bnRzOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3ZvaWQgQXJndW1lbnRzOjpjb3B5QmFja2luZ1N0
b3JlKEpTQ2VsbCogY2VsbCwgQ29weVZpc2l0b3ImIHZpc2l0b3IsIENvcHlUb2tlbiB0b2tlbikK
IHsKLSAgICBzdGF0aWNfY2FzdDxBcmd1bWVudHMqPihjZWxsKS0+QXJndW1lbnRzOjp+QXJndW1l
bnRzKCk7CisgICAgQXJndW1lbnRzKiB0aGlzT2JqZWN0ID0ganNDYXN0PEFyZ3VtZW50cyo+KGNl
bGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsK
KyAgICAKKworICAgIHN3aXRjaCAodG9rZW4pIHsKKyAgICBjYXNlIEFyZ3VtZW50c1JlZ2lzdGVy
QXJyYXlDb3B5VG9rZW46IHsKKyAgICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiByZWdpc3Rl
ckFycmF5ID0gdGhpc09iamVjdC0+bV9yZWdpc3RlckFycmF5LmdldCgpOworICAgICAgICBpZiAo
IXJlZ2lzdGVyQXJyYXkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHZpc2l0
b3IuY2hlY2tJZlNob3VsZENvcHkocmVnaXN0ZXJBcnJheSkpIHsKKyAgICAgICAgICAgIHNpemVf
dCBieXRlcyA9IHRoaXNPYmplY3QtPnJlZ2lzdGVyQXJyYXlTaXplSW5CeXRlcygpOworICAgICAg
ICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiBuZXdSZWdpc3RlckFycmF5ID0gc3RhdGljX2Nh
c3Q8V3JpdGVCYXJyaWVyPFVua25vd24+Kj4odmlzaXRvci5hbGxvY2F0ZU5ld1NwYWNlKGJ5dGVz
KSk7CisgICAgICAgICAgICBtZW1jcHkobmV3UmVnaXN0ZXJBcnJheSwgcmVnaXN0ZXJBcnJheSwg
Ynl0ZXMpOworICAgICAgICAgICAgdGhpc09iamVjdC0+bV9yZWdpc3RlckFycmF5LnNldFdpdGhv
dXRXcml0ZUJhcnJpZXIobmV3UmVnaXN0ZXJBcnJheSk7CisgICAgICAgICAgICB2aXNpdG9yLmRp
ZENvcHkocmVnaXN0ZXJBcnJheSwgYnl0ZXMpOworICAgICAgICB9CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBjYXNlIEFyZ3VtZW50c1Nsb3dBcmd1bWVudERhdGFDb3B5VG9rZW46IHsK
KyAgICAgICAgU2xvd0FyZ3VtZW50RGF0YSogc2xvd0FyZ3VtZW50RGF0YSA9IHRoaXNPYmplY3Qt
Pm1fc2xvd0FyZ3VtZW50RGF0YS5nZXQoKTsKKyAgICAgICAgaWYgKCFzbG93QXJndW1lbnREYXRh
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICh2aXNpdG9yLmNoZWNrSWZTaG91
bGRDb3B5KHNsb3dBcmd1bWVudERhdGEpKSB7CisgICAgICAgICAgICBzaXplX3QgYnl0ZXMgPSBT
bG93QXJndW1lbnREYXRhOjpzaXplRm9yTnVtQXJndW1lbnRzKHRoaXNPYmplY3QtPm1fbnVtQXJn
dW1lbnRzKTsKKyAgICAgICAgICAgIFNsb3dBcmd1bWVudERhdGEqIG5ld1Nsb3dBcmd1bWVudERh
dGEgPSBzdGF0aWNfY2FzdDxTbG93QXJndW1lbnREYXRhKj4odmlzaXRvci5hbGxvY2F0ZU5ld1Nw
YWNlKGJ5dGVzKSk7CisgICAgICAgICAgICBtZW1jcHkobmV3U2xvd0FyZ3VtZW50RGF0YSwgc2xv
d0FyZ3VtZW50RGF0YSwgYnl0ZXMpOworICAgICAgICAgICAgdGhpc09iamVjdC0+bV9zbG93QXJn
dW1lbnREYXRhLnNldFdpdGhvdXRXcml0ZUJhcnJpZXIobmV3U2xvd0FyZ3VtZW50RGF0YSk7Cisg
ICAgICAgICAgICB2aXNpdG9yLmRpZENvcHkoc2xvd0FyZ3VtZW50RGF0YSwgYnl0ZXMpOworICAg
ICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkZWZhdWx0OgorICAgICAgICBy
ZXR1cm47CisgICAgfQogfQorICAgIAorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgYXJndW1lbnRzRnVuY0l0ZXJhdG9yKEV4ZWNTdGF0ZSopOwogCiB2b2lkIEFyZ3VtZW50czo6
Y29weVRvQXJndW1lbnRzKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIHVp
bnQzMl90IGNvcHlMZW5ndGgsIGludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpCiB7CkBAIC0yMjYs
NyArMjczLDcgQEAgYm9vbCBBcmd1bWVudHM6OmRlbGV0ZVByb3BlcnR5QnlJbmRleChKUwogICAg
IGlmIChpIDwgdGhpc09iamVjdC0+bV9udW1Bcmd1bWVudHMpIHsKICAgICAgICAgaWYgKCFCYXNl
OjpkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoY2VsbCwgZXhlYywgaSkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIGlmICh0aGlzT2JqZWN0LT50cnlEZWxldGVBcmd1bWVudChpKSkK
KyAgICAgICAgaWYgKHRoaXNPYmplY3QtPnRyeURlbGV0ZUFyZ3VtZW50KGV4ZWMtPnZtKCksIGkp
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBKU09iamVjdDo6
ZGVsZXRlUHJvcGVydHlCeUluZGV4KHRoaXNPYmplY3QsIGV4ZWMsIGkpOwpAQCAtMjQzLDcgKzI5
MCw3IEBAIGJvb2wgQXJndW1lbnRzOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGMKICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoaSA8IFByb3BlcnR5TmFtZTo6Tm90QW5JbmRleCk7CiAgICAgICAgIGlm
ICghQmFzZTo6ZGVsZXRlUHJvcGVydHkoY2VsbCwgZXhlYywgcHJvcGVydHlOYW1lKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKHRoaXNPYmplY3QtPnRyeURlbGV0ZUFy
Z3VtZW50KGkpKQorICAgICAgICBpZiAodGhpc09iamVjdC0+dHJ5RGVsZXRlQXJndW1lbnQoZXhl
Yy0+dm0oKSwgaSkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTI4OCw3
ICszMzUsNyBAQCBib29sIEFyZ3VtZW50czo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplCiAgICAg
ICAgICAgICAvLyBhLiBJZiBJc0FjY2Vzc29yRGVzY3JpcHRvcihEZXNjKSBpcyB0cnVlLCB0aGVu
CiAgICAgICAgICAgICBpZiAoZGVzY3JpcHRvci5pc0FjY2Vzc29yRGVzY3JpcHRvcigpKSB7CiAg
ICAgICAgICAgICAgICAgLy8gaS4gQ2FsbCB0aGUgW1tEZWxldGVdXSBpbnRlcm5hbCBtZXRob2Qg
b2YgbWFwIHBhc3NpbmcgUCwgYW5kIGZhbHNlIGFzIHRoZSBhcmd1bWVudHMuCi0gICAgICAgICAg
ICAgICAgdGhpc09iamVjdC0+dHJ5RGVsZXRlQXJndW1lbnQoaSk7CisgICAgICAgICAgICAgICAg
dGhpc09iamVjdC0+dHJ5RGVsZXRlQXJndW1lbnQoZXhlYy0+dm0oKSwgaSk7CiAgICAgICAgICAg
ICB9IGVsc2UgeyAvLyBiLiBFbHNlCiAgICAgICAgICAgICAgICAgLy8gaS4gSWYgRGVzYy5bW1Zh
bHVlXV0gaXMgcHJlc2VudCwgdGhlbgogICAgICAgICAgICAgICAgIC8vIDEuIENhbGwgdGhlIFtb
UHV0XV0gaW50ZXJuYWwgbWV0aG9kIG9mIG1hcCBwYXNzaW5nIFAsIERlc2MuW1tWYWx1ZV1dLCBh
bmQgVGhyb3cgYXMgdGhlIGFyZ3VtZW50cy4KQEAgLTI5Nyw3ICszNDQsNyBAQCBib29sIEFyZ3Vt
ZW50czo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmplCiAgICAgICAgICAgICAgICAgLy8gaWkuIElm
IERlc2MuW1tXcml0YWJsZV1dIGlzIHByZXNlbnQgYW5kIGl0cyB2YWx1ZSBpcyBmYWxzZSwgdGhl
bgogICAgICAgICAgICAgICAgIC8vIDEuIENhbGwgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0
aG9kIG9mIG1hcCBwYXNzaW5nIFAgYW5kIGZhbHNlIGFzIGFyZ3VtZW50cy4KICAgICAgICAgICAg
ICAgICBpZiAoZGVzY3JpcHRvci53cml0YWJsZVByZXNlbnQoKSAmJiAhZGVzY3JpcHRvci53cml0
YWJsZSgpKQotICAgICAgICAgICAgICAgICAgICB0aGlzT2JqZWN0LT50cnlEZWxldGVBcmd1bWVu
dChpKTsKKyAgICAgICAgICAgICAgICAgICAgdGhpc09iamVjdC0+dHJ5RGVsZXRlQXJndW1lbnQo
ZXhlYy0+dm0oKSwgaSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IHRydWU7CkBAIC0zMTUsNiArMzYyLDE1IEBAIGJvb2wgQXJndW1lbnRzOjpkZWZpbmVPd25Qcm9w
ZXJ0eShKU09iamUKICAgICByZXR1cm4gQmFzZTo6ZGVmaW5lT3duUHJvcGVydHkob2JqZWN0LCBl
eGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIHNob3VsZFRocm93KTsKIH0KIAordm9pZCBB
cmd1bWVudHM6OmFsbG9jYXRlUmVnaXN0ZXJBcnJheShWTSYgdm0pCit7CisgICAgQVNTRVJUKCFt
X3JlZ2lzdGVyQXJyYXkpOworICAgIHZvaWQqIGJhY2tpbmdTdG9yZTsKKyAgICBpZiAoIXZtLmhl
YXAudHJ5QWxsb2NhdGVTdG9yYWdlKHRoaXMsIHJlZ2lzdGVyQXJyYXlTaXplSW5CeXRlcygpLCAm
YmFja2luZ1N0b3JlKSkKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICBtX3JlZ2lzdGVyQXJyYXkuc2V0KHZtLCB0aGlzLCBzdGF0aWNfY2FzdDxXcml0ZUJhcnJpZXI8
VW5rbm93bj4qPihiYWNraW5nU3RvcmUpKTsKK30KKwogdm9pZCBBcmd1bWVudHM6OnRlYXJPZmYo
Q2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7CiAgICAgaWYgKGlzVG9ybk9mZigpKQpAQCAtMzI2LDcg
KzM4Miw3IEBAIHZvaWQgQXJndW1lbnRzOjp0ZWFyT2ZmKENhbGxGcmFtZSogY2FsbEYKICAgICAv
LyBNdXN0IGJlIGNhbGxlZCBmb3IgdGhlIHNhbWUgY2FsbCBmcmFtZSBmcm9tIHdoaWNoIGl0IHdh
cyBjcmVhdGVkLgogICAgIEFTU0VSVChiaXR3aXNlX2Nhc3Q8V3JpdGVCYXJyaWVyPFVua25vd24+
Kj4oY2FsbEZyYW1lKSA9PSBtX3JlZ2lzdGVycyk7CiAgICAgCi0gICAgbV9yZWdpc3RlckFycmF5
ID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8VW5rbm93bj5bXT4obV9udW1Bcmd1bWVu
dHMpOworICAgIGFsbG9jYXRlUmVnaXN0ZXJBcnJheShjYWxsRnJhbWUtPnZtKCkpOwogICAgIG1f
cmVnaXN0ZXJzID0gbV9yZWdpc3RlckFycmF5LmdldCgpIC0gQ2FsbEZyYW1lOjpvZmZzZXRGb3Io
MSkgLSAxOwogCiAgICAgLy8gSWYgd2UgaGF2ZSBhIGNhcHR1cmVkIGFyZ3VtZW50IHRoYXQgbG9n
aWNhbGx5IGFsaWFzZXMgYWN0aXZhdGlvbiBzdG9yYWdlLApAQCAtMzM0LDEwICszOTAsMTAgQEAg
dm9pZCBBcmd1bWVudHM6OnRlYXJPZmYoQ2FsbEZyYW1lKiBjYWxsRgogICAgIC8vIG91ciBzdG9y
YWdlLiBUaGUgc2ltcGxlc3Qgd2F5IHRvIGRvIHRoaXMgaXMgdG8gcmV2ZXJ0IGl0IHRvIE5vcm1h
bCBzdGF0dXMuCiAgICAgaWYgKG1fc2xvd0FyZ3VtZW50RGF0YSAmJiAhbV9hY3RpdmF0aW9uKSB7
CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9udW1Bcmd1bWVudHM7ICsraSkgewot
ICAgICAgICAgICAgaWYgKG1fc2xvd0FyZ3VtZW50RGF0YS0+c2xvd0FyZ3VtZW50c1tpXS5zdGF0
dXMgIT0gU2xvd0FyZ3VtZW50OjpDYXB0dXJlZCkKKyAgICAgICAgICAgIGlmIChtX3Nsb3dBcmd1
bWVudERhdGEtPnNsb3dBcmd1bWVudHMoKVtpXS5zdGF0dXMgIT0gU2xvd0FyZ3VtZW50OjpDYXB0
dXJlZCkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIG1fc2xvd0FyZ3Vt
ZW50RGF0YS0+c2xvd0FyZ3VtZW50c1tpXS5zdGF0dXMgPSBTbG93QXJndW1lbnQ6Ok5vcm1hbDsK
LSAgICAgICAgICAgIG1fc2xvd0FyZ3VtZW50RGF0YS0+c2xvd0FyZ3VtZW50c1tpXS5pbmRleCA9
IENhbGxGcmFtZTo6YXJndW1lbnRPZmZzZXQoaSk7CisgICAgICAgICAgICBtX3Nsb3dBcmd1bWVu
dERhdGEtPnNsb3dBcmd1bWVudHMoKVtpXS5zdGF0dXMgPSBTbG93QXJndW1lbnQ6Ok5vcm1hbDsK
KyAgICAgICAgICAgIG1fc2xvd0FyZ3VtZW50RGF0YS0+c2xvd0FyZ3VtZW50cygpW2ldLmluZGV4
ID0gQ2FsbEZyYW1lOjphcmd1bWVudE9mZnNldChpKTsKICAgICAgICAgfQogICAgIH0KIApAQCAt
MzY2LDcgKzQyMiw3IEBAIHZvaWQgQXJndW1lbnRzOjp0ZWFyT2ZmKENhbGxGcmFtZSogY2FsbEYK
ICAgICBpZiAoIW1fbnVtQXJndW1lbnRzKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgbV9y
ZWdpc3RlckFycmF5ID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8VW5rbm93bj5bXT4o
bV9udW1Bcmd1bWVudHMpOworICAgIGFsbG9jYXRlUmVnaXN0ZXJBcnJheShjYWxsRnJhbWUtPnZt
KCkpOwogICAgIG1fcmVnaXN0ZXJzID0gbV9yZWdpc3RlckFycmF5LmdldCgpIC0gQ2FsbEZyYW1l
OjpvZmZzZXRGb3IoMSkgLSAxOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX251bUFy
Z3VtZW50czsgKytpKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1
bWVudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1
bWVudHMuaAkocmV2aXNpb24gMTY3NTk0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJndW1lbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1
ZGUgIkNvZGVPcmlnaW4uaCIKICNpbmNsdWRlICJKU0FjdGl2YXRpb24uaCIKLSNpbmNsdWRlICJK
U0Rlc3RydWN0aWJsZU9iamVjdC5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRl
ICJKU0dsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCkBAIC0zNiwxMSAr
MzUsMTEgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEFyZ3VtZW50cyA6IHB1YmxpYyBK
U0Rlc3RydWN0aWJsZU9iamVjdCB7CitjbGFzcyBBcmd1bWVudHMgOiBwdWJsaWMgSlNOb25GaW5h
bE9iamVjdCB7CiAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBmcmllbmQgY2xhc3MgSlNBcmd1
bWVudHNJdGVyYXRvcjsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0
IEJhc2U7CisgICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CiAKICAgICBzdGF0aWMg
QXJndW1lbnRzKiBjcmVhdGUoVk0mIHZtLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKICAgICB7CkBA
IC02OCw2ICs2Nyw3IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX0lORk87CiAKICAgICBzdGF0aWMg
dm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAgc3RhdGljIHZv
aWQgY29weUJhY2tpbmdTdG9yZShKU0NlbGwqLCBDb3B5VmlzaXRvciYsIENvcHlUb2tlbik7CiAK
ICAgICB2b2lkIGZpbGxBcmdMaXN0KEV4ZWNTdGF0ZSosIE1hcmtlZEFyZ3VtZW50QnVmZmVyJik7
CiAKQEAgLTExMSw3ICsxMTEsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihDYWxsRnJhbWUqLCBJbmxpbmVDYWxsRnJhbWUqKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0aWMg
dm9pZCBkZXN0cm95KEpTQ2VsbCopOwogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xv
dChKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAg
ICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90QnlJbmRleChKU09iamVjdCosIEV4ZWNT
dGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGlj
IHZvaWQgZ2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5
TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlKTsKQEAgLTEyMywxMyArMTIyLDE1IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBjcmVhdGVTdHJpY3RNb2RlQ2FsbGVySWZOZWNlc3NhcnkoRXhlY1N0YXRl
Kik7CiAgICAgdm9pZCBjcmVhdGVTdHJpY3RNb2RlQ2FsbGVlSWZOZWNlc3NhcnkoRXhlY1N0YXRl
Kik7CiAKKyAgICBzaXplX3QgcmVnaXN0ZXJBcnJheVNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1
cm4gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPikgKiBtX251bUFyZ3VtZW50czsgfQorICAg
IHZvaWQgYWxsb2NhdGVSZWdpc3RlckFycmF5KFZNJik7CiAgICAgYm9vbCBpc0FyZ3VtZW50KHNp
emVfdCk7CiAgICAgYm9vbCB0cnlTZXRBcmd1bWVudChWTSYsIHNpemVfdCBhcmd1bWVudCwgSlNW
YWx1ZSk7CiAgICAgSlNWYWx1ZSB0cnlHZXRBcmd1bWVudChzaXplX3QgYXJndW1lbnQpOwogICAg
IGJvb2wgaXNEZWxldGVkQXJndW1lbnQoc2l6ZV90KTsKLSAgICBib29sIHRyeURlbGV0ZUFyZ3Vt
ZW50KHNpemVfdCk7CisgICAgYm9vbCB0cnlEZWxldGVBcmd1bWVudChWTSYsIHNpemVfdCk7CiAg
ICAgV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiYgYXJndW1lbnQoc2l6ZV90KTsKLSAgICB2b2lk
IGFsbG9jYXRlU2xvd0FyZ3VtZW50cygpOworICAgIHZvaWQgYWxsb2NhdGVTbG93QXJndW1lbnRz
KFZNJik7CiAKICAgICB2b2lkIGluaXQoQ2FsbEZyYW1lKik7CiAKQEAgLTE0NiwxOSArMTQ3LDM1
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzU3RyaWN0TW9kZTsKIAogICAgIFdyaXRlQmFycmll
ckJhc2U8VW5rbm93bj4qIG1fcmVnaXN0ZXJzOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJh
cnJpZXI8VW5rbm93bj5bXT4gbV9yZWdpc3RlckFycmF5OworICAgIENvcHlXcml0ZUJhcnJpZXI8
V3JpdGVCYXJyaWVyPFVua25vd24+PiBtX3JlZ2lzdGVyQXJyYXk7CiAKIHB1YmxpYzoKICAgICBz
dHJ1Y3QgU2xvd0FyZ3VtZW50RGF0YSB7Ci0gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKKyAgICAgICAgU2xvd0FyZ3VtZW50RGF0YSgpCisgICAgICAgICAgICA6
IG1fYnl0ZWNvZGVUb01hY2hpbmVDYXB0dXJlT2Zmc2V0KDApCisgICAgICAgIHsKKyAgICAgICAg
fQorCisgICAgICAgIFNsb3dBcmd1bWVudCogc2xvd0FyZ3VtZW50cygpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFNsb3dBcmd1bWVudCo+KFdURjo6cm91
bmRVcFRvTXVsdGlwbGVPZjw4PihyZWludGVycHJldF9jYXN0PHNpemVfdD4odGhpcyArIDEpKSk7
CisgICAgICAgIH0KKworICAgICAgICBpbnQgYnl0ZWNvZGVUb01hY2hpbmVDYXB0dXJlT2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gbV9ieXRlY29kZVRvTWFjaGluZUNhcHR1cmVPZmZzZXQ7IH0KKyAg
ICAgICAgdm9pZCBzZXRCeXRlY29kZVRvTWFjaGluZUNhcHR1cmVPZmZzZXQoaW50IG5ld09mZnNl
dCkgeyBtX2J5dGVjb2RlVG9NYWNoaW5lQ2FwdHVyZU9mZnNldCA9IG5ld09mZnNldDsgfQorCisg
ICAgICAgIHN0YXRpYyBzaXplX3Qgc2l6ZUZvck51bUFyZ3VtZW50cyh1bnNpZ25lZCBudW1Bcmd1
bWVudHMpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBXVEY6OnJvdW5kVXBUb011bHRp
cGxlT2Y8OD4oc2l6ZW9mKFNsb3dBcmd1bWVudERhdGEpKSArIHNpemVvZihTbG93QXJndW1lbnQp
ICogbnVtQXJndW1lbnRzOworICAgICAgICB9CiAKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFNs
b3dBcmd1bWVudFtdPiBzbG93QXJndW1lbnRzOwotICAgICAgICBpbnQgYnl0ZWNvZGVUb01hY2hp
bmVDYXB0dXJlT2Zmc2V0OyAvLyBBZGQgdGhpcyBpZiB5b3UgaGF2ZSBhIGJ5dGVjb2RlIG9mZnNl
dCBpbnRvIGNhcHR1cmVkIHJlZ2lzdGVycyBhbmQgeW91IHdhbnQgdGhlIG1hY2hpbmUgb2Zmc2V0
IGluc3RlYWQuIFN1YnRyYWN0IGlmIHlvdSB3YW50IHRvIGRvIHRoZSBvcHBvc2l0ZS4KKyAgICBw
cml2YXRlOgorICAgICAgICBpbnQgbV9ieXRlY29kZVRvTWFjaGluZUNhcHR1cmVPZmZzZXQ7IC8v
IEFkZCB0aGlzIGlmIHlvdSBoYXZlIGEgYnl0ZWNvZGUgb2Zmc2V0IGludG8gY2FwdHVyZWQgcmVn
aXN0ZXJzIGFuZCB5b3Ugd2FudCB0aGUgbWFjaGluZSBvZmZzZXQgaW5zdGVhZC4gU3VidHJhY3Qg
aWYgeW91IHdhbnQgdG8gZG8gdGhlIG9wcG9zaXRlLiAKICAgICB9OwogICAgIAogcHJpdmF0ZToK
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8U2xvd0FyZ3VtZW50RGF0YT4gbV9zbG93QXJndW1lbnREYXRh
OworICAgIENvcHlXcml0ZUJhcnJpZXI8U2xvd0FyZ3VtZW50RGF0YT4gbV9zbG93QXJndW1lbnRE
YXRhOwogCiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fY2FsbGVlOwogfTsKQEAgLTE3
MiwzNCArMTg5LDM3IEBAIGlubGluZSBBcmd1bWVudHMqIGFzQXJndW1lbnRzKEpTVmFsdWUgdmEK
IH0KIAogaW5saW5lIEFyZ3VtZW50czo6QXJndW1lbnRzKENhbGxGcmFtZSogY2FsbEZyYW1lKQot
ICAgIDogSlNEZXN0cnVjdGlibGVPYmplY3QoY2FsbEZyYW1lLT52bSgpLCBjYWxsRnJhbWUtPmxl
eGljYWxHbG9iYWxPYmplY3QoKS0+YXJndW1lbnRzU3RydWN0dXJlKCkpCisgICAgOiBCYXNlKGNh
bGxGcmFtZS0+dm0oKSwgY2FsbEZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFyZ3VtZW50
c1N0cnVjdHVyZSgpKQogewogfQogCiBpbmxpbmUgQXJndW1lbnRzOjpBcmd1bWVudHMoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUsIE5vUGFyYW1ldGVyc1R5cGUpCi0gICAgOiBKU0Rlc3RydWN0aWJsZU9i
amVjdChjYWxsRnJhbWUtPnZtKCksIGNhbGxGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5h
cmd1bWVudHNTdHJ1Y3R1cmUoKSkKKyAgICA6IEJhc2UoY2FsbEZyYW1lLT52bSgpLCBjYWxsRnJh
bWUtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+YXJndW1lbnRzU3RydWN0dXJlKCkpCiB7CiB9CiAK
LWlubGluZSB2b2lkIEFyZ3VtZW50czo6YWxsb2NhdGVTbG93QXJndW1lbnRzKCkKK2lubGluZSB2
b2lkIEFyZ3VtZW50czo6YWxsb2NhdGVTbG93QXJndW1lbnRzKFZNJiB2bSkKIHsKLSAgICBpZiAo
bV9zbG93QXJndW1lbnREYXRhKQorICAgIGlmICghIW1fc2xvd0FyZ3VtZW50RGF0YSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fc2xvd0FyZ3VtZW50RGF0YSA9IHN0ZDo6bWFrZV91bmlxdWU8U2xv
d0FyZ3VtZW50RGF0YT4oKTsKLSAgICBtX3Nsb3dBcmd1bWVudERhdGEtPmJ5dGVjb2RlVG9NYWNo
aW5lQ2FwdHVyZU9mZnNldCA9IDA7Ci0gICAgbV9zbG93QXJndW1lbnREYXRhLT5zbG93QXJndW1l
bnRzID0gc3RkOjptYWtlX3VuaXF1ZTxTbG93QXJndW1lbnRbXT4obV9udW1Bcmd1bWVudHMpOwor
CisgICAgdm9pZCogYmFja2luZ1N0b3JlOworICAgIGlmICghdm0uaGVhcC50cnlBbGxvY2F0ZVN0
b3JhZ2UodGhpcywgU2xvd0FyZ3VtZW50RGF0YTo6c2l6ZUZvck51bUFyZ3VtZW50cyhtX251bUFy
Z3VtZW50cyksICZiYWNraW5nU3RvcmUpKQorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIG1fc2xvd0FyZ3VtZW50RGF0YS5zZXQodm0sIHRoaXMsIHN0YXRpY19jYXN0
PFNsb3dBcmd1bWVudERhdGEqPihiYWNraW5nU3RvcmUpKTsKKwogICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbV9udW1Bcmd1bWVudHM7ICsraSkgewotICAgICAgICBBU1NFUlQobV9zbG93QXJn
dW1lbnREYXRhLT5zbG93QXJndW1lbnRzW2ldLnN0YXR1cyA9PSBTbG93QXJndW1lbnQ6Ok5vcm1h
bCk7Ci0gICAgICAgIG1fc2xvd0FyZ3VtZW50RGF0YS0+c2xvd0FyZ3VtZW50c1tpXS5pbmRleCA9
IENhbGxGcmFtZTo6YXJndW1lbnRPZmZzZXQoaSk7CisgICAgICAgIEFTU0VSVChtX3Nsb3dBcmd1
bWVudERhdGEtPnNsb3dBcmd1bWVudHMoKVtpXS5zdGF0dXMgPT0gU2xvd0FyZ3VtZW50OjpOb3Jt
YWwpOworICAgICAgICBtX3Nsb3dBcmd1bWVudERhdGEtPnNsb3dBcmd1bWVudHMoKVtpXS5pbmRl
eCA9IENhbGxGcmFtZTo6YXJndW1lbnRPZmZzZXQoaSk7CiAgICAgfQogfQogCi1pbmxpbmUgYm9v
bCBBcmd1bWVudHM6OnRyeURlbGV0ZUFyZ3VtZW50KHNpemVfdCBhcmd1bWVudCkKK2lubGluZSBi
b29sIEFyZ3VtZW50czo6dHJ5RGVsZXRlQXJndW1lbnQoVk0mIHZtLCBzaXplX3QgYXJndW1lbnQp
CiB7CiAgICAgaWYgKCFpc0FyZ3VtZW50KGFyZ3VtZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGFsbG9jYXRlU2xvd0FyZ3VtZW50cygpOwotICAgIG1fc2xvd0FyZ3VtZW50RGF0YS0+
c2xvd0FyZ3VtZW50c1thcmd1bWVudF0uc3RhdHVzID0gU2xvd0FyZ3VtZW50OjpEZWxldGVkOwor
ICAgIGFsbG9jYXRlU2xvd0FyZ3VtZW50cyh2bSk7CisgICAgbV9zbG93QXJndW1lbnREYXRhLT5z
bG93QXJndW1lbnRzKClbYXJndW1lbnRdLnN0YXR1cyA9IFNsb3dBcmd1bWVudDo6RGVsZXRlZDsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjI0LDcgKzI0NCw3IEBAIGlubGluZSBib29sIEFy
Z3VtZW50czo6aXNEZWxldGVkQXJndW1lbnQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlm
ICghbV9zbG93QXJndW1lbnREYXRhKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKG1f
c2xvd0FyZ3VtZW50RGF0YS0+c2xvd0FyZ3VtZW50c1thcmd1bWVudF0uc3RhdHVzICE9IFNsb3dB
cmd1bWVudDo6RGVsZXRlZCkKKyAgICBpZiAobV9zbG93QXJndW1lbnREYXRhLT5zbG93QXJndW1l
bnRzKClbYXJndW1lbnRdLnN0YXR1cyAhPSBTbG93QXJndW1lbnQ6OkRlbGV0ZWQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTIzMyw3ICsyNTMsNyBAQCBp
bmxpbmUgYm9vbCBBcmd1bWVudHM6OmlzQXJndW1lbnQoc2l6ZV90CiB7CiAgICAgaWYgKGFyZ3Vt
ZW50ID49IG1fbnVtQXJndW1lbnRzKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKG1f
c2xvd0FyZ3VtZW50RGF0YSAmJiBtX3Nsb3dBcmd1bWVudERhdGEtPnNsb3dBcmd1bWVudHNbYXJn
dW1lbnRdLnN0YXR1cyA9PSBTbG93QXJndW1lbnQ6OkRlbGV0ZWQpCisgICAgaWYgKG1fc2xvd0Fy
Z3VtZW50RGF0YSAmJiBtX3Nsb3dBcmd1bWVudERhdGEtPnNsb3dBcmd1bWVudHMoKVthcmd1bWVu
dF0uc3RhdHVzID09IFNsb3dBcmd1bWVudDo6RGVsZXRlZCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMjQ0LDExICsyNjQsMTEgQEAgaW5saW5lIFdyaXRl
QmFycmllckJhc2U8VW5rbm93bj4mIEFyZ3VtZQogICAgIGlmICghbV9zbG93QXJndW1lbnREYXRh
KQogICAgICAgICByZXR1cm4gbV9yZWdpc3RlcnNbQ2FsbEZyYW1lOjphcmd1bWVudE9mZnNldChh
cmd1bWVudCldOwogCi0gICAgaW50IGluZGV4ID0gbV9zbG93QXJndW1lbnREYXRhLT5zbG93QXJn
dW1lbnRzW2FyZ3VtZW50XS5pbmRleDsKLSAgICBpZiAoIW1fYWN0aXZhdGlvbiB8fCBtX3Nsb3dB
cmd1bWVudERhdGEtPnNsb3dBcmd1bWVudHNbYXJndW1lbnRdLnN0YXR1cyAhPSBTbG93QXJndW1l
bnQ6OkNhcHR1cmVkKQorICAgIGludCBpbmRleCA9IG1fc2xvd0FyZ3VtZW50RGF0YS0+c2xvd0Fy
Z3VtZW50cygpW2FyZ3VtZW50XS5pbmRleDsKKyAgICBpZiAoIW1fYWN0aXZhdGlvbiB8fCBtX3Ns
b3dBcmd1bWVudERhdGEtPnNsb3dBcmd1bWVudHMoKVthcmd1bWVudF0uc3RhdHVzICE9IFNsb3dB
cmd1bWVudDo6Q2FwdHVyZWQpCiAgICAgICAgIHJldHVybiBtX3JlZ2lzdGVyc1tpbmRleF07CiAK
LSAgICByZXR1cm4gbV9hY3RpdmF0aW9uLT5yZWdpc3RlckF0KGluZGV4IC0gbV9zbG93QXJndW1l
bnREYXRhLT5ieXRlY29kZVRvTWFjaGluZUNhcHR1cmVPZmZzZXQpOworICAgIHJldHVybiBtX2Fj
dGl2YXRpb24tPnJlZ2lzdGVyQXQoaW5kZXggLSBtX3Nsb3dBcmd1bWVudERhdGEtPmJ5dGVjb2Rl
VG9NYWNoaW5lQ2FwdHVyZU9mZnNldCgpKTsKIH0KIAogaW5saW5lIHZvaWQgQXJndW1lbnRzOjpm
aW5pc2hDcmVhdGlvbihDYWxsRnJhbWUqIGNhbGxGcmFtZSkKQEAgLTI2OSwxMiArMjg5LDEyIEBA
IGlubGluZSB2b2lkIEFyZ3VtZW50czo6ZmluaXNoQ3JlYXRpb24oQ2EKICAgICBpZiAoY29kZUJs
b2NrLT5oYXNTbG93QXJndW1lbnRzKCkpIHsKICAgICAgICAgU3ltYm9sVGFibGUqIHN5bWJvbFRh
YmxlID0gY29kZUJsb2NrLT5zeW1ib2xUYWJsZSgpOwogICAgICAgICBjb25zdCBTbG93QXJndW1l
bnQqIHNsb3dBcmd1bWVudHMgPSBjb2RlQmxvY2stPm1hY2hpbmVTbG93QXJndW1lbnRzKCk7Ci0g
ICAgICAgIGFsbG9jYXRlU2xvd0FyZ3VtZW50cygpOworICAgICAgICBhbGxvY2F0ZVNsb3dBcmd1
bWVudHMoY2FsbEZyYW1lLT52bSgpKTsKICAgICAgICAgc2l6ZV90IGNvdW50ID0gc3RkOjptaW48
dW5zaWduZWQ+KG1fbnVtQXJndW1lbnRzLCBzeW1ib2xUYWJsZS0+cGFyYW1ldGVyQ291bnQoKSk7
CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAgICAgICAgICAg
IG1fc2xvd0FyZ3VtZW50RGF0YS0+c2xvd0FyZ3VtZW50c1tpXSA9IHNsb3dBcmd1bWVudHNbaV07
Ci0gICAgICAgIG1fc2xvd0FyZ3VtZW50RGF0YS0+Ynl0ZWNvZGVUb01hY2hpbmVDYXB0dXJlT2Zm
c2V0ID0KLSAgICAgICAgICAgIGNvZGVCbG9jay0+ZnJhbWVQb2ludGVyT2Zmc2V0VG9HZXRBY3Rp
dmF0aW9uUmVnaXN0ZXJzKCk7CisgICAgICAgICAgICBtX3Nsb3dBcmd1bWVudERhdGEtPnNsb3dB
cmd1bWVudHMoKVtpXSA9IHNsb3dBcmd1bWVudHNbaV07CisgICAgICAgIG1fc2xvd0FyZ3VtZW50
RGF0YS0+c2V0Qnl0ZWNvZGVUb01hY2hpbmVDYXB0dXJlT2Zmc2V0KAorICAgICAgICAgICAgY29k
ZUJsb2NrLT5mcmFtZVBvaW50ZXJPZmZzZXRUb0dldEFjdGl2YXRpb25SZWdpc3RlcnMoKSk7CiAg
ICAgfQogCiAgICAgLy8gVGhlIGJ5dGVjb2RlIGdlbmVyYXRvciBvbWl0cyBvcF90ZWFyX29mZl9h
Y3RpdmF0aW9uIGluIGNhc2VzIG9mIG5vCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgJKHJldmlzaW9uIDE2NzU5NCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDkgKzM5
LDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBzdHJ1Y3QgU2xvd0FyZ3VtZW50IHsKLSAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLQogICAgIGVudW0gU3RhdHVzIHsKICAgICAg
ICAgTm9ybWFsID0gMCwKICAgICAgICAgQ2FwdHVyZWQgPSAxLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>