<?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>226109</bug_id>
          
          <creation_ts>2021-05-21 13:38:33 -0700</creation_ts>
          <short_desc>Adopt CheckedLock in ScrollingTree and fix threading bug</short_desc>
          <delta_ts>2021-05-21 15:18:20 -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>Layout and Rendering</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1762562</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-21 13:38:33 -0700</bug_when>
    <thetext>Adopt CheckedLock in ScrollingTree to benefit from Clang Thread Safety Analysis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762564</commentid>
    <comment_count>1</comment_count>
      <attachid>429333</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-21 13:41:36 -0700</bug_when>
    <thetext>Created attachment 429333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762614</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-21 15:17:42 -0700</bug_when>
    <thetext>Committed r277893 (238029@main): &lt;https://commits.webkit.org/238029@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429333.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762615</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-21 15:18:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/78331258&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429333</attachid>
            <date>2021-05-21 13:41:36 -0700</date>
            <delta_ts>2021-05-21 15:17:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226109-20210521134135.patch</filename>
            <type>text/plain</type>
            <size>18169</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3ODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY4Zjg0N2U2ZmI5YjJk
N2Y0Yjc4OWE0YjA2ZDA4MWUzOGJmMWNlYy4uOGFjODE0MGU4MjFlMjFhNWUxODFjYjg3NWRhYWFj
OThhMzRkN2M3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA1LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRvcHQgQ2hlY2tlZExvY2sg
aW4gU2Nyb2xsaW5nVHJlZSBhbmQgZml4IHRocmVhZGluZyBidWcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjEwOQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkb3B0IENoZWNrZWRMb2NrIGluIFNjcm9s
bGluZ1RyZWUgYW5kIGZpeCB0aHJlYWRpbmcgYnVnIGZvdW5kIGJ5IENsYW5nIFRocmVhZCBTYWZl
dHkKKyAgICAgICAgQW5hbHlzaXMuIEluIHBhcnRpY3VsYXIsIFRocmVhZGVkU2Nyb2xsaW5nVHJl
ZTo6d2lsbFN0YXJ0UmVuZGVyaW5nVXBkYXRlKCkgd2FzIGZhaWxpbmcKKyAgICAgICAgdG8gZ3Jh
YiB0aGUgbG9jayBiZWZvcmUgdXBkYXRpbmcgbV9zdGF0ZS4gbV9zdGF0ZSBkZWZpbml0ZWx5IGdl
dCBtb2RpZmllZCBmcm9tIHNldmVyYWwKKyAgICAgICAgdGhyZWFkcyBzbyBzeW5jaHJvbml6YXRp
b24gaXMgaW1wb3J0YW50LgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpoYW5kbGVXaGVlbEV2ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OnRyYXZlcnNlU2Nyb2xsaW5nVHJl
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpjb21taXRUcmVlU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6YXBwbHlMYXllclBvc2l0aW9ucyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjphcHBseUxheWVyUG9zaXRpb25zSW50ZXJu
YWwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6c2Nyb2xsQnlTaW11bGF0aW5n
V2hlZWxFdmVudEZvclRlc3RpbmcpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OldURl9SRVRVUk5TX0xP
Q0spOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6V1RGX1JFUVVJUkVTX0xPQ0sp
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OlRocmVhZGVkU2Nyb2xsaW5n
VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdo
ZWVsRXZlbnRBZnRlck1haW5UaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3Jv
bGxpbmdUcmVlOjp3aGVlbEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFkKToKKyAgICAgICAg
KFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2lsbFNlbmRFdmVudFRvTWFpblRocmVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OndhaXRGb3JFdmVu
dFRvQmVQcm9jZXNzZWRCeU1haW5UaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRT
Y3JvbGxpbmdUcmVlOjppbnZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Ny
b2xsaW5nVHJlZTo6d2lsbFN0YXJ0UmVuZGVyaW5nVXBkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2FpdEZvclJlbmRlcmluZ1VwZGF0ZUNvbXBsZXRpb25P
clRpbWVvdXQpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpkaWRD
b21wbGV0ZVJlbmRlcmluZ1VwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9s
bGluZ1RyZWU6OnNjaGVkdWxlRGVsYXllZFJlbmRlcmluZ1VwZGF0ZURldGVjdGlvblRpbWVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGVsYXllZFJlbmRlcmlu
Z1VwZGF0ZURldGVjdGlvblRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkZWRT
Y3JvbGxpbmdUcmVlOjpkaXNwbGF5RGlkUmVmcmVzaE9uU2Nyb2xsaW5nVGhyZWFkKToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6V1RGX1JFVFVSTlNfTE9DSyk6CisgICAgICAg
IChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OldURl9HVUFSREVEX0JZX0xPQ0spOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURl
bGVnYXRlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZU1hYzo6Y3JlYXRlVGltZXIpOgorCiAyMDIxLTA1LTIxICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgQ2hlY2tlZExvY2sgLyBDaGVja2Vk
Q29uZGl0aW9uIGluIENETVByb3h5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWUuY3BwCmluZGV4IGU1MWQ2MzY2MmYxOWVjMmJjZGEzZWIxMDIxYjUzYjYw
OGZiNmQ2OWIuLmU2YWY4ZjM5NjkzZmM3YmQ2OGFjZmIwN2Q0Njk5YWZmNmZlNGU1NGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCkBAIC0x
MjUsNyArMTI1LDcgQEAgV2hlZWxFdmVudEhhbmRsaW5nUmVzdWx0IFNjcm9sbGluZ1RyZWU6Omhh
bmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW4KIHsKICAgICBMT0dfV0lUSF9T
VFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlxuU2Nyb2xsaW5nVHJlZSAiIDw8IHRoaXMgPDwg
IiBoYW5kbGVXaGVlbEV2ZW50ICIgPDwgd2hlZWxFdmVudCk7CiAKLSAgICBMb2NrSG9sZGVyIGxv
Y2tlcihtX3RyZWVNdXRleCk7CisgICAgTG9ja2VyIGxvY2tlciB7IG1fdHJlZUxvY2sgfTsKIAog
ICAgIGlmIChpc01vbml0b3JpbmdXaGVlbEV2ZW50cygpKQogICAgICAgICByZWNlaXZlZFdoZWVs
RXZlbnQod2hlZWxFdmVudCk7CkBAIC0yMjQsNyArMjI0LDcgQEAgT3B0aW9uU2V0PEV2ZW50TGlz
dGVuZXJSZWdpb25UeXBlPiBTY3JvbGxpbmdUcmVlOjpldmVudExpc3RlbmVyUmVnaW9uVHlwZXNG
b3JQb2kKIAogdm9pZCBTY3JvbGxpbmdUcmVlOjp0cmF2ZXJzZVNjcm9sbGluZ1RyZWUoVmlzaXRv
ckZ1bmN0aW9uJiYgdmlzaXRvckZ1bmN0aW9uKQogewotICAgIExvY2tIb2xkZXIgbG9ja2VyKG1f
dHJlZU11dGV4KTsKKyAgICBMb2NrZXIgbG9ja2VyIHsgbV90cmVlTG9jayB9OwogICAgIGlmICgh
bV9yb290Tm9kZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0yNjUsNyArMjY1LDcgQEAgdm9pZCBT
Y3JvbGxpbmdUcmVlOjptYWluRnJhbWVWaWV3cG9ydENoYW5nZWRWaWFEZWxlZ2F0ZWRTY3JvbGxp
bmcoY29uc3QgRmxvYXRQb2kKIHZvaWQgU2Nyb2xsaW5nVHJlZTo6Y29tbWl0VHJlZVN0YXRlKHN0
ZDo6dW5pcXVlX3B0cjxTY3JvbGxpbmdTdGF0ZVRyZWU+JiYgc2Nyb2xsaW5nU3RhdGVUcmVlKQog
ewogICAgIFNldEZvclNjb3BlPGJvb2w+IGluQ29tbWl0VHJlZVN0YXRlKG1faW5Db21taXRUcmVl
U3RhdGUsIHRydWUpOwotICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fdHJlZU11dGV4KTsKKyAgICBM
b2NrZXIgbG9ja2VyIHsgbV90cmVlTG9jayB9OwogCiAgICAgYm9vbCByb290U3RhdGVOb2RlQ2hh
bmdlZCA9IHNjcm9sbGluZ1N0YXRlVHJlZS0+aGFzTmV3Um9vdFN0YXRlTm9kZSgpOwogCkBAIC00
MTcsMTQgKzQxNywxNCBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnNB
ZnRlckNvbW1pdCgpCiB2b2lkIFNjcm9sbGluZ1RyZWU6OmFwcGx5TGF5ZXJQb3NpdGlvbnMoKQog
ewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgTG9ja0hvbGRlciBsb2NrZXIobV90
cmVlTXV0ZXgpOworICAgIExvY2tlciBsb2NrZXIgeyBtX3RyZWVMb2NrIH07CiAKICAgICBhcHBs
eUxheWVyUG9zaXRpb25zSW50ZXJuYWwoKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlOjphcHBs
eUxheWVyUG9zaXRpb25zSW50ZXJuYWwoKQogewotICAgIEFTU0VSVChtX3RyZWVNdXRleC5pc0xv
Y2tlZCgpKTsKKyAgICBBU1NFUlQobV90cmVlTG9jay5pc0xvY2tlZCgpKTsKICAgICBpZiAoIW1f
cm9vdE5vZGUpCiAgICAgICAgIHJldHVybjsKIApAQCAtNjY0LDcgKzY2NCw3IEBAIGJvb2wgU2Ny
b2xsaW5nVHJlZTo6d2lsbFdoZWVsRXZlbnRTdGFydFN3aXBlR2VzdHVyZShjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmIHdoCiAKIHZvaWQgU2Nyb2xsaW5nVHJlZTo6c2Nyb2xsQnlTaW11bGF0aW5n
V2hlZWxFdmVudEZvclRlc3RpbmcoU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCwgRmxvYXRTaXplIGRl
bHRhKQogewotICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fdHJlZU11dGV4KTsKKyAgICBMb2NrZXIg
bG9ja2VyIHsgbV90cmVlTG9jayB9OwogCiAgICAgYXV0byogbm9kZSA9IG5vZGVGb3JJRChub2Rl
SUQpOwogICAgIGlmICghaXM8U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU+KG5vZGUpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCmluZGV4IGRmZWRm
ZGYzNzkwMTc4MTVjMWM3ZmIxN2VhYzk0M2IxYWJkMzhiYjAuLmY2MWNkODFhMDY5NDI1NDY3NGRh
OGRmY2Q4OWQ5NDhhNWY0YTEzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlLmgKQEAgLTIxNyw3ICsyMTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxTZW5kRXZlbnRUb01haW5UaHJlYWQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHdhaXRGb3JFdmVudFRvQmVQcm9jZXNzZWRCeU1haW5U
aHJlYWQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgeyB9OwogCi0gICAgTG9jayYgdHJlZU11
dGV4KCkgeyByZXR1cm4gbV90cmVlTXV0ZXg7IH0KKyAgICBDaGVja2VkTG9jayYgdHJlZUxvY2so
KSBXVEZfUkVUVVJOU19MT0NLKG1fdHJlZUxvY2spIHsgcmV0dXJuIG1fdHJlZUxvY2s7IH0KIAog
ICAgIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlELCBPcHRpb25h
bDxGcmFtZXNQZXJTZWNvbmQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpOwogICAgIFBsYXRmb3Jt
RGlzcGxheUlEIGRpc3BsYXlJRCgpOwpAQCAtMjU3LDE4ICsyNTcsMTggQEAgcHJvdGVjdGVkOgog
CiAgICAgT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKCk7
CiAKLSAgICB2b2lkIGFwcGx5TGF5ZXJQb3NpdGlvbnNJbnRlcm5hbCgpOwotICAgIHZvaWQgcmVt
b3ZlQWxsTm9kZXMoKTsKKyAgICB2b2lkIGFwcGx5TGF5ZXJQb3NpdGlvbnNJbnRlcm5hbCgpIFdU
Rl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spOworICAgIHZvaWQgcmVtb3ZlQWxsTm9kZXMoKSBX
VEZfUkVRVUlSRVNfTE9DSyhtX3RyZWVMb2NrKTsKIAotICAgIExvY2sgbV90cmVlTXV0ZXg7IC8v
IFByb3RlY3RzIHRoZSBzY3JvbGxpbmcgdHJlZS4KKyAgICBDaGVja2VkTG9jayBtX3RyZWVMb2Nr
OyAvLyBQcm90ZWN0cyB0aGUgc2Nyb2xsaW5nIHRyZWUuCiAKIHByaXZhdGU6Ci0gICAgdm9pZCB1
cGRhdGVUcmVlRnJvbVN0YXRlTm9kZVJlY3Vyc2l2ZShjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUq
LCBzdHJ1Y3QgQ29tbWl0VHJlZVN0YXRlJik7Ci0gICAgdmlydHVhbCB2b2lkIHByb3BhZ2F0ZVN5
bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhjb25zdCBIYXNoU2V0PFNjcm9sbGluZ05vZGVJRD4m
KSB7IH0KKyAgICB2b2lkIHVwZGF0ZVRyZWVGcm9tU3RhdGVOb2RlUmVjdXJzaXZlKGNvbnN0IFNj
cm9sbGluZ1N0YXRlTm9kZSosIHN0cnVjdCBDb21taXRUcmVlU3RhdGUmKSBXVEZfUkVRVUlSRVNf
TE9DSyhtX3RyZWVMb2NrKTsKKyAgICB2aXJ0dWFsIHZvaWQgcHJvcGFnYXRlU3luY2hyb25vdXNT
Y3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYpIFdURl9SRVFV
SVJFU19MT0NLKG1fdHJlZUxvY2spIHsgfQogCi0gICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25z
UmVjdXJzaXZlKFNjcm9sbGluZ1RyZWVOb2RlJik7CisgICAgdm9pZCBhcHBseUxheWVyUG9zaXRp
b25zUmVjdXJzaXZlKFNjcm9sbGluZ1RyZWVOb2RlJikgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVl
TG9jayk7CiAgICAgdm9pZCBub3RpZnlSZWxhdGVkTm9kZXNSZWN1cnNpdmUoU2Nyb2xsaW5nVHJl
ZU5vZGUmKTsKLSAgICB2b2lkIHRyYXZlcnNlU2Nyb2xsaW5nVHJlZVJlY3Vyc2l2ZShTY3JvbGxp
bmdUcmVlTm9kZSYsIGNvbnN0IFZpc2l0b3JGdW5jdGlvbiYpOworICAgIHZvaWQgdHJhdmVyc2VT
Y3JvbGxpbmdUcmVlUmVjdXJzaXZlKFNjcm9sbGluZ1RyZWVOb2RlJiwgY29uc3QgVmlzaXRvckZ1
bmN0aW9uJikgV1RGX1JFUVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CiAKICAgICBXRUJDT1JFX0VY
UE9SVCB2aXJ0dWFsIFJlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4gc2Nyb2xsaW5nTm9kZUZvclBv
aW50KEZsb2F0UG9pbnQpOwogI2lmIEVOQUJMRShXSEVFTF9FVkVOVF9SRUdJT05TKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJl
ZS5jcHAKaW5kZXggNmYwNTdhYjk3OTg0NjY2MTg2YmM5MDEwODI2N2ZhMDhmYjI4MWJmMC4uMDQw
MTVjNzE4NGRiMzI5YTdiMmUxNTJmZTA3ZDIzNzI4NTQ0MWRkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuY3BwCkBA
IC00NiwxMCArNDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBUaHJlYWRlZFNjcm9sbGlu
Z1RyZWU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yJiBz
Y3JvbGxpbmdDb29yZGluYXRvcikKICAgICA6IG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3IoJnNjcm9s
bGluZ0Nvb3JkaW5hdG9yKQotewogI2lmIEVOQUJMRShTTU9PVEhfU0NST0xMSU5HKQotICAgIG1f
c2Nyb2xsQW5pbWF0b3JFbmFibGVkID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3Iuc2Nyb2xsQW5pbWF0
b3JFbmFibGVkKCk7CisgICAgLCBtX3Njcm9sbEFuaW1hdG9yRW5hYmxlZChzY3JvbGxpbmdDb29y
ZGluYXRvci5zY3JvbGxBbmltYXRvckVuYWJsZWQoKSkKICNlbmRpZgorewogfQogCiBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWU6On5UaHJlYWRlZFNjcm9sbGluZ1RyZWUoKQpAQCAtNzAsNyArNzAsNyBA
QCBib29sIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6aGFuZGxlV2hlZWxFdmVudEFmdGVyTWFpblRo
cmVhZChjb25zdCBQbGF0Zm9ybVdoZWVsRQogCiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGlu
Zywgc3RyZWFtIDw8ICJUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVsRXZlbnRBZnRl
ck1haW5UaHJlYWQgIiA8PCB3aGVlbEV2ZW50IDw8ICIgbm9kZSAiIDw8IHRhcmdldE5vZGVJRCA8
PCAiIGdlc3R1cmVTdGF0ZSAiIDw8IGdlc3R1cmVTdGF0ZSk7CiAKLSAgICBMb2NrSG9sZGVyIGxv
Y2tlcihtX3RyZWVNdXRleCk7CisgICAgTG9ja2VyIGxvY2tlciB7IG1fdHJlZUxvY2sgfTsKIAog
ICAgIGJvb2wgYWxsb3dMYXRjaGluZyA9IGZhbHNlOwogICAgIE9wdGlvblNldDxXaGVlbEV2ZW50
UHJvY2Vzc2luZ1N0ZXBzPiBwcm9jZXNzaW5nU3RlcHM7CkBAIC05MSw3ICs5MSw3IEBAIHZvaWQg
VGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3aGVlbEV2ZW50V2FzUHJvY2Vzc2VkQnlNYWluVGhyZWFk
KGNvbnN0IFBsYXRmb3JtV2hlCiAKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIAot
ICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fdHJlZU11dGV4KTsKKyAgICBMb2NrZXIgbG9ja2VyIHsg
bV90cmVlTG9jayB9OwogICAgIGlmIChtX3JlY2VpdmVkQmVnYW5FdmVudEZyb21NYWluVGhyZWFk
IHx8ICF3aGVlbEV2ZW50LmlzR2VzdHVyZVN0YXJ0KCkpCiAgICAgICAgIHJldHVybjsKIApAQCAt
MTA1LDcgKzEwNSw3IEBAIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3aWxsU2VuZEV2ZW50
VG9NYWluVGhyZWFkKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpCiB7CiAgICAgQVNTRVJUKFNj
cm9sbGluZ1RocmVhZDo6aXNDdXJyZW50VGhyZWFkKCkpOwogCi0gICAgTG9ja0hvbGRlciBsb2Nr
ZXIobV90cmVlTXV0ZXgpOworICAgIExvY2tlciBsb2NrZXIgeyBtX3RyZWVMb2NrIH07CiAgICAg
bV9yZWNlaXZlZEJlZ2FuRXZlbnRGcm9tTWFpblRocmVhZCA9IGZhbHNlOwogfQogCkBAIC0xMTYs
MTMgKzExNiwxNCBAQCB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2FpdEZvckV2ZW50VG9C
ZVByb2Nlc3NlZEJ5TWFpblRocmVhZChjb25zdCBQbGF0Zm9ybQogICAgIGlmICghd2hlZWxFdmVu
dC5pc0dlc3R1cmVTdGFydCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBMb2NrSG9sZGVyIGxv
Y2tlcihtX3RyZWVNdXRleCk7CisgICAgTG9ja2VyIGxvY2tlciB7IG1fdHJlZUxvY2sgfTsKIAog
ICAgIHN0YXRpYyBjb25zdGV4cHIgYXV0byBtYXhBbGxvd2FibGVNYWluVGhyZWFkRGVsYXkgPSA1
MF9tczsKICAgICBhdXRvIHN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGF1
dG8gdGltZW91dFRpbWUgPSBzdGFydFRpbWUgKyBtYXhBbGxvd2FibGVNYWluVGhyZWFkRGVsYXk7
CiAKLSAgICBib29sIHJlY2VpdmVkRXZlbnQgPSBtX3dhaXRpbmdGb3JCZWdhbkV2ZW50Q29uZGl0
aW9uLndhaXRVbnRpbChtX3RyZWVNdXRleCwgdGltZW91dFRpbWUsIFsmXSB7CisgICAgYm9vbCBy
ZWNlaXZlZEV2ZW50ID0gbV93YWl0aW5nRm9yQmVnYW5FdmVudENvbmRpdGlvbi53YWl0VW50aWwo
bV90cmVlTG9jaywgdGltZW91dFRpbWUsIFsmXSB7CisgICAgICAgIGFzc2VydElzSGVsZChtX3Ry
ZWVMb2NrKTsKICAgICAgICAgcmV0dXJuIG1fcmVjZWl2ZWRCZWdhbkV2ZW50RnJvbU1haW5UaHJl
YWQ7CiAgICAgfSk7CiAKQEAgLTE0MSw3ICsxNDIsNyBAQCB2b2lkIFRocmVhZGVkU2Nyb2xsaW5n
VHJlZTo6aW52YWxpZGF0ZSgpCiAgICAgLy8gU2Nyb2xsaW5nQ29vcmRpbmF0b3IncyBwYWdlIGlz
IGRlc3Ryb3llZC4KICAgICBBU1NFUlQoU2Nyb2xsaW5nVGhyZWFkOjppc0N1cnJlbnRUaHJlYWQo
KSk7CiAKLSAgICBMb2NrSG9sZGVyIHRyZWVMb2NrZXIobV90cmVlTXV0ZXgpOworICAgIExvY2tl
ciBsb2NrZXIgeyBtX3RyZWVMb2NrIH07CiAgICAgCiAgICAgcmVtb3ZlQWxsTm9kZXMoKTsKICAg
ICBtX2RlbGF5ZWRSZW5kZXJpbmdVcGRhdGVEZXRlY3Rpb25UaW1lciA9IG51bGxwdHI7CkBAIC0y
NzksMTQgKzI4MCwxNiBAQCB2b2lkIFRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6d2lsbFN0YXJ0UmVu
ZGVyaW5nVXBkYXRlKCkKIAogICAgIHRyYWNlUG9pbnQoU2Nyb2xsaW5nVGhyZWFkUmVuZGVyVXBk
YXRlU3luY1N0YXJ0KTsKIAotICAgIC8vIFdhaXQgZm9yIHRoZSBzY3JvbGxpbmcgdGhyZWFkIHRv
IGFjcXVpcmUgbV90cmVlTXV0ZXguIFRoaXMgZW5zdXJlcyB0aGF0IGFueSBwZW5kaW5nIHdoZWVs
IGV2ZW50cyBhcmUgcHJvY2Vzc2VkLgorICAgIC8vIFdhaXQgZm9yIHRoZSBzY3JvbGxpbmcgdGhy
ZWFkIHRvIGFjcXVpcmUgbV90cmVlTG9jay4gVGhpcyBlbnN1cmVzIHRoYXQgYW55IHBlbmRpbmcg
d2hlZWwgZXZlbnRzIGFyZSBwcm9jZXNzZWQuCiAgICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9y
ZTsKICAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyksICZzZW1hcGhvcmVdKCkgewotICAgICAgICBMb2NrSG9sZGVyIHRyZWVMb2NrZXIo
cHJvdGVjdGVkVGhpcy0+bV90cmVlTXV0ZXgpOworICAgICAgICBMb2NrZXIgdHJlZUxvY2tlciB7
IHByb3RlY3RlZFRoaXMtPm1fdHJlZUxvY2sgfTsKICAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgp
OwogICAgICAgICBwcm90ZWN0ZWRUaGlzLT53YWl0Rm9yUmVuZGVyaW5nVXBkYXRlQ29tcGxldGlv
bk9yVGltZW91dCgpOwogICAgIH0pOwogICAgIHNlbWFwaG9yZS53YWl0KCk7CisKKyAgICBMb2Nr
ZXIgbG9ja2VyIHsgbV90cmVlTG9jayB9OwogICAgIG1fc3RhdGUgPSBTeW5jaHJvbml6YXRpb25T
dGF0ZTo6SW5SZW5kZXJpbmdVcGRhdGU7CiB9CiAKQEAgLTMwMSwxMyArMzA0LDEzIEBAIFNlY29u
ZHMgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjptYXhBbGxvd2FibGVSZW5kZXJpbmdVcGRhdGVEdXJh
dGlvbkZvclN5bmNocm9uaXphCiAvLyBUaGlzIGNvZGUgYWxsb3dzIHRoZSBtYWluIHRocmVhZCBh
Ym91dCBoYWxmIGEgZnJhbWUgdG8gY29tcGxldGUgaXRzIHJlbmRlcmluZyB1ZHBhdGUuIElmIHRo
ZSBtYWluIHRocmVhZAogLy8gaXMgcmVzcG9uc2l2ZSAoaS5lLiBtYW5hZ2luZyB0byByZW5kZXIg
ZXZlcnkgZnJhbWUpLCB0aGVuIHdlIGV4cGVjdCB0byBnZXQgYSBkaWRDb21wbGV0ZVJlbmRlcmlu
Z1VwZGF0ZSgpCiAvLyB3aXRoaW4gOG1zIG9mIHdpbGxTdGFydFJlbmRlcmluZ1VwZGF0ZSgpLiBX
ZSB0aW1lIHRoaXMgdmlhIG1fc3RhdGVDb25kaXRpb24sIHdoaWNoIGJsb2NrcyB0aGUgc2Nyb2xs
aW5nCi0vLyB0aHJlYWQgKHdpdGggbV90cmVlTXV0ZXggbG9ja2VkIGF0IHRoZSBzdGFydCBhbmQg
ZW5kKSBzbyB0aGF0IHdlIGRvbid0IGhhbmRsZSB3aGVlbCBldmVudHMgd2hpbGUgd2FpdGluZy4K
Ky8vIHRocmVhZCAod2l0aCBtX3RyZWVMb2NrIGxvY2tlZCBhdCB0aGUgc3RhcnQgYW5kIGVuZCkg
c28gdGhhdCB3ZSBkb24ndCBoYW5kbGUgd2hlZWwgZXZlbnRzIHdoaWxlIHdhaXRpbmcuCiAvLyBJ
ZiB0aGUgY29uZGl0aW9uIHRpbWVzIG91dCwgd2Uga25vdyB0aGUgbWFpbiB0aHJlYWQgaXMgYmVp
bmcgc2xvdywgYW5kIGFsbG93IHRoZSBzY3JvbGxpbmcgdGhyZWFkIHRvCiAvLyBjb21taXQgbGF5
ZXIgcG9zaXRpb25zLgogdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OndhaXRGb3JSZW5kZXJp
bmdVcGRhdGVDb21wbGV0aW9uT3JUaW1lb3V0KCkKIHsKICAgICBBU1NFUlQoU2Nyb2xsaW5nVGhy
ZWFkOjppc0N1cnJlbnRUaHJlYWQoKSk7Ci0gICAgQVNTRVJUKG1fdHJlZU11dGV4LmlzTG9ja2Vk
KCkpOworICAgIEFTU0VSVChtX3RyZWVMb2NrLmlzTG9ja2VkKCkpOwogCiAgICAgaWYgKG1fZGVs
YXllZFJlbmRlcmluZ1VwZGF0ZURldGVjdGlvblRpbWVyKQogICAgICAgICBtX2RlbGF5ZWRSZW5k
ZXJpbmdVcGRhdGVEZXRlY3Rpb25UaW1lci0+c3RvcCgpOwpAQCAtMzE1LDExICszMTgsMTIgQEAg
dm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OndhaXRGb3JSZW5kZXJpbmdVcGRhdGVDb21wbGV0
aW9uT3JUaW1lb3V0KCkKICAgICBhdXRvIHN0YXJ0VGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygp
OwogICAgIGF1dG8gdGltZW91dFRpbWUgPSBzdGFydFRpbWUgKyBtYXhBbGxvd2FibGVSZW5kZXJp
bmdVcGRhdGVEdXJhdGlvbkZvclN5bmNocm9uaXphdGlvbigpOwogCi0gICAgYm9vbCBiZWNhbWVJ
ZGxlID0gbV9zdGF0ZUNvbmRpdGlvbi53YWl0VW50aWwobV90cmVlTXV0ZXgsIHRpbWVvdXRUaW1l
LCBbJl0geworICAgIGJvb2wgYmVjYW1lSWRsZSA9IG1fc3RhdGVDb25kaXRpb24ud2FpdFVudGls
KG1fdHJlZUxvY2ssIHRpbWVvdXRUaW1lLCBbJl0geworICAgICAgICBhc3NlcnRJc0hlbGQobV90
cmVlTG9jayk7CiAgICAgICAgIHJldHVybiBtX3N0YXRlID09IFN5bmNocm9uaXphdGlvblN0YXRl
OjpJZGxlOwogICAgIH0pOwogCi0gICAgQVNTRVJUKG1fdHJlZU11dGV4LmlzTG9ja2VkKCkpOwor
ICAgIEFTU0VSVChtX3RyZWVMb2NrLmlzTG9ja2VkKCkpOwogCiAgICAgaWYgKCFiZWNhbWVJZGxl
KSB7CiAgICAgICAgIG1fc3RhdGUgPSBTeW5jaHJvbml6YXRpb25TdGF0ZTo6RGVzeW5jaHJvbml6
ZWQ7CkBAIC0zMzUsNyArMzM5LDcgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OndhaXRG
b3JSZW5kZXJpbmdVcGRhdGVDb21wbGV0aW9uT3JUaW1lb3V0KCkKIHZvaWQgVGhyZWFkZWRTY3Jv
bGxpbmdUcmVlOjpkaWRDb21wbGV0ZVJlbmRlcmluZ1VwZGF0ZSgpCiB7CiAgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKLSAgICBMb2NrSG9sZGVyIHRyZWVMb2NrZXIobV90cmVlTXV0ZXgpOwor
ICAgIExvY2tlciBsb2NrZXIgeyBtX3RyZWVMb2NrIH07CiAKICAgICBpZiAobV9zdGF0ZSA9PSBT
eW5jaHJvbml6YXRpb25TdGF0ZTo6SW5SZW5kZXJpbmdVcGRhdGUpCiAgICAgICAgIG1fc3RhdGVD
b25kaXRpb24ubm90aWZ5T25lKCk7CkBAIC0zNDYsNyArMzUwLDcgQEAgdm9pZCBUaHJlYWRlZFNj
cm9sbGluZ1RyZWU6OmRpZENvbXBsZXRlUmVuZGVyaW5nVXBkYXRlKCkKIHZvaWQgVGhyZWFkZWRT
Y3JvbGxpbmdUcmVlOjpzY2hlZHVsZURlbGF5ZWRSZW5kZXJpbmdVcGRhdGVEZXRlY3Rpb25UaW1l
cihTZWNvbmRzIGRlbGF5KQogewogICAgIEFTU0VSVChTY3JvbGxpbmdUaHJlYWQ6OmlzQ3VycmVu
dFRocmVhZCgpKTsKLSAgICBBU1NFUlQobV90cmVlTXV0ZXguaXNMb2NrZWQoKSk7CisgICAgQVNT
RVJUKG1fdHJlZUxvY2suaXNMb2NrZWQoKSk7CiAKICAgICBpZiAoIW1fZGVsYXllZFJlbmRlcmlu
Z1VwZGF0ZURldGVjdGlvblRpbWVyKQogICAgICAgICBtX2RlbGF5ZWRSZW5kZXJpbmdVcGRhdGVE
ZXRlY3Rpb25UaW1lciA9IG1ha2VVbmlxdWU8UnVuTG9vcDo6VGltZXI8VGhyZWFkZWRTY3JvbGxp
bmdUcmVlPj4oUnVuTG9vcDo6Y3VycmVudCgpLCB0aGlzLCAmVGhyZWFkZWRTY3JvbGxpbmdUcmVl
OjpkZWxheWVkUmVuZGVyaW5nVXBkYXRlRGV0ZWN0aW9uVGltZXJGaXJlZCk7CkBAIC0zNTgsNyAr
MzYyLDcgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmRlbGF5ZWRSZW5kZXJpbmdVcGRh
dGVEZXRlY3Rpb25UaW1lckZpcmVkKCkKIHsKICAgICBBU1NFUlQoU2Nyb2xsaW5nVGhyZWFkOjpp
c0N1cnJlbnRUaHJlYWQoKSk7CiAKLSAgICBMb2NrSG9sZGVyIHRyZWVMb2NrZXIobV90cmVlTXV0
ZXgpOworICAgIExvY2tlciBsb2NrZXIgeyBtX3RyZWVMb2NrIH07CiAgICAgaWYgKGNhblVwZGF0
ZUxheWVyc09uU2Nyb2xsaW5nVGhyZWFkKCkpCiAgICAgICAgIGFwcGx5TGF5ZXJQb3NpdGlvbnNJ
bnRlcm5hbCgpOwogICAgIG1fc3RhdGUgPSBTeW5jaHJvbml6YXRpb25TdGF0ZTo6RGVzeW5jaHJv
bml6ZWQ7CkBAIC0zNjksNyArMzczLDcgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmRp
c3BsYXlEaWRSZWZyZXNoT25TY3JvbGxpbmdUaHJlYWQoKQogICAgIFRyYWNlU2NvcGUgdHJhY2lu
Z1Njb3BlKFNjcm9sbGluZ1RocmVhZERpc3BsYXlEaWRSZWZyZXNoU3RhcnQsIFNjcm9sbGluZ1Ro
cmVhZERpc3BsYXlEaWRSZWZyZXNoRW5kLCBkaXNwbGF5SUQoKSk7CiAgICAgQVNTRVJUKFNjcm9s
bGluZ1RocmVhZDo6aXNDdXJyZW50VGhyZWFkKCkpOwogCi0gICAgTG9ja0hvbGRlciB0cmVlTG9j
a2VyKG1fdHJlZU11dGV4KTsKKyAgICBMb2NrZXIgbG9ja2VyIHsgbV90cmVlTG9jayB9OwogCiAg
ICAgaWYgKG1fc3RhdGUgIT0gU3luY2hyb25pemF0aW9uU3RhdGU6OklkbGUgJiYgY2FuVXBkYXRl
TGF5ZXJzT25TY3JvbGxpbmdUaHJlYWQoKSkKICAgICAgICAgYXBwbHlMYXllclBvc2l0aW9uc0lu
dGVybmFsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJl
YWRlZFNjcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVh
ZGVkU2Nyb2xsaW5nVHJlZS5oCmluZGV4IGE0MTdjOWQyNGE5ZmMwNDM3ZTM3Yjk4MGJhY2U1OGY0
MGE2OWUzNDYuLjIwMzg4NDM1MWI2MGQ0NTM4MWFhZGUwZDg1ZjdmOWY1NzU4MjI2NzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJl
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5n
VHJlZS5oCkBAIC0yOSw3ICsyOSw3IEBACiAKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVRyZWUu
aCIKICNpbmNsdWRlICJTY3JvbGxpbmdUcmVlLmgiCi0jaW5jbHVkZSA8d3RmL0NvbmRpdGlvbi5o
PgorI2luY2x1ZGUgPHd0Zi9DaGVja2VkQ29uZGl0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgd2lsbFN0YXJ0UmVuZGVyaW5nVXBkYXRlKCk7CiAgICAgdm9pZCBkaWRDb21w
bGV0ZVJlbmRlcmluZ1VwZGF0ZSgpOwogCi0gICAgTG9jayYgdHJlZU11dGV4KCkgeyByZXR1cm4g
bV90cmVlTXV0ZXg7IH0KKyAgICBDaGVja2VkTG9jayYgdHJlZUxvY2soKSBXVEZfUkVUVVJOU19M
T0NLKG1fdHJlZUxvY2spIHsgcmV0dXJuIG1fdHJlZUxvY2s7IH0KIAogICAgIGJvb2wgc2Nyb2xs
QW5pbWF0b3JFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxBbmltYXRvckVuYWJsZWQ7
IH0KIApAQCAtODQsMTQgKzg0LDE0IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBib29s
IGlzVGhyZWFkZWRTY3JvbGxpbmdUcmVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsg
fQotICAgIHZvaWQgcHJvcGFnYXRlU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhh
c2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYpIG92ZXJyaWRlOworICAgIHZvaWQgcHJvcGFnYXRlU3lu
Y2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKGNvbnN0IEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiYp
IFdURl9SRVFVSVJFU19MT0NLKG1fdHJlZUxvY2spIG92ZXJyaWRlOwogCiAgICAgdm9pZCBkaXNw
bGF5RGlkUmVmcmVzaE9uU2Nyb2xsaW5nVGhyZWFkKCk7Ci0gICAgdm9pZCB3YWl0Rm9yUmVuZGVy
aW5nVXBkYXRlQ29tcGxldGlvbk9yVGltZW91dCgpOworICAgIHZvaWQgd2FpdEZvclJlbmRlcmlu
Z1VwZGF0ZUNvbXBsZXRpb25PclRpbWVvdXQoKSBXVEZfUkVRVUlSRVNfTE9DSyhtX3RyZWVMb2Nr
KTsKIAotICAgIGJvb2wgY2FuVXBkYXRlTGF5ZXJzT25TY3JvbGxpbmdUaHJlYWQoKSBjb25zdDsK
KyAgICBib29sIGNhblVwZGF0ZUxheWVyc09uU2Nyb2xsaW5nVGhyZWFkKCkgY29uc3QgV1RGX1JF
UVVJUkVTX0xPQ0sobV90cmVlTG9jayk7CiAKLSAgICB2b2lkIHNjaGVkdWxlRGVsYXllZFJlbmRl
cmluZ1VwZGF0ZURldGVjdGlvblRpbWVyKFNlY29uZHMpOworICAgIHZvaWQgc2NoZWR1bGVEZWxh
eWVkUmVuZGVyaW5nVXBkYXRlRGV0ZWN0aW9uVGltZXIoU2Vjb25kcykgV1RGX1JFUVVJUkVTX0xP
Q0sobV90cmVlTG9jayk7CiAgICAgdm9pZCBkZWxheWVkUmVuZGVyaW5nVXBkYXRlRGV0ZWN0aW9u
VGltZXJGaXJlZCgpOwogCiAgICAgU2Vjb25kcyBtYXhBbGxvd2FibGVSZW5kZXJpbmdVcGRhdGVE
dXJhdGlvbkZvclN5bmNocm9uaXphdGlvbigpOwpAQCAtMTAzLDE3ICsxMDMsMTcgQEAgcHJpdmF0
ZToKICAgICAgICAgRGVzeW5jaHJvbml6ZWQsCiAgICAgfTsKIAotICAgIFN5bmNocm9uaXphdGlv
blN0YXRlIG1fc3RhdGUgeyBTeW5jaHJvbml6YXRpb25TdGF0ZTo6SWRsZSB9OwotICAgIENvbmRp
dGlvbiBtX3N0YXRlQ29uZGl0aW9uOworICAgIFN5bmNocm9uaXphdGlvblN0YXRlIG1fc3RhdGUg
V1RGX0dVQVJERURfQllfTE9DSyhtX3RyZWVMb2NrKSB7IFN5bmNocm9uaXphdGlvblN0YXRlOjpJ
ZGxlIH07CisgICAgQ2hlY2tlZENvbmRpdGlvbiBtX3N0YXRlQ29uZGl0aW9uOwogCi0gICAgYm9v
bCBtX3JlY2VpdmVkQmVnYW5FdmVudEZyb21NYWluVGhyZWFkIHsgZmFsc2UgfTsKLSAgICBDb25k
aXRpb24gbV93YWl0aW5nRm9yQmVnYW5FdmVudENvbmRpdGlvbjsKKyAgICBib29sIG1fcmVjZWl2
ZWRCZWdhbkV2ZW50RnJvbU1haW5UaHJlYWQgV1RGX0dVQVJERURfQllfTE9DSyhtX3RyZWVMb2Nr
KSB7IGZhbHNlIH07CisgICAgQ2hlY2tlZENvbmRpdGlvbiBtX3dhaXRpbmdGb3JCZWdhbkV2ZW50
Q29uZGl0aW9uOwogCiAgICAgLy8gRHluYW1pY2FsbHkgYWxsb2NhdGVkIGJlY2F1c2UgaXQgaGFz
IHRvIHVzZSB0aGUgU2Nyb2xsaW5nVGhyZWFkJ3MgcnVubG9vcC4KLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8UnVuTG9vcDo6VGltZXI8VGhyZWFkZWRTY3JvbGxpbmdUcmVlPj4gbV9kZWxheWVkUmVuZGVy
aW5nVXBkYXRlRGV0ZWN0aW9uVGltZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPFJ1bkxvb3A6OlRp
bWVyPFRocmVhZGVkU2Nyb2xsaW5nVHJlZT4+IG1fZGVsYXllZFJlbmRlcmluZ1VwZGF0ZURldGVj
dGlvblRpbWVyIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVlTG9jayk7CiAKLSAgICBib29sIG1f
c2Nyb2xsQW5pbWF0b3JFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faGFzTm9kZXNXaXRo
U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zIHsgZmFsc2UgfTsKKyAgICBjb25zdCBib29sIG1f
c2Nyb2xsQW5pbWF0b3JFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faGFzTm9kZXNXaXRo
U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zIFdURl9HVUFSREVEX0JZX0xPQ0sobV90cmVlTG9j
aykgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlRGVsZWdhdGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQppbmRleCA0ZmQ3NTkxOTE3MmU1
ZGJlODBlYzNlYWJiNGQxNTQ3OWE2Y2FjMTY5Li45YWI3M2FhOTJiMjFmNWIzMzFjZDUwMDJmYjg4
YTYwZGI0Y2Y1MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxl
Z2F0ZU1hYy5tbQpAQCAtMjIwLDcgKzIyMCw3IEBAIGJvb2wgU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGVEZWxlZ2F0ZU1hYzo6aXNQaW5uZWRGb3JTY3JvbGxEZWx0YU9uQXhpcyhmbG9hdCBzCiBz
dGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsQ29udHJvbGxlclRpbWVyPiBTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlTWFjOjpjcmVhdGVUaW1lcihGdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rp
b24pCiB7CiAgICAgcmV0dXJuIFdURjo6bWFrZVVuaXF1ZTxTY3JvbGxDb250cm9sbGVyVGltZXI+
KFJ1bkxvb3A6OmN1cnJlbnQoKSwgW2Z1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbiksIHByb3Rl
Y3RlZE5vZGUgPSBtYWtlUmVmKHNjcm9sbGluZ05vZGUoKSldIHsKLSAgICAgICAgTG9ja0hvbGRl
ciBsb2NrZXIocHJvdGVjdGVkTm9kZS0+c2Nyb2xsaW5nVHJlZSgpLnRyZWVNdXRleCgpKTsKKyAg
ICAgICAgTG9ja2VyIGxvY2tlciB7IHByb3RlY3RlZE5vZGUtPnNjcm9sbGluZ1RyZWUoKS50cmVl
TG9jaygpIH07CiAgICAgICAgIGZ1bmN0aW9uKCk7CiAgICAgfSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>