<?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>231554</bug_id>
          
          <creation_ts>2021-10-11 21:28:56 -0700</creation_ts>
          <short_desc>Have the ScrollingTree track nodes with animated scrolls</short_desc>
          <delta_ts>2021-10-12 08:49:22 -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>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</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>1802964</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-11 21:28:56 -0700</bug_when>
    <thetext>Have the ScrollingTree track nodes with animated scrolls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802967</commentid>
    <comment_count>1</comment_count>
      <attachid>440885</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-11 21:35:24 -0700</bug_when>
    <thetext>Created attachment 440885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802972</commentid>
    <comment_count>2</comment_count>
      <attachid>440887</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-11 21:41:01 -0700</bug_when>
    <thetext>Created attachment 440887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803142</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-12 08:48:53 -0700</bug_when>
    <thetext>Committed r283983 (242829@main): &lt;https://commits.webkit.org/242829@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440887.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803143</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-12 08:49:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/84149141&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440885</attachid>
            <date>2021-10-11 21:35:24 -0700</date>
            <delta_ts>2021-10-11 21:55:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231554-20211011213523.patch</filename>
            <type>text/plain</type>
            <size>21163</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJiMmVlYWNmMjBkN2Qy
MmI3M2M1MmM2YzNkMzdkYjJiNWY0YzcwYy4uZDRmZWE4MTFlNGFhY2IyNzdkMTczZTU3MzMwMzg3
NTVjZWM0OTBmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIxLTEwLTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgdGhlIFNj
cm9sbGluZ1RyZWUgdHJhY2sgbm9kZXMgd2l0aCBhbmltYXRlZCBzY3JvbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE1NTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIGZ1dHVyZSBwYXRjaCB3aWxs
IHJlcXVpcmUgdGhhdCBhIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIGtub3dzIHdoZW4gdGhlcmUgYXJl
IGFueSBub2RlcyB3aXRoCisgICAgICAgIGFjdGl2ZSBzY3JvbGwgYW5pbWF0aW9ucyBydW5uaW5n
LgorCisgICAgICAgIENyZWF0ZSB0aGUgcGx1bWJpbmcgZm9yIHRoaXMgdmlhIFNjcm9sbGluZ1Ry
ZWU6OnNldEFuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzc0Zvck5vZGUoKSB3aGljaAorICAgICAgICB1
cGRhdGVzIGEgSGFzaFNldCBkYXRhIG1lbWJlci4KKworICAgICAgICBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZSBzdWJjbGFzc2VzIHdoaWNoIGNhbiBydW4gYW5pbWF0aW9ucyB2aWEgdGhlaXIg
ZGVsZWdhdGUsIGkuZS4KKyAgICAgICAgU2Nyb2xsaW5nVHJlZXtPdmVyZmxvdywgRnJhbWV9U2Ny
b2xsaW5nTm9kZXtNYWMsIE5pY29zaWEsIGlPU30gbm93IGNhbGwKKyAgICAgICAgd2lsbFN0YXJ0
QW5pbWF0ZWRTY3JvbGwoKSBpZiB0aGUgYW5pbWF0aW9uIHN0YXJ0ZWQuIFRoZSBleGlzdGluZwor
ICAgICAgICBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6ZGlkU3RvcEFuaW1hdGVkU2Nyb2xs
KCkgaXMgdGhlIGJvb2stZW5kLgorCisgICAgICAgIFRocmVhZGVkU2Nyb2xsaW5nVHJlZSBjaGFu
Z2VzIGFyZSBhIGhpbnQgb2YgdGhpbmdzIHRvIGNvbWU7IHdlIHdpbGwgbmVlZCB0byB0ZWxsIGEg
ZnV0dXJlCisgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHN1YmNsYXNzIHdoZW4gc2Nyb2xs
IGFuaW1hdGlvbnMgc3RhcnQvc3RvcCwgYW5kIGRpc3BsYXlEaWRSZWZyZXNoKCkgYW5kCisgICAg
ICAgIHdpbGxTdGFydFJlbmRlcmluZ1VwZGF0ZSgpIGNvZGUgbmVlZCB0byBkbyB0aGUgc2FtZSBz
dHVmZiB3aGVuIGFuaW1hdGlvbnMgYXJlIHJ1bm5pbmcgYXMKKyAgICAgICAgdGhleSBkbyB3aGVu
IGhhbmRsaW5nIHdoZWVsIGV2ZW50cy4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3I6Omhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxDaGFuZ2VkKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWU6OmlzQW5pbWF0ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpzZXRBbmltYXRlZFNjcm9sbEluUHJvZ3Jlc3NGb3JO
b2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6Omhhc05vZGVXaXRoQWN0aXZl
QW5pbWF0ZWRTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6Omhhc05vZGVXaXRoQW5pbWF0ZWRT
Y3JvbGxDaGFuZ2VkKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZTo6ZGlkU3RvcEFuaW1hdGVkU2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlOjp3aWxsU3RhcnRBbmltYXRlZFNjcm9sbCk6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdUaHJlYWRJc0FjdGl2ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OndpbGxTdGFydFJlbmRlcmluZ1Vw
ZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6Omhhc05vZGVX
aXRoQW5pbWF0ZWRTY3JvbGxDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Ny
b2xsaW5nVHJlZTo6ZGlzcGxheURpZFJlZnJlc2gpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRv
UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYzo6Y3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpz
dGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW06CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmlj
b3NpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTmljb3NpYTo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU5p
Y29zaWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZU5pY29zaWE6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKwogMjAyMS0x
MC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERPTVRpbWVT
dGFtcCBpcyBub3cgRXBvY2hUaW1lU3RhbXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGE1ZDVhZWJlODMwYWI5YWEw
MjgyNmMwNmUyNDk0NzI3MmE4ZjkyYS4uNWRhNmU4YjY3YWI3NjZiNmVkY2EyNjY0ZWQyNzYwOTM5
OTRhYTNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMC0xMSAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBIYXZlIHRoZSBTY3JvbGxp
bmdUcmVlIHRyYWNrIG5vZGVzIHdpdGggYW5pbWF0ZWQgc2Nyb2xscworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTU0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tOgorICAgICAg
ICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TOjpzdGFydEFu
aW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisKIDIwMjEtMTAtMTEgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBEcmF3aW5nQXJlYVR5cGUgYW4g
ZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IGVlNWRjN2ZhN2ZkM2I4MTE2Yzk0YWNl
YmI0YTg5NTM1OTRiNzUzZmUuLjBiZDhhYzRiYTc3MGY1NzE1YTk3NTJkMzljMzYxYmEzZmMxNDdm
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTcxLDYgKzcxLDggQEAgcHVibGljOgogCiAgICAg
Ym9vbCBzY3JvbGxBbmltYXRvckVuYWJsZWQoKSBjb25zdDsKIAorICAgIHZpcnR1YWwgdm9pZCBo
YXNOb2RlV2l0aEFuaW1hdGVkU2Nyb2xsQ2hhbmdlZChib29sKSB7IH07CisKIHByb3RlY3RlZDoK
ICAgICBXRUJDT1JFX0VYUE9SVCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKFBhZ2UqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAppbmRl
eCA2MmE1YWNlNjBkYjZjNmU0ZmFhNDY0MDdiMTEzNzkwNGJmOTZjMjkxLi42MzkxY2JmNGJhNDRj
NjQwZWI0Y2I1MTI2NTc3NWFmNmRmZjBiNmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtNTgzLDYgKzU4Myw0MCBAQCB2b2lkIFNj
cm9sbGluZ1RyZWU6OnNldE5vZGVTY3JvbGxTbmFwSW5Qcm9ncmVzcyhTY3JvbGxpbmdOb2RlSUQg
bm9kZUlELCBib29sIGlzUwogICAgICAgICBtX3RyZWVTdGF0ZS5ub2Rlc1dpdGhBY3RpdmVTY3Jv
bGxTbmFwLnJlbW92ZShub2RlSUQpOwogfQogCitib29sIFNjcm9sbGluZ1RyZWU6OmlzQW5pbWF0
ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQoreworICAg
IGlmICghbm9kZUlEKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBMb2NrZXIgbG9ja2Vy
IHsgbV90cmVlU3RhdGVMb2NrIH07CisgICAgcmV0dXJuIG1fdHJlZVN0YXRlLm5vZGVzV2l0aEFj
dGl2ZUFuaW1hdGVkU2Nyb2xscy5jb250YWlucyhub2RlSUQpOworfQorCit2b2lkIFNjcm9sbGlu
Z1RyZWU6OnNldEFuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzc0Zvck5vZGUoU2Nyb2xsaW5nTm9kZUlE
IG5vZGVJRCwgYm9vbCBpc0FuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzcykKK3sKKyAgICBpZiAoIW5v
ZGVJRCkKKyAgICAgICAgcmV0dXJuOworCisgICAgTG9ja2VyIGxvY2tlciB7IG1fdHJlZVN0YXRl
TG9jayB9OworICAgIAorICAgIGJvb2wgaGFkQW55QW5pbWF0ZWRTY3JvbGxpbmdOb2RlcyA9ICFt
X3RyZWVTdGF0ZS5ub2Rlc1dpdGhBY3RpdmVBbmltYXRlZFNjcm9sbHMuaXNFbXB0eSgpOworICAg
IAorICAgIGlmIChpc0FuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzcykKKyAgICAgICAgbV90cmVlU3Rh
dGUubm9kZXNXaXRoQWN0aXZlQW5pbWF0ZWRTY3JvbGxzLmFkZChub2RlSUQpOworICAgIGVsc2UK
KyAgICAgICAgbV90cmVlU3RhdGUubm9kZXNXaXRoQWN0aXZlQW5pbWF0ZWRTY3JvbGxzLnJlbW92
ZShub2RlSUQpOworCisgICAgYm9vbCBoYXNBbnlBbmltYXRlZFNjcm9sbGluZ05vZGVzID0gIW1f
dHJlZVN0YXRlLm5vZGVzV2l0aEFjdGl2ZUFuaW1hdGVkU2Nyb2xscy5pc0VtcHR5KCk7CisgICAg
aWYgKGhhc0FueUFuaW1hdGVkU2Nyb2xsaW5nTm9kZXMgIT0gaGFkQW55QW5pbWF0ZWRTY3JvbGxp
bmdOb2RlcykKKyAgICAgICAgaGFzTm9kZVdpdGhBbmltYXRlZFNjcm9sbENoYW5nZWQoaGFzQW55
QW5pbWF0ZWRTY3JvbGxpbmdOb2Rlcyk7Cit9CisKK2Jvb2wgU2Nyb2xsaW5nVHJlZTo6aGFzTm9k
ZVdpdGhBY3RpdmVBbmltYXRlZFNjcm9sbCgpCit7CisgICAgTG9ja2VyIGxvY2tlciB7IG1fdHJl
ZVN0YXRlTG9jayB9OworICAgIHJldHVybiAhbV90cmVlU3RhdGUubm9kZXNXaXRoQWN0aXZlQW5p
bWF0ZWRTY3JvbGxzLmlzRW1wdHkoKTsKK30KKwogdm9pZCBTY3JvbGxpbmdUcmVlOjpzZXRNYWlu
RnJhbWVQaW5uZWRTdGF0ZShSZWN0RWRnZXM8Ym9vbD4gZWRnZVBpbm5pbmdTdGF0ZSkKIHsKICAg
ICBMb2NrZXIgbG9ja2VyIHsgbV9zd2lwZVN0YXRlTG9jayB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCmluZGV4IDdlNmZhMmM0N2U3MWJhYjUwYTQz
YWQyZGQwZTg3NjU0OThjNmQzOTYuLmFkNzIxZDEyOGFjMjExZTdiNDEyOTljMjNhZTkxMGY5ODY1
MjIwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmgKQEAgLTExMyw2ICsxMTMsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Njcm9sbFNuYXBJblBy
b2dyZXNzRm9yTm9kZShTY3JvbGxpbmdOb2RlSUQpOwogICAgIHZvaWQgc2V0Tm9kZVNjcm9sbFNu
YXBJblByb2dyZXNzKFNjcm9sbGluZ05vZGVJRCwgYm9vbCk7CiAKKyAgICBib29sIGlzQW5pbWF0
ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZShTY3JvbGxpbmdOb2RlSUQpOworICAgIHZvaWQgc2V0
QW5pbWF0ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZShTY3JvbGxpbmdOb2RlSUQsIGJvb2wpOwor
CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKSB7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYm
KTsKICAgICAKQEAgLTIyMiw3ICsyMjUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQsIHN0ZDo6b3B0aW9uYWw8RnJhbWVzUGVyU2Vj
b25kPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKTsKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNw
bGF5SUQoKTsKICAgICAKLSAgICBib29sIGhhc1Byb2Nlc3NlZFdoZWVsRXZlbnRzUmVjZW50bHko
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdpbGxQcm9jZXNzV2hlZWxFdmVudCgpOwogCiAg
ICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsVXBkYXRlKFNjcm9sbFVwZGF0ZSYmKTsKQEAgLTI0MSw2
ICsyNDMsMTEgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zSW50
ZXJuYWwoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX3RyZWVMb2NrKTsKICAgICB2b2lkIHJlbW92ZUFs
bE5vZGVzKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CisgICAgCisgICAgdmlydHVh
bCB2b2lkIGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxDaGFuZ2VkKGJvb2wgLyogaGFzTm9kZVdp
dGhBbmltYXRlZFNjcm9sbCAqLykgeyB9CisKKyAgICBib29sIGhhc1Byb2Nlc3NlZFdoZWVsRXZl
bnRzUmVjZW50bHkoKTsKKyAgICBib29sIGhhc05vZGVXaXRoQWN0aXZlQW5pbWF0ZWRTY3JvbGwo
KTsKIAogICAgIExvY2sgbV90cmVlTG9jazsgLy8gUHJvdGVjdHMgdGhlIHNjcm9sbGluZyB0cmVl
LgogCkBAIC0yNjIsNyArMjY5LDcgQEAgcHJpdmF0ZToKICAgICBPcHRpb25TZXQ8V2hlZWxFdmVu
dFByb2Nlc3NpbmdTdGVwcz4gY29tcHV0ZVdoZWVsUHJvY2Vzc2luZ1N0ZXBzKGNvbnN0IFBsYXRm
b3JtV2hlZWxFdmVudCYpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZVN0YXRlTG9jayk7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpIHsgfQotICAgIAorCiAgICAgUmVmUHRyPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGU+IG1fcm9vdE5vZGU7CiAKICAgICB1c2luZyBTY3JvbGxpbmdUcmVlTm9kZU1hcCA9IEhhc2hN
YXA8U2Nyb2xsaW5nTm9kZUlELCBSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+PjsKQEAgLTI4NSw2
ICsyOTIsNyBAQCBwcml2YXRlOgogICAgICAgICBIYXNoU2V0PFNjcm9sbGluZ05vZGVJRD4gbm9k
ZXNXaXRoQWN0aXZlUnViYmVyQmFuZGluZzsKICAgICAgICAgSGFzaFNldDxTY3JvbGxpbmdOb2Rl
SUQ+IG5vZGVzV2l0aEFjdGl2ZVNjcm9sbFNuYXA7CiAgICAgICAgIEhhc2hTZXQ8U2Nyb2xsaW5n
Tm9kZUlEPiBub2Rlc1dpdGhBY3RpdmVVc2VyU2Nyb2xsczsKKyAgICAgICAgSGFzaFNldDxTY3Jv
bGxpbmdOb2RlSUQ+IG5vZGVzV2l0aEFjdGl2ZUFuaW1hdGVkU2Nyb2xsczsKICAgICB9OwogICAg
IAogICAgIExvY2sgbV90cmVlU3RhdGVMb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4
IDQwZWY4Zjk5ZGQ0ODAwZDRiM2U4MzgxZWQ1YjMyZTMwNjhhNjNkOGUuLjFhODUxOGYwMWY5MjMw
ODhiNGNkNDc1ZGMwODA1OWU2YzQwYWIxMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKQEAg
LTIyOSw2ICsyMjksNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpkaWRTdG9w
QW5pbWF0ZWRTY3JvbGwoKQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVh
bSA8PCAiU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8
PCAiIGRpZFN0b3BBbmltYXRlZFNjcm9sbCIpOwogICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxp
bmdUcmVlTm9kZURpZFN0b3BBbmltYXRlZFNjcm9sbCgqdGhpcyk7CisgICAgc2Nyb2xsaW5nVHJl
ZSgpLnNldEFuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzc0Zvck5vZGUoc2Nyb2xsaW5nTm9kZUlEKCks
IGZhbHNlKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6aGFuZGxlU2Ny
b2xsUG9zaXRpb25SZXF1ZXN0KGNvbnN0IFJlcXVlc3RlZFNjcm9sbERhdGEmIHJlcXVlc3RlZFNj
cm9sbERhdGEpCkBAIC0yNTksNiArMjYwLDExIEBAIEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGU6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYKICAg
ICByZXR1cm4gc2Nyb2xsUG9zaXRpb247CiB9CiAKK3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGU6OndpbGxTdGFydEFuaW1hdGVkU2Nyb2xsKCkKK3sKKyAgICBzY3JvbGxpbmdUcmVlKCku
c2V0QW5pbWF0ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZShzY3JvbGxpbmdOb2RlSUQoKSwgdHJ1
ZSk7Cit9CisKIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNjcm9sbEJ5KGNvbnN0
IEZsb2F0U2l6ZSYgZGVsdGEsIFNjcm9sbENsYW1waW5nIGNsYW1wKQogewogICAgIHNjcm9sbFRv
KGN1cnJlbnRTY3JvbGxQb3NpdGlvbigpICsgZGVsdGEsIFNjcm9sbFR5cGU6OlVzZXIsIGNsYW1w
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IGJjNjIyZGQzOGJjZjNmNjIwZjc1NTIxZDdlOGUy
OTA0Y2QwZDUyNzcuLjI2MWY2OWM5YWQ0ZWQzOGZkNjEzMDQ5MTVhMThmYjNlMjc4ODQ0NTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGUuaApAQCAtMTI4LDYgKzEyOCw5IEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIGJvb2wgc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3RvcEFuaW1hdGVkU2Nyb2xsKCkgeyB9
CiAKKyAgICB2b2lkIHdpbGxTdGFydEFuaW1hdGVkU2Nyb2xsKCk7CisgICAgdm9pZCBkaWRTdG9w
QW5pbWF0ZWRTY3JvbGwoKTsKKwogICAgIHZpcnR1YWwgdm9pZCBjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gPSBTY3Jv
bGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOjpTeW5jKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
Vmlld3BvcnRGb3JDdXJyZW50U2Nyb2xsUG9zaXRpb24oc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+
ID0geyB9KSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsUG9zaXRpb25BbmRMYXlvdXRWaWV3
cG9ydE1hdGNoKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBzdGQ6Om9wdGlvbmFsPEZsb2F0
UmVjdD4gb3ZlcnJpZGVMYXlvdXRWaWV3cG9ydCk7CkBAIC0xMzcsOCArMTQwLDYgQEAgcHJvdGVj
dGVkOgogCiAgICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zKCkgb3ZlcnJpZGU7CiAKLSAgICB2
b2lkIGRpZFN0b3BBbmltYXRlZFNjcm9sbCgpOwotCiAgICAgY29uc3QgRmxvYXRTaXplJiByZWFj
aGFibGVDb250ZW50c1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JlYWNoYWJsZUNvbnRlbnRzU2l6
ZTsgfQogICAgIAogICAgIGJvb2wgaXNMYXRjaGVkTm9kZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5jcHAK
aW5kZXggMDlhYTc5NGFlZDI5ZmE4ZDZjNTM4ZDM1NjFjZWVkYzZlNzFhMTc1MS4uOTc4MzE3MjBk
OGEwYzE0ZWVhODNlNTQxZTljN2Y4MTBlZjFlZTI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwCkBAIC0zMjgs
MTEgKzMyOCwxOCBAQCB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6c2V0QWN0aXZlU2Nyb2xs
U25hcEluZGljZXMoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCwgcwogfQogI2VuZGlmCiAKK2Jvb2wg
VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdUaHJlYWRJc0FjdGl2ZSgpCit7CisgICAg
cmV0dXJuIGhhc1Byb2Nlc3NlZFdoZWVsRXZlbnRzUmVjZW50bHkoKSB8fCBoYXNOb2RlV2l0aEFj
dGl2ZUFuaW1hdGVkU2Nyb2xsKCk7Cit9CisKIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3
aWxsU3RhcnRSZW5kZXJpbmdVcGRhdGUoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CiAKLSAgICBpZiAoIWhhc1Byb2Nlc3NlZFdoZWVsRXZlbnRzUmVjZW50bHkoKSkKKyAgICBMT0df
V0lUSF9TVFJFQU0oU2Nyb2xsQW5pbWF0aW9ucywgc3RyZWFtIDw8ICJUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OndpbGxTdGFydFJlbmRlcmluZ1VwZGF0ZSAtIHNjcm9sbGluZ1RocmVhZElzQWN0aXZl
ICIgPDwgc2Nyb2xsaW5nVGhyZWFkSXNBY3RpdmUoKSk7CisKKyAgICBpZiAoIXNjcm9sbGluZ1Ro
cmVhZElzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHRyYWNlUG9pbnQoU2Nyb2xs
aW5nVGhyZWFkUmVuZGVyVXBkYXRlU3luY1N0YXJ0KTsKQEAgLTM1OCw2ICszNjUsMTMgQEAgU2Vj
b25kcyBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6Om1heEFsbG93YWJsZVJlbmRlcmluZ1VwZGF0ZUR1
cmF0aW9uRm9yU3luY2hyb25pemEKICAgICByZXR1cm4gYWxsb3dhYmxlRnJhbWVGcmFjdGlvbiAq
IGZyYW1lRHVyYXRpb247CiB9CiAKK3ZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpoYXNOb2Rl
V2l0aEFuaW1hdGVkU2Nyb2xsQ2hhbmdlZChib29sIGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGwp
Cit7CisgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtzY3JvbGxpbmdDb29yZGluYXRvciA9
IG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3IsIGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxdIHsKKyAg
ICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxDaGFu
Z2VkKGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGwpOworICAgIH0pOworfQorCiAvLyBUaGlzIGNv
ZGUgYWxsb3dzIHRoZSBtYWluIHRocmVhZCBhYm91dCBoYWxmIGEgZnJhbWUgdG8gY29tcGxldGUg
aXRzIHJlbmRlcmluZyB1ZHBhdGUuIElmIHRoZSBtYWluIHRocmVhZAogLy8gaXMgcmVzcG9uc2l2
ZSAoaS5lLiBtYW5hZ2luZyB0byByZW5kZXIgZXZlcnkgZnJhbWUpLCB0aGVuIHdlIGV4cGVjdCB0
byBnZXQgYSBkaWRDb21wbGV0ZVJlbmRlcmluZ1VwZGF0ZSgpCiAvLyB3aXRoaW4gOG1zIG9mIHdp
bGxTdGFydFJlbmRlcmluZ1VwZGF0ZSgpLiBXZSB0aW1lIHRoaXMgdmlhIG1fc3RhdGVDb25kaXRp
b24sIHdoaWNoIGJsb2NrcyB0aGUgc2Nyb2xsaW5nCkBAIC00NTEsMTYgKzQ2NSwxNiBAQCB2b2lk
IFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGlzcGxheURpZFJlZnJlc2hPblNjcm9sbGluZ1RocmVh
ZCgpCiAKIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpkaXNwbGF5RGlkUmVmcmVzaChQbGF0
Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCiB7Ci0gICAgYm9vbCBoYXNQcm9jZXNzZWRXaGVlbEV2
ZW50c1JlY2VudGx5ID0gdGhpcy0+aGFzUHJvY2Vzc2VkV2hlZWxFdmVudHNSZWNlbnRseSgpOwor
ICAgIGJvb2wgc2Nyb2xsaW5nVGhyZWFkSXNBY3RpdmUgPSB0aGlzLT5zY3JvbGxpbmdUaHJlYWRJ
c0FjdGl2ZSgpOwogCiAgICAgLy8gV2UncmUgb24gdGhlIEV2ZW50RGlzcGF0Y2hlciB0aHJlYWQg
b3IgaW4gdGhlIFRocmVhZGVkQ29tcG9zaXRvciB0aHJlYWQgaGVyZS4KLSAgICB0cmFjZVBvaW50
KFNjcm9sbGluZ1RyZWVEaXNwbGF5RGlkUmVmcmVzaCwgZGlzcGxheUlELCBoYXNQcm9jZXNzZWRX
aGVlbEV2ZW50c1JlY2VudGx5KTsKKyAgICB0cmFjZVBvaW50KFNjcm9sbGluZ1RyZWVEaXNwbGF5
RGlkUmVmcmVzaCwgZGlzcGxheUlELCBzY3JvbGxpbmdUaHJlYWRJc0FjdGl2ZSk7CiAKICAgICBp
ZiAoZGlzcGxheUlEICE9IHRoaXMtPmRpc3BsYXlJRCgpKQogICAgICAgICByZXR1cm47CiAKICNp
ZiAhUExBVEZPUk0oV1BFKSAmJiAhUExBVEZPUk0oR1RLKQotICAgIGlmICghaGFzUHJvY2Vzc2Vk
V2hlZWxFdmVudHNSZWNlbnRseSkKKyAgICBpZiAoIXNjcm9sbGluZ1RocmVhZElzQWN0aXZlKQog
ICAgICAgICByZXR1cm47CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAppbmRleCBhMDUzNzkxM2M5MDU4MDg5
MzcwZjcyYjJkY2U1ZjIxY2EwMGViY2RiLi5jNDFjNTQ1YzJkODM5NTc0Yzc5ZjkwYmJhYjIzNDZm
ZDljMDc0NDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJl
YWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9U
aHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAtMTAxLDcgKzEwMSwxMSBAQCBwcml2YXRlOgogICAg
IHZvaWQgc2NoZWR1bGVEZWxheWVkUmVuZGVyaW5nVXBkYXRlRGV0ZWN0aW9uVGltZXIoU2Vjb25k
cykgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CiAgICAgdm9pZCBkZWxheWVkUmVuZGVy
aW5nVXBkYXRlRGV0ZWN0aW9uVGltZXJGaXJlZCgpOwogCisgICAgdm9pZCBoYXNOb2RlV2l0aEFu
aW1hdGVkU2Nyb2xsQ2hhbmdlZChib29sKSBmaW5hbDsKKwogICAgIFNlY29uZHMgbWF4QWxsb3dh
YmxlUmVuZGVyaW5nVXBkYXRlRHVyYXRpb25Gb3JTeW5jaHJvbml6YXRpb24oKTsKKyAgICAKKyAg
ICBib29sIHNjcm9sbGluZ1RocmVhZElzQWN0aXZlKCk7CiAKICAgICBlbnVtIGNsYXNzIFN5bmNo
cm9uaXphdGlvblN0YXRlIDogdWludDhfdCB7CiAgICAgICAgIElkbGUsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDFmMWE1ZGY5OWNmY2ZlZTA1N2Q3
ZmQ3OTU5OTI0MTM4MzUzMzdhZDEuLjdlOTlmN2Y0YjJhOGRkNTQwNmI0OTgyYjgwOWE4ZmE0NDlk
YTk3YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCkBA
IC0xMjcsNyArMTI3LDEwIEBAIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvCiAKIGJvb2wgU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQogewotICAgIHJldHVybiBtX2RlbGVn
YXRlLnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGRlc3RpbmF0aW9uUG9zaXRpb24pOwor
ICAgIGJvb2wgc3RhcnRlZCA9IG1fZGVsZWdhdGUuc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24oZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgaWYgKHN0YXJ0ZWQpCisgICAgICAgIHdpbGxT
dGFydEFuaW1hdGVkU2Nyb2xsKCk7CisgICAgcmV0dXJuIHN0YXJ0ZWQ7CiB9CiAKIHZvaWQgU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RvcEFuaW1hdGVkU2Nyb2xsKCkKQEAg
LTE0OCw3ICsxNTEsNyBAQCBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYQogCiB2b2lkIFNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQo
U2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uIGFjdGlv
bikKIHsKLSAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8PCAiIGN1
cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQgdG8gIiA8PCBjdXJyZW50U2Nyb2xsUG9zaXRpb24o
KSA8PCAiIG1pbjogIiA8PCBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSA8PCAiIG1heDogIiA8PCBt
YXhpbXVtU2Nyb2xsUG9zaXRpb24oKSA8PCAiIHN5bmM6ICIgPDwgaGFzU3luY2hyb25vdXNTY3Jv
bGxpbmdSZWFzb25zKCkpOworICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8
PCAiU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyAiIDw8IHNjcm9sbGluZ05vZGVJ
RCgpIDw8ICIgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZCB0byAiIDw8IGN1cnJlbnRTY3Jv
bGxQb3NpdGlvbigpIDw8ICIgbWluOiAiIDw8IG1pbmltdW1TY3JvbGxQb3NpdGlvbigpIDw8ICIg
bWF4OiAiIDw8IG1heGltdW1TY3JvbGxQb3NpdGlvbigpIDw8ICIgc3luYzogIiA8PCBoYXNTeW5j
aHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKSA8PCAiIGlzIGFuaW1hdGluZzogIiA8PCBzY3JvbGxp
bmdUcmVlKCkuaXNBbmltYXRlZFNjcm9sbEluUHJvZ3Jlc3NGb3JOb2RlKHNjcm9sbGluZ05vZGVJ
RCgpKSk7CiAKICAgICBtX2RlbGVnYXRlLmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQppbmRl
eCBiMTI4MjU0MmEwOWViYmNjODNjYzBiMzkzYzMzZmMzZWE4MTNiOWZjLi40MTBmNjBiODVkYmI5
ZmEwYjc0NDgxYmU5MWNjNGJmMmYzNjRhNGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtNzYsNyArNzYsMTAgQEAgV2hlZWxFdmVudEhh
bmRsaW5nUmVzdWx0IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OmhhbmRs
ZVdoZWVsRXZlbnQKIAogYm9vbCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFj
OjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50IGRlc3RpbmF0aW9uUG9z
aXRpb24pCiB7Ci0gICAgcmV0dXJuIG1fZGVsZWdhdGUuc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9z
aXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgYm9vbCBzdGFydGVkID0gbV9kZWxlZ2F0
ZS5zdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uKTsKKyAg
ICBpZiAoc3RhcnRlZCkKKyAgICAgICAgd2lsbFN0YXJ0QW5pbWF0ZWRTY3JvbGwoKTsKKyAgICBy
ZXR1cm4gc3RhcnRlZDsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlTWFjOjpzdG9wQW5pbWF0ZWRTY3JvbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQppbmRleCBkMDViNzA5M2U0MDEyZTA0ZGQyMjA2YTljN2Mw
MGM2MTA3MDFjZTExLi5iM2NkODEwODAzMTk3NzgwOGU5OWU4NWU2ZjRmZGYxYzljYTI2NjYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQpAQCAt
NDAyLDcgKzQwMiw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1h
Yzo6ZGVmZXJXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25Gb3JSZWFzCiAKICAgICBzY3JvbGxpbmdU
cmVlKCkuZGVmZXJXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25Gb3JSZWFzb24oaWRlbnRpZmllciwg
cmVhc29uKTsKIH0KLSAgICAKKwogdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlTWFjOjpyZW1vdmVXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25EZWZlcnJhbEZvclJlYXNvbihX
aGVlbEV2ZW50VGVzdE1vbml0b3I6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBpZGVudGlmaWVy
LCBXaGVlbEV2ZW50VGVzdE1vbml0b3I6OkRlZmVyUmVhc29uIHJlYXNvbikgY29uc3QKIHsKICAg
ICBpZiAoIXNjcm9sbGluZ1RyZWUoKS5pc01vbml0b3JpbmdXaGVlbEV2ZW50cygpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcApp
bmRleCA0YWNmZDM3ZDYyZmUzMDhmY2U0Nzg4N2U3ZDM4ODc4YmEyMDc0YjllLi4wOThkODEzMWNk
NTA5ZDYxZmQyNGRhZjY5MDhmYjQ4MGIxZTk4YTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVO
aWNvc2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcApAQCAtMTA0LDcgKzEwNCwx
MSBAQCBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU5pY29zaWE6OmhhbmRsZVdoZWVsRXZlbgogCiBib29sIFNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVOaWNvc2lhOjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBv
aW50IGRlc3RpbmF0aW9uUG9zaXRpb24pCiB7Ci0gICAgcmV0dXJuIG1fZGVsZWdhdGUuc3RhcnRB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgYm9vbCBz
dGFydGVkID0gbV9kZWxlZ2F0ZS5zdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5h
dGlvblBvc2l0aW9uKTsKKyAgICBpZiAoc3RhcnRlZCkKKyAgICAgICAgd2lsbFN0YXJ0QW5pbWF0
ZWRTY3JvbGwoKTsKKworICAgIHJldHVybiBzdGFydGVkOwogfQogCiB2b2lkIFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhOjpzdG9wQW5pbWF0ZWRTY3JvbGwoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lh
LmNwcAppbmRleCA3NThhNDk2Y2NmODNhOGE0ZTBjODI4NDk2YzRmYzdmZjgzOGQ1OGVkLi5kNzVi
MzhjNjdmODhiZGJlMDA4NDU1YzE1N2Q4MWVmOGEyNGNjM2VkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9s
bGluZ05vZGVOaWNvc2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9u
aWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmNwcApAQCAt
ODcsNyArODcsMTEgQEAgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhOjpoYW5kbGVXaGVlbEUKIAogYm9vbCBTY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYTo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9z
aXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQogewotICAgIHJldHVybiBtX2Rl
bGVnYXRlLnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGRlc3RpbmF0aW9uUG9zaXRpb24p
OworICAgIGJvb2wgc3RhcnRlZCA9IG1fZGVsZWdhdGUuc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9z
aXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgaWYgKHN0YXJ0ZWQpCisgICAgICAgIHdp
bGxTdGFydEFuaW1hdGVkU2Nyb2xsKCk7CisKKyAgICByZXR1cm4gc3RhcnRlZDsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYTo6c3RvcEFuaW1hdGVk
U2Nyb2xsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZUlPUy5tbQppbmRleCAxNDhkZWIxYzM1MWFlZjg5N2RjNTI0MTY3NjFj
YzQwZjZiMDUwM2QxLi4wNzBmNDBmOTg4MjA3N2RlMTUwMjI3OWMwMGQxY2NmMmE5MDUwMDg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Nj
cm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlSU9TLm1tCkBAIC04MCw3ICs4MCw5IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZUlPUzo6cmVwb3NpdGlvblNjcm9sbGluZ0xheWVycygpCiAKIGJvb2wg
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUzo6c3RhcnRBbmltYXRlZFNjcm9s
bFRvUG9zaXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQogewotICAgIHJldHVy
biBtX3Njcm9sbGluZ05vZGVEZWxlZ2F0ZS0+c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24o
ZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgYm9vbCBzdGFydGVkID0gbV9zY3JvbGxpbmdOb2Rl
RGVsZWdhdGUtPnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGRlc3RpbmF0aW9uUG9zaXRp
b24pOworICAgIGlmIChzdGFydGVkKQorICAgICAgICB3aWxsU3RhcnRBbmltYXRlZFNjcm9sbCgp
OwogfQogCiB2b2lkIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OnN0b3BB
bmltYXRlZFNjcm9sbCgpCg==
</data>
<flag name="commit-queue"
          id="464974"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440887</attachid>
            <date>2021-10-11 21:41:01 -0700</date>
            <delta_ts>2021-10-12 08:48:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231554-20211011214100.patch</filename>
            <type>text/plain</type>
            <size>21185</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJiMmVlYWNmMjBkN2Qy
MmI3M2M1MmM2YzNkMzdkYjJiNWY0YzcwYy4uZDRmZWE4MTFlNGFhY2IyNzdkMTczZTU3MzMwMzg3
NTVjZWM0OTBmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIxLTEwLTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEhhdmUgdGhlIFNj
cm9sbGluZ1RyZWUgdHJhY2sgbm9kZXMgd2l0aCBhbmltYXRlZCBzY3JvbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE1NTQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBIGZ1dHVyZSBwYXRjaCB3aWxs
IHJlcXVpcmUgdGhhdCBhIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIGtub3dzIHdoZW4gdGhlcmUgYXJl
IGFueSBub2RlcyB3aXRoCisgICAgICAgIGFjdGl2ZSBzY3JvbGwgYW5pbWF0aW9ucyBydW5uaW5n
LgorCisgICAgICAgIENyZWF0ZSB0aGUgcGx1bWJpbmcgZm9yIHRoaXMgdmlhIFNjcm9sbGluZ1Ry
ZWU6OnNldEFuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzc0Zvck5vZGUoKSB3aGljaAorICAgICAgICB1
cGRhdGVzIGEgSGFzaFNldCBkYXRhIG1lbWJlci4KKworICAgICAgICBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZSBzdWJjbGFzc2VzIHdoaWNoIGNhbiBydW4gYW5pbWF0aW9ucyB2aWEgdGhlaXIg
ZGVsZWdhdGUsIGkuZS4KKyAgICAgICAgU2Nyb2xsaW5nVHJlZXtPdmVyZmxvdywgRnJhbWV9U2Ny
b2xsaW5nTm9kZXtNYWMsIE5pY29zaWEsIGlPU30gbm93IGNhbGwKKyAgICAgICAgd2lsbFN0YXJ0
QW5pbWF0ZWRTY3JvbGwoKSBpZiB0aGUgYW5pbWF0aW9uIHN0YXJ0ZWQuIFRoZSBleGlzdGluZwor
ICAgICAgICBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6ZGlkU3RvcEFuaW1hdGVkU2Nyb2xs
KCkgaXMgdGhlIGJvb2stZW5kLgorCisgICAgICAgIFRocmVhZGVkU2Nyb2xsaW5nVHJlZSBjaGFu
Z2VzIGFyZSBhIGhpbnQgb2YgdGhpbmdzIHRvIGNvbWU7IHdlIHdpbGwgbmVlZCB0byB0ZWxsIGEg
ZnV0dXJlCisgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIHN1YmNsYXNzIHdoZW4gc2Nyb2xs
IGFuaW1hdGlvbnMgc3RhcnQvc3RvcCwgYW5kIGRpc3BsYXlEaWRSZWZyZXNoKCkgYW5kCisgICAg
ICAgIHdpbGxTdGFydFJlbmRlcmluZ1VwZGF0ZSgpIGNvZGUgbmVlZCB0byBkbyB0aGUgc2FtZSBz
dHVmZiB3aGVuIGFuaW1hdGlvbnMgYXJlIHJ1bm5pbmcgYXMKKyAgICAgICAgdGhleSBkbyB3aGVu
IGhhbmRsaW5nIHdoZWVsIGV2ZW50cy4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3I6Omhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxDaGFuZ2VkKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWU6OmlzQW5pbWF0ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpzZXRBbmltYXRlZFNjcm9sbEluUHJvZ3Jlc3NGb3JO
b2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6Omhhc05vZGVXaXRoQWN0aXZl
QW5pbWF0ZWRTY3JvbGwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6Omhhc05vZGVXaXRoQW5pbWF0ZWRT
Y3JvbGxDaGFuZ2VkKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZTo6ZGlkU3RvcEFuaW1hdGVkU2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlOjp3aWxsU3RhcnRBbmltYXRlZFNjcm9sbCk6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdUaHJlYWRJc0FjdGl2ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OndpbGxTdGFydFJlbmRlcmluZ1Vw
ZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6Omhhc05vZGVX
aXRoQW5pbWF0ZWRTY3JvbGxDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Ny
b2xsaW5nVHJlZTo6ZGlzcGxheURpZFJlZnJlc2gpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRv
UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYzo6Y3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZCk6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpz
dGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW06CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTmlj
b3NpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTmljb3NpYTo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24pOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU5p
Y29zaWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZU5pY29zaWE6OnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKToKKwogMjAyMS0x
MC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERPTVRpbWVT
dGFtcCBpcyBub3cgRXBvY2hUaW1lU3RhbXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOGE1ZDVhZWJlODMwYWI5YWEw
MjgyNmMwNmUyNDk0NzI3MmE4ZjkyYS4uNWRhNmU4YjY3YWI3NjZiNmVkY2EyNjY0ZWQyNzYwOTM5
OTRhYTNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMC0xMSAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBIYXZlIHRoZSBTY3JvbGxp
bmdUcmVlIHRyYWNrIG5vZGVzIHdpdGggYW5pbWF0ZWQgc2Nyb2xscworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNTU0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLm1tOgorICAgICAg
ICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TOjpzdGFydEFu
aW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbik6CisKIDIwMjEtMTAtMTEgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBEcmF3aW5nQXJlYVR5cGUgYW4g
ZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IGVlNWRjN2ZhN2ZkM2I4MTE2Yzk0YWNl
YmI0YTg5NTM1OTRiNzUzZmUuLjBiZDhhYzRiYTc3MGY1NzE1YTk3NTJkMzljMzYxYmEzZmMxNDdm
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTcxLDYgKzcxLDggQEAgcHVibGljOgogCiAgICAg
Ym9vbCBzY3JvbGxBbmltYXRvckVuYWJsZWQoKSBjb25zdDsKIAorICAgIHZpcnR1YWwgdm9pZCBo
YXNOb2RlV2l0aEFuaW1hdGVkU2Nyb2xsQ2hhbmdlZChib29sKSB7IH07CisKIHByb3RlY3RlZDoK
ICAgICBXRUJDT1JFX0VYUE9SVCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKFBhZ2UqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAppbmRl
eCA2MmE1YWNlNjBkYjZjNmU0ZmFhNDY0MDdiMTEzNzkwNGJmOTZjMjkxLi42MzkxY2JmNGJhNDRj
NjQwZWI0Y2I1MTI2NTc3NWFmNmRmZjBiNmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtNTgzLDYgKzU4Myw0MCBAQCB2b2lkIFNj
cm9sbGluZ1RyZWU6OnNldE5vZGVTY3JvbGxTbmFwSW5Qcm9ncmVzcyhTY3JvbGxpbmdOb2RlSUQg
bm9kZUlELCBib29sIGlzUwogICAgICAgICBtX3RyZWVTdGF0ZS5ub2Rlc1dpdGhBY3RpdmVTY3Jv
bGxTbmFwLnJlbW92ZShub2RlSUQpOwogfQogCitib29sIFNjcm9sbGluZ1RyZWU6OmlzQW5pbWF0
ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQoreworICAg
IGlmICghbm9kZUlEKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBMb2NrZXIgbG9ja2Vy
IHsgbV90cmVlU3RhdGVMb2NrIH07CisgICAgcmV0dXJuIG1fdHJlZVN0YXRlLm5vZGVzV2l0aEFj
dGl2ZUFuaW1hdGVkU2Nyb2xscy5jb250YWlucyhub2RlSUQpOworfQorCit2b2lkIFNjcm9sbGlu
Z1RyZWU6OnNldEFuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzc0Zvck5vZGUoU2Nyb2xsaW5nTm9kZUlE
IG5vZGVJRCwgYm9vbCBpc0FuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzcykKK3sKKyAgICBpZiAoIW5v
ZGVJRCkKKyAgICAgICAgcmV0dXJuOworCisgICAgTG9ja2VyIGxvY2tlciB7IG1fdHJlZVN0YXRl
TG9jayB9OworICAgIAorICAgIGJvb2wgaGFkQW55QW5pbWF0ZWRTY3JvbGxpbmdOb2RlcyA9ICFt
X3RyZWVTdGF0ZS5ub2Rlc1dpdGhBY3RpdmVBbmltYXRlZFNjcm9sbHMuaXNFbXB0eSgpOworICAg
IAorICAgIGlmIChpc0FuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzcykKKyAgICAgICAgbV90cmVlU3Rh
dGUubm9kZXNXaXRoQWN0aXZlQW5pbWF0ZWRTY3JvbGxzLmFkZChub2RlSUQpOworICAgIGVsc2UK
KyAgICAgICAgbV90cmVlU3RhdGUubm9kZXNXaXRoQWN0aXZlQW5pbWF0ZWRTY3JvbGxzLnJlbW92
ZShub2RlSUQpOworCisgICAgYm9vbCBoYXNBbnlBbmltYXRlZFNjcm9sbGluZ05vZGVzID0gIW1f
dHJlZVN0YXRlLm5vZGVzV2l0aEFjdGl2ZUFuaW1hdGVkU2Nyb2xscy5pc0VtcHR5KCk7CisgICAg
aWYgKGhhc0FueUFuaW1hdGVkU2Nyb2xsaW5nTm9kZXMgIT0gaGFkQW55QW5pbWF0ZWRTY3JvbGxp
bmdOb2RlcykKKyAgICAgICAgaGFzTm9kZVdpdGhBbmltYXRlZFNjcm9sbENoYW5nZWQoaGFzQW55
QW5pbWF0ZWRTY3JvbGxpbmdOb2Rlcyk7Cit9CisKK2Jvb2wgU2Nyb2xsaW5nVHJlZTo6aGFzTm9k
ZVdpdGhBY3RpdmVBbmltYXRlZFNjcm9sbCgpCit7CisgICAgTG9ja2VyIGxvY2tlciB7IG1fdHJl
ZVN0YXRlTG9jayB9OworICAgIHJldHVybiAhbV90cmVlU3RhdGUubm9kZXNXaXRoQWN0aXZlQW5p
bWF0ZWRTY3JvbGxzLmlzRW1wdHkoKTsKK30KKwogdm9pZCBTY3JvbGxpbmdUcmVlOjpzZXRNYWlu
RnJhbWVQaW5uZWRTdGF0ZShSZWN0RWRnZXM8Ym9vbD4gZWRnZVBpbm5pbmdTdGF0ZSkKIHsKICAg
ICBMb2NrZXIgbG9ja2VyIHsgbV9zd2lwZVN0YXRlTG9jayB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCmluZGV4IDdlNmZhMmM0N2U3MWJhYjUwYTQz
YWQyZGQwZTg3NjU0OThjNmQzOTYuLmFkNzIxZDEyOGFjMjExZTdiNDEyOTljMjNhZTkxMGY5ODY1
MjIwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
LmgKQEAgLTExMyw2ICsxMTMsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Njcm9sbFNuYXBJblBy
b2dyZXNzRm9yTm9kZShTY3JvbGxpbmdOb2RlSUQpOwogICAgIHZvaWQgc2V0Tm9kZVNjcm9sbFNu
YXBJblByb2dyZXNzKFNjcm9sbGluZ05vZGVJRCwgYm9vbCk7CiAKKyAgICBib29sIGlzQW5pbWF0
ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZShTY3JvbGxpbmdOb2RlSUQpOworICAgIHZvaWQgc2V0
QW5pbWF0ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZShTY3JvbGxpbmdOb2RlSUQsIGJvb2wpOwor
CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKSB7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGNvbW1pdFRyZWVTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiYm
KTsKICAgICAKQEAgLTIyMiw3ICsyMjUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQsIHN0ZDo6b3B0aW9uYWw8RnJhbWVzUGVyU2Vj
b25kPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKTsKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNw
bGF5SUQoKTsKICAgICAKLSAgICBib29sIGhhc1Byb2Nlc3NlZFdoZWVsRXZlbnRzUmVjZW50bHko
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdpbGxQcm9jZXNzV2hlZWxFdmVudCgpOwogCiAg
ICAgdm9pZCBhZGRQZW5kaW5nU2Nyb2xsVXBkYXRlKFNjcm9sbFVwZGF0ZSYmKTsKQEAgLTI0MSw2
ICsyNDMsMTEgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zSW50
ZXJuYWwoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX3RyZWVMb2NrKTsKICAgICB2b2lkIHJlbW92ZUFs
bE5vZGVzKCkgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CisgICAgCisgICAgdmlydHVh
bCB2b2lkIGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxDaGFuZ2VkKGJvb2wgLyogaGFzTm9kZVdp
dGhBbmltYXRlZFNjcm9sbCAqLykgeyB9CisKKyAgICBib29sIGhhc1Byb2Nlc3NlZFdoZWVsRXZl
bnRzUmVjZW50bHkoKTsKKyAgICBib29sIGhhc05vZGVXaXRoQWN0aXZlQW5pbWF0ZWRTY3JvbGwo
KTsKIAogICAgIExvY2sgbV90cmVlTG9jazsgLy8gUHJvdGVjdHMgdGhlIHNjcm9sbGluZyB0cmVl
LgogCkBAIC0yNjIsNyArMjY5LDcgQEAgcHJpdmF0ZToKICAgICBPcHRpb25TZXQ8V2hlZWxFdmVu
dFByb2Nlc3NpbmdTdGVwcz4gY29tcHV0ZVdoZWVsUHJvY2Vzc2luZ1N0ZXBzKGNvbnN0IFBsYXRm
b3JtV2hlZWxFdmVudCYpIFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZVN0YXRlTG9jayk7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcmVjZWl2ZWRXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYpIHsgfQotICAgIAorCiAgICAgUmVmUHRyPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGU+IG1fcm9vdE5vZGU7CiAKICAgICB1c2luZyBTY3JvbGxpbmdUcmVlTm9kZU1hcCA9IEhhc2hN
YXA8U2Nyb2xsaW5nTm9kZUlELCBSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+PjsKQEAgLTI4NSw2
ICsyOTIsNyBAQCBwcml2YXRlOgogICAgICAgICBIYXNoU2V0PFNjcm9sbGluZ05vZGVJRD4gbm9k
ZXNXaXRoQWN0aXZlUnViYmVyQmFuZGluZzsKICAgICAgICAgSGFzaFNldDxTY3JvbGxpbmdOb2Rl
SUQ+IG5vZGVzV2l0aEFjdGl2ZVNjcm9sbFNuYXA7CiAgICAgICAgIEhhc2hTZXQ8U2Nyb2xsaW5n
Tm9kZUlEPiBub2Rlc1dpdGhBY3RpdmVVc2VyU2Nyb2xsczsKKyAgICAgICAgSGFzaFNldDxTY3Jv
bGxpbmdOb2RlSUQ+IG5vZGVzV2l0aEFjdGl2ZUFuaW1hdGVkU2Nyb2xsczsKICAgICB9OwogICAg
IAogICAgIExvY2sgbV90cmVlU3RhdGVMb2NrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4
IDQwZWY4Zjk5ZGQ0ODAwZDRiM2U4MzgxZWQ1YjMyZTMwNjhhNjNkOGUuLjFhODUxOGYwMWY5MjMw
ODhiNGNkNDc1ZGMwODA1OWU2YzQwYWIxMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKQEAg
LTIyOSw2ICsyMjksNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpkaWRTdG9w
QW5pbWF0ZWRTY3JvbGwoKQogewogICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVh
bSA8PCAiU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8
PCAiIGRpZFN0b3BBbmltYXRlZFNjcm9sbCIpOwogICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxp
bmdUcmVlTm9kZURpZFN0b3BBbmltYXRlZFNjcm9sbCgqdGhpcyk7CisgICAgc2Nyb2xsaW5nVHJl
ZSgpLnNldEFuaW1hdGVkU2Nyb2xsSW5Qcm9ncmVzc0Zvck5vZGUoc2Nyb2xsaW5nTm9kZUlEKCks
IGZhbHNlKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6aGFuZGxlU2Ny
b2xsUG9zaXRpb25SZXF1ZXN0KGNvbnN0IFJlcXVlc3RlZFNjcm9sbERhdGEmIHJlcXVlc3RlZFNj
cm9sbERhdGEpCkBAIC0yNTksNiArMjYwLDExIEBAIEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGU6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYKICAg
ICByZXR1cm4gc2Nyb2xsUG9zaXRpb247CiB9CiAKK3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGU6OndpbGxTdGFydEFuaW1hdGVkU2Nyb2xsKCkKK3sKKyAgICBzY3JvbGxpbmdUcmVlKCku
c2V0QW5pbWF0ZWRTY3JvbGxJblByb2dyZXNzRm9yTm9kZShzY3JvbGxpbmdOb2RlSUQoKSwgdHJ1
ZSk7Cit9CisKIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNjcm9sbEJ5KGNvbnN0
IEZsb2F0U2l6ZSYgZGVsdGEsIFNjcm9sbENsYW1waW5nIGNsYW1wKQogewogICAgIHNjcm9sbFRv
KGN1cnJlbnRTY3JvbGxQb3NpdGlvbigpICsgZGVsdGEsIFNjcm9sbFR5cGU6OlVzZXIsIGNsYW1w
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IGJjNjIyZGQzOGJjZjNmNjIwZjc1NTIxZDdlOGUy
OTA0Y2QwZDUyNzcuLjI2MWY2OWM5YWQ0ZWQzOGZkNjEzMDQ5MTVhMThmYjNlMjc4ODQ0NTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGUuaApAQCAtMTI4LDYgKzEyOCw5IEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIGJvb2wgc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRpb24oRmxvYXRQb2ludCkgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc3RvcEFuaW1hdGVkU2Nyb2xsKCkgeyB9
CiAKKyAgICB2b2lkIHdpbGxTdGFydEFuaW1hdGVkU2Nyb2xsKCk7CisgICAgdm9pZCBkaWRTdG9w
QW5pbWF0ZWRTY3JvbGwoKTsKKwogICAgIHZpcnR1YWwgdm9pZCBjdXJyZW50U2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKFNjcm9sbFR5cGUsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gPSBTY3Jv
bGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOjpTeW5jKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
Vmlld3BvcnRGb3JDdXJyZW50U2Nyb2xsUG9zaXRpb24oc3RkOjpvcHRpb25hbDxGbG9hdFJlY3Q+
ID0geyB9KSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsUG9zaXRpb25BbmRMYXlvdXRWaWV3
cG9ydE1hdGNoKGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uLCBzdGQ6Om9wdGlvbmFsPEZsb2F0
UmVjdD4gb3ZlcnJpZGVMYXlvdXRWaWV3cG9ydCk7CkBAIC0xMzcsOCArMTQwLDYgQEAgcHJvdGVj
dGVkOgogCiAgICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zKCkgb3ZlcnJpZGU7CiAKLSAgICB2
b2lkIGRpZFN0b3BBbmltYXRlZFNjcm9sbCgpOwotCiAgICAgY29uc3QgRmxvYXRTaXplJiByZWFj
aGFibGVDb250ZW50c1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JlYWNoYWJsZUNvbnRlbnRzU2l6
ZTsgfQogICAgIAogICAgIGJvb2wgaXNMYXRjaGVkTm9kZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5jcHAK
aW5kZXggMDlhYTc5NGFlZDI5ZmE4ZDZjNTM4ZDM1NjFjZWVkYzZlNzFhMTc1MS4uOTc4MzE3MjBk
OGEwYzE0ZWVhODNlNTQxZTljN2Y4MTBlZjFlZTI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwCkBAIC0zMjgs
MTEgKzMyOCwxOCBAQCB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6c2V0QWN0aXZlU2Nyb2xs
U25hcEluZGljZXMoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCwgcwogfQogI2VuZGlmCiAKK2Jvb2wg
VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpzY3JvbGxpbmdUaHJlYWRJc0FjdGl2ZSgpCit7CisgICAg
cmV0dXJuIGhhc1Byb2Nlc3NlZFdoZWVsRXZlbnRzUmVjZW50bHkoKSB8fCBoYXNOb2RlV2l0aEFj
dGl2ZUFuaW1hdGVkU2Nyb2xsKCk7Cit9CisKIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3
aWxsU3RhcnRSZW5kZXJpbmdVcGRhdGUoKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CiAKLSAgICBpZiAoIWhhc1Byb2Nlc3NlZFdoZWVsRXZlbnRzUmVjZW50bHkoKSkKKyAgICBMT0df
V0lUSF9TVFJFQU0oU2Nyb2xsQW5pbWF0aW9ucywgc3RyZWFtIDw8ICJUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OndpbGxTdGFydFJlbmRlcmluZ1VwZGF0ZSAtIHNjcm9sbGluZ1RocmVhZElzQWN0aXZl
ICIgPDwgc2Nyb2xsaW5nVGhyZWFkSXNBY3RpdmUoKSk7CisKKyAgICBpZiAoIXNjcm9sbGluZ1Ro
cmVhZElzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIHRyYWNlUG9pbnQoU2Nyb2xs
aW5nVGhyZWFkUmVuZGVyVXBkYXRlU3luY1N0YXJ0KTsKQEAgLTM1OCw2ICszNjUsMTMgQEAgU2Vj
b25kcyBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6Om1heEFsbG93YWJsZVJlbmRlcmluZ1VwZGF0ZUR1
cmF0aW9uRm9yU3luY2hyb25pemEKICAgICByZXR1cm4gYWxsb3dhYmxlRnJhbWVGcmFjdGlvbiAq
IGZyYW1lRHVyYXRpb247CiB9CiAKK3ZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpoYXNOb2Rl
V2l0aEFuaW1hdGVkU2Nyb2xsQ2hhbmdlZChib29sIGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGwp
Cit7CisgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtzY3JvbGxpbmdDb29yZGluYXRvciA9
IG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3IsIGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxdIHsKKyAg
ICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGxDaGFu
Z2VkKGhhc05vZGVXaXRoQW5pbWF0ZWRTY3JvbGwpOworICAgIH0pOworfQorCiAvLyBUaGlzIGNv
ZGUgYWxsb3dzIHRoZSBtYWluIHRocmVhZCBhYm91dCBoYWxmIGEgZnJhbWUgdG8gY29tcGxldGUg
aXRzIHJlbmRlcmluZyB1ZHBhdGUuIElmIHRoZSBtYWluIHRocmVhZAogLy8gaXMgcmVzcG9uc2l2
ZSAoaS5lLiBtYW5hZ2luZyB0byByZW5kZXIgZXZlcnkgZnJhbWUpLCB0aGVuIHdlIGV4cGVjdCB0
byBnZXQgYSBkaWRDb21wbGV0ZVJlbmRlcmluZ1VwZGF0ZSgpCiAvLyB3aXRoaW4gOG1zIG9mIHdp
bGxTdGFydFJlbmRlcmluZ1VwZGF0ZSgpLiBXZSB0aW1lIHRoaXMgdmlhIG1fc3RhdGVDb25kaXRp
b24sIHdoaWNoIGJsb2NrcyB0aGUgc2Nyb2xsaW5nCkBAIC00NTEsMTYgKzQ2NSwxNiBAQCB2b2lk
IFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGlzcGxheURpZFJlZnJlc2hPblNjcm9sbGluZ1RocmVh
ZCgpCiAKIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpkaXNwbGF5RGlkUmVmcmVzaChQbGF0
Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCiB7Ci0gICAgYm9vbCBoYXNQcm9jZXNzZWRXaGVlbEV2
ZW50c1JlY2VudGx5ID0gdGhpcy0+aGFzUHJvY2Vzc2VkV2hlZWxFdmVudHNSZWNlbnRseSgpOwor
ICAgIGJvb2wgc2Nyb2xsaW5nVGhyZWFkSXNBY3RpdmUgPSB0aGlzLT5zY3JvbGxpbmdUaHJlYWRJ
c0FjdGl2ZSgpOwogCiAgICAgLy8gV2UncmUgb24gdGhlIEV2ZW50RGlzcGF0Y2hlciB0aHJlYWQg
b3IgaW4gdGhlIFRocmVhZGVkQ29tcG9zaXRvciB0aHJlYWQgaGVyZS4KLSAgICB0cmFjZVBvaW50
KFNjcm9sbGluZ1RyZWVEaXNwbGF5RGlkUmVmcmVzaCwgZGlzcGxheUlELCBoYXNQcm9jZXNzZWRX
aGVlbEV2ZW50c1JlY2VudGx5KTsKKyAgICB0cmFjZVBvaW50KFNjcm9sbGluZ1RyZWVEaXNwbGF5
RGlkUmVmcmVzaCwgZGlzcGxheUlELCBzY3JvbGxpbmdUaHJlYWRJc0FjdGl2ZSk7CiAKICAgICBp
ZiAoZGlzcGxheUlEICE9IHRoaXMtPmRpc3BsYXlJRCgpKQogICAgICAgICByZXR1cm47CiAKICNp
ZiAhUExBVEZPUk0oV1BFKSAmJiAhUExBVEZPUk0oR1RLKQotICAgIGlmICghaGFzUHJvY2Vzc2Vk
V2hlZWxFdmVudHNSZWNlbnRseSkKKyAgICBpZiAoIXNjcm9sbGluZ1RocmVhZElzQWN0aXZlKQog
ICAgICAgICByZXR1cm47CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAppbmRleCBhMDUzNzkxM2M5MDU4MDg5
MzcwZjcyYjJkY2U1ZjIxY2EwMGViY2RiLi5jNDFjNTQ1YzJkODM5NTc0Yzc5ZjkwYmJhYjIzNDZm
ZDljMDc0NDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJl
YWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9U
aHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAtMTAxLDcgKzEwMSwxMSBAQCBwcml2YXRlOgogICAg
IHZvaWQgc2NoZWR1bGVEZWxheWVkUmVuZGVyaW5nVXBkYXRlRGV0ZWN0aW9uVGltZXIoU2Vjb25k
cykgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CiAgICAgdm9pZCBkZWxheWVkUmVuZGVy
aW5nVXBkYXRlRGV0ZWN0aW9uVGltZXJGaXJlZCgpOwogCisgICAgdm9pZCBoYXNOb2RlV2l0aEFu
aW1hdGVkU2Nyb2xsQ2hhbmdlZChib29sKSBmaW5hbDsKKwogICAgIFNlY29uZHMgbWF4QWxsb3dh
YmxlUmVuZGVyaW5nVXBkYXRlRHVyYXRpb25Gb3JTeW5jaHJvbml6YXRpb24oKTsKKyAgICAKKyAg
ICBib29sIHNjcm9sbGluZ1RocmVhZElzQWN0aXZlKCk7CiAKICAgICBlbnVtIGNsYXNzIFN5bmNo
cm9uaXphdGlvblN0YXRlIDogdWludDhfdCB7CiAgICAgICAgIElkbGUsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IDFmMWE1ZGY5OWNmY2ZlZTA1N2Q3
ZmQ3OTU5OTI0MTM4MzUzMzdhZDEuLjdlOTlmN2Y0YjJhOGRkNTQwNmI0OTgyYjgwOWE4ZmE0NDlk
YTk3YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCkBA
IC0xMjcsNyArMTI3LDEwIEBAIFdoZWVsRXZlbnRIYW5kbGluZ1Jlc3VsdCBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpoYW5kbGVXaGVlbEV2ZW50KGNvCiAKIGJvb2wgU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQogewotICAgIHJldHVybiBtX2RlbGVn
YXRlLnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGRlc3RpbmF0aW9uUG9zaXRpb24pOwor
ICAgIGJvb2wgc3RhcnRlZCA9IG1fZGVsZWdhdGUuc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9zaXRp
b24oZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgaWYgKHN0YXJ0ZWQpCisgICAgICAgIHdpbGxT
dGFydEFuaW1hdGVkU2Nyb2xsKCk7CisgICAgcmV0dXJuIHN0YXJ0ZWQ7CiB9CiAKIHZvaWQgU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c3RvcEFuaW1hdGVkU2Nyb2xsKCkKQEAg
LTE0OCw3ICsxNTEsNyBAQCBGbG9hdFBvaW50IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OmFkanVzdGVkU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYQogCiB2b2lkIFNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQo
U2Nyb2xsVHlwZSBzY3JvbGxUeXBlLCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uIGFjdGlv
bikKIHsKLSAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8PCAiIGN1
cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQgdG8gIiA8PCBjdXJyZW50U2Nyb2xsUG9zaXRpb24o
KSA8PCAiIG1pbjogIiA8PCBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSA8PCAiIG1heDogIiA8PCBt
YXhpbXVtU2Nyb2xsUG9zaXRpb24oKSA8PCAiIHN5bmM6ICIgPDwgaGFzU3luY2hyb25vdXNTY3Jv
bGxpbmdSZWFzb25zKCkpOworICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8
PCAiU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyAiIDw8IHNjcm9sbGluZ05vZGVJ
RCgpIDw8ICIgY3VycmVudFNjcm9sbFBvc2l0aW9uQ2hhbmdlZCB0byAiIDw8IGN1cnJlbnRTY3Jv
bGxQb3NpdGlvbigpIDw8ICIgbWluOiAiIDw8IG1pbmltdW1TY3JvbGxQb3NpdGlvbigpIDw8ICIg
bWF4OiAiIDw8IG1heGltdW1TY3JvbGxQb3NpdGlvbigpIDw8ICIgc3luYzogIiA8PCBoYXNTeW5j
aHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKSA8PCAiIGlzIGFuaW1hdGluZzogIiA8PCBzY3JvbGxp
bmdUcmVlKCkuaXNBbmltYXRlZFNjcm9sbEluUHJvZ3Jlc3NGb3JOb2RlKHNjcm9sbGluZ05vZGVJ
RCgpKSk7CiAKICAgICBtX2RlbGVnYXRlLmN1cnJlbnRTY3JvbGxQb3NpdGlvbkNoYW5nZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQppbmRl
eCBiMTI4MjU0MmEwOWViYmNjODNjYzBiMzkzYzMzZmMzZWE4MTNiOWZjLi40MTBmNjBiODVkYmI5
ZmEwYjc0NDgxYmU5MWNjNGJmMmYzNjRhNGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtNzYsNyArNzYsMTAgQEAgV2hlZWxFdmVudEhh
bmRsaW5nUmVzdWx0IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OmhhbmRs
ZVdoZWVsRXZlbnQKIAogYm9vbCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFj
OjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBvaW50IGRlc3RpbmF0aW9uUG9z
aXRpb24pCiB7Ci0gICAgcmV0dXJuIG1fZGVsZWdhdGUuc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9z
aXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgYm9vbCBzdGFydGVkID0gbV9kZWxlZ2F0
ZS5zdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0aW9uKTsKKyAg
ICBpZiAoc3RhcnRlZCkKKyAgICAgICAgd2lsbFN0YXJ0QW5pbWF0ZWRTY3JvbGwoKTsKKyAgICBy
ZXR1cm4gc3RhcnRlZDsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlTWFjOjpzdG9wQW5pbWF0ZWRTY3JvbGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQppbmRleCBkMDViNzA5M2U0MDEyZTA0ZGQyMjA2YTljN2Mw
MGM2MTA3MDFjZTExLi5iM2NkODEwODAzMTk3NzgwOGU5OWU4NWU2ZjRmZGYxYzljYTI2NjYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQpAQCAt
NDAyLDcgKzQwMiw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1h
Yzo6ZGVmZXJXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25Gb3JSZWFzCiAKICAgICBzY3JvbGxpbmdU
cmVlKCkuZGVmZXJXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25Gb3JSZWFzb24oaWRlbnRpZmllciwg
cmVhc29uKTsKIH0KLSAgICAKKwogdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlTWFjOjpyZW1vdmVXaGVlbEV2ZW50VGVzdENvbXBsZXRpb25EZWZlcnJhbEZvclJlYXNvbihX
aGVlbEV2ZW50VGVzdE1vbml0b3I6OlNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBpZGVudGlmaWVy
LCBXaGVlbEV2ZW50VGVzdE1vbml0b3I6OkRlZmVyUmVhc29uIHJlYXNvbikgY29uc3QKIHsKICAg
ICBpZiAoIXNjcm9sbGluZ1RyZWUoKS5pc01vbml0b3JpbmdXaGVlbEV2ZW50cygpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcApp
bmRleCA0YWNmZDM3ZDYyZmUzMDhmY2U0Nzg4N2U3ZDM4ODc4YmEyMDc0YjllLi4wOThkODEzMWNk
NTA5ZDYxZmQyNGRhZjY5MDhmYjQ4MGIxZTk4YTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVO
aWNvc2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmNwcApAQCAtMTA0LDcgKzEwNCwx
MSBAQCBXaGVlbEV2ZW50SGFuZGxpbmdSZXN1bHQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU5pY29zaWE6OmhhbmRsZVdoZWVsRXZlbgogCiBib29sIFNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVOaWNvc2lhOjpzdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihGbG9hdFBv
aW50IGRlc3RpbmF0aW9uUG9zaXRpb24pCiB7Ci0gICAgcmV0dXJuIG1fZGVsZWdhdGUuc3RhcnRB
bmltYXRlZFNjcm9sbFRvUG9zaXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgYm9vbCBz
dGFydGVkID0gbV9kZWxlZ2F0ZS5zdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5h
dGlvblBvc2l0aW9uKTsKKyAgICBpZiAoc3RhcnRlZCkKKyAgICAgICAgd2lsbFN0YXJ0QW5pbWF0
ZWRTY3JvbGwoKTsKKworICAgIHJldHVybiBzdGFydGVkOwogfQogCiB2b2lkIFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhOjpzdG9wQW5pbWF0ZWRTY3JvbGwoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lh
LmNwcAppbmRleCA3NThhNDk2Y2NmODNhOGE0ZTBjODI4NDk2YzRmYzdmZjgzOGQ1OGVkLi5kNzVi
MzhjNjdmODhiZGJlMDA4NDU1YzE1N2Q4MWVmOGEyNGNjM2VkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9s
bGluZ05vZGVOaWNvc2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9u
aWNvc2lhL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhLmNwcApAQCAt
ODcsNyArODcsMTEgQEAgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVOaWNvc2lhOjpoYW5kbGVXaGVlbEUKIAogYm9vbCBTY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYTo6c3RhcnRBbmltYXRlZFNjcm9sbFRvUG9z
aXRpb24oRmxvYXRQb2ludCBkZXN0aW5hdGlvblBvc2l0aW9uKQogewotICAgIHJldHVybiBtX2Rl
bGVnYXRlLnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9uKGRlc3RpbmF0aW9uUG9zaXRpb24p
OworICAgIGJvb2wgc3RhcnRlZCA9IG1fZGVsZWdhdGUuc3RhcnRBbmltYXRlZFNjcm9sbFRvUG9z
aXRpb24oZGVzdGluYXRpb25Qb3NpdGlvbik7CisgICAgaWYgKHN0YXJ0ZWQpCisgICAgICAgIHdp
bGxTdGFydEFuaW1hdGVkU2Nyb2xsKCk7CisKKyAgICByZXR1cm4gc3RhcnRlZDsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTmljb3NpYTo6c3RvcEFuaW1hdGVk
U2Nyb2xsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZUlPUy5tbQppbmRleCAxNDhkZWIxYzM1MWFlZjg5N2RjNTI0MTY3NjFj
YzQwZjZiMDUwM2QxLi43ZWIzYzU0MTQyOGMwMWZiNTJjYjI2ZTkzNzlmNGIzODBlYWRjZDY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Nj
cm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlSU9TLm1tCkBAIC04MCw3ICs4MCwxMCBAQCB2b2lkIFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVJT1M6OnJlcG9zaXRpb25TY3JvbGxpbmdMYXllcnMoKQogCiBib29s
IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OnN0YXJ0QW5pbWF0ZWRTY3Jv
bGxUb1Bvc2l0aW9uKEZsb2F0UG9pbnQgZGVzdGluYXRpb25Qb3NpdGlvbikKIHsKLSAgICByZXR1
cm4gbV9zY3JvbGxpbmdOb2RlRGVsZWdhdGUtPnN0YXJ0QW5pbWF0ZWRTY3JvbGxUb1Bvc2l0aW9u
KGRlc3RpbmF0aW9uUG9zaXRpb24pOworICAgIGJvb2wgc3RhcnRlZCA9IG1fc2Nyb2xsaW5nTm9k
ZURlbGVnYXRlLT5zdGFydEFuaW1hdGVkU2Nyb2xsVG9Qb3NpdGlvbihkZXN0aW5hdGlvblBvc2l0
aW9uKTsKKyAgICBpZiAoc3RhcnRlZCkKKyAgICAgICAgd2lsbFN0YXJ0QW5pbWF0ZWRTY3JvbGwo
KTsKKyAgICByZXR1cm4gc3RhcnRlZDsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlSU9TOjpzdG9wQW5pbWF0ZWRTY3JvbGwoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>