<?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>204451</bug_id>
          
          <creation_ts>2019-11-21 06:11:03 -0800</creation_ts>
          <short_desc>Tighten ScrollingTreeNode tree mutations</short_desc>
          <delta_ts>2019-11-21 11:32:47 -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>Scrolling</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1592349</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-11-21 06:11:03 -0800</bug_when>
    <thetext>Switch to Ref&lt;&gt; and add assertions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592353</commentid>
    <comment_count>1</comment_count>
      <attachid>384047</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-11-21 06:22:08 -0800</bug_when>
    <thetext>Created attachment 384047
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592354</commentid>
    <comment_count>2</comment_count>
      <attachid>384048</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-11-21 06:32:28 -0800</bug_when>
    <thetext>Created attachment 384048
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592363</commentid>
    <comment_count>3</comment_count>
      <attachid>384052</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-11-21 07:32:39 -0800</bug_when>
    <thetext>Created attachment 384052
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592458</commentid>
    <comment_count>4</comment_count>
      <attachid>384052</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-21 11:31:47 -0800</bug_when>
    <thetext>Comment on attachment 384052
patch

Clearing flags on attachment: 384052

Committed r252742: &lt;https://trac.webkit.org/changeset/252742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592459</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-21 11:31:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592460</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-21 11:32:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/57401956&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384047</attachid>
            <date>2019-11-21 06:22:08 -0800</date>
            <delta_ts>2019-11-21 06:32:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>204451.patch</filename>
            <type>text/plain</type>
            <size>9354</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTY4YWNlMTliMS4uNjUxNTQ0YjViNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxOS0xMS0yMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgVGlnaHRlbiBTY3JvbGxUcmVlTm9kZSB0cmVlIG11dGF0aW9ucworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NDUxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBVc2UgcGxhaW4gVmVj
dG9yIGluc3RlYWQgb2Ygc3RkOjp1bmlxdWVfcHRyPFZlY3Rvcj4gZm9yIGNoaWxkcmVuCisgICAg
ICAgIC0gVXNlIFZlY3RvcjxSZWY+IGluc3RlYWQgb2YgVmVjdG9yPFJlZlB0cj4KKyAgICAgICAg
LSBSZW1vdmUgbm9uLWNvbnN0IFNjcm9sbGluZ1RyZWVOb2RlOjpjaGlsZHJlbigpIGFjY2Vzc29y
CisgICAgICAgIC0gQWRkIHJlbGFzZSBhc3NlcnQgdGhhdCBhbGwgbXV0YXRpb25zIGhhcHBlbiBk
dXJpbmcgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlCisKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWU6OmNvbW1pdFRyZWVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjp1
cGRhdGVUcmVlRnJvbVN0YXRlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVl
OjphcHBseUxheWVyUG9zaXRpb25zUmVjdXJzaXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWU6Om5vdGlmeVJlbGF0ZWROb2Rlc1JlY3Vyc2l2ZSk6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZTo6aW5Db21taXRUcmVlU3RhdGUgY29uc3QpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVOb2Rl
OjphcHBlbmRDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6cmVt
b3ZlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OnJlbW92ZUFs
bENoaWxkcmVuKToKKworICAgICAgICBFbmNhcHN1bGF0ZSBtdXRhdGlvbnMgdG8gdGhlc2UgZnVu
Y3Rpb25zLgorCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6ZHVtcCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6c2Nyb2xsaW5nTm9kZUZv
clBvaW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9k
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OmNoaWxkcmVuIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVOb2RlOjpjaGlsZHJlbik6IERlbGV0
ZWQuCisKIDIwMTktMTEtMTkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbmFtZSBDU1NEZWZhdWx0U3R5bGVTaGVldHMgdG8gVXNlckFnZW50U3R5bGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXgg
MDIyM2I1MGU0ZjguLmMwNjM0MjgwMGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtMTQwLDYgKzE0MCw3IEBAIHZvaWQgU2Nyb2xs
aW5nVHJlZTo6bWFpbkZyYW1lVmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKGNv
bnN0IEZsb2F0UG9pCiAKIHZvaWQgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKHN0ZDo6
dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IHNjcm9sbGluZ1N0YXRlVHJlZSkKIHsKKyAg
ICBTZXRGb3JTY29wZSBpbkNvbW1pdFRyZWVTdGF0ZShtX2luQ29tbWl0VHJlZVN0YXRlLCB0cnVl
KTsKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3RyZWVNdXRleCk7CiAKICAgICBib29sIHJvb3RT
dGF0ZU5vZGVDaGFuZ2VkID0gc2Nyb2xsaW5nU3RhdGVUcmVlLT5oYXNOZXdSb290U3RhdGVOb2Rl
KCk7CkBAIC0yNDQsMTMgKzI0NSwxMSBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6OnVwZGF0ZVRyZWVG
cm9tU3RhdGVOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSogc3RhdGVOb2RlLAogICAgIG5v
ZGUtPmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oKnN0YXRlTm9kZSk7CiAgICAgCiAgICAgLy8g
TW92ZSBhbGwgY2hpbGRyZW4gaW50byB0aGUgb3JwaGFuTm9kZXMgbWFwLiBMaXZlIG9uZXMgd2ls
bCBnZXQgYWRkZWQgYmFjayBhcyB3ZSByZWN1cnNlIG92ZXIgY2hpbGRyZW4uCi0gICAgaWYgKGF1
dG8gbm9kZUNoaWxkcmVuID0gbm9kZS0+Y2hpbGRyZW4oKSkgewotICAgICAgICBmb3IgKGF1dG8m
IGNoaWxkU2Nyb2xsaW5nTm9kZSA6ICpub2RlQ2hpbGRyZW4pIHsKLSAgICAgICAgICAgIGNoaWxk
U2Nyb2xsaW5nTm9kZS0+c2V0UGFyZW50KG51bGxwdHIpOwotICAgICAgICAgICAgb3JwaGFuTm9k
ZXMuYWRkKGNoaWxkU2Nyb2xsaW5nTm9kZS0+c2Nyb2xsaW5nTm9kZUlEKCksIGNoaWxkU2Nyb2xs
aW5nTm9kZS5nZXQoKSk7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZUNoaWxkcmVuLT5jbGVhcigp
OworICAgIGZvciAoYXV0byYgY2hpbGRTY3JvbGxpbmdOb2RlIDogbm9kZS0+Y2hpbGRyZW4oKSkg
eworICAgICAgICBjaGlsZFNjcm9sbGluZ05vZGUtPnNldFBhcmVudChudWxscHRyKTsKKyAgICAg
ICAgb3JwaGFuTm9kZXMuYWRkKGNoaWxkU2Nyb2xsaW5nTm9kZS0+c2Nyb2xsaW5nTm9kZUlEKCks
IGNoaWxkU2Nyb2xsaW5nTm9kZS5wdHIoKSk7CiAgICAgfQorICAgIG5vZGUtPnJlbW92ZUFsbENo
aWxkcmVuKCk7CiAKICAgICAvLyBOb3cgdXBkYXRlIHRoZSBjaGlsZHJlbiBpZiB3ZSBoYXZlIGFu
eS4KICAgICBpZiAoYXV0byBjaGlsZHJlbiA9IHN0YXRlTm9kZS0+Y2hpbGRyZW4oKSkgewpAQCAt
Mjg2LDE0ICsyODUsMTIgQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjphcHBseUxheWVyUG9zaXRpb25z
KCkKICAgICBMT0coU2Nyb2xsaW5nLCAiU2Nyb2xsaW5nVHJlZSAlcCBhcHBseUxheWVyUG9zaXRp
b25zIC0gZG9uZVxuIiwgdGhpcyk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZTo6YXBwbHlMYXll
clBvc2l0aW9uc1JlY3Vyc2l2ZShTY3JvbGxpbmdUcmVlTm9kZSYgY3Vyck5vZGUpCit2b2lkIFNj
cm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoU2Nyb2xsaW5nVHJlZU5v
ZGUmIG5vZGUpCiB7Ci0gICAgY3Vyck5vZGUuYXBwbHlMYXllclBvc2l0aW9ucygpOworICAgIG5v
ZGUuYXBwbHlMYXllclBvc2l0aW9ucygpOwogCi0gICAgaWYgKGF1dG8gY2hpbGRyZW4gPSBjdXJy
Tm9kZS5jaGlsZHJlbigpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgY2hpbGQgOiAqY2hpbGRyZW4p
Ci0gICAgICAgICAgICBhcHBseUxheWVyUG9zaXRpb25zUmVjdXJzaXZlKCpjaGlsZCk7Ci0gICAg
fQorICAgIGZvciAoYXV0byYgY2hpbGQgOiBub2RlLmNoaWxkcmVuKCkpCisgICAgICAgIGFwcGx5
TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoY2hpbGQuZ2V0KCkpOwogfQogCiBTY3JvbGxpbmdUcmVl
Tm9kZSogU2Nyb2xsaW5nVHJlZTo6bm9kZUZvcklEKFNjcm9sbGluZ05vZGVJRCBub2RlSUQpIGNv
bnN0CkBAIC0zMjQsMTUgKzMyMSwxMiBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6Om5vdGlmeVJlbGF0
ZWROb2Rlc1JlY3Vyc2l2ZShTY3JvbGxpbmdUcmVlTm9kZSYgbm9kZSkKIHsKICAgICBub2RlLmFw
cGx5TGF5ZXJQb3NpdGlvbnMoKTsKIAotICAgIGlmICghbm9kZS5jaGlsZHJlbigpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBmb3IgKGF1dG8mIGNoaWxkIDogKm5vZGUuY2hpbGRyZW4oKSkgewor
ICAgIGZvciAoYXV0byYgY2hpbGQgOiBub2RlLmNoaWxkcmVuKCkpIHsKICAgICAgICAgLy8gTmV2
ZXIgbmVlZCB0byBjcm9zcyBmcmFtZSBib3VuZGFyaWVzLCBzaW5jZSBzY3JvbGwgbGF5ZXIgYWRq
dXN0bWVudHMgYXJlIGlzb2xhdGVkIHRvIGVhY2ggZG9jdW1lbnQuCiAgICAgICAgIGlmIChpczxT
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPihjaGlsZCkpCiAgICAgICAgICAgICBjb250
aW51ZTsKIAotICAgICAgICBub3RpZnlSZWxhdGVkTm9kZXNSZWN1cnNpdmUoKmNoaWxkKTsKKyAg
ICAgICAgbm90aWZ5UmVsYXRlZE5vZGVzUmVjdXJzaXZlKGNoaWxkLmdldCgpKTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAppbmRl
eCA5MjIxYzM2MzVhYi4uMTUxYWMyOWY4YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTE1OSw2ICsxNTksNyBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNjcm9sbGluZ1RyZWVBc1RleHQoU2Nyb2xsaW5nU3RhdGVU
cmVlQXNUZXh0QmVoYXZpb3IgPSBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvck5vcm1h
bCk7CiAKICAgICBib29sIGlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkgY29uc3QgeyByZXR1cm4g
bV9pc01vbml0b3JpbmdXaGVlbEV2ZW50czsgfQorICAgIGJvb2wgaW5Db21taXRUcmVlU3RhdGUo
KSBjb25zdCB7IHJldHVybiBtX2luQ29tbWl0VHJlZVN0YXRlOyB9CiAKIHByb3RlY3RlZDoKICAg
ICB2b2lkIHNldE1haW5GcmFtZVNjcm9sbFBvc2l0aW9uKEZsb2F0UG9pbnQpOwpAQCAtMjE3LDYg
KzIxOCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hc3luY0ZyYW1lT3JPdmVyZmxvd1Njcm9s
bGluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YXNTY3JvbGxlZEJ5RGVsZWdhdGVk
U2Nyb2xsaW5nU2luY2VQcmV2aW91c0NvbW1pdCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2luQ29t
bWl0VHJlZVN0YXRlIHsgZmFsc2UgfTsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9k
ZS5jcHAKaW5kZXggNzI5NjE1YTY5ZjAuLjhiYjY5OGY5YWU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3BwCkBAIC00NywzMSAr
NDcsMzcgQEAgU2Nyb2xsaW5nVHJlZU5vZGU6On5TY3JvbGxpbmdUcmVlTm9kZSgpID0gZGVmYXVs
dDsKIAogdm9pZCBTY3JvbGxpbmdUcmVlTm9kZTo6YXBwZW5kQ2hpbGQoUmVmPFNjcm9sbGluZ1Ry
ZWVOb2RlPiYmIGNoaWxkTm9kZSkKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Njcm9sbGluZ1Ry
ZWUuaW5Db21taXRUcmVlU3RhdGUoKSk7CisKICAgICBjaGlsZE5vZGUtPnNldFBhcmVudCh0aGlz
KTsKIAotICAgIGlmICghbV9jaGlsZHJlbikKLSAgICAgICAgbV9jaGlsZHJlbiA9IG1ha2VVbmlx
dWU8VmVjdG9yPFJlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4+PigpOwotICAgIG1fY2hpbGRyZW4t
PmFwcGVuZChXVEZNb3ZlKGNoaWxkTm9kZSkpOworICAgIG1fY2hpbGRyZW4uYXBwZW5kKFdURk1v
dmUoY2hpbGROb2RlKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nVHJlZU5vZGU6OnJlbW92ZUNoaWxk
KFNjcm9sbGluZ1RyZWVOb2RlJiBub2RlKQogewotICAgIGlmICghbV9jaGlsZHJlbikKLSAgICAg
ICAgcmV0dXJuOworICAgIFJFTEVBU0VfQVNTRVJUKG1fc2Nyb2xsaW5nVHJlZS5pbkNvbW1pdFRy
ZWVTdGF0ZSgpKTsKIAotICAgIHNpemVfdCBpbmRleCA9IG1fY2hpbGRyZW4tPmZpbmQoJm5vZGUp
OworICAgIHNpemVfdCBpbmRleCA9IG1fY2hpbGRyZW4uZmluZE1hdGNoaW5nKFsmXShhdXRvJiBj
aGlsZCkgeyByZXR1cm4gJm5vZGUgPT0gY2hpbGQucHRyKCk7IH0pOwogCiAgICAgLy8gVGhlIGlu
ZGV4IHdpbGwgYmUgbm90Rm91bmQgaWYgdGhlIG5vZGUgdG8gcmVtb3ZlIGlzIGEgZGVlcGVyLXRo
YW4tMS1sZXZlbCBkZXNjZW5kYW50IG9yCiAgICAgLy8gaWYgbm9kZSBpcyB0aGUgcm9vdCBzdGF0
ZSBub2RlLgogICAgIGlmIChpbmRleCAhPSBub3RGb3VuZCkgewotICAgICAgICBtX2NoaWxkcmVu
LT5yZW1vdmUoaW5kZXgpOworICAgICAgICBtX2NoaWxkcmVuLnJlbW92ZShpbmRleCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKLSAgICBmb3IgKGF1dG8mIGNoaWxkIDogKm1fY2hpbGRyZW4p
CisgICAgZm9yIChhdXRvJiBjaGlsZCA6IG1fY2hpbGRyZW4pCiAgICAgICAgIGNoaWxkLT5yZW1v
dmVDaGlsZChub2RlKTsKIH0KIAordm9pZCBTY3JvbGxpbmdUcmVlTm9kZTo6cmVtb3ZlQWxsQ2hp
bGRyZW4oKQoreworICAgIFJFTEVBU0VfQVNTRVJUKG1fc2Nyb2xsaW5nVHJlZS5pbkNvbW1pdFRy
ZWVTdGF0ZSgpKTsKKworICAgIG1fY2hpbGRyZW4uY2xlYXIoKTsKK30KKwogYm9vbCBTY3JvbGxp
bmdUcmVlTm9kZTo6aXNSb290Tm9kZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fc2Nyb2xsaW5n
VHJlZS5yb290Tm9kZSgpID09IHRoaXM7CkBAIC0xMDUsMTEgKzExMSw5IEBAIHZvaWQgU2Nyb2xs
aW5nVHJlZU5vZGU6OmR1bXAoVGV4dFN0cmVhbSYgdHMsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4
dEJlaGF2aW9yIGJlCiB7CiAgICAgZHVtcFByb3BlcnRpZXModHMsIGJlaGF2aW9yKTsKIAotICAg
IGlmIChtX2NoaWxkcmVuKSB7Ci0gICAgICAgIGZvciAoYXV0byYgY2hpbGQgOiAqbV9jaGlsZHJl
bikgewotICAgICAgICAgICAgVGV4dFN0cmVhbTo6R3JvdXBTY29wZSBzY29wZSh0cyk7Ci0gICAg
ICAgICAgICBjaGlsZC0+ZHVtcCh0cywgYmVoYXZpb3IpOwotICAgICAgICB9CisgICAgZm9yIChh
dXRvJiBjaGlsZCA6IG1fY2hpbGRyZW4pIHsKKyAgICAgICAgVGV4dFN0cmVhbTo6R3JvdXBTY29w
ZSBzY29wZSh0cyk7CisgICAgICAgIGNoaWxkLT5kdW1wKHRzLCBiZWhhdmlvcik7CiAgICAgfQog
fQogCkBAIC0xMTgsMTEgKzEyMiw5IEBAIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlKiBTY3Jv
bGxpbmdUcmVlTm9kZTo6c2Nyb2xsaW5nTm9kZUZvclBvaW50KExheW91dFBvaW50CiAgICAgTGF5
b3V0UG9pbnQgbG9jYWxQb2ludCA9IHBhcmVudFRvTG9jYWxQb2ludChwYXJlbnRQb2ludCk7CiAg
ICAgTGF5b3V0UG9pbnQgY29udGVudHNQb2ludCA9IGxvY2FsVG9Db250ZW50c1BvaW50KGxvY2Fs
UG9pbnQpOwogCi0gICAgaWYgKGNoaWxkcmVuKCkpIHsKLSAgICAgICAgZm9yIChhdXRvIGl0ZXJh
dG9yID0gY2hpbGRyZW4oKS0+cmJlZ2luKCksIGVuZCA9IGNoaWxkcmVuKCktPnJlbmQoKTsgaXRl
cmF0b3IgIT0gZW5kOyBpdGVyYXRvcisrKSB7Ci0gICAgICAgICAgICBpZiAoYXV0byBub2RlID0g
KCoqaXRlcmF0b3IpLnNjcm9sbGluZ05vZGVGb3JQb2ludChjb250ZW50c1BvaW50KSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gbm9kZTsKLSAgICAgICAgfQorICAgIGZvciAoYXV0byYgY2hpbGQg
OiBXVEY6Om1ha2VSZXZlcnNlZFJhbmdlKG1fY2hpbGRyZW4pKSB7CisgICAgICAgIGlmIChhdXRv
IG5vZGUgPSBjaGlsZC0+c2Nyb2xsaW5nTm9kZUZvclBvaW50KGNvbnRlbnRzUG9pbnQpKQorICAg
ICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQogCiAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaAppbmRl
eCA4N2JmYzUxYTBlYy4uOGNhNTE4YTcxNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaApAQCAtNjYsMTEgKzY2LDExIEBAIHB1Ymxp
YzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUm9vdE5vZGUoKSBjb25zdDsKIAot
ICAgIFZlY3RvcjxSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+PiogY2hpbGRyZW4oKSB7IHJldHVy
biBtX2NoaWxkcmVuLmdldCgpOyB9Ci0gICAgY29uc3QgVmVjdG9yPFJlZlB0cjxTY3JvbGxpbmdU
cmVlTm9kZT4+KiBjaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hpbGRyZW4uZ2V0KCk7IH0K
KyAgICBjb25zdCBWZWN0b3I8UmVmPFNjcm9sbGluZ1RyZWVOb2RlPj4mIGNoaWxkcmVuKCkgY29u
c3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQogCiAgICAgdm9pZCBhcHBlbmRDaGlsZChSZWY8U2Ny
b2xsaW5nVHJlZU5vZGU+JiYpOwogICAgIHZvaWQgcmVtb3ZlQ2hpbGQoU2Nyb2xsaW5nVHJlZU5v
ZGUmKTsKKyAgICB2b2lkIHJlbW92ZUFsbENoaWxkcmVuKCk7CiAKICAgICBXRUJDT1JFX0VYUE9S
VCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlKiBlbmNsb3NpbmdGcmFtZU5vZGVJbmNs
dWRpbmdTZWxmKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUqIGVuY2xvc2luZ1Njcm9sbGluZ05vZGVJbmNsdWRpbmdTZWxmKCk7CkBAIC04OSw3ICs4OSw3
IEBAIHByb3RlY3RlZDoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBkdW1wUHJv
cGVydGllcyhXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlv
cikgY29uc3Q7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9yPFJlZlB0cjxTY3JvbGxpbmdU
cmVlTm9kZT4+PiBtX2NoaWxkcmVuOworICAgIFZlY3RvcjxSZWY8U2Nyb2xsaW5nVHJlZU5vZGU+
PiBtX2NoaWxkcmVuOwogCiBwcml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWUmIG1fc2Nyb2xsaW5n
VHJlZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384048</attachid>
            <date>2019-11-21 06:32:28 -0800</date>
            <delta_ts>2019-11-21 07:32:39 -0800</delta_ts>
            <desc>patch</desc>
            <filename>204451-2.patch</filename>
            <type>text/plain</type>
            <size>9368</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTY4YWNlMTliMS4uNjUxNTQ0YjViNjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxOS0xMS0yMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgVGlnaHRlbiBTY3JvbGxUcmVlTm9kZSB0cmVlIG11dGF0aW9ucworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NDUxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBVc2UgcGxhaW4gVmVj
dG9yIGluc3RlYWQgb2Ygc3RkOjp1bmlxdWVfcHRyPFZlY3Rvcj4gZm9yIGNoaWxkcmVuCisgICAg
ICAgIC0gVXNlIFZlY3RvcjxSZWY+IGluc3RlYWQgb2YgVmVjdG9yPFJlZlB0cj4KKyAgICAgICAg
LSBSZW1vdmUgbm9uLWNvbnN0IFNjcm9sbGluZ1RyZWVOb2RlOjpjaGlsZHJlbigpIGFjY2Vzc29y
CisgICAgICAgIC0gQWRkIHJlbGFzZSBhc3NlcnQgdGhhdCBhbGwgbXV0YXRpb25zIGhhcHBlbiBk
dXJpbmcgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlCisKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWU6OmNvbW1pdFRyZWVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjp1
cGRhdGVUcmVlRnJvbVN0YXRlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVl
OjphcHBseUxheWVyUG9zaXRpb25zUmVjdXJzaXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWU6Om5vdGlmeVJlbGF0ZWROb2Rlc1JlY3Vyc2l2ZSk6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZTo6aW5Db21taXRUcmVlU3RhdGUgY29uc3QpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVOb2Rl
OjphcHBlbmRDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6cmVt
b3ZlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OnJlbW92ZUFs
bENoaWxkcmVuKToKKworICAgICAgICBFbmNhcHN1bGF0ZSBtdXRhdGlvbnMgdG8gdGhlc2UgZnVu
Y3Rpb25zLgorCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6ZHVtcCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6c2Nyb2xsaW5nTm9kZUZv
clBvaW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9k
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OmNoaWxkcmVuIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVOb2RlOjpjaGlsZHJlbik6IERlbGV0
ZWQuCisKIDIwMTktMTEtMTkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbmFtZSBDU1NEZWZhdWx0U3R5bGVTaGVldHMgdG8gVXNlckFnZW50U3R5bGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXgg
MDIyM2I1MGU0ZjguLmMwNjM0MjgwMGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtMTQwLDYgKzE0MCw3IEBAIHZvaWQgU2Nyb2xs
aW5nVHJlZTo6bWFpbkZyYW1lVmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKGNv
bnN0IEZsb2F0UG9pCiAKIHZvaWQgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKHN0ZDo6
dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IHNjcm9sbGluZ1N0YXRlVHJlZSkKIHsKKyAg
ICBTZXRGb3JTY29wZSBpbkNvbW1pdFRyZWVTdGF0ZShtX2luQ29tbWl0VHJlZVN0YXRlLCB0cnVl
KTsKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3RyZWVNdXRleCk7CiAKICAgICBib29sIHJvb3RT
dGF0ZU5vZGVDaGFuZ2VkID0gc2Nyb2xsaW5nU3RhdGVUcmVlLT5oYXNOZXdSb290U3RhdGVOb2Rl
KCk7CkBAIC0yNDQsMTMgKzI0NSwxMSBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6OnVwZGF0ZVRyZWVG
cm9tU3RhdGVOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSogc3RhdGVOb2RlLAogICAgIG5v
ZGUtPmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oKnN0YXRlTm9kZSk7CiAgICAgCiAgICAgLy8g
TW92ZSBhbGwgY2hpbGRyZW4gaW50byB0aGUgb3JwaGFuTm9kZXMgbWFwLiBMaXZlIG9uZXMgd2ls
bCBnZXQgYWRkZWQgYmFjayBhcyB3ZSByZWN1cnNlIG92ZXIgY2hpbGRyZW4uCi0gICAgaWYgKGF1
dG8gbm9kZUNoaWxkcmVuID0gbm9kZS0+Y2hpbGRyZW4oKSkgewotICAgICAgICBmb3IgKGF1dG8m
IGNoaWxkU2Nyb2xsaW5nTm9kZSA6ICpub2RlQ2hpbGRyZW4pIHsKLSAgICAgICAgICAgIGNoaWxk
U2Nyb2xsaW5nTm9kZS0+c2V0UGFyZW50KG51bGxwdHIpOwotICAgICAgICAgICAgb3JwaGFuTm9k
ZXMuYWRkKGNoaWxkU2Nyb2xsaW5nTm9kZS0+c2Nyb2xsaW5nTm9kZUlEKCksIGNoaWxkU2Nyb2xs
aW5nTm9kZS5nZXQoKSk7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZUNoaWxkcmVuLT5jbGVhcigp
OworICAgIGZvciAoYXV0byYgY2hpbGRTY3JvbGxpbmdOb2RlIDogbm9kZS0+Y2hpbGRyZW4oKSkg
eworICAgICAgICBjaGlsZFNjcm9sbGluZ05vZGUtPnNldFBhcmVudChudWxscHRyKTsKKyAgICAg
ICAgb3JwaGFuTm9kZXMuYWRkKGNoaWxkU2Nyb2xsaW5nTm9kZS0+c2Nyb2xsaW5nTm9kZUlEKCks
IGNoaWxkU2Nyb2xsaW5nTm9kZS5wdHIoKSk7CiAgICAgfQorICAgIG5vZGUtPnJlbW92ZUFsbENo
aWxkcmVuKCk7CiAKICAgICAvLyBOb3cgdXBkYXRlIHRoZSBjaGlsZHJlbiBpZiB3ZSBoYXZlIGFu
eS4KICAgICBpZiAoYXV0byBjaGlsZHJlbiA9IHN0YXRlTm9kZS0+Y2hpbGRyZW4oKSkgewpAQCAt
Mjg2LDE0ICsyODUsMTIgQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjphcHBseUxheWVyUG9zaXRpb25z
KCkKICAgICBMT0coU2Nyb2xsaW5nLCAiU2Nyb2xsaW5nVHJlZSAlcCBhcHBseUxheWVyUG9zaXRp
b25zIC0gZG9uZVxuIiwgdGhpcyk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZTo6YXBwbHlMYXll
clBvc2l0aW9uc1JlY3Vyc2l2ZShTY3JvbGxpbmdUcmVlTm9kZSYgY3Vyck5vZGUpCit2b2lkIFNj
cm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoU2Nyb2xsaW5nVHJlZU5v
ZGUmIG5vZGUpCiB7Ci0gICAgY3Vyck5vZGUuYXBwbHlMYXllclBvc2l0aW9ucygpOworICAgIG5v
ZGUuYXBwbHlMYXllclBvc2l0aW9ucygpOwogCi0gICAgaWYgKGF1dG8gY2hpbGRyZW4gPSBjdXJy
Tm9kZS5jaGlsZHJlbigpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgY2hpbGQgOiAqY2hpbGRyZW4p
Ci0gICAgICAgICAgICBhcHBseUxheWVyUG9zaXRpb25zUmVjdXJzaXZlKCpjaGlsZCk7Ci0gICAg
fQorICAgIGZvciAoYXV0byYgY2hpbGQgOiBub2RlLmNoaWxkcmVuKCkpCisgICAgICAgIGFwcGx5
TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoY2hpbGQuZ2V0KCkpOwogfQogCiBTY3JvbGxpbmdUcmVl
Tm9kZSogU2Nyb2xsaW5nVHJlZTo6bm9kZUZvcklEKFNjcm9sbGluZ05vZGVJRCBub2RlSUQpIGNv
bnN0CkBAIC0zMjQsMTUgKzMyMSwxMiBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6Om5vdGlmeVJlbGF0
ZWROb2Rlc1JlY3Vyc2l2ZShTY3JvbGxpbmdUcmVlTm9kZSYgbm9kZSkKIHsKICAgICBub2RlLmFw
cGx5TGF5ZXJQb3NpdGlvbnMoKTsKIAotICAgIGlmICghbm9kZS5jaGlsZHJlbigpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBmb3IgKGF1dG8mIGNoaWxkIDogKm5vZGUuY2hpbGRyZW4oKSkgewor
ICAgIGZvciAoYXV0byYgY2hpbGQgOiBub2RlLmNoaWxkcmVuKCkpIHsKICAgICAgICAgLy8gTmV2
ZXIgbmVlZCB0byBjcm9zcyBmcmFtZSBib3VuZGFyaWVzLCBzaW5jZSBzY3JvbGwgbGF5ZXIgYWRq
dXN0bWVudHMgYXJlIGlzb2xhdGVkIHRvIGVhY2ggZG9jdW1lbnQuCiAgICAgICAgIGlmIChpczxT
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPihjaGlsZCkpCiAgICAgICAgICAgICBjb250
aW51ZTsKIAotICAgICAgICBub3RpZnlSZWxhdGVkTm9kZXNSZWN1cnNpdmUoKmNoaWxkKTsKKyAg
ICAgICAgbm90aWZ5UmVsYXRlZE5vZGVzUmVjdXJzaXZlKGNoaWxkLmdldCgpKTsKICAgICB9CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAppbmRl
eCA5MjIxYzM2MzVhYi4uMTUxYWMyOWY4YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTE1OSw2ICsxNTksNyBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNjcm9sbGluZ1RyZWVBc1RleHQoU2Nyb2xsaW5nU3RhdGVU
cmVlQXNUZXh0QmVoYXZpb3IgPSBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvck5vcm1h
bCk7CiAKICAgICBib29sIGlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkgY29uc3QgeyByZXR1cm4g
bV9pc01vbml0b3JpbmdXaGVlbEV2ZW50czsgfQorICAgIGJvb2wgaW5Db21taXRUcmVlU3RhdGUo
KSBjb25zdCB7IHJldHVybiBtX2luQ29tbWl0VHJlZVN0YXRlOyB9CiAKIHByb3RlY3RlZDoKICAg
ICB2b2lkIHNldE1haW5GcmFtZVNjcm9sbFBvc2l0aW9uKEZsb2F0UG9pbnQpOwpAQCAtMjE3LDYg
KzIxOCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hc3luY0ZyYW1lT3JPdmVyZmxvd1Njcm9s
bGluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YXNTY3JvbGxlZEJ5RGVsZWdhdGVk
U2Nyb2xsaW5nU2luY2VQcmV2aW91c0NvbW1pdCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2luQ29t
bWl0VHJlZVN0YXRlIHsgZmFsc2UgfTsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9k
ZS5jcHAKaW5kZXggNzI5NjE1YTY5ZjAuLmY4NzQ4MTMwMzI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3BwCkBAIC00NywzMSAr
NDcsMzkgQEAgU2Nyb2xsaW5nVHJlZU5vZGU6On5TY3JvbGxpbmdUcmVlTm9kZSgpID0gZGVmYXVs
dDsKIAogdm9pZCBTY3JvbGxpbmdUcmVlTm9kZTo6YXBwZW5kQ2hpbGQoUmVmPFNjcm9sbGluZ1Ry
ZWVOb2RlPiYmIGNoaWxkTm9kZSkKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Njcm9sbGluZ1Ry
ZWUuaW5Db21taXRUcmVlU3RhdGUoKSk7CisKICAgICBjaGlsZE5vZGUtPnNldFBhcmVudCh0aGlz
KTsKIAotICAgIGlmICghbV9jaGlsZHJlbikKLSAgICAgICAgbV9jaGlsZHJlbiA9IG1ha2VVbmlx
dWU8VmVjdG9yPFJlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4+PigpOwotICAgIG1fY2hpbGRyZW4t
PmFwcGVuZChXVEZNb3ZlKGNoaWxkTm9kZSkpOworICAgIG1fY2hpbGRyZW4uYXBwZW5kKFdURk1v
dmUoY2hpbGROb2RlKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nVHJlZU5vZGU6OnJlbW92ZUNoaWxk
KFNjcm9sbGluZ1RyZWVOb2RlJiBub2RlKQogewotICAgIGlmICghbV9jaGlsZHJlbikKLSAgICAg
ICAgcmV0dXJuOworICAgIFJFTEVBU0VfQVNTRVJUKG1fc2Nyb2xsaW5nVHJlZS5pbkNvbW1pdFRy
ZWVTdGF0ZSgpKTsKIAotICAgIHNpemVfdCBpbmRleCA9IG1fY2hpbGRyZW4tPmZpbmQoJm5vZGUp
OworICAgIHNpemVfdCBpbmRleCA9IG1fY2hpbGRyZW4uZmluZE1hdGNoaW5nKFsmXShhdXRvJiBj
aGlsZCkgeworICAgICAgICByZXR1cm4gJm5vZGUgPT0gY2hpbGQucHRyKCk7CisgICAgfSk7CiAK
ICAgICAvLyBUaGUgaW5kZXggd2lsbCBiZSBub3RGb3VuZCBpZiB0aGUgbm9kZSB0byByZW1vdmUg
aXMgYSBkZWVwZXItdGhhbi0xLWxldmVsIGRlc2NlbmRhbnQgb3IKICAgICAvLyBpZiBub2RlIGlz
IHRoZSByb290IHN0YXRlIG5vZGUuCiAgICAgaWYgKGluZGV4ICE9IG5vdEZvdW5kKSB7Ci0gICAg
ICAgIG1fY2hpbGRyZW4tPnJlbW92ZShpbmRleCk7CisgICAgICAgIG1fY2hpbGRyZW4ucmVtb3Zl
KGluZGV4KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZvciAoYXV0byYgY2hpbGQg
OiAqbV9jaGlsZHJlbikKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogbV9jaGlsZHJlbikKICAgICAg
ICAgY2hpbGQtPnJlbW92ZUNoaWxkKG5vZGUpOwogfQogCit2b2lkIFNjcm9sbGluZ1RyZWVOb2Rl
OjpyZW1vdmVBbGxDaGlsZHJlbigpCit7CisgICAgUkVMRUFTRV9BU1NFUlQobV9zY3JvbGxpbmdU
cmVlLmluQ29tbWl0VHJlZVN0YXRlKCkpOworCisgICAgbV9jaGlsZHJlbi5jbGVhcigpOworfQor
CiBib29sIFNjcm9sbGluZ1RyZWVOb2RlOjppc1Jvb3ROb2RlKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9zY3JvbGxpbmdUcmVlLnJvb3ROb2RlKCkgPT0gdGhpczsKQEAgLTEwNSwxMSArMTEzLDkg
QEAgdm9pZCBTY3JvbGxpbmdUcmVlTm9kZTo6ZHVtcChUZXh0U3RyZWFtJiB0cywgU2Nyb2xsaW5n
U3RhdGVUcmVlQXNUZXh0QmVoYXZpb3IgYmUKIHsKICAgICBkdW1wUHJvcGVydGllcyh0cywgYmVo
YXZpb3IpOwogCi0gICAgaWYgKG1fY2hpbGRyZW4pIHsKLSAgICAgICAgZm9yIChhdXRvJiBjaGls
ZCA6ICptX2NoaWxkcmVuKSB7Ci0gICAgICAgICAgICBUZXh0U3RyZWFtOjpHcm91cFNjb3BlIHNj
b3BlKHRzKTsKLSAgICAgICAgICAgIGNoaWxkLT5kdW1wKHRzLCBiZWhhdmlvcik7Ci0gICAgICAg
IH0KKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogbV9jaGlsZHJlbikgeworICAgICAgICBUZXh0U3Ry
ZWFtOjpHcm91cFNjb3BlIHNjb3BlKHRzKTsKKyAgICAgICAgY2hpbGQtPmR1bXAodHMsIGJlaGF2
aW9yKTsKICAgICB9CiB9CiAKQEAgLTExOCwxMSArMTI0LDkgQEAgU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGUqIFNjcm9sbGluZ1RyZWVOb2RlOjpzY3JvbGxpbmdOb2RlRm9yUG9pbnQoTGF5b3V0
UG9pbnQKICAgICBMYXlvdXRQb2ludCBsb2NhbFBvaW50ID0gcGFyZW50VG9Mb2NhbFBvaW50KHBh
cmVudFBvaW50KTsKICAgICBMYXlvdXRQb2ludCBjb250ZW50c1BvaW50ID0gbG9jYWxUb0NvbnRl
bnRzUG9pbnQobG9jYWxQb2ludCk7CiAKLSAgICBpZiAoY2hpbGRyZW4oKSkgewotICAgICAgICBm
b3IgKGF1dG8gaXRlcmF0b3IgPSBjaGlsZHJlbigpLT5yYmVnaW4oKSwgZW5kID0gY2hpbGRyZW4o
KS0+cmVuZCgpOyBpdGVyYXRvciAhPSBlbmQ7IGl0ZXJhdG9yKyspIHsKLSAgICAgICAgICAgIGlm
IChhdXRvIG5vZGUgPSAoKippdGVyYXRvcikuc2Nyb2xsaW5nTm9kZUZvclBvaW50KGNvbnRlbnRz
UG9pbnQpKQotICAgICAgICAgICAgICAgIHJldHVybiBub2RlOwotICAgICAgICB9CisgICAgZm9y
IChhdXRvJiBjaGlsZCA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UobV9jaGlsZHJlbikpIHsKKyAg
ICAgICAgaWYgKGF1dG8gbm9kZSA9IGNoaWxkLT5zY3JvbGxpbmdOb2RlRm9yUG9pbnQoY29udGVu
dHNQb2ludCkpCisgICAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICB9CiAKICAgICByZXR1cm4g
bnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlTm9kZS5oCmluZGV4IDg3YmZjNTFhMGVjLi44Y2E1MThhNzE2ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oCkBAIC02NiwxMSAr
NjYsMTEgQEAgcHVibGljOgogICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNSb290Tm9k
ZSgpIGNvbnN0OwogCi0gICAgVmVjdG9yPFJlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4+KiBjaGls
ZHJlbigpIHsgcmV0dXJuIG1fY2hpbGRyZW4uZ2V0KCk7IH0KLSAgICBjb25zdCBWZWN0b3I8UmVm
UHRyPFNjcm9sbGluZ1RyZWVOb2RlPj4qIGNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9jaGls
ZHJlbi5nZXQoKTsgfQorICAgIGNvbnN0IFZlY3RvcjxSZWY8U2Nyb2xsaW5nVHJlZU5vZGU+PiYg
Y2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX2NoaWxkcmVuOyB9CiAKICAgICB2b2lkIGFwcGVu
ZENoaWxkKFJlZjxTY3JvbGxpbmdUcmVlTm9kZT4mJik7CiAgICAgdm9pZCByZW1vdmVDaGlsZChT
Y3JvbGxpbmdUcmVlTm9kZSYpOworICAgIHZvaWQgcmVtb3ZlQWxsQ2hpbGRyZW4oKTsKIAogICAg
IFdFQkNPUkVfRVhQT1JUIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUqIGVuY2xvc2lu
Z0ZyYW1lTm9kZUluY2x1ZGluZ1NlbGYoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZSogZW5jbG9zaW5nU2Nyb2xsaW5nTm9kZUluY2x1ZGluZ1NlbGYoKTsK
QEAgLTg5LDcgKzg5LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVh
bCB2b2lkIGR1bXBQcm9wZXJ0aWVzKFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbGluZ1N0YXRlVHJl
ZUFzVGV4dEJlaGF2aW9yKSBjb25zdDsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0b3I8UmVm
UHRyPFNjcm9sbGluZ1RyZWVOb2RlPj4+IG1fY2hpbGRyZW47CisgICAgVmVjdG9yPFJlZjxTY3Jv
bGxpbmdUcmVlTm9kZT4+IG1fY2hpbGRyZW47CiAKIHByaXZhdGU6CiAgICAgU2Nyb2xsaW5nVHJl
ZSYgbV9zY3JvbGxpbmdUcmVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384052</attachid>
            <date>2019-11-21 07:32:39 -0800</date>
            <delta_ts>2019-11-21 11:31:47 -0800</delta_ts>
            <desc>patch</desc>
            <filename>204451-3.patch</filename>
            <type>text/plain</type>
            <size>9372</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTY4YWNlMTliMS4uNjNjZDk0NDJmNjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxOS0xMS0yMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgVGlnaHRlbiBTY3JvbGxpbmdUcmVlTm9kZSB0cmVlIG11dGF0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NDUxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBVc2UgcGxhaW4g
VmVjdG9yIGluc3RlYWQgb2Ygc3RkOjp1bmlxdWVfcHRyPFZlY3Rvcj4gZm9yIGNoaWxkcmVuCisg
ICAgICAgIC0gVXNlIFZlY3RvcjxSZWY+IGluc3RlYWQgb2YgVmVjdG9yPFJlZlB0cj4KKyAgICAg
ICAgLSBSZW1vdmUgbm9uLWNvbnN0IFNjcm9sbGluZ1RyZWVOb2RlOjpjaGlsZHJlbigpIGFjY2Vz
c29yCisgICAgICAgIC0gQWRkIHJlbGFzZSBhc3NlcnQgdGhhdCBhbGwgbXV0YXRpb25zIGhhcHBl
biBkdXJpbmcgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlCisKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWU6OmNvbW1pdFRyZWVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVl
Ojp1cGRhdGVUcmVlRnJvbVN0YXRlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlOjphcHBseUxheWVyUG9zaXRpb25zUmVjdXJzaXZlKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWU6Om5vdGlmeVJlbGF0ZWROb2Rlc1JlY3Vyc2l2ZSk6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
VHJlZTo6aW5Db21taXRUcmVlU3RhdGUgY29uc3QpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVO
b2RlOjphcHBlbmRDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6
cmVtb3ZlQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OnJlbW92
ZUFsbENoaWxkcmVuKToKKworICAgICAgICBFbmNhcHN1bGF0ZSBtdXRhdGlvbnMgdG8gdGhlc2Ug
ZnVuY3Rpb25zLgorCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6ZHVtcCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlTm9kZTo6c2Nyb2xsaW5nTm9k
ZUZvclBvaW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
Tm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OmNoaWxkcmVuIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVOb2RlOjpjaGlsZHJlbik6IERl
bGV0ZWQuCisKIDIwMTktMTEtMTkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbmFtZSBDU1NEZWZhdWx0U3R5bGVTaGVldHMgdG8gVXNlckFnZW50U3R5bGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5k
ZXggMDIyM2I1MGU0ZjguLmMwNjM0MjgwMGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtMTQwLDYgKzE0MCw3IEBAIHZvaWQgU2Ny
b2xsaW5nVHJlZTo6bWFpbkZyYW1lVmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5n
KGNvbnN0IEZsb2F0UG9pCiAKIHZvaWQgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKHN0
ZDo6dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+IHNjcm9sbGluZ1N0YXRlVHJlZSkKIHsK
KyAgICBTZXRGb3JTY29wZSBpbkNvbW1pdFRyZWVTdGF0ZShtX2luQ29tbWl0VHJlZVN0YXRlLCB0
cnVlKTsKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX3RyZWVNdXRleCk7CiAKICAgICBib29sIHJv
b3RTdGF0ZU5vZGVDaGFuZ2VkID0gc2Nyb2xsaW5nU3RhdGVUcmVlLT5oYXNOZXdSb290U3RhdGVO
b2RlKCk7CkBAIC0yNDQsMTMgKzI0NSwxMSBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6OnVwZGF0ZVRy
ZWVGcm9tU3RhdGVOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSogc3RhdGVOb2RlLAogICAg
IG5vZGUtPmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oKnN0YXRlTm9kZSk7CiAgICAgCiAgICAg
Ly8gTW92ZSBhbGwgY2hpbGRyZW4gaW50byB0aGUgb3JwaGFuTm9kZXMgbWFwLiBMaXZlIG9uZXMg
d2lsbCBnZXQgYWRkZWQgYmFjayBhcyB3ZSByZWN1cnNlIG92ZXIgY2hpbGRyZW4uCi0gICAgaWYg
KGF1dG8gbm9kZUNoaWxkcmVuID0gbm9kZS0+Y2hpbGRyZW4oKSkgewotICAgICAgICBmb3IgKGF1
dG8mIGNoaWxkU2Nyb2xsaW5nTm9kZSA6ICpub2RlQ2hpbGRyZW4pIHsKLSAgICAgICAgICAgIGNo
aWxkU2Nyb2xsaW5nTm9kZS0+c2V0UGFyZW50KG51bGxwdHIpOwotICAgICAgICAgICAgb3JwaGFu
Tm9kZXMuYWRkKGNoaWxkU2Nyb2xsaW5nTm9kZS0+c2Nyb2xsaW5nTm9kZUlEKCksIGNoaWxkU2Ny
b2xsaW5nTm9kZS5nZXQoKSk7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZUNoaWxkcmVuLT5jbGVh
cigpOworICAgIGZvciAoYXV0byYgY2hpbGRTY3JvbGxpbmdOb2RlIDogbm9kZS0+Y2hpbGRyZW4o
KSkgeworICAgICAgICBjaGlsZFNjcm9sbGluZ05vZGUtPnNldFBhcmVudChudWxscHRyKTsKKyAg
ICAgICAgb3JwaGFuTm9kZXMuYWRkKGNoaWxkU2Nyb2xsaW5nTm9kZS0+c2Nyb2xsaW5nTm9kZUlE
KCksIGNoaWxkU2Nyb2xsaW5nTm9kZS5wdHIoKSk7CiAgICAgfQorICAgIG5vZGUtPnJlbW92ZUFs
bENoaWxkcmVuKCk7CiAKICAgICAvLyBOb3cgdXBkYXRlIHRoZSBjaGlsZHJlbiBpZiB3ZSBoYXZl
IGFueS4KICAgICBpZiAoYXV0byBjaGlsZHJlbiA9IHN0YXRlTm9kZS0+Y2hpbGRyZW4oKSkgewpA
QCAtMjg2LDE0ICsyODUsMTIgQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjphcHBseUxheWVyUG9zaXRp
b25zKCkKICAgICBMT0coU2Nyb2xsaW5nLCAiU2Nyb2xsaW5nVHJlZSAlcCBhcHBseUxheWVyUG9z
aXRpb25zIC0gZG9uZVxuIiwgdGhpcyk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZTo6YXBwbHlM
YXllclBvc2l0aW9uc1JlY3Vyc2l2ZShTY3JvbGxpbmdUcmVlTm9kZSYgY3Vyck5vZGUpCit2b2lk
IFNjcm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoU2Nyb2xsaW5nVHJl
ZU5vZGUmIG5vZGUpCiB7Ci0gICAgY3Vyck5vZGUuYXBwbHlMYXllclBvc2l0aW9ucygpOworICAg
IG5vZGUuYXBwbHlMYXllclBvc2l0aW9ucygpOwogCi0gICAgaWYgKGF1dG8gY2hpbGRyZW4gPSBj
dXJyTm9kZS5jaGlsZHJlbigpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgY2hpbGQgOiAqY2hpbGRy
ZW4pCi0gICAgICAgICAgICBhcHBseUxheWVyUG9zaXRpb25zUmVjdXJzaXZlKCpjaGlsZCk7Ci0g
ICAgfQorICAgIGZvciAoYXV0byYgY2hpbGQgOiBub2RlLmNoaWxkcmVuKCkpCisgICAgICAgIGFw
cGx5TGF5ZXJQb3NpdGlvbnNSZWN1cnNpdmUoY2hpbGQuZ2V0KCkpOwogfQogCiBTY3JvbGxpbmdU
cmVlTm9kZSogU2Nyb2xsaW5nVHJlZTo6bm9kZUZvcklEKFNjcm9sbGluZ05vZGVJRCBub2RlSUQp
IGNvbnN0CkBAIC0zMjQsMTUgKzMyMSwxMiBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6Om5vdGlmeVJl
bGF0ZWROb2Rlc1JlY3Vyc2l2ZShTY3JvbGxpbmdUcmVlTm9kZSYgbm9kZSkKIHsKICAgICBub2Rl
LmFwcGx5TGF5ZXJQb3NpdGlvbnMoKTsKIAotICAgIGlmICghbm9kZS5jaGlsZHJlbigpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBmb3IgKGF1dG8mIGNoaWxkIDogKm5vZGUuY2hpbGRyZW4oKSkg
eworICAgIGZvciAoYXV0byYgY2hpbGQgOiBub2RlLmNoaWxkcmVuKCkpIHsKICAgICAgICAgLy8g
TmV2ZXIgbmVlZCB0byBjcm9zcyBmcmFtZSBib3VuZGFyaWVzLCBzaW5jZSBzY3JvbGwgbGF5ZXIg
YWRqdXN0bWVudHMgYXJlIGlzb2xhdGVkIHRvIGVhY2ggZG9jdW1lbnQuCiAgICAgICAgIGlmIChp
czxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPihjaGlsZCkpCiAgICAgICAgICAgICBj
b250aW51ZTsKIAotICAgICAgICBub3RpZnlSZWxhdGVkTm9kZXNSZWN1cnNpdmUoKmNoaWxkKTsK
KyAgICAgICAgbm90aWZ5UmVsYXRlZE5vZGVzUmVjdXJzaXZlKGNoaWxkLmdldCgpKTsKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaApp
bmRleCA5MjIxYzM2MzVhYi4uMTUxYWMyOWY4YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTE1OSw2ICsxNTksNyBAQCBwdWJsaWM6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNjcm9sbGluZ1RyZWVBc1RleHQoU2Nyb2xsaW5nU3Rh
dGVUcmVlQXNUZXh0QmVoYXZpb3IgPSBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvck5v
cm1hbCk7CiAKICAgICBib29sIGlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkgY29uc3QgeyByZXR1
cm4gbV9pc01vbml0b3JpbmdXaGVlbEV2ZW50czsgfQorICAgIGJvb2wgaW5Db21taXRUcmVlU3Rh
dGUoKSBjb25zdCB7IHJldHVybiBtX2luQ29tbWl0VHJlZVN0YXRlOyB9CiAKIHByb3RlY3RlZDoK
ICAgICB2b2lkIHNldE1haW5GcmFtZVNjcm9sbFBvc2l0aW9uKEZsb2F0UG9pbnQpOwpAQCAtMjE3
LDYgKzIxOCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9n
Z2luZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hc3luY0ZyYW1lT3JPdmVyZmxvd1Nj
cm9sbGluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV93YXNTY3JvbGxlZEJ5RGVsZWdh
dGVkU2Nyb2xsaW5nU2luY2VQcmV2aW91c0NvbW1pdCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lu
Q29tbWl0VHJlZVN0YXRlIHsgZmFsc2UgfTsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
Tm9kZS5jcHAKaW5kZXggNzI5NjE1YTY5ZjAuLmU0NjQyNGIwZjFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3BwCkBAIC00Nywz
MSArNDcsMzkgQEAgU2Nyb2xsaW5nVHJlZU5vZGU6On5TY3JvbGxpbmdUcmVlTm9kZSgpID0gZGVm
YXVsdDsKIAogdm9pZCBTY3JvbGxpbmdUcmVlTm9kZTo6YXBwZW5kQ2hpbGQoUmVmPFNjcm9sbGlu
Z1RyZWVOb2RlPiYmIGNoaWxkTm9kZSkKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Njcm9sbGlu
Z1RyZWUuaW5Db21taXRUcmVlU3RhdGUoKSk7CisKICAgICBjaGlsZE5vZGUtPnNldFBhcmVudCh0
aGlzKTsKIAotICAgIGlmICghbV9jaGlsZHJlbikKLSAgICAgICAgbV9jaGlsZHJlbiA9IG1ha2VV
bmlxdWU8VmVjdG9yPFJlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4+PigpOwotICAgIG1fY2hpbGRy
ZW4tPmFwcGVuZChXVEZNb3ZlKGNoaWxkTm9kZSkpOworICAgIG1fY2hpbGRyZW4uYXBwZW5kKFdU
Rk1vdmUoY2hpbGROb2RlKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nVHJlZU5vZGU6OnJlbW92ZUNo
aWxkKFNjcm9sbGluZ1RyZWVOb2RlJiBub2RlKQogewotICAgIGlmICghbV9jaGlsZHJlbikKLSAg
ICAgICAgcmV0dXJuOworICAgIFJFTEVBU0VfQVNTRVJUKG1fc2Nyb2xsaW5nVHJlZS5pbkNvbW1p
dFRyZWVTdGF0ZSgpKTsKIAotICAgIHNpemVfdCBpbmRleCA9IG1fY2hpbGRyZW4tPmZpbmQoJm5v
ZGUpOworICAgIHNpemVfdCBpbmRleCA9IG1fY2hpbGRyZW4uZmluZE1hdGNoaW5nKFsmXShhdXRv
JiBjaGlsZCkgeworICAgICAgICByZXR1cm4gJm5vZGUgPT0gY2hpbGQucHRyKCk7CisgICAgfSk7
CiAKICAgICAvLyBUaGUgaW5kZXggd2lsbCBiZSBub3RGb3VuZCBpZiB0aGUgbm9kZSB0byByZW1v
dmUgaXMgYSBkZWVwZXItdGhhbi0xLWxldmVsIGRlc2NlbmRhbnQgb3IKICAgICAvLyBpZiBub2Rl
IGlzIHRoZSByb290IHN0YXRlIG5vZGUuCiAgICAgaWYgKGluZGV4ICE9IG5vdEZvdW5kKSB7Ci0g
ICAgICAgIG1fY2hpbGRyZW4tPnJlbW92ZShpbmRleCk7CisgICAgICAgIG1fY2hpbGRyZW4ucmVt
b3ZlKGluZGV4KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGZvciAoYXV0byYgY2hp
bGQgOiAqbV9jaGlsZHJlbikKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogbV9jaGlsZHJlbikKICAg
ICAgICAgY2hpbGQtPnJlbW92ZUNoaWxkKG5vZGUpOwogfQogCit2b2lkIFNjcm9sbGluZ1RyZWVO
b2RlOjpyZW1vdmVBbGxDaGlsZHJlbigpCit7CisgICAgUkVMRUFTRV9BU1NFUlQobV9zY3JvbGxp
bmdUcmVlLmluQ29tbWl0VHJlZVN0YXRlKCkpOworCisgICAgbV9jaGlsZHJlbi5jbGVhcigpOwor
fQorCiBib29sIFNjcm9sbGluZ1RyZWVOb2RlOjppc1Jvb3ROb2RlKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV9zY3JvbGxpbmdUcmVlLnJvb3ROb2RlKCkgPT0gdGhpczsKQEAgLTEwNSwxMSArMTEz
LDkgQEAgdm9pZCBTY3JvbGxpbmdUcmVlTm9kZTo6ZHVtcChUZXh0U3RyZWFtJiB0cywgU2Nyb2xs
aW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3IgYmUKIHsKICAgICBkdW1wUHJvcGVydGllcyh0cywg
YmVoYXZpb3IpOwogCi0gICAgaWYgKG1fY2hpbGRyZW4pIHsKLSAgICAgICAgZm9yIChhdXRvJiBj
aGlsZCA6ICptX2NoaWxkcmVuKSB7Ci0gICAgICAgICAgICBUZXh0U3RyZWFtOjpHcm91cFNjb3Bl
IHNjb3BlKHRzKTsKLSAgICAgICAgICAgIGNoaWxkLT5kdW1wKHRzLCBiZWhhdmlvcik7Ci0gICAg
ICAgIH0KKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogbV9jaGlsZHJlbikgeworICAgICAgICBUZXh0
U3RyZWFtOjpHcm91cFNjb3BlIHNjb3BlKHRzKTsKKyAgICAgICAgY2hpbGQtPmR1bXAodHMsIGJl
aGF2aW9yKTsKICAgICB9CiB9CiAKQEAgLTExOCwxMSArMTI0LDkgQEAgU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGUqIFNjcm9sbGluZ1RyZWVOb2RlOjpzY3JvbGxpbmdOb2RlRm9yUG9pbnQoTGF5
b3V0UG9pbnQKICAgICBMYXlvdXRQb2ludCBsb2NhbFBvaW50ID0gcGFyZW50VG9Mb2NhbFBvaW50
KHBhcmVudFBvaW50KTsKICAgICBMYXlvdXRQb2ludCBjb250ZW50c1BvaW50ID0gbG9jYWxUb0Nv
bnRlbnRzUG9pbnQobG9jYWxQb2ludCk7CiAKLSAgICBpZiAoY2hpbGRyZW4oKSkgewotICAgICAg
ICBmb3IgKGF1dG8gaXRlcmF0b3IgPSBjaGlsZHJlbigpLT5yYmVnaW4oKSwgZW5kID0gY2hpbGRy
ZW4oKS0+cmVuZCgpOyBpdGVyYXRvciAhPSBlbmQ7IGl0ZXJhdG9yKyspIHsKLSAgICAgICAgICAg
IGlmIChhdXRvIG5vZGUgPSAoKippdGVyYXRvcikuc2Nyb2xsaW5nTm9kZUZvclBvaW50KGNvbnRl
bnRzUG9pbnQpKQotICAgICAgICAgICAgICAgIHJldHVybiBub2RlOwotICAgICAgICB9CisgICAg
Zm9yIChhdXRvJiBjaGlsZCA6IFdURjo6bWFrZVJldmVyc2VkUmFuZ2UobV9jaGlsZHJlbikpIHsK
KyAgICAgICAgaWYgKGF1dG8qIG5vZGUgPSBjaGlsZC0+c2Nyb2xsaW5nTm9kZUZvclBvaW50KGNv
bnRlbnRzUG9pbnQpKQorICAgICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQogCiAgICAgcmV0
dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZU5vZGUuaAppbmRleCA4N2JmYzUxYTBlYy4uOGNhNTE4YTcxNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaApAQCAtNjYs
MTEgKzY2LDExIEBAIHB1YmxpYzoKICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzUm9v
dE5vZGUoKSBjb25zdDsKIAotICAgIFZlY3RvcjxSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+Piog
Y2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuLmdldCgpOyB9Ci0gICAgY29uc3QgVmVjdG9y
PFJlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4+KiBjaGlsZHJlbigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2hpbGRyZW4uZ2V0KCk7IH0KKyAgICBjb25zdCBWZWN0b3I8UmVmPFNjcm9sbGluZ1RyZWVOb2Rl
Pj4mIGNoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQogCiAgICAgdm9pZCBh
cHBlbmRDaGlsZChSZWY8U2Nyb2xsaW5nVHJlZU5vZGU+JiYpOwogICAgIHZvaWQgcmVtb3ZlQ2hp
bGQoU2Nyb2xsaW5nVHJlZU5vZGUmKTsKKyAgICB2b2lkIHJlbW92ZUFsbENoaWxkcmVuKCk7CiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlKiBlbmNs
b3NpbmdGcmFtZU5vZGVJbmNsdWRpbmdTZWxmKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUqIGVuY2xvc2luZ1Njcm9sbGluZ05vZGVJbmNsdWRpbmdTZWxm
KCk7CkBAIC04OSw3ICs4OSw3IEBAIHByb3RlY3RlZDoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZp
cnR1YWwgdm9pZCBkdW1wUHJvcGVydGllcyhXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxpbmdTdGF0
ZVRyZWVBc1RleHRCZWhhdmlvcikgY29uc3Q7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VmVjdG9y
PFJlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4+PiBtX2NoaWxkcmVuOworICAgIFZlY3RvcjxSZWY8
U2Nyb2xsaW5nVHJlZU5vZGU+PiBtX2NoaWxkcmVuOwogCiBwcml2YXRlOgogICAgIFNjcm9sbGlu
Z1RyZWUmIG1fc2Nyb2xsaW5nVHJlZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>