<?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>208659</bug_id>
          
          <creation_ts>2020-03-05 12:35:27 -0800</creation_ts>
          <short_desc>Remove the optimization for discarding no operation DisplayList items between Save and Restore items</short_desc>
          <delta_ts>2021-05-05 11:36:44 -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>Canvas</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=225381</see_also>
          <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="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jacob_uphoff</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1626235</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-05 12:35:27 -0800</bug_when>
    <thetext>The restoreIndex was an opportunity of optimization. If all no drawing between the Save and Restore happens, this means these items are all void and can be deleted from the DisplayList. With the canvas drawing and with batching the DisplayList flushing, this causes a serious problem when we try to remove the items at and after currentState().saveItemIndex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626236</commentid>
    <comment_count>1</comment_count>
      <attachid>392607</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-05 12:36:59 -0800</bug_when>
    <thetext>Created attachment 392607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626252</commentid>
    <comment_count>2</comment_count>
      <attachid>392607</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-05 13:01:08 -0800</bug_when>
    <thetext>Comment on attachment 392607
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=392607&amp;action=review

Please file a bug to track adding this optimization back.

&gt; Source/WebCore/ChangeLog:3
&gt; +        DisplayList::Save item should not track the index of the corresponding Restore item

This title should be &quot;remove the optimization for...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626266</commentid>
    <comment_count>3</comment_count>
      <attachid>392614</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-05 13:22:12 -0800</bug_when>
    <thetext>Created attachment 392614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626287</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 14:22:16 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 392614:

editing/spelling/spellcheck-paste-continuous-disabled.html bug 208016 (authors: g.czajkowski@samsung.com and mark.lam@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626289</commentid>
    <comment_count>5</comment_count>
      <attachid>392614</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 14:22:52 -0800</bug_when>
    <thetext>Comment on attachment 392614
Patch

Clearing flags on attachment: 392614

Committed r257945: &lt;https://trac.webkit.org/changeset/257945&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626290</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 14:22:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626291</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-05 14:23:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/60100226&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626302</commentid>
    <comment_count>8</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-03-05 14:33:01 -0800</bug_when>
    <thetext>Reverted r257945 for reason:

This causes tests to fail

Committed r257947: &lt;https://trac.webkit.org/changeset/257947&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626306</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-05 14:50:00 -0800</bug_when>
    <thetext>Namely:
displaylists/canvas-display-list.html
displaylists/extent-includes-shadow.html
displaylists/extent-includes-transforms.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626321</commentid>
    <comment_count>10</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-05 15:08:59 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #9)
&gt; Namely:
&gt; displaylists/canvas-display-list.html
&gt; displaylists/extent-includes-shadow.html
&gt; displaylists/extent-includes-transforms.html

Yes because DisplayList::Restore has no parameters now and operator&lt;&lt;(TextStream&amp; ts, const Item&amp;) should not call operator&lt;&lt;(TextStream&amp; ts, const Save&amp;) because this is going to call itself and we end up in infinite recursion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626335</commentid>
    <comment_count>11</comment_count>
      <attachid>392635</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-03-05 15:35:19 -0800</bug_when>
    <thetext>Created attachment 392635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626388</commentid>
    <comment_count>12</comment_count>
      <attachid>392635</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 16:30:44 -0800</bug_when>
    <thetext>Comment on attachment 392635
Patch

Clearing flags on attachment: 392635

Committed r257958: &lt;https://trac.webkit.org/changeset/257958&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626389</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-05 16:30:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392607</attachid>
            <date>2020-03-05 12:36:59 -0800</date>
            <delta_ts>2020-03-05 13:22:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208659-20200305123658.patch</filename>
            <type>text/plain</type>
            <size>8074</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3OTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYwMjRlYTdiN2YwMDg3
NzZjZjI0Zjg4ZWVkMWMzYzA3OTY4ZTVlZS4uMWVlZjk3YTcwMGYwZjc3ZTBhYmYzZDU1Y2Y3N2Zm
ODhhOWY3MTI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAzLTA1ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgRGlzcGxh
eUxpc3Q6OlNhdmUgaXRlbSBzaG91bGQgbm90IHRyYWNrIHRoZSBpbmRleCBvZiB0aGUgY29ycmVz
cG9uZGluZyBSZXN0b3JlIGl0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODY1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgb3B0aW1pemF0aW9uIGlzIHdyb25nIGluIHRoZSBjYXNlIG9mIGRy
YXdpbmcgYSBjYW52YXMgaW4gZ2VuZXJhbC4KKyAgICAgICAgVGhlIG9yaWdpbmFsIGltcGxlbWVu
dGF0aW9uIG9mIHRoZSBEaXNwbGF5TGlzdCBhc3N1bWVzIGJhbGFuY2VkIFNhdmUvCisgICAgICAg
IFJlc3RvcmUgR3JhcGhpY3NDb250ZXh0LiBJbiBjYW52YXMgYSBHcmFwaGljc0NvbmV4dCAnc2F2
ZScgY2FuIGJlIGlzc3VlZAorICAgICAgICBpbiBhIGZyYW1lIGFuZCB0aGUgY29ycmVzcG9uZGlu
ZyByZXN0b3JlIGlzIGlzc3VlZCBtYW55IGZyYW1lcyBsYXRlci4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3Q6OnJlbW92ZUl0ZW1zRnJvbUluZGV4KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RJdGVtcy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0SXRlbXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpTYXZlOjpl
bmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlNhdmU6OmRlY29k
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U2F2ZTo6cmVzdG9yZUluZGV4IGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpTYXZlOjpzZXRS
ZXN0b3JlSW5kZXgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpSZWNvcmRlcjo6c2F2ZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6
UmVjb3JkZXI6OnJlc3RvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlz
dDo6UmVjb3JkZXI6OkNvbnRleHRTdGF0ZTo6Y2xvbmVGb3JTYXZlIGNvbnN0KToKKwogMjAyMC0w
My0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBU
cmFjayAic2Nyb2xsaW5nIHNjb3BlIiBvbiBSZW5kZXJMYXllcnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3QuY3BwCmluZGV4IGE0MGY4OWY3Njg4NTRlODA0NDkyYjBjMWE1YzNhMGZjYjZkZTc4NmYuLmZm
ZDlkNmRkZmI2MGFjMWEwOTcyMmRmYWRjODJmMTE1MzBlOTIwYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0LmNwcApAQCAtNTMsMTEgKzUzLDYgQEAgdm9pZCBEaXNwbGF5TGlzdDo6Y2xlYXIoKQog
ICAgIG1fbGlzdC5jbGVhcigpOwogfQogCi12b2lkIERpc3BsYXlMaXN0OjpyZW1vdmVJdGVtc0Zy
b21JbmRleChzaXplX3QgaW5kZXgpCi17Ci0gICAgbV9saXN0LnJlc2l6ZShpbmRleCk7Ci19Ci0K
IGJvb2wgRGlzcGxheUxpc3Q6OnNob3VsZER1bXBGb3JGbGFncyhBc1RleHRGbGFncyBmbGFncywg
Y29uc3QgSXRlbSYgaXRlbSkKIHsKICAgICBzd2l0Y2ggKGl0ZW0udHlwZSgpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdC5oCmluZGV4IDJjNjc3ZjZiNzM2ZTc1MmU0MWY4YjNmMjQzNDc2ZDQ1MDg0MjQz
NzEuLjdhZTA4ZDJhNGM3YmYzMmM1ODhiMjg2ZDVjMzI2MzkzZDAzZjIxMWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdC5oCkBAIC0xNzgsNyArMTc4LDYgQEAgcHVibGljOgogICAgIH0KIAogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgY2xlYXIoKTsKLSAgICB2b2lkIHJlbW92ZUl0ZW1zRnJvbUluZGV4
KHNpemVfdCk7CiAKICAgICBzaXplX3QgaXRlbUNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9saXN0
LnNpemUoKTsgfQogICAgIHNpemVfdCBzaXplSW5CeXRlcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
SXRlbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0SXRlbXMuY3BwCmluZGV4IDkxYWIzYmY3ZDg3YjI0N2FiNjE4ZDk4M2RiNzU0
YmMyYjIxNDBlNjQuLmMyZGJkOThhZTc3YWU2MTIxZjhhOGI1M2ZiMGZlYmVlYjdlMjI1YzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdEl0ZW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHAKQEAgLTE5NCwxMiArMTk0LDYgQEAg
dm9pZCBTYXZlOjphcHBseShHcmFwaGljc0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgY29u
dGV4dC5zYXZlKCk7CiB9CiAKLXN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJl
YW0mIHRzLCBjb25zdCBTYXZlJiBpdGVtKQotewotICAgIHRzLmR1bXBQcm9wZXJ0eSgicmVzdG9y
ZS1pbmRleCIsIGl0ZW0ucmVzdG9yZUluZGV4KCkpOwotICAgIHJldHVybiB0czsKLX0KLQogUmVz
dG9yZTo6UmVzdG9yZSgpCiAgICAgOiBJdGVtKEl0ZW1UeXBlOjpSZXN0b3JlKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0SXRlbXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmgKaW5kZXggOTdmZDBhMDBhNGQ0YmM2ZTc2MTI3MmQ5NmVi
NzQ2NjczMDJmODBhNi4uMWNlMDRmYzc5MDY1N2UyZWFlNGJkZDY5ZTc4OWM1OGU3YjU0N2Q0MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0SXRlbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oCkBAIC03NSwxMCArNzUsNiBAQCBwdWJs
aWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5TYXZlKCk7CiAKLSAgICAvLyBJbmRl
eCBpbiB0aGUgZGlzcGxheSBsaXN0IG9mIHRoZSBjb3JyZXNwb25kaW5nIFJlc3RvcmUgaXRlbS4g
MCBpZiB1bm1hdGNoZWQuCi0gICAgc2l6ZV90IHJlc3RvcmVJbmRleCgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVzdG9yZUluZGV4OyB9Ci0gICAgdm9pZCBzZXRSZXN0b3JlSW5kZXgoc2l6ZV90IGluZGV4
KSB7IG1fcmVzdG9yZUluZGV4ID0gaW5kZXg7IH0KLQogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgT3B0aW9uYWw8UmVmPFNhdmU+PiBkZWNvZGUoRGVjb2RlciYpOwogCkBAIC04
NiwyOCArODIsMTcgQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBTYXZlKCk7CiAKICAg
ICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIAotICAg
IHNpemVfdCBtX3Jlc3RvcmVJbmRleCB7IDAgfTsKIH07CiAKIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+Ci12b2lkIFNhdmU6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAordm9pZCBTYXZl
OjplbmNvZGUoRW5jb2RlciYpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1
aW50NjRfdD4obV9yZXN0b3JlSW5kZXgpOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgot
T3B0aW9uYWw8UmVmPFNhdmU+PiBTYXZlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK09wdGlv
bmFsPFJlZjxTYXZlPj4gU2F2ZTo6ZGVjb2RlKERlY29kZXImKQogewotICAgIE9wdGlvbmFsPHVp
bnQ2NF90PiByZXN0b3JlSW5kZXg7Ci0gICAgZGVjb2RlciA+PiByZXN0b3JlSW5kZXg7Ci0gICAg
aWYgKCFyZXN0b3JlSW5kZXgpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAv
LyBGSVhNRTogVmFsaWRhdGUgcmVzdG9yZUluZGV4PyBCdXQgd2UgZG9uJ3QgaGF2ZSB0aGUgbGlz
dCBjb250ZXh0IGhlcmUuCi0gICAgYXV0byBzYXZlID0gU2F2ZTo6Y3JlYXRlKCk7Ci0gICAgc2F2
ZS0+c2V0UmVzdG9yZUluZGV4KHN0YXRpY19jYXN0PHNpemVfdD4oKnJlc3RvcmVJbmRleCkpOwot
ICAgIHJldHVybiBzYXZlOworICAgIHJldHVybiBTYXZlOjpjcmVhdGUoKTsKIH0KIAogY2xhc3Mg
UmVzdG9yZSA6IHB1YmxpYyBJdGVtIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29y
ZGVyLmNwcAppbmRleCAzY2FkMTg4NjEwZmNhMDFmZjg1N2QzMmNmNmQ2ZWU1MmI2YmFhMzNlLi40
OWRhNGVmNWIzYTNkODQ0MmVjMzg3ZWNmZmQxNjEyOTQ1OTk3ODkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNv
cmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBSZWNv
cmRlcjo6ZHJhd1BhdHRlcm4oSW1hZ2UmIGltYWdlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0
LCBjb25zdCBGbG9hdFIKIHZvaWQgUmVjb3JkZXI6OnNhdmUoKQogewogICAgIGFwcGVuZEl0ZW0o
U2F2ZTo6Y3JlYXRlKCkpOwotICAgIG1fc3RhdGVTdGFjay5hcHBlbmQobV9zdGF0ZVN0YWNrLmxh
c3QoKS5jbG9uZUZvclNhdmUobV9kaXNwbGF5TGlzdC5pdGVtQ291bnQoKSAtIDEpKTsKKyAgICBt
X3N0YXRlU3RhY2suYXBwZW5kKG1fc3RhdGVTdGFjay5sYXN0KCkuY2xvbmVGb3JTYXZlKCkpOwog
fQogCiB2b2lkIFJlY29yZGVyOjpyZXN0b3JlKCkKQEAgLTE1MiwyNCArMTUyLDEyIEBAIHZvaWQg
UmVjb3JkZXI6OnJlc3RvcmUoKQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIHN0YXRlVXNl
ZEZvckRyYXdpbmcgPSBjdXJyZW50U3RhdGUoKS53YXNVc2VkRm9yRHJhd2luZzsKLSAgICBzaXpl
X3Qgc2F2ZUluZGV4ID0gY3VycmVudFN0YXRlKCkuc2F2ZUl0ZW1JbmRleDsKIAogICAgIG1fc3Rh
dGVTdGFjay5yZW1vdmVMYXN0KCk7CiAgICAgLy8gSGF2ZSB0byBhdm9pZCBlbGlkaW5nIG5lc3Rl
ZCBTYXZlL1Jlc3RvcmUgd2hlbiBhIGRlc2NlbmRhbnQgc3RhdGUgY29udGFpbnMgZHJhd2luZyBp
dGVtcy4KICAgICBjdXJyZW50U3RhdGUoKS53YXNVc2VkRm9yRHJhd2luZyB8PSBzdGF0ZVVzZWRG
b3JEcmF3aW5nOwogCi0gICAgaWYgKCFzdGF0ZVVzZWRGb3JEcmF3aW5nICYmIHNhdmVJbmRleCkg
ewotICAgICAgICAvLyBUaGlzIFNhdmUvUmVzdG9yZSBkaWRuJ3QgY29udGFpbiBhbnkgZHJhd2lu
ZyBpdGVtcy4gUm9sbCBiYWNrIHRvIGp1c3QgYmVmb3JlIHRoZSBsYXN0IHNhdmUuCi0gICAgICAg
IG1fZGlzcGxheUxpc3QucmVtb3ZlSXRlbXNGcm9tSW5kZXgoc2F2ZUluZGV4KTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQogICAgIGFwcGVuZEl0ZW0oUmVzdG9yZTo6Y3JlYXRlKCkpOwotCi0g
ICAgaWYgKHNhdmVJbmRleCkgewotICAgICAgICBTYXZlJiBzYXZlSXRlbSA9IGRvd25jYXN0PFNh
dmU+KG1fZGlzcGxheUxpc3QuaXRlbUF0KHNhdmVJbmRleCkpOwotICAgICAgICBzYXZlSXRlbS5z
ZXRSZXN0b3JlSW5kZXgobV9kaXNwbGF5TGlzdC5pdGVtQ291bnQoKSAtIDEpOwotICAgIH0KIH0K
IAogdm9pZCBSZWNvcmRlcjo6dHJhbnNsYXRlKGZsb2F0IHgsIGZsb2F0IHkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RSZWNvcmRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaAppbmRleCBiZjZjYTU1YTljYTVlMTQzNjE0MTNhZmZl
MmEzOGMwOTg5ZGYzNDdkLi5jMjljMWZlMTRhMTc5MjNmOWJlMDkwNjYwYzg0NjFhOTkwYzdmOWZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlz
dHMvRGlzcGxheUxpc3RSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKQEAgLTE0NSw3ICsxNDUs
NiBAQCBwcml2YXRlOgogICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZUNoYW5nZSBzdGF0ZUNo
YW5nZTsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGUgbGFzdERyYXdpbmdTdGF0ZTsKICAg
ICAgICAgYm9vbCB3YXNVc2VkRm9yRHJhd2luZyB7IGZhbHNlIH07Ci0gICAgICAgIHNpemVfdCBz
YXZlSXRlbUluZGV4IHsgMCB9OwogICAgICAgICAKICAgICAgICAgQ29udGV4dFN0YXRlKGNvbnN0
IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFu
c2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYgY2xpcCkKICAgICAgICAgICAgIDogY3RtKHRyYW5zZm9y
bSkKQEAgLTE1NCwxMSArMTUzLDEwIEBAIHByaXZhdGU6CiAgICAgICAgIHsKICAgICAgICAgfQog
ICAgICAgICAKLSAgICAgICAgQ29udGV4dFN0YXRlIGNsb25lRm9yU2F2ZShzaXplX3Qgc2F2ZUlu
ZGV4KSBjb25zdAorICAgICAgICBDb250ZXh0U3RhdGUgY2xvbmVGb3JTYXZlKCkgY29uc3QKICAg
ICAgICAgewogICAgICAgICAgICAgQ29udGV4dFN0YXRlIHN0YXRlKGxhc3REcmF3aW5nU3RhdGUs
IGN0bSwgY2xpcEJvdW5kcyk7CiAgICAgICAgICAgICBzdGF0ZS5zdGF0ZUNoYW5nZSA9IHN0YXRl
Q2hhbmdlOwotICAgICAgICAgICAgc3RhdGUuc2F2ZUl0ZW1JbmRleCA9IHNhdmVJbmRleDsKICAg
ICAgICAgICAgIHJldHVybiBzdGF0ZTsKICAgICAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392614</attachid>
            <date>2020-03-05 13:22:12 -0800</date>
            <delta_ts>2020-03-05 15:35:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208659-20200305132211.patch</filename>
            <type>text/plain</type>
            <size>8089</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3OTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYwMjRlYTdiN2YwMDg3
NzZjZjI0Zjg4ZWVkMWMzYzA3OTY4ZTVlZS4uMjBlZGU3ZmJmNjgyZjY4YjFmZmMxNzEzNmUxYWI4
MDNiNTE0MTFhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAzLTA1ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3Zl
IHRoZSBvcHRpbWl6YXRpb24gZm9yIGRpc2NhcmRpbmcgbm8gb3BlcmF0aW9uIERpc3BsYXlMaXN0
IGl0ZW1zIGJldHdlZW4gU2F2ZSBhbmQgUmVzdG9yZSBpdGVtcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NjU5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRoaXMgb3B0aW1pemF0aW9uIGlzIHdyb25nIGlu
IHRoZSBjYXNlIG9mIGRyYXdpbmcgYSBjYW52YXMgaW4gZ2VuZXJhbC4KKyAgICAgICAgVGhlIG9y
aWdpbmFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBEaXNwbGF5TGlzdCBhc3N1bWVzIGJhbGFuY2Vk
IFNhdmUvCisgICAgICAgIFJlc3RvcmUgR3JhcGhpY3NDb250ZXh0LiBJbiBjYW52YXMgYSBHcmFw
aGljc0NvbmV4dCAnc2F2ZScgY2FuIGJlIGlzc3VlZAorICAgICAgICBpbiBhIGZyYW1lIGFuZCB0
aGUgY29ycmVzcG9uZGluZyByZXN0b3JlIGlzIGlzc3VlZCBtYW55IGZyYW1lcyBsYXRlci4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3Q6OnJlbW92ZUl0ZW1z
RnJvbUluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpTYXZlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxp
c3Q6OlNhdmU6OmRlY29kZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U2F2ZTo6
cmVzdG9yZUluZGV4IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpTYXZlOjpzZXRSZXN0b3JlSW5kZXgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6c2F2ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OnJlc3RvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmg6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OkNvbnRleHRTdGF0ZTo6Y2xvbmVGb3JTYXZlIGNv
bnN0KToKKwogMjAyMC0wMy0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBUcmFjayAic2Nyb2xsaW5nIHNjb3BlIiBvbiBSZW5kZXJMYXllcnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3QuY3BwCmluZGV4IGE0MGY4OWY3Njg4NTRlODA0NDkyYjBjMWE1YzNh
MGZjYjZkZTc4NmYuLmZmZDlkNmRkZmI2MGFjMWEwOTcyMmRmYWRjODJmMTE1MzBlOTIwYTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0LmNwcApAQCAtNTMsMTEgKzUzLDYgQEAgdm9pZCBEaXNwbGF5
TGlzdDo6Y2xlYXIoKQogICAgIG1fbGlzdC5jbGVhcigpOwogfQogCi12b2lkIERpc3BsYXlMaXN0
OjpyZW1vdmVJdGVtc0Zyb21JbmRleChzaXplX3QgaW5kZXgpCi17Ci0gICAgbV9saXN0LnJlc2l6
ZShpbmRleCk7Ci19Ci0KIGJvb2wgRGlzcGxheUxpc3Q6OnNob3VsZER1bXBGb3JGbGFncyhBc1Rl
eHRGbGFncyBmbGFncywgY29uc3QgSXRlbSYgaXRlbSkKIHsKICAgICBzd2l0Y2ggKGl0ZW0udHlw
ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNw
bGF5bGlzdHMvRGlzcGxheUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCmluZGV4IDJjNjc3ZjZiNzM2ZTc1MmU0MWY4YjNm
MjQzNDc2ZDQ1MDg0MjQzNzEuLjdhZTA4ZDJhNGM3YmYzMmM1ODhiMjg2ZDVjMzI2MzkzZDAzZjIx
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5oCkBAIC0xNzgsNyArMTc4LDYgQEAgcHVibGljOgog
ICAgIH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXIoKTsKLSAgICB2b2lkIHJlbW92
ZUl0ZW1zRnJvbUluZGV4KHNpemVfdCk7CiAKICAgICBzaXplX3QgaXRlbUNvdW50KCkgY29uc3Qg
eyByZXR1cm4gbV9saXN0LnNpemUoKTsgfQogICAgIHNpemVfdCBzaXplSW5CeXRlcygpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwCmluZGV4IDkxYWIzYmY3ZDg3YjI0
N2FiNjE4ZDk4M2RiNzU0YmMyYjIxNDBlNjQuLmMyZGJkOThhZTc3YWU2MTIxZjhhOGI1M2ZiMGZl
YmVlYjdlMjI1YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHAKQEAgLTE5
NCwxMiArMTk0LDYgQEAgdm9pZCBTYXZlOjphcHBseShHcmFwaGljc0NvbnRleHQmIGNvbnRleHQp
IGNvbnN0CiAgICAgY29udGV4dC5zYXZlKCk7CiB9CiAKLXN0YXRpYyBUZXh0U3RyZWFtJiBvcGVy
YXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBTYXZlJiBpdGVtKQotewotICAgIHRzLmR1bXBQ
cm9wZXJ0eSgicmVzdG9yZS1pbmRleCIsIGl0ZW0ucmVzdG9yZUluZGV4KCkpOwotICAgIHJldHVy
biB0czsKLX0KLQogUmVzdG9yZTo6UmVzdG9yZSgpCiAgICAgOiBJdGVtKEl0ZW1UeXBlOjpSZXN0
b3JlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmgKaW5kZXggOTdmZDBhMDBhNGQ0
YmM2ZTc2MTI3MmQ5NmViNzQ2NjczMDJmODBhNi4uMWNlMDRmYzc5MDY1N2UyZWFlNGJkZDY5ZTc4
OWM1OGU3YjU0N2Q0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oCkBAIC03NSwx
MCArNzUsNiBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5TYXZlKCk7
CiAKLSAgICAvLyBJbmRleCBpbiB0aGUgZGlzcGxheSBsaXN0IG9mIHRoZSBjb3JyZXNwb25kaW5n
IFJlc3RvcmUgaXRlbS4gMCBpZiB1bm1hdGNoZWQuCi0gICAgc2l6ZV90IHJlc3RvcmVJbmRleCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVzdG9yZUluZGV4OyB9Ci0gICAgdm9pZCBzZXRSZXN0b3JlSW5k
ZXgoc2l6ZV90IGluZGV4KSB7IG1fcmVzdG9yZUluZGV4ID0gaW5kZXg7IH0KLQogICAgIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8UmVmPFNhdmU+PiBkZWNvZGUoRGVj
b2RlciYpOwogCkBAIC04NiwyOCArODIsMTcgQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9S
VCBTYXZlKCk7CiAKICAgICB2b2lkIGFwcGx5KEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0IG92ZXJy
aWRlOwotICAgIAotICAgIHNpemVfdCBtX3Jlc3RvcmVJbmRleCB7IDAgfTsKIH07CiAKIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+Ci12b2lkIFNhdmU6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAordm9pZCBTYXZlOjplbmNvZGUoRW5jb2RlciYpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8
PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4obV9yZXN0b3JlSW5kZXgpOwogfQogCiB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPgotT3B0aW9uYWw8UmVmPFNhdmU+PiBTYXZlOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKK09wdGlvbmFsPFJlZjxTYXZlPj4gU2F2ZTo6ZGVjb2RlKERlY29kZXImKQogewot
ICAgIE9wdGlvbmFsPHVpbnQ2NF90PiByZXN0b3JlSW5kZXg7Ci0gICAgZGVjb2RlciA+PiByZXN0
b3JlSW5kZXg7Ci0gICAgaWYgKCFyZXN0b3JlSW5kZXgpCi0gICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7Ci0KLSAgICAvLyBGSVhNRTogVmFsaWRhdGUgcmVzdG9yZUluZGV4PyBCdXQgd2UgZG9u
J3QgaGF2ZSB0aGUgbGlzdCBjb250ZXh0IGhlcmUuCi0gICAgYXV0byBzYXZlID0gU2F2ZTo6Y3Jl
YXRlKCk7Ci0gICAgc2F2ZS0+c2V0UmVzdG9yZUluZGV4KHN0YXRpY19jYXN0PHNpemVfdD4oKnJl
c3RvcmVJbmRleCkpOwotICAgIHJldHVybiBzYXZlOworICAgIHJldHVybiBTYXZlOjpjcmVhdGUo
KTsKIH0KIAogY2xhc3MgUmVzdG9yZSA6IHB1YmxpYyBJdGVtIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29y
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9E
aXNwbGF5TGlzdFJlY29yZGVyLmNwcAppbmRleCAzY2FkMTg4NjEwZmNhMDFmZjg1N2QzMmNmNmQ2
ZWU1MmI2YmFhMzNlLi40OWRhNGVmNWIzYTNkODQ0MmVjMzg3ZWNmZmQxNjEyOTQ1OTk3ODkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RSZWNvcmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCkBAIC0xNDMsNyArMTQz
LDcgQEAgdm9pZCBSZWNvcmRlcjo6ZHJhd1BhdHRlcm4oSW1hZ2UmIGltYWdlLCBjb25zdCBGbG9h
dFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFIKIHZvaWQgUmVjb3JkZXI6OnNhdmUoKQogewog
ICAgIGFwcGVuZEl0ZW0oU2F2ZTo6Y3JlYXRlKCkpOwotICAgIG1fc3RhdGVTdGFjay5hcHBlbmQo
bV9zdGF0ZVN0YWNrLmxhc3QoKS5jbG9uZUZvclNhdmUobV9kaXNwbGF5TGlzdC5pdGVtQ291bnQo
KSAtIDEpKTsKKyAgICBtX3N0YXRlU3RhY2suYXBwZW5kKG1fc3RhdGVTdGFjay5sYXN0KCkuY2xv
bmVGb3JTYXZlKCkpOwogfQogCiB2b2lkIFJlY29yZGVyOjpyZXN0b3JlKCkKQEAgLTE1MiwyNCAr
MTUyLDEyIEBAIHZvaWQgUmVjb3JkZXI6OnJlc3RvcmUoKQogICAgICAgICByZXR1cm47CiAKICAg
ICBib29sIHN0YXRlVXNlZEZvckRyYXdpbmcgPSBjdXJyZW50U3RhdGUoKS53YXNVc2VkRm9yRHJh
d2luZzsKLSAgICBzaXplX3Qgc2F2ZUluZGV4ID0gY3VycmVudFN0YXRlKCkuc2F2ZUl0ZW1JbmRl
eDsKIAogICAgIG1fc3RhdGVTdGFjay5yZW1vdmVMYXN0KCk7CiAgICAgLy8gSGF2ZSB0byBhdm9p
ZCBlbGlkaW5nIG5lc3RlZCBTYXZlL1Jlc3RvcmUgd2hlbiBhIGRlc2NlbmRhbnQgc3RhdGUgY29u
dGFpbnMgZHJhd2luZyBpdGVtcy4KICAgICBjdXJyZW50U3RhdGUoKS53YXNVc2VkRm9yRHJhd2lu
ZyB8PSBzdGF0ZVVzZWRGb3JEcmF3aW5nOwogCi0gICAgaWYgKCFzdGF0ZVVzZWRGb3JEcmF3aW5n
ICYmIHNhdmVJbmRleCkgewotICAgICAgICAvLyBUaGlzIFNhdmUvUmVzdG9yZSBkaWRuJ3QgY29u
dGFpbiBhbnkgZHJhd2luZyBpdGVtcy4gUm9sbCBiYWNrIHRvIGp1c3QgYmVmb3JlIHRoZSBsYXN0
IHNhdmUuCi0gICAgICAgIG1fZGlzcGxheUxpc3QucmVtb3ZlSXRlbXNGcm9tSW5kZXgoc2F2ZUlu
ZGV4KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGFwcGVuZEl0ZW0oUmVzdG9yZTo6
Y3JlYXRlKCkpOwotCi0gICAgaWYgKHNhdmVJbmRleCkgewotICAgICAgICBTYXZlJiBzYXZlSXRl
bSA9IGRvd25jYXN0PFNhdmU+KG1fZGlzcGxheUxpc3QuaXRlbUF0KHNhdmVJbmRleCkpOwotICAg
ICAgICBzYXZlSXRlbS5zZXRSZXN0b3JlSW5kZXgobV9kaXNwbGF5TGlzdC5pdGVtQ291bnQoKSAt
IDEpOwotICAgIH0KIH0KIAogdm9pZCBSZWNvcmRlcjo6dHJhbnNsYXRlKGZsb2F0IHgsIGZsb2F0
IHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaAppbmRleCBiZjZjYTU1YTlj
YTVlMTQzNjE0MTNhZmZlMmEzOGMwOTg5ZGYzNDdkLi5jMjljMWZlMTRhMTc5MjNmOWJlMDkwNjYw
Yzg0NjFhOTkwYzdmOWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgK
QEAgLTE0NSw3ICsxNDUsNiBAQCBwcml2YXRlOgogICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0
ZUNoYW5nZSBzdGF0ZUNoYW5nZTsKICAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGUgbGFzdERy
YXdpbmdTdGF0ZTsKICAgICAgICAgYm9vbCB3YXNVc2VkRm9yRHJhd2luZyB7IGZhbHNlIH07Ci0g
ICAgICAgIHNpemVfdCBzYXZlSXRlbUluZGV4IHsgMCB9OwogICAgICAgICAKICAgICAgICAgQ29u
dGV4dFN0YXRlKGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiBzdGF0ZSwgY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiB0cmFuc2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYgY2xpcCkKICAgICAgICAgICAg
IDogY3RtKHRyYW5zZm9ybSkKQEAgLTE1NCwxMSArMTUzLDEwIEBAIHByaXZhdGU6CiAgICAgICAg
IHsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgQ29udGV4dFN0YXRlIGNsb25lRm9yU2F2
ZShzaXplX3Qgc2F2ZUluZGV4KSBjb25zdAorICAgICAgICBDb250ZXh0U3RhdGUgY2xvbmVGb3JT
YXZlKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgQ29udGV4dFN0YXRlIHN0YXRlKGxh
c3REcmF3aW5nU3RhdGUsIGN0bSwgY2xpcEJvdW5kcyk7CiAgICAgICAgICAgICBzdGF0ZS5zdGF0
ZUNoYW5nZSA9IHN0YXRlQ2hhbmdlOwotICAgICAgICAgICAgc3RhdGUuc2F2ZUl0ZW1JbmRleCA9
IHNhdmVJbmRleDsKICAgICAgICAgICAgIHJldHVybiBzdGF0ZTsKICAgICAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392635</attachid>
            <date>2020-03-05 15:35:19 -0800</date>
            <delta_ts>2020-03-05 16:30:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208659-20200305153518.patch</filename>
            <type>text/plain</type>
            <size>11173</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3OTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYwMjRlYTdiN2YwMDg3
NzZjZjI0Zjg4ZWVkMWMzYzA3OTY4ZTVlZS4uNzg3MzgwM2M1N2NkYjU3Mjc4Y2NiNDEwMWUxYzBm
N2UyMzYzYWJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTAzLTA1ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3Zl
IHRoZSBvcHRpbWl6YXRpb24gZm9yIGRpc2NhcmRpbmcgbm8gb3BlcmF0aW9uIERpc3BsYXlMaXN0
IGl0ZW1zIGJldHdlZW4gU2F2ZSBhbmQgUmVzdG9yZSBpdGVtcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NjU5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIFRoaXMgb3B0aW1pemF0aW9uIGlzIHdyb25nIGlu
IHRoZSBjYXNlIG9mIGRyYXdpbmcgYSBjYW52YXMgaW4gZ2VuZXJhbC4KKyAgICAgICAgVGhlIG9y
aWdpbmFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBEaXNwbGF5TGlzdCBhc3N1bWVzIGJhbGFuY2Vk
IFNhdmUvCisgICAgICAgIFJlc3RvcmUgR3JhcGhpY3NDb250ZXh0LiBJbiBjYW52YXMgYSBHcmFw
aGljc0NvbmV4dCAnc2F2ZScgY2FuIGJlIGlzc3VlZAorICAgICAgICBpbiBhIGZyYW1lIGFuZCB0
aGUgY29ycmVzcG9uZGluZyByZXN0b3JlIGlzIGlzc3VlZCBtYW55IGZyYW1lcyBsYXRlci4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3Q6OnJlbW92ZUl0ZW1z
RnJvbUluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlz
dDo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3Rz
L0Rpc3BsYXlMaXN0SXRlbXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpTYXZl
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlNhdmU6OmRl
Y29kZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U2F2ZTo6cmVzdG9yZUluZGV4
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpTYXZlOjpz
ZXRSZXN0b3JlSW5kZXgpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpSZWNvcmRlcjo6c2F2ZSk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlz
dDo6UmVjb3JkZXI6OnJlc3RvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5
TGlzdDo6UmVjb3JkZXI6OkNvbnRleHRTdGF0ZTo6Y2xvbmVGb3JTYXZlIGNvbnN0KToKKwogMjAy
MC0wMy0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUcmFjayAic2Nyb2xsaW5nIHNjb3BlIiBvbiBSZW5kZXJMYXllcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3QuY3BwCmluZGV4IGE0MGY4OWY3Njg4NTRlODA0NDkyYjBjMWE1YzNhMGZjYjZkZTc4NmYu
LmZmZDlkNmRkZmI2MGFjMWEwOTcyMmRmYWRjODJmMTE1MzBlOTIwYTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0LmNwcApAQCAtNTMsMTEgKzUzLDYgQEAgdm9pZCBEaXNwbGF5TGlzdDo6Y2xlYXIo
KQogICAgIG1fbGlzdC5jbGVhcigpOwogfQogCi12b2lkIERpc3BsYXlMaXN0OjpyZW1vdmVJdGVt
c0Zyb21JbmRleChzaXplX3QgaW5kZXgpCi17Ci0gICAgbV9saXN0LnJlc2l6ZShpbmRleCk7Ci19
Ci0KIGJvb2wgRGlzcGxheUxpc3Q6OnNob3VsZER1bXBGb3JGbGFncyhBc1RleHRGbGFncyBmbGFn
cywgY29uc3QgSXRlbSYgaXRlbSkKIHsKICAgICBzd2l0Y2ggKGl0ZW0udHlwZSgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdC5oCmluZGV4IDJjNjc3ZjZiNzM2ZTc1MmU0MWY4YjNmMjQzNDc2ZDQ1MDg0
MjQzNzEuLjdhZTA4ZDJhNGM3YmYzMmM1ODhiMjg2ZDVjMzI2MzkzZDAzZjIxMWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdC5oCkBAIC0xNzgsNyArMTc4LDYgQEAgcHVibGljOgogICAgIH0KIAogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXIoKTsKLSAgICB2b2lkIHJlbW92ZUl0ZW1zRnJvbUlu
ZGV4KHNpemVfdCk7CiAKICAgICBzaXplX3QgaXRlbUNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9s
aXN0LnNpemUoKTsgfQogICAgIHNpemVfdCBzaXplSW5CeXRlcygpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlM
aXN0SXRlbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3BwCmluZGV4IDkxYWIzYmY3ZDg3YjI0N2FiNjE4ZDk4M2Ri
NzU0YmMyYjIxNDBlNjQuLjk4ZTBiMTliNmU5YTdkZTQ4ZjFhYzc4MzliYjgwN2JlNDBhYmViYzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdEl0ZW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHAKQEAgLTE5NCwxMiArMTk0LDYg
QEAgdm9pZCBTYXZlOjphcHBseShHcmFwaGljc0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAg
Y29udGV4dC5zYXZlKCk7CiB9CiAKLXN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRT
dHJlYW0mIHRzLCBjb25zdCBTYXZlJiBpdGVtKQotewotICAgIHRzLmR1bXBQcm9wZXJ0eSgicmVz
dG9yZS1pbmRleCIsIGl0ZW0ucmVzdG9yZUluZGV4KCkpOwotICAgIHJldHVybiB0czsKLX0KLQog
UmVzdG9yZTo6UmVzdG9yZSgpCiAgICAgOiBJdGVtKEl0ZW1UeXBlOjpSZXN0b3JlKQogewpAQCAt
MTQwNCw5ICsxMzk4LDYgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywg
Y29uc3QgSXRlbSYgaXRlbSkKIAogICAgIC8vIEZJWE1FOiBNYWtlIGEgbWFjcm8gd2hpY2ggdGFr
ZXMgYSBtYWNybyBmb3IgYWxsIHRoZXNlIGVudW1lcmF0aW9uIHN3aXRjaGVzCiAgICAgc3dpdGNo
IChpdGVtLnR5cGUoKSkgewotICAgIGNhc2UgSXRlbVR5cGU6OlNhdmU6Ci0gICAgICAgIHRzIDw8
IGRvd25jYXN0PFNhdmU+KGl0ZW0pOwotICAgICAgICBicmVhazsKICAgICBjYXNlIEl0ZW1UeXBl
OjpUcmFuc2xhdGU6CiAgICAgICAgIHRzIDw8IGRvd25jYXN0PFRyYW5zbGF0ZT4oaXRlbSk7CiAg
ICAgICAgIGJyZWFrOwpAQCAtMTUzNyw2ICsxNTI4LDcgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChUZXh0U3RyZWFtJiB0cywgY29uc3QgSXRlbSYgaXRlbSkKICAgICAgICAgYnJlYWs7CiAKICAg
ICAvLyBJdGVtcyB3aXRoIG5vIGFkZGl0aW9uYWwgZGF0YS4KKyAgICBjYXNlIEl0ZW1UeXBlOjpT
YXZlOgogICAgIGNhc2UgSXRlbVR5cGU6OlJlc3RvcmU6CiAgICAgY2FzZSBJdGVtVHlwZTo6RW5k
VHJhbnNwYXJlbmN5TGF5ZXI6CiAjaWYgVVNFKENHKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0
ZW1zLmgKaW5kZXggOTdmZDBhMDBhNGQ0YmM2ZTc2MTI3MmQ5NmViNzQ2NjczMDJmODBhNi4uMWNl
MDRmYzc5MDY1N2UyZWFlNGJkZDY5ZTc4OWM1OGU3YjU0N2Q0MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RJdGVtcy5oCkBAIC03NSwxMCArNzUsNiBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIH5TYXZlKCk7CiAKLSAgICAvLyBJbmRleCBpbiB0aGUgZGlzcGxheSBs
aXN0IG9mIHRoZSBjb3JyZXNwb25kaW5nIFJlc3RvcmUgaXRlbS4gMCBpZiB1bm1hdGNoZWQuCi0g
ICAgc2l6ZV90IHJlc3RvcmVJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdG9yZUluZGV4OyB9
Ci0gICAgdm9pZCBzZXRSZXN0b3JlSW5kZXgoc2l6ZV90IGluZGV4KSB7IG1fcmVzdG9yZUluZGV4
ID0gaW5kZXg7IH0KLQogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVu
Y29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9u
YWw8UmVmPFNhdmU+PiBkZWNvZGUoRGVjb2RlciYpOwogCkBAIC04NiwyOCArODIsMTcgQEAgcHJp
dmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBTYXZlKCk7CiAKICAgICB2b2lkIGFwcGx5KEdyYXBo
aWNzQ29udGV4dCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIAotICAgIHNpemVfdCBtX3Jlc3RvcmVJ
bmRleCB7IDAgfTsKIH07CiAKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+Ci12b2lkIFNhdmU6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAordm9pZCBTYXZlOjplbmNvZGUoRW5jb2RlciYp
IGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4obV9yZXN0b3Jl
SW5kZXgpOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgotT3B0aW9uYWw8UmVmPFNhdmU+
PiBTYXZlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK09wdGlvbmFsPFJlZjxTYXZlPj4gU2F2
ZTo6ZGVjb2RlKERlY29kZXImKQogewotICAgIE9wdGlvbmFsPHVpbnQ2NF90PiByZXN0b3JlSW5k
ZXg7Ci0gICAgZGVjb2RlciA+PiByZXN0b3JlSW5kZXg7Ci0gICAgaWYgKCFyZXN0b3JlSW5kZXgp
Ci0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAvLyBGSVhNRTogVmFsaWRhdGUg
cmVzdG9yZUluZGV4PyBCdXQgd2UgZG9uJ3QgaGF2ZSB0aGUgbGlzdCBjb250ZXh0IGhlcmUuCi0g
ICAgYXV0byBzYXZlID0gU2F2ZTo6Y3JlYXRlKCk7Ci0gICAgc2F2ZS0+c2V0UmVzdG9yZUluZGV4
KHN0YXRpY19jYXN0PHNpemVfdD4oKnJlc3RvcmVJbmRleCkpOwotICAgIHJldHVybiBzYXZlOwor
ICAgIHJldHVybiBTYXZlOjpjcmVhdGUoKTsKIH0KIAogY2xhc3MgUmVzdG9yZSA6IHB1YmxpYyBJ
dGVtIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcAppbmRleCAzY2Fk
MTg4NjEwZmNhMDFmZjg1N2QzMmNmNmQ2ZWU1MmI2YmFhMzNlLi40OWRhNGVmNWIzYTNkODQ0MmVj
Mzg3ZWNmZmQxNjEyOTQ1OTk3ODkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVj
b3JkZXIuY3BwCkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBSZWNvcmRlcjo6ZHJhd1BhdHRlcm4o
SW1hZ2UmIGltYWdlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFIKIHZv
aWQgUmVjb3JkZXI6OnNhdmUoKQogewogICAgIGFwcGVuZEl0ZW0oU2F2ZTo6Y3JlYXRlKCkpOwot
ICAgIG1fc3RhdGVTdGFjay5hcHBlbmQobV9zdGF0ZVN0YWNrLmxhc3QoKS5jbG9uZUZvclNhdmUo
bV9kaXNwbGF5TGlzdC5pdGVtQ291bnQoKSAtIDEpKTsKKyAgICBtX3N0YXRlU3RhY2suYXBwZW5k
KG1fc3RhdGVTdGFjay5sYXN0KCkuY2xvbmVGb3JTYXZlKCkpOwogfQogCiB2b2lkIFJlY29yZGVy
OjpyZXN0b3JlKCkKQEAgLTE1MiwyNCArMTUyLDEyIEBAIHZvaWQgUmVjb3JkZXI6OnJlc3RvcmUo
KQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIHN0YXRlVXNlZEZvckRyYXdpbmcgPSBjdXJy
ZW50U3RhdGUoKS53YXNVc2VkRm9yRHJhd2luZzsKLSAgICBzaXplX3Qgc2F2ZUluZGV4ID0gY3Vy
cmVudFN0YXRlKCkuc2F2ZUl0ZW1JbmRleDsKIAogICAgIG1fc3RhdGVTdGFjay5yZW1vdmVMYXN0
KCk7CiAgICAgLy8gSGF2ZSB0byBhdm9pZCBlbGlkaW5nIG5lc3RlZCBTYXZlL1Jlc3RvcmUgd2hl
biBhIGRlc2NlbmRhbnQgc3RhdGUgY29udGFpbnMgZHJhd2luZyBpdGVtcy4KICAgICBjdXJyZW50
U3RhdGUoKS53YXNVc2VkRm9yRHJhd2luZyB8PSBzdGF0ZVVzZWRGb3JEcmF3aW5nOwogCi0gICAg
aWYgKCFzdGF0ZVVzZWRGb3JEcmF3aW5nICYmIHNhdmVJbmRleCkgewotICAgICAgICAvLyBUaGlz
IFNhdmUvUmVzdG9yZSBkaWRuJ3QgY29udGFpbiBhbnkgZHJhd2luZyBpdGVtcy4gUm9sbCBiYWNr
IHRvIGp1c3QgYmVmb3JlIHRoZSBsYXN0IHNhdmUuCi0gICAgICAgIG1fZGlzcGxheUxpc3QucmVt
b3ZlSXRlbXNGcm9tSW5kZXgoc2F2ZUluZGV4KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQog
ICAgIGFwcGVuZEl0ZW0oUmVzdG9yZTo6Y3JlYXRlKCkpOwotCi0gICAgaWYgKHNhdmVJbmRleCkg
ewotICAgICAgICBTYXZlJiBzYXZlSXRlbSA9IGRvd25jYXN0PFNhdmU+KG1fZGlzcGxheUxpc3Qu
aXRlbUF0KHNhdmVJbmRleCkpOwotICAgICAgICBzYXZlSXRlbS5zZXRSZXN0b3JlSW5kZXgobV9k
aXNwbGF5TGlzdC5pdGVtQ291bnQoKSAtIDEpOwotICAgIH0KIH0KIAogdm9pZCBSZWNvcmRlcjo6
dHJhbnNsYXRlKGZsb2F0IHgsIGZsb2F0IHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVj
b3JkZXIuaAppbmRleCBiZjZjYTU1YTljYTVlMTQzNjE0MTNhZmZlMmEzOGMwOTg5ZGYzNDdkLi5j
MjljMWZlMTRhMTc5MjNmOWJlMDkwNjYwYzg0NjFhOTkwYzdmOWZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNv
cmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKQEAgLTE0NSw3ICsxNDUsNiBAQCBwcml2YXRlOgogICAg
ICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZUNoYW5nZSBzdGF0ZUNoYW5nZTsKICAgICAgICAgR3Jh
cGhpY3NDb250ZXh0U3RhdGUgbGFzdERyYXdpbmdTdGF0ZTsKICAgICAgICAgYm9vbCB3YXNVc2Vk
Rm9yRHJhd2luZyB7IGZhbHNlIH07Ci0gICAgICAgIHNpemVfdCBzYXZlSXRlbUluZGV4IHsgMCB9
OwogICAgICAgICAKICAgICAgICAgQ29udGV4dFN0YXRlKGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0
YXRlJiBzdGF0ZSwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0sIGNvbnN0IEZsb2F0
UmVjdCYgY2xpcCkKICAgICAgICAgICAgIDogY3RtKHRyYW5zZm9ybSkKQEAgLTE1NCwxMSArMTUz
LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIHsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAg
Q29udGV4dFN0YXRlIGNsb25lRm9yU2F2ZShzaXplX3Qgc2F2ZUluZGV4KSBjb25zdAorICAgICAg
ICBDb250ZXh0U3RhdGUgY2xvbmVGb3JTYXZlKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAg
ICAgQ29udGV4dFN0YXRlIHN0YXRlKGxhc3REcmF3aW5nU3RhdGUsIGN0bSwgY2xpcEJvdW5kcyk7
CiAgICAgICAgICAgICBzdGF0ZS5zdGF0ZUNoYW5nZSA9IHN0YXRlQ2hhbmdlOwotICAgICAgICAg
ICAgc3RhdGUuc2F2ZUl0ZW1JbmRleCA9IHNhdmVJbmRleDsKICAgICAgICAgICAgIHJldHVybiBz
dGF0ZTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDM3MmIzYTU2ZWRjZjlhNjZhYmFjOTUyYzk1MzA1
OWNhMWE3MTc1Yi4uMjQxZTM3NmU4NGRmM2NkY2UxNmUyMzJhMzgzODRlMDJjOGE0OGIzOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAzLTA1ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91
aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHRoZSBvcHRpbWl6YXRpb24gZm9y
IGRpc2NhcmRpbmcgbm8gb3BlcmF0aW9uIERpc3BsYXlMaXN0IGl0ZW1zIGJldHdlZW4gU2F2ZSBh
bmQgUmVzdG9yZSBpdGVtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA4NjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisg
ICAgICAgIFJlLWJhc2VsaW5lIHRoZSBEaXNwbGF5TGlzdCB0ZXN0cy4KKworICAgICAgICAqIGRp
c3BsYXlsaXN0cy9jYW52YXMtZGlzcGxheS1saXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBk
aXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXNoYWRvdy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZGlzcGxheWxpc3RzL2V4dGVudC1pbmNsdWRlcy10cmFuc2Zvcm1zLWV4cGVjdGVkLnR4dDoK
KwogMjAyMC0wMy0wNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtMRkNdW0ludmFsaWRhdGlvbl0gSW5jb21pbmcgaW1hZ2UgZGF0YSBzaG91bGQgaW52YWxpZGF0
ZSBsYXlvdXQgdHJlZSBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9kaXNwbGF5bGlz
dHMvY2FudmFzLWRpc3BsYXktbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9kaXNwbGF5
bGlzdHMvY2FudmFzLWRpc3BsYXktbGlzdC1leHBlY3RlZC50eHQKaW5kZXggMzRjODdiOWIwNDI5
NDU1YTliZjExNDFjNmJmYjM5NzFjNzUyMGI4Zi4uZjU2Y2E2ZGU2N2VmM2VlNGFlOTBjZTY0YWQ5
MGQyMjY5YmY0NzhhNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZGlzcGxheWxpc3RzL2NhbnZh
cy1kaXNwbGF5LWxpc3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Rpc3BsYXlsaXN0
cy9jYW52YXMtZGlzcGxheS1saXN0LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDUgQEAKICAKLShz
YXZlCi0gIChyZXN0b3JlLWluZGV4IDApKQorKHNhdmUpCiAoc2V0LXN0YXRlCiAgIChjaGFuZ2Ut
ZmxhZ3MgMTA1MDkxMikKICAgKHN0cm9rZS10aGlja25lc3MgMS4wMCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Rpc3BsYXlsaXN0cy9leHRlbnQtaW5jbHVkZXMtc2hhZG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Rpc3BsYXlsaXN0cy9leHRlbnQtaW5jbHVkZXMtc2hhZG93LWV4cGVj
dGVkLnR4dAppbmRleCBkZTY5OGFlNjRkYjYyYzZjNDlhMjJlMGJiOWVmYzY1NzM0OGViZmM4Li43
NzcwYmY0Nzg0YmU5ZGQwZDg3NTIyYTE2YWY4OWQ4OWEyNDFhYTg0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9kaXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXNoYWRvdy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZGlzcGxheWxpc3RzL2V4dGVudC1pbmNsdWRlcy1zaGFkb3ctZXhw
ZWN0ZWQudHh0CkBAIC0yLDggKzIsNyBAQAogKHRyYW5zbGF0ZQogICAoeCAwLjAwKQogICAoeSAw
LjAwKSkKLShzYXZlCi0gIChyZXN0b3JlLWluZGV4IDQpKQorKHNhdmUpCiAoc2V0LXN0YXRlCiAg
IChjaGFuZ2UtZmxhZ3MgMTAyNCkKICAgKHNoYWRvdy1ibHVyIDEyLjAwKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZGlzcGxheWxpc3RzL2V4dGVudC1pbmNsdWRlcy10cmFuc2Zvcm1zLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Rpc3BsYXlsaXN0cy9leHRlbnQtaW5jbHVkZXMtdHJhbnNm
b3Jtcy1leHBlY3RlZC50eHQKaW5kZXggMmVkNmE4M2NhYzJjZmE4MmI0MTJlYWJkMGRkMzM0MDVi
NjEyODQ0OS4uM2U0NDZmYmVhZjU1MDgxOGFlYjQwNzhiY2MyMjlkOGJlYmI3NWFmMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZGlzcGxheWxpc3RzL2V4dGVudC1pbmNsdWRlcy10cmFuc2Zvcm1z
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9kaXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1
ZGVzLXRyYW5zZm9ybXMtZXhwZWN0ZWQudHh0CkBAIC00LDggKzQsNyBAQAogICAoeSAyMi4wMCkp
CiAoY29uY2F0ZW50YXRlLWN0bQogICAoY3RtIHttPSgoMC44NywwLjUwKSgtMC41MCwwLjg3KSkg
dD0oODEuNzAsLTE4LjMwKX0pKQotKHNhdmUKLSAgKHJlc3RvcmUtaW5kZXggNSkpCisoc2F2ZSkK
IChzZXQtc3RhdGUKICAgKGNoYW5nZS1mbGFncyAxMDI0KQogICAoc2hhZG93LWJsdXIgMTIuMDAp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>