<?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>210565</bug_id>
          
          <creation_ts>2020-04-15 13:19:45 -0700</creation_ts>
          <short_desc>Lay the groundwork for SynchronousScrollingReason on overflow nodes</short_desc>
          <delta_ts>2020-04-17 10:15:05 -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>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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1641932</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-15 13:19:45 -0700</bug_when>
    <thetext>Lay the groundwork for SynchronousScrollingReason on overflow nodes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641936</commentid>
    <comment_count>1</comment_count>
      <attachid>396565</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-15 13:22:30 -0700</bug_when>
    <thetext>Created attachment 396565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641939</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-15 13:22:51 -0700</bug_when>
    <thetext>&lt;rdar://problem/61844701&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642726</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-17 10:15:05 -0700</bug_when>
    <thetext>http://trac.webkit.org/r260163</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396565</attachid>
            <date>2020-04-15 13:22:30 -0700</date>
            <delta_ts>2020-04-15 13:29:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210565-20200415132229.patch</filename>
            <type>text/plain</type>
            <size>20662</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTJlMWY5YjMzZWE1MWQ2
NDEyMDkwNmUyNjkzZGVhNDNjNDAzZWNlYi4uNDU4MzYzMDBiMzkxNTkwY2YyMjdiNTU0YzhkNjQ2
MGFkNmViN2JiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTA0LTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIExheSB0aGUgZ3Jv
dW5kd29yayBmb3IgU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb24gb24gb3ZlcmZsb3cgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDU2NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2Ugc2V0
U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKCkgcHVibGljIG9uIFNjcm9sbGluZ0Nvb3JkaW5h
dG9yIGJlY2F1c2Ugd2UncmUgZ29pbmcKKyAgICAgICAgdG8gYmUgY2FsbGluZyBpdCBmb3Igb3Zl
cmZsb3cgc2Nyb2xsaW5nIG5vZGVzLgorICAgICAgICAKKyAgICAgICAgQ2FsbCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2xvd1JlcGFpbnRPYmplY3RzRGlkQ2hhbmdlKCkgbm90IGp1c3Qgd2hlbiB3
ZSBnbyBiZXR3ZWVuIAorICAgICAgICBub25lIHNvbWUgc29tZSBzbG93LXJlcGFpbnQgb2JqZWN0
cywgYnV0IHdoZW5ldmVyIHRoZSBzZXQgY2hhbmdlcy4gc2xvd1JlcGFpbnRPYmplY3RzRGlkQ2hh
bmdlKCkKKyAgICAgICAgaXMgbGlnaHR3ZWlnaHQuCisKKyAgICAgICAgTWlub3IgY2xlYW51cCBp
biBGcmFtZVZpZXcgdG8gYXZvaWQgdGVzdGluZyBQYWdlKiBudWxsbmVzcyBldmVyeSB0aW1lLgor
CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpwcmVwYXJlRm9yRGV0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6aXNT
Y3JvbGxTbmFwSW5Qcm9ncmVzcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnVzZXNBc3luY1Njcm9sbGluZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmFkZFNsb3dSZXBhaW50T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVt
b3ZlU2xvd1JlcGFpbnRPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjphZGRW
aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
cmVtb3ZlVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OnNjcm9sbGluZ0Nvb3JkaW5hdG9yIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6c2hvdWxkVXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclNjcm9sbGluZyBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmlzUnViYmVyQmFuZEluUHJvZ3Jlc3Mg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXF1ZXN0U2Nyb2xsUG9zaXRp
b25VcGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXRPclZpc3VhbFZp
ZXdwb3J0Q2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0
TGF5b3V0VGFza3MpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxhYmxlQXJl
YVNldENoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp3aGVlbEV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0U2Nyb2xsUGlubmluZ0JlaGF2aW9yKToK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpzbG93UmVwYWludE9iamVjdHNEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0ZvckZyYW1l
VmlldyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBk
YXRlU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ0Nvb3JkaW5hdG9yOjpzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25v
dXNseSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6c3lu
Y2hyb25vdXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpmcmFtZVZpZXdIYXNTbG93UmVwYWludE9iamVjdHNEaWRD
aGFuZ2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OnN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVCYWNraW5nKToKKwogMjAyMC0w
NC0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBb
QXN5bmMgb3ZlcmZsb3cgc2Nyb2xsXSBCYWNrZ3JvdW5kcyBtaXNzaW5nIG9uIGdtYWlsIHNvbWV0
aW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGQ1NDY0YTM3ZWM1MmQ0NjY3MTNk
ZGQwODNhMmNhYTA0MDJhMGQyYjEuLjNjOWE2YWVjNGJjMGU1MDUxYzQzNTAwMDAwOGM0OTdjMzdh
NmIwM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTMzMSwxMCArMzMxLDggQEAg
dm9pZCBGcmFtZVZpZXc6OnByZXBhcmVGb3JEZXRhY2goKQogICAgIC8vIHJpZ2h0IG5vdywgb3Ro
ZXJ3aXNlIGl0IHdvbid0IGJlIGFibGUgdG8gcmVhY2ggdGhlIHRvcERvY3VtZW50KCkncyBheE9i
amVjdCBjYWNoZSBsYXRlci4KICAgICByZW1vdmVGcm9tQVhPYmplY3RDYWNoZSgpOwogCi0gICAg
aWYgKGZyYW1lKCkucGFnZSgpKSB7Ci0gICAgICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciog
c2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBmcmFtZSgpLnBhZ2UoKS0+c2Nyb2xsaW5nQ29vcmRpbmF0
b3IoKSkKLSAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT53aWxsRGVzdHJveVNjcm9s
bGFibGVBcmVhKCp0aGlzKTsKLSAgICB9CisgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICBzY3JvbGxpbmdDb29y
ZGluYXRvci0+d2lsbERlc3Ryb3lTY3JvbGxhYmxlQXJlYSgqdGhpcyk7CiB9CiAKIHZvaWQgRnJh
bWVWaWV3OjpkZXRhY2hDdXN0b21TY3JvbGxiYXJzKCkKQEAgLTk0MSwxMSArOTM5LDkgQEAgYm9v
bCBGcmFtZVZpZXc6OmlzU2Nyb2xsU25hcEluUHJvZ3Jlc3MoKSBjb25zdAogICAgIAogICAgIC8v
IElmIHRoZSBzY3JvbGxpbmcgdGhyZWFkIHVwZGF0ZXMgdGhlIHNjcm9sbCBwb3NpdGlvbiBmb3Ig
dGhpcyBGcmFtZVZpZXcsIHRoZW4gd2Ugc2hvdWxkIHJldHVybgogICAgIC8vIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkuCi0gICAgaWYgKFBhZ2UqIHBhZ2Ug
PSBmcmFtZSgpLnBhZ2UoKSkgewotICAgICAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNj
cm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkgewotICAg
ICAgICAgICAgaWYgKCFzY3JvbGxpbmdDb29yZGluYXRvci0+c2hvdWxkVXBkYXRlU2Nyb2xsTGF5
ZXJQb3NpdGlvblN5bmNocm9ub3VzbHkoKnRoaXMpKQotICAgICAgICAgICAgICAgIHJldHVybiBz
Y3JvbGxpbmdDb29yZGluYXRvci0+aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpOwotICAgICAgICB9
CisgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29y
ZGluYXRvcigpKSB7CisgICAgICAgIGlmICghc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNob3VsZFVw
ZGF0ZVNjcm9sbExheWVyUG9zaXRpb25TeW5jaHJvbm91c2x5KCp0aGlzKSkKKyAgICAgICAgICAg
IHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+aXNTY3JvbGxTbmFwSW5Qcm9ncmVzcygpOwog
ICAgIH0KICAgICAKICAgICAvLyBJZiB0aGUgbWFpbiB0aHJlYWQgdXBkYXRlcyB0aGUgc2Nyb2xs
IHBvc2l0aW9uIGZvciB0aGlzIEZyYW1lVmlldywgd2Ugc2hvdWxkIHJldHVybgpAQCAtMTQwNSwx
MCArMTQwMSw4IEBAIGJvb2wgRnJhbWVWaWV3Ojp1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNv
bnN0CiBib29sIEZyYW1lVmlldzo6dXNlc0FzeW5jU2Nyb2xsaW5nKCkgY29uc3QKIHsKICNpZiBF
TkFCTEUoQVNZTkNfU0NST0xMSU5HKQotICAgIGlmIChQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdl
KCkpIHsKLSAgICAgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGlu
YXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCi0gICAgICAgICAgICByZXR1cm4g
c2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJhbWVWaWV3KCp0
aGlzKTsKLSAgICB9CisgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5z
Y3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRpbmF0
b3ItPmNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJhbWVWaWV3KCp0aGlzKTsKICNlbmRpZgogICAg
IHJldHVybiBmYWxzZTsKIH0KQEAgLTE0ODMsMTYgKzE0NzcsMTYgQEAgdm9pZCBGcmFtZVZpZXc6
OmFkZFNsb3dSZXBhaW50T2JqZWN0KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgIGlmICgh
bV9zbG93UmVwYWludE9iamVjdHMpCiAgICAgICAgIG1fc2xvd1JlcGFpbnRPYmplY3RzID0gbWFr
ZVVuaXF1ZTxXZWFrSGFzaFNldDxSZW5kZXJFbGVtZW50Pj4oKTsKIAotICAgIG1fc2xvd1JlcGFp
bnRPYmplY3RzLT5hZGQocmVuZGVyZXIpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9zbG93UmVw
YWludE9iamVjdHMtPmFkZChyZW5kZXJlcik7CisgICAgaWYgKGFkZFJlc3VsdC5pc05ld0VudHJ5
KSB7CisgICAgICAgIGlmIChhdXRvIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xs
aW5nQ29vcmRpbmF0b3IoKSkKKyAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zbG93
UmVwYWludE9iamVjdHNEaWRDaGFuZ2UoKnRoaXMpOworICAgIH0KKwogICAgIGlmIChoYWRTbG93
UmVwYWludE9iamVjdHMpCiAgICAgICAgIHJldHVybjsKIAogICAgIHVwZGF0ZUNhbkJsaXRPblNj
cm9sbFJlY3Vyc2l2ZWx5KCk7Ci0KLSAgICBpZiAoYXV0byogcGFnZSA9IGZyYW1lKCkucGFnZSgp
KSB7Ci0gICAgICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9s
bGluZ0Nvb3JkaW5hdG9yKCkpCi0gICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+ZnJh
bWVWaWV3SGFzU2xvd1JlcGFpbnRPYmplY3RzRGlkQ2hhbmdlKCp0aGlzKTsKLSAgICB9CiB9CiAK
IHZvaWQgRnJhbWVWaWV3OjpyZW1vdmVTbG93UmVwYWludE9iamVjdChSZW5kZXJFbGVtZW50JiBy
ZW5kZXJlcikKQEAgLTE1MDAsMTcgKzE0OTQsMTcgQEAgdm9pZCBGcmFtZVZpZXc6OnJlbW92ZVNs
b3dSZXBhaW50T2JqZWN0KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgIGlmICghbV9zbG93
UmVwYWludE9iamVjdHMpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fc2xvd1JlcGFpbnRPYmpl
Y3RzLT5yZW1vdmUocmVuZGVyZXIpOworICAgIGJvb2wgcmVtb3ZlZCA9IG1fc2xvd1JlcGFpbnRP
YmplY3RzLT5yZW1vdmUocmVuZGVyZXIpOworICAgIGlmIChyZW1vdmVkKSB7CisgICAgICAgIGlm
IChhdXRvIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5nQ29vcmRpbmF0b3Io
KSkKKyAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zbG93UmVwYWludE9iamVjdHNE
aWRDaGFuZ2UoKnRoaXMpOworICAgIH0KKwogICAgIGlmICghbV9zbG93UmVwYWludE9iamVjdHMt
PmNvbXB1dGVzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9zbG93UmVwYWludE9i
amVjdHMgPSBudWxscHRyOwogICAgIHVwZGF0ZUNhbkJsaXRPblNjcm9sbFJlY3Vyc2l2ZWx5KCk7
Ci0KLSAgICBpZiAoYXV0byogcGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7Ci0gICAgICAgIGlmIChh
dXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkp
Ci0gICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+ZnJhbWVWaWV3SGFzU2xvd1JlcGFp
bnRPYmplY3RzRGlkQ2hhbmdlKCp0aGlzKTsKLSAgICB9CiB9CiAKIHZvaWQgRnJhbWVWaWV3Ojph
ZGRWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0KFJlbmRlckxheWVyTW9kZWxPYmplY3QmIG9iamVj
dCkKQEAgLTE1MjMsMjAgKzE1MTcsMTYgQEAgdm9pZCBGcmFtZVZpZXc6OmFkZFZpZXdwb3J0Q29u
c3RyYWluZWRPYmplY3QoUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgb2JqZWN0KQogICAgICAgICBp
ZiAocGxhdGZvcm1XaWRnZXQoKSkKICAgICAgICAgICAgIHVwZGF0ZUNhbkJsaXRPblNjcm9sbFJl
Y3Vyc2l2ZWx5KCk7CiAKLSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkg
ewotICAgICAgICAgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGlu
YXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCi0gICAgICAgICAgICAgICAgc2Ny
b2xsaW5nQ29vcmRpbmF0b3ItPmZyYW1lVmlld0ZpeGVkT2JqZWN0c0RpZENoYW5nZSgqdGhpcyk7
Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlz
LT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0
b3ItPmZyYW1lVmlld0ZpeGVkT2JqZWN0c0RpZENoYW5nZSgqdGhpcyk7CiAgICAgfQogfQogCiB2
b2lkIEZyYW1lVmlldzo6cmVtb3ZlVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdChSZW5kZXJMYXll
ck1vZGVsT2JqZWN0JiBvYmplY3QpCiB7CiAgICAgaWYgKG1fdmlld3BvcnRDb25zdHJhaW5lZE9i
amVjdHMgJiYgbV92aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cy0+cmVtb3ZlKG9iamVjdCkpIHsK
LSAgICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkgewotICAgICAgICAgICAg
aWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNj
cm9sbGluZ0Nvb3JkaW5hdG9yKCkpCi0gICAgICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0
b3ItPmZyYW1lVmlld0ZpeGVkT2JqZWN0c0RpZENoYW5nZSgqdGhpcyk7Ci0gICAgICAgIH0KKyAg
ICAgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29y
ZGluYXRvcigpKQorICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmZyYW1lVmlld0Zp
eGVkT2JqZWN0c0RpZENoYW5nZSgqdGhpcyk7CiAKICAgICAgICAgLy8gRklYTUU6IEluIGFkZEZp
eGVkT2JqZWN0KCkgd2Ugb25seSBjYWxsIHRoaXMgaWYgdGhlcmUncyBhIHBsYXRmb3JtIHdpZGdl
dCwKICAgICAgICAgLy8gd2h5IGlzbid0IHRoZSBzYW1lIGNoZWNrIGJlaW5nIG1hZGUgaGVyZT8K
QEAgLTI1NjQsNiArMjU1NCwxMSBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlTGF5ZXJQb3NpdGlv
bnNBZnRlclNjcm9sbGluZygpCiAgICAgfQogfQogCitTY3JvbGxpbmdDb29yZGluYXRvciogRnJh
bWVWaWV3OjpzY3JvbGxpbmdDb29yZGluYXRvcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZyYW1l
KCkucGFnZSgpID8gZnJhbWUoKS5wYWdlKCktPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkgOiBudWxs
cHRyOworfQorCiBib29sIEZyYW1lVmlldzo6c2hvdWxkVXBkYXRlQ29tcG9zaXRpbmdMYXllcnNB
ZnRlclNjcm9sbGluZygpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKQEAg
LTI1NzYsNyArMjU3MSw3IEBAIGJvb2wgRnJhbWVWaWV3OjpzaG91bGRVcGRhdGVDb21wb3NpdGlu
Z0xheWVyc0FmdGVyU2Nyb2xsaW5nKCkgY29uc3QKICAgICBpZiAoJnBhZ2UtPm1haW5GcmFtZSgp
ICE9IG1fZnJhbWUucHRyKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgU2Nyb2xsaW5n
Q29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29vcmRp
bmF0b3IoKTsKKyAgICBhdXRvIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gdGhpcy0+c2Nyb2xsaW5n
Q29vcmRpbmF0b3IoKTsKICAgICBpZiAoIXNjcm9sbGluZ0Nvb3JkaW5hdG9yKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIApAQCAtMjYxMSwxMSArMjYwNiw5IEBAIGJvb2wgRnJhbWVWaWV3Ojppc1J1
YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3QKIAogICAgIC8vIElmIHRoZSBzY3JvbGxpbmcgdGhy
ZWFkIHVwZGF0ZXMgdGhlIHNjcm9sbCBwb3NpdGlvbiBmb3IgdGhpcyBGcmFtZVZpZXcsIHRoZW4g
d2Ugc2hvdWxkIHJldHVybgogICAgIC8vIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjppc1J1YmJlckJh
bmRJblByb2dyZXNzKCkuCi0gICAgaWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkgewot
ICAgICAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0g
cGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSkgewotICAgICAgICAgICAgaWYgKCFzY3JvbGxp
bmdDb29yZGluYXRvci0+c2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvblN5bmNocm9ub3Vz
bHkoKnRoaXMpKQotICAgICAgICAgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+
aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpOwotICAgICAgICB9CisgICAgaWYgKGF1dG8gc2Nyb2xs
aW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKSB7CisgICAgICAg
IGlmICghc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRp
b25TeW5jaHJvbm91c2x5KCp0aGlzKSkKKyAgICAgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29y
ZGluYXRvci0+aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcygpOwogICAgIH0KIAogICAgIC8vIElmIHRo
ZSBtYWluIHRocmVhZCB1cGRhdGVzIHRoZSBzY3JvbGwgcG9zaXRpb24gZm9yIHRoaXMgRnJhbWVW
aWV3LCB3ZSBzaG91bGQgcmV0dXJuCkBAIC0yNjM2LDEwICsyNjI5LDggQEAgYm9vbCBGcmFtZVZp
ZXc6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBTY3JvbGxQb3NpdGlvbiYgcG9z
aXRpb24sIFNjcm8KICNlbmRpZgogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykgfHwgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQotICAgIGlmIChQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdl
KCkpIHsKLSAgICAgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGlu
YXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCi0gICAgICAgICAgICByZXR1cm4g
c2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZSgqdGhpcywg
cG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKLSAgICB9CisgICAgaWYgKGF1dG8gc2Ny
b2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAg
ICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0
ZSgqdGhpcywgcG9zaXRpb24sIHNjcm9sbFR5cGUsIGNsYW1waW5nKTsKICNlbHNlCiAgICAgVU5V
U0VEX1BBUkFNKHBvc2l0aW9uKTsKICNlbmRpZgpAQCAtMjgxMSwxMCArMjgwMiw4IEBAIHZvaWQg
RnJhbWVWaWV3OjpsYXlvdXRPclZpc3VhbFZpZXdwb3J0Q2hhbmdlZCgpCiAgICAgaWYgKGF1dG8q
IHdpbmRvdyA9IGZyYW1lKCkud2luZG93KCkpCiAgICAgICAgIHdpbmRvdy0+dmlzdWFsVmlld3Bv
cnQoKS51cGRhdGUoKTsKIAotICAgIGlmIChhdXRvKiBwYWdlID0gZnJhbWUoKS5wYWdlKCkpIHsK
LSAgICAgICAgaWYgKGF1dG8qIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5n
Q29vcmRpbmF0b3IoKSkKLSAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5mcmFtZVZp
ZXdWaXN1YWxWaWV3cG9ydENoYW5nZWQoKnRoaXMpOwotICAgIH0KKyAgICBpZiAoYXV0byBzY3Jv
bGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCisgICAgICAg
IHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5mcmFtZVZpZXdWaXN1YWxWaWV3cG9ydENoYW5nZWQoKnRo
aXMpOwogfQogCiB2b2lkIEZyYW1lVmlldzo6dW5vYnNjdXJlZENvbnRlbnRTaXplQ2hhbmdlZCgp
CkBAIC0zMzE0LDEwICszMzAzLDggQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0TGF5b3V0
VGFza3MoKQogI2VuZGlmCiAgICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdGFydE9u
ZVNob3QoMF9zKTsKIAotICAgIGlmIChhdXRvKiBwYWdlID0gZnJhbWUoKS5wYWdlKCkpIHsKLSAg
ICAgICAgaWYgKGF1dG8qIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29v
cmRpbmF0b3IoKSkKLSAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5mcmFtZVZpZXdM
YXlvdXRVcGRhdGVkKCp0aGlzKTsKLSAgICB9CisgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRp
bmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICBzY3JvbGxpbmdD
b29yZGluYXRvci0+ZnJhbWVWaWV3TGF5b3V0VXBkYXRlZCgqdGhpcyk7CiAKICAgICBpZiAoUmVu
ZGVyVmlldyogcmVuZGVyVmlldyA9IHRoaXMtPnJlbmRlclZpZXcoKSkgewogICAgICAgICBpZiAo
cmVuZGVyVmlldy0+dXNlc0NvbXBvc2l0aW5nKCkpCkBAIC01MDM4LDEwICs1MDI1LDggQEAgYm9v
bCBGcmFtZVZpZXc6OmNvbnRhaW5zU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqIHNjcm9s
bGFibGVBcmVhKSBjb25zdAogCiB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsYWJsZUFyZWFTZXRDaGFu
Z2VkKCkKIHsKLSAgICBpZiAoYXV0byogcGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7Ci0gICAgICAg
IGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5h
dG9yKCkpCi0gICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+ZnJhbWVWaWV3RXZlbnRU
cmFja2luZ1JlZ2lvbnNDaGFuZ2VkKCp0aGlzKTsKLSAgICB9CisgICAgaWYgKGF1dG8gc2Nyb2xs
aW5nQ29vcmRpbmF0b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQorICAgICAgICBz
Y3JvbGxpbmdDb29yZGluYXRvci0+ZnJhbWVWaWV3RXZlbnRUcmFja2luZ1JlZ2lvbnNDaGFuZ2Vk
KCp0aGlzKTsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnNlbmRTY3JvbGxFdmVudCgpCkBAIC01MDk3
LDExICs1MDgyLDkgQEAgYm9vbCBGcmFtZVZpZXc6OndoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICNpZiBFTkFC
TEUoQVNZTkNfU0NST0xMSU5HKQotICAgIGlmIChQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCkp
IHsKLSAgICAgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRv
ciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpIHsKLSAgICAgICAgICAgIGlmIChzY3Jv
bGxpbmdDb29yZGluYXRvci0+Y29vcmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFtZVZpZXcoKnRoaXMp
KQotICAgICAgICAgICAgICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+aGFuZGxlV2hl
ZWxFdmVudCgqdGhpcywgd2hlZWxFdmVudCkgIT0gU2Nyb2xsaW5nRXZlbnRSZXN1bHQ6OkRpZE5v
dEhhbmRsZUV2ZW50OwotICAgICAgICB9CisgICAgaWYgKGF1dG8gc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSB0aGlzLT5zY3JvbGxpbmdDb29yZGluYXRvcigpKSB7CisgICAgICAgIGlmIChzY3JvbGxp
bmdDb29yZGluYXRvci0+Y29vcmRpbmF0ZXNTY3JvbGxpbmdGb3JGcmFtZVZpZXcoKnRoaXMpKQor
ICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5oYW5kbGVXaGVlbEV2ZW50
KCp0aGlzLCB3aGVlbEV2ZW50KSAhPSBTY3JvbGxpbmdFdmVudFJlc3VsdDo6RGlkTm90SGFuZGxl
RXZlbnQ7CiAgICAgfQogI2VuZGlmCiAKQEAgLTUzMDMsMTAgKzUyODYsOCBAQCB2b2lkIEZyYW1l
Vmlldzo6c2V0U2Nyb2xsUGlubmluZ0JlaGF2aW9yKFNjcm9sbFBpbm5pbmdCZWhhdmlvciBwaW5u
aW5nKQogewogICAgIG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yID0gcGlubmluZzsKICAgICAKLSAg
ICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7Ci0gICAgICAgIGlmIChhdXRvKiBz
Y3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCi0gICAg
ICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+c2V0U2Nyb2xsUGlubmluZ0JlaGF2aW9yKHBp
bm5pbmcpOwotICAgIH0KKyAgICBpZiAoYXV0byBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRoaXMt
PnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCisgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5z
ZXRTY3JvbGxQaW5uaW5nQmVoYXZpb3IocGlubmluZyk7CiAgICAgCiAgICAgdXBkYXRlU2Nyb2xs
YmFycyhzY3JvbGxQb3NpdGlvbigpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDBh
MGQwYTIwM2FkZmYyYWUyYmU1NmQyNGQwYmJmNGUxMWQ3ZjMyNzMuLmQwYzQzZDdiMjMwNTI1NDRi
ZDk5MDUyZmRkY2Y0YmI2YjU3YmNiMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtNzIs
NiArNzIsNyBAQCBjbGFzcyBSZW5kZXJTY3JvbGxiYXJQYXJ0OwogY2xhc3MgUmVuZGVyU3R5bGU7
CiBjbGFzcyBSZW5kZXJWaWV3OwogY2xhc3MgUmVuZGVyV2lkZ2V0OworY2xhc3MgU2Nyb2xsaW5n
Q29vcmRpbmF0b3I7CiAKIGVudW0gY2xhc3MgRnJhbWVGbGF0dGVuaW5nOwogCkBAIC02OTgsNiAr
Njk5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZUNhbkJsaXRPblNjcm9sbFJlY3Vyc2l2
ZWx5KCk7CiAgICAgYm9vbCBzaG91bGRMYXlvdXRBZnRlckNvbnRlbnRzUmVzaXplZCgpIGNvbnN0
OwogCisgICAgU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkgY29u
c3Q7CiAgICAgYm9vbCBzaG91bGRVcGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU2Nyb2xsaW5n
KCkgY29uc3Q7CiAgICAgYm9vbCBmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUoY29u
c3QgRnJhbWUmIHJvb3RGcmFtZUZvckZsdXNoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDdhMmQxODk2
M2U3MzQ3YzVjODY2ZjhkNWNmZGFlOGYzN2JkMGIxYjcuLmExYzIzODVmNjIxNGUwNWE4YzdmMTA4
NGY5OWUxMTAwMzBkYzE1M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTE4OCw3ICsxODgsNyBAQCBFdmVu
dFRyYWNraW5nUmVnaW9ucyBTY3JvbGxpbmdDb29yZGluYXRvcjo6YWJzb2x1dGVFdmVudFRyYWNr
aW5nUmVnaW9ucygpIGNvbnN0CiAgICAgcmV0dXJuIGFic29sdXRlRXZlbnRUcmFja2luZ1JlZ2lv
bnNGb3JGcmFtZShtX3BhZ2UtPm1haW5GcmFtZSgpKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdDb29y
ZGluYXRvcjo6ZnJhbWVWaWV3SGFzU2xvd1JlcGFpbnRPYmplY3RzRGlkQ2hhbmdlKEZyYW1lVmll
dyYgZnJhbWVWaWV3KQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2xvd1JlcGFpbnRPYmpl
Y3RzRGlkQ2hhbmdlKEZyYW1lVmlldyYgZnJhbWVWaWV3KQogewogICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAgICAgQVNTRVJUKG1fcGFnZSk7CkBAIC0zMjcsMTYgKzMyNywxOSBAQCBib29s
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpoYXNWaXNpYmxlU2xvd1JlcGFpbnRWaWV3cG9ydENvbnN0
cmFpbmVkT2JqZWN0cyhjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotT3B0aW9uU2V0PFN5
bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6c3luY2hyb25v
dXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEZyYW1lVmlldyYgZnJhbWVWaWV3KSBjb25zdAorT3B0
aW9uU2V0PFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6
c3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zRm9yRnJhbWVWaWV3KGNvbnN0IEZyYW1lVmlldyYg
ZnJhbWVWaWV3KSBjb25zdAogewogICAgIE9wdGlvblNldDxTeW5jaHJvbm91c1Njcm9sbGluZ1Jl
YXNvbj4gc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zOwogCiAgICAgaWYgKG1fZm9yY2VTeW5j
aHJvbm91c1Njcm9sbExheWVyUG9zaXRpb25VcGRhdGVzKQogICAgICAgICBzeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnMuYWRkKFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uOjpGb3JjZWRPbk1h
aW5UaHJlYWQpOworCiAgICAgaWYgKGZyYW1lVmlldy5oYXNTbG93UmVwYWludE9iamVjdHMoKSkK
ICAgICAgICAgc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zLmFkZChTeW5jaHJvbm91c1Njcm9s
bGluZ1JlYXNvbjo6SGFzU2xvd1JlcGFpbnRPYmplY3RzKTsKKwogICAgIGlmIChoYXNWaXNpYmxl
U2xvd1JlcGFpbnRWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cyhmcmFtZVZpZXcpKQogICAgICAg
ICBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMuYWRkKFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVh
c29uOjpIYXNOb25MYXllclZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzKTsKKwogICAgIGlmIChm
cmFtZVZpZXcuZnJhbWUoKS5tYWluRnJhbWUoKS5kb2N1bWVudCgpICYmIGZyYW1lVmlldy5mcmFt
ZSgpLmRvY3VtZW50KCktPmlzSW1hZ2VEb2N1bWVudCgpKQogICAgICAgICBzeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnMuYWRkKFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uOjpJc0ltYWdlRG9j
dW1lbnQpOwogCkBAIC0zNDYsNyArMzQ5LDcgQEAgT3B0aW9uU2V0PFN5bmNocm9ub3VzU2Nyb2xs
aW5nUmVhc29uPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6c3luY2hyb25vdXNTY3JvbGxpbmcKIHZv
aWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZVN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29u
cyhGcmFtZVZpZXcmIGZyYW1lVmlldykKIHsKICAgICBBU1NFUlQoY29vcmRpbmF0ZXNTY3JvbGxp
bmdGb3JGcmFtZVZpZXcoZnJhbWVWaWV3KSk7Ci0gICAgc2V0U3luY2hyb25vdXNTY3JvbGxpbmdS
ZWFzb25zKGZyYW1lVmlldy5zY3JvbGxpbmdOb2RlSUQoKSwgc3luY2hyb25vdXNTY3JvbGxpbmdS
ZWFzb25zKGZyYW1lVmlldykpOworICAgIHNldFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhm
cmFtZVZpZXcuc2Nyb2xsaW5nTm9kZUlEKCksIHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0Zv
ckZyYW1lVmlldyhmcmFtZVZpZXcpKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6
dXBkYXRlU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zRm9yQWxsRnJhbWVzKCkKQEAgLTM3MSw3
ICszNzQsNyBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRGb3JjZVN5bmNocm9ub3Vz
U2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXMoYm9vbCBmbwogYm9vbCBTY3JvbGxpbmdDb29yZGlu
YXRvcjo6c2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvblN5bmNocm9ub3VzbHkoY29uc3Qg
RnJhbWVWaWV3JiBmcmFtZVZpZXcpIGNvbnN0CiB7CiAgICAgaWYgKCZmcmFtZVZpZXcgPT0gbV9w
YWdlLT5tYWluRnJhbWUoKS52aWV3KCkpCi0gICAgICAgIHJldHVybiAhc3luY2hyb25vdXNTY3Jv
bGxpbmdSZWFzb25zKGZyYW1lVmlldykuaXNFbXB0eSgpOworICAgICAgICByZXR1cm4gIXN5bmNo
cm9ub3VzU2Nyb2xsaW5nUmVhc29uc0ZvckZyYW1lVmlldyhmcmFtZVZpZXcpLmlzRW1wdHkoKTsK
ICAgICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTQxMCw3ICs0MTMsNyBAQCBTdHJpbmcgU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OnN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0FzVGV4dChPcHRp
b25TZXQ8U3luY2hybwogU3RyaW5nIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnNBc1RleHQoKSBjb25zdAogewogICAgIGlmIChhdXRvKiBmcmFtZVZpZXcg
PSBtX3BhZ2UtPm1haW5GcmFtZSgpLnZpZXcoKSkKLSAgICAgICAgcmV0dXJuIHN5bmNocm9ub3Vz
U2Nyb2xsaW5nUmVhc29uc0FzVGV4dChzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKmZyYW1l
VmlldykpOworICAgICAgICByZXR1cm4gc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0
KHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0ZvckZyYW1lVmlldygqZnJhbWVWaWV3KSk7CiAK
ICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCAwMGM2OTY3MjM4ZjQ5NzI2ZmFi
NDRjNmQ4MjEwOGViMWNlYzg5NmVlLi5jOGUyNGNhM2ZhZWRiZGU2N2ZlNDE2MjFkZjUxM2I2Zjg3
MGI4ZWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTkzLDggKzkzLDggQEAgcHVibGljOgogICAgIHVzaW5nIExh
eW91dFZpZXdwb3J0T3JpZ2luT3JPdmVycmlkZVJlY3QgPSBXVEY6OlZhcmlhbnQ8T3B0aW9uYWw8
RmxvYXRQb2ludD4sIE9wdGlvbmFsPEZsb2F0UmVjdD4+OwogICAgIHZpcnR1YWwgdm9pZCByZWNv
bmNpbGVTY3JvbGxpbmdTdGF0ZShGcmFtZVZpZXcmLCBjb25zdCBGbG9hdFBvaW50JiwgY29uc3Qg
TGF5b3V0Vmlld3BvcnRPcmlnaW5Pck92ZXJyaWRlUmVjdCYsIFNjcm9sbFR5cGUsIFZpZXdwb3J0
UmVjdFN0YWJpbGl0eSwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbikgeyB9CiAKLSAgICAv
LyBTaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBzbG93IHJlcGFpbnQgb2JqZWN0cyBjb3Vu
dGVyIGNoYW5nZXMgYmV0d2VlbiB6ZXJvIGFuZCBvbmUuCi0gICAgdm9pZCBmcmFtZVZpZXdIYXNT
bG93UmVwYWludE9iamVjdHNEaWRDaGFuZ2UoRnJhbWVWaWV3Jik7CisgICAgLy8gU2hvdWxkIGJl
IGNhbGxlZCB3aGVuZXZlciB0aGUgc2xvdyByZXBhaW50IG9iamVjdHMgc2V0IGNoYW5nZXMuCisg
ICAgdm9pZCBzbG93UmVwYWludE9iamVjdHNEaWRDaGFuZ2UoRnJhbWVWaWV3Jik7CiAKICAgICAv
LyBTaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSBzZXQgb2YgZml4ZWQgb2JqZWN0cyBjaGFu
Z2VzLgogICAgIHZvaWQgZnJhbWVWaWV3Rml4ZWRPYmplY3RzRGlkQ2hhbmdlKEZyYW1lVmlldyYp
OwpAQCAtMTU3LDYgKzE1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Vmlld3Bv
cnRDb25zdHJhaW50ZWROb2RlQ29uc3RyYWludHMoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBWaWV3
cG9ydENvbnN0cmFpbnRzJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldFBvc2l0aW9uZWROb2Rl
Q29uc3RyYWludHMoU2Nyb2xsaW5nTm9kZUlELCBjb25zdCBBYnNvbHV0ZVBvc2l0aW9uQ29uc3Ry
YWludHMmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVsYXRlZE92ZXJmbG93U2Nyb2xsaW5n
Tm9kZXMoU2Nyb2xsaW5nTm9kZUlELCBWZWN0b3I8U2Nyb2xsaW5nTm9kZUlEPiYmKSB7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGluZ05v
ZGVJRCwgT3B0aW9uU2V0PFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uPikgeyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgcmVjb25jaWxlVmlld3BvcnRDb25zdHJhaW5lZExheWVyUG9zaXRpb25zKFNj
cm9sbGluZ05vZGVJRCwgY29uc3QgTGF5b3V0UmVjdCYsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25B
Y3Rpb24pIHsgfQogICAgIHZpcnR1YWwgU3RyaW5nIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dChT
Y3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvciA9IFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4
dEJlaGF2aW9yTm9ybWFsKSBjb25zdDsKQEAgLTE2OCw3ICsxNjksNiBAQCBwdWJsaWM6CiAgICAg
Ly8gR2VuZXJhdGVkIGEgdW5pcXVlIGlkIGZvciBzY3JvbGxpbmcgbm9kZXMuCiAgICAgU2Nyb2xs
aW5nTm9kZUlEIHVuaXF1ZVNjcm9sbGluZ05vZGVJRCgpOwogCi0gICAgT3B0aW9uU2V0PFN5bmNo
cm9ub3VzU2Nyb2xsaW5nUmVhc29uPiBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoY29uc3Qg
RnJhbWVWaWV3JikgY29uc3Q7CiAgICAgYm9vbCBzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0
aW9uU3luY2hyb25vdXNseShjb25zdCBGcmFtZVZpZXcmKSBjb25zdDsKIAogICAgIHZpcnR1YWwg
dm9pZCB3aWxsRGVzdHJveVNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJikgeyB9CkBAIC0y
MDAsOSArMjAwLDkgQEAgcHJvdGVjdGVkOgogICAgIFBhZ2UqIG1fcGFnZTsgLy8gRklYTUU6IGlk
ZWFsbHkgdGhpcyB3b3VsZCBiZSBhIHJlZmVyZW5jZSBidXQgaXQgZ2V0cyBudWxsZWQgb24gYXN5
bmMgdGVhcmRvd24uCiAKIHByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIHNldFN5bmNocm9ub3Vz
U2Nyb2xsaW5nUmVhc29ucyhTY3JvbGxpbmdOb2RlSUQsIE9wdGlvblNldDxTeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbj4pIHsgfQotCiAgICAgdmlydHVhbCBib29sIGhhc1Zpc2libGVTbG93UmVw
YWludFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzKGNvbnN0IEZyYW1lVmlldyYpIGNvbnN0Owor
CisgICAgT3B0aW9uU2V0PFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uPiBzeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnNGb3JGcmFtZVZpZXcoY29uc3QgRnJhbWVWaWV3JikgY29uc3Q7CiAgICAg
dm9pZCB1cGRhdGVTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoRnJhbWVWaWV3Jik7CiAgICAg
dm9pZCB1cGRhdGVTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnNGb3JBbGxGcmFtZXMoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cAppbmRleCAyZDNiNzUzMTIyZTZjMWVjN2U3ODIyZDVlMTcwYjZjYzk2NzlmNjk0Li41ZWRhYTk0
MjRjMWI1ODE2NGVkYzFiMDY5MmIzNjM1ZDgzN2ZiMDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTY5Nyw3ICsxNjk3
LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUJhY2tpbmcoUmVuZGVyTGF5
ZXImIGxheWVyLCBSZXF1aXJlc0NvbXBvc2l0aW4KICAgICAgICAgICAgIHJlcGFpbnRMYXllcihs
YXllcik7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICNpZiBFTkFCTEUoVklERU8pCiAgICAg
aWYgKGxheWVyQ2hhbmdlZCAmJiBpczxSZW5kZXJWaWRlbz4obGF5ZXIucmVuZGVyZXIoKSkpIHsK
ICAgICAgICAgLy8gSWYgaXQncyBhIHZpZGVvLCBnaXZlIHRoZSBtZWRpYSBwbGF5ZXIgYSBjaGFu
Y2UgdG8gaG9vayB1cCB0byB0aGUgbGF5ZXIuCg==
</data>
<flag name="review"
          id="411971"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>