<?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>227160</bug_id>
          
          <creation_ts>2021-06-18 01:00:07 -0700</creation_ts>
          <short_desc>Functions dispatched to WorkQueue are sometimes destroyed in the calling thread due to block refcounting</short_desc>
          <delta_ts>2021-06-22 06:26:17 -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>Platform</component>
          <version>WebKit Local 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="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>koivisto</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1770949</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-18 01:00:07 -0700</bug_when>
    <thetext>Functions dispatched to WorkQueue are sometimes destroyed in the calling thread due to block refcounting

A lot of dispatched lambdas are written with the expectation that the destruction of the lambda is done in the called  thread.

See discussion for r270876 as a example where time was spent debugging this. 

See git grep &quot;dispatch(.*WTFMove.*{.*}&quot; for subset of call sites that expect the WorkQueue to behave in different way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770956</commentid>
    <comment_count>1</comment_count>
      <attachid>431761</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-18 01:30:32 -0700</bug_when>
    <thetext>Created attachment 431761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770968</commentid>
    <comment_count>2</comment_count>
      <attachid>431761</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-06-18 02:54:11 -0700</bug_when>
    <thetext>Comment on attachment 431761
Patch

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

&gt; Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:35
&gt; +namespace {
&gt; +struct DispatchWorkItem {

Could use an empty line here.

&gt; Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:51
&gt; +
&gt; +

Extra empty line here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770980</commentid>
    <comment_count>3</comment_count>
      <attachid>431766</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-18 03:43:43 -0700</bug_when>
    <thetext>Created attachment 431766
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771229</commentid>
    <comment_count>4</comment_count>
      <attachid>431836</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-21 01:12:37 -0700</bug_when>
    <thetext>Created attachment 431836
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771660</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-22 06:25:13 -0700</bug_when>
    <thetext>Committed r279115 (239032@main): &lt;https://commits.webkit.org/239032@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431836.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771661</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-22 06:26:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/79611008&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431761</attachid>
            <date>2021-06-18 01:30:32 -0700</date>
            <delta_ts>2021-06-18 03:43:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227160-20210618113031.patch</filename>
            <type>text/plain</type>
            <size>9709</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyYmMwYjBmMzY4YjQ3MzBiODVmMGMz
YjYwYzk0YTExYTg4ODY2ZGEuLjdmZWI1YzM2NmJlYzRhM2ZlNmI2ZWFmZTk4ZWQzNzU4ZjNiNWVm
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMjEtMDYtMTggIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5jdGlvbnMgZGlzcGF0Y2hlZCB0byBXb3Jr
UXVldWUgYXJlIHNvbWV0aW1lcyBkZXN0cm95ZWQgaW4gdGhlIGNhbGxpbmcgdGhyZWFkIGR1ZSB0
byBibG9jayByZWZjb3VudGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV29ya1F1ZXVlOjpkaXNwYXRjaCBGdW5jdGlvbiBib2RpZXMgYWx3YXlzIGV4
ZWN1dGUgaW4gdGhlIHRocmVhZCBvZiB0YXJnZXQKKyAgICAgICAgcXVldWUuIEhvd2V2ZXIsIHNv
bWV0aW1lcyB0aGUgRnVuY3Rpb24gZGVzdHJ1Y3Rpb24gd291bGQgaGFwcGVuIGluIHRoZQorICAg
ICAgICBkaXNwYXRjaGVkLWZyb20gdGhyZWFkLiBUaGlzIGlzIG5vdCB3aGF0IHRoZSBXb3JrUXVl
dWU6OmRpc3BhdGNoIGNhbGxlcnMKKyAgICAgICAgZXhwZWN0LgorCisgICAgICAgIEltcGxlbWVu
dCBzb21lIG9mIHRoZSBXb3JrUXVldWU6OmRpc3BhdGNoKiBpbiB0ZXJtcyBvZiBkaXNwYXRjaF8u
Li5fZigpCisgICAgICAgIHZhcmlhbnRzIHdoaWNoIHRha2UgYSBmdW5jdGlvbiBhbmQgY29udGV4
dCBwb2ludGVyIGluc3RlYWQgb2YgYSBibG9jay4KKworICAgICAgICBCbG9ja3MgYXJlIHJlZmVy
ZW5jZSBjb3VudGVkIG9iamVjdHMgd2l0aG91dCB0aGUgYWJpbGl0eSB0byBwYXNzIHRoZQorICAg
ICAgICBvd25lcnNoaXAgb2YgdGhlIHJlZmVyZW5jZS4gRm9yIGRpc3BhdGNoIGNhc2UsIGl0IG1l
YW5zIHRoYXQgY2FsbGVyIHdpbGwKKyAgICAgICAgbmVlZCB0byBob2xkIHRoZSByZWZlcmVuY2Ug
d2hpbGUgZGlzcGF0Y2hfLi4uKCkgcmV0dXJucy4gSW4gdGhyZWFkCisgICAgICAgIGNvbnRlbnRp
b24gY2FzZXMgdGhlIGNhbGxlZCBibG9jayBtaWdodCBjb21wbGV0ZSBhbmQgcmVmZXJlbmNlIGJl
CisgICAgICAgIGRyb3BwZWQgaW4gdGhlIHRocmVhZCBvZiB0aGUgcXVldWUgYmVmb3JlIHRoZSBk
aXNwYXRjaGVkLWZyb20gdGhyZWFkCisgICAgICAgIHdvdWxkIGRyb3AgaXRzIHJlZmVyZW5jZSB0
byB0aGUgYmxvY2suIFRoaXMgd291bGQgY2F1c2UgdGhlIGRpc3BhdGNoZWQKKyAgICAgICAgRnVu
Y3Rpb24gdG8gYmUgZGVzdHJveWVkIGluIHRoZSBkaXNwYXRjaGVkLWZyb20gdGhyZWFkLgorCisg
ICAgICAgICogd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcDoKKyAgICAgICAgKFdURjo6ZGlz
cGF0Y2hXb3JrSXRlbSk6CisgICAgICAgIChXVEY6OldvcmtRdWV1ZTo6ZGlzcGF0Y2gpOgorICAg
ICAgICAoV1RGOjpXb3JrUXVldWU6OmRpc3BhdGNoQWZ0ZXIpOgorICAgICAgICAoV1RGOjpXb3Jr
UXVldWU6OmRpc3BhdGNoU3luYyk6CisKIDIwMjEtMDYtMTYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBEaXNhYmxlIEpJVENhZ2Ugb24gbWFjT1Mg
dW50aWwgd2UgZXZhbHVhdGUgcGVyZm9ybWFuY2UgdGhyb3VnaGx5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk5NjY3
Yjg0MTlmYTMyNTIzNWM3NWMwOThjNDNiNjIyMDk0NzUwMmYuLjNhMWJjMzY5YjM4OTk5YTA1YTU2
NGIzNDcwNmYyYzIxNzlkYmZmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDYt
MTggIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5j
dGlvbnMgZGlzcGF0Y2hlZCB0byBXb3JrUXVldWUgYXJlIHNvbWV0aW1lcyBkZXN0cm95ZWQgaW4g
dGhlIGNhbGxpbmcgdGhyZWFkIGR1ZSB0byBibG9jayByZWZjb3VudGluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTYwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXMgYW4gZXhhbXBsZSwgcmVtb3Zl
IG9uZSB3b3JrYXJvdW5kIG11dGFiaWxpdHkgb2YgZGlzcGF0Y2hlZCBmdW5jdGlvbgorICAgICAg
ICBhbmQgbnVsbHB0ciBhc3NpZ25tZW50IHRoYXQgd2FzIG5lZWRlZCBmb3Igd29ya2luZyBhcm91
bmQKKyAgICAgICAgV29ya1F1ZXVlOjpkaXNwYXRjaCBidWcgd2hlcmUgdGhlIGRpc3BhdGNoZWQg
ZnVuY3Rpb24gd2FzIG5vdCBhbHdheXMKKyAgICAgICAgZGVzdHJveWVkIGluIHRoZSBxdWV1ZS4K
KworICAgICAgICAqIFNoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFUcmFja1JlYWRl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhVHJhY2tSZWFkZXI6OmZpbmFsaXplKToKKwog
MjAyMS0wNi0xNyAgUGVyIEFybmUgIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFj
T1NdIENsb3NlIG9wZW4gY29ubmVjdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2Nv
Y29hL1dvcmtRdWV1ZUNvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1dvcmtRdWV1ZUNv
Y29hLmNwcAppbmRleCA4MmIzYWNlODM4OGRhYjlkMmM3MmNiNDYyOGY3ZmQ5Nzk3M2M2YjM5Li42
OTNhNGJjZmVjNDY1NjJhNWJhMTYyNzQ1NmY0YWZiMDM1OTdhMTIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAKKysrIGIvU291cmNlL1dURi93dGYv
Y29jb2EvV29ya1F1ZXVlQ29jb2EuY3BwCkBAIC0zMSwyMyArMzEsMzcgQEAKIAogbmFtZXNwYWNl
IFdURiB7CiAKK25hbWVzcGFjZSB7CitzdHJ1Y3QgRGlzcGF0Y2hXb3JrSXRlbSB7CisgICAgV1RG
X01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOworICAgIFJlZjxXb3JrUXVldWU+IG1fd29ya1F1
ZXVlOworICAgIEZ1bmN0aW9uPHZvaWQoKT4gbV9mdW5jdGlvbjsKKyAgICB2b2lkIG9wZXJhdG9y
KCkoKSB7IG1fZnVuY3Rpb24oKTsgfQorfTsKKworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dGF0aWMgdm9pZCBkaXNwYXRjaFdvcmtJdGVtKHZvaWQqIGRpc3BhdGNoQ29udGV4dCkKK3sKKyAg
ICBUKiBpdGVtID0gcmVpbnRlcnByZXRfY2FzdDxUKj4oZGlzcGF0Y2hDb250ZXh0KTsKKyAgICAo
Kml0ZW0pKCk7CisgICAgZGVsZXRlIGl0ZW07Cit9CisKKwogdm9pZCBXb3JrUXVldWU6OmRpc3Bh
dGNoKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKIHsKLSAgICBkaXNwYXRjaF9hc3luYyht
X2Rpc3BhdGNoUXVldWUuZ2V0KCksIG1ha2VCbG9ja1B0cihbcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBmdW5jdGlvbiA9IFdURk1vdmUoZnVuY3Rpb24pXSB7Ci0gICAgICAgIGZ1bmN0
aW9uKCk7Ci0gICAgfSkuZ2V0KCkpOworICAgIGRpc3BhdGNoX2FzeW5jX2YobV9kaXNwYXRjaFF1
ZXVlLmdldCgpLCBuZXcgRGlzcGF0Y2hXb3JrSXRlbSB7IG1ha2VSZWYoKnRoaXMpLCBXVEZNb3Zl
KGZ1bmN0aW9uKSB9LCBkaXNwYXRjaFdvcmtJdGVtPERpc3BhdGNoV29ya0l0ZW0+KTsKIH0KIAog
dm9pZCBXb3JrUXVldWU6OmRpc3BhdGNoQWZ0ZXIoU2Vjb25kcyBkdXJhdGlvbiwgRnVuY3Rpb248
dm9pZCgpPiYmIGZ1bmN0aW9uKQogewotICAgIGRpc3BhdGNoX2FmdGVyKGRpc3BhdGNoX3RpbWUo
RElTUEFUQ0hfVElNRV9OT1csIGR1cmF0aW9uLm5hbm9zZWNvbmRzQXM8aW50NjRfdD4oKSksIG1f
ZGlzcGF0Y2hRdWV1ZS5nZXQoKSwgbWFrZUJsb2NrUHRyKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJl
ZigqdGhpcyksIGZ1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbildIHsKLSAgICAgICAgZnVuY3Rp
b24oKTsKLSAgICB9KS5nZXQoKSk7CisgICAgZGlzcGF0Y2hfYWZ0ZXJfZihkaXNwYXRjaF90aW1l
KERJU1BBVENIX1RJTUVfTk9XLCBkdXJhdGlvbi5uYW5vc2Vjb25kc0FzPGludDY0X3Q+KCkpLCBt
X2Rpc3BhdGNoUXVldWUuZ2V0KCksIG5ldyBEaXNwYXRjaFdvcmtJdGVtIHsgbWFrZVJlZigqdGhp
cyksICBXVEZNb3ZlKGZ1bmN0aW9uKSB9LCBkaXNwYXRjaFdvcmtJdGVtPERpc3BhdGNoV29ya0l0
ZW0+KTsKIH0KIAogdm9pZCBXb3JrUXVldWU6OmRpc3BhdGNoU3luYyhGdW5jdGlvbjx2b2lkKCk+
JiYgZnVuY3Rpb24pCiB7Ci0gICAgZGlzcGF0Y2hfc3luYyhtX2Rpc3BhdGNoUXVldWUuZ2V0KCks
IG1ha2VCbG9ja1B0cihXVEZNb3ZlKGZ1bmN0aW9uKSkuZ2V0KCkpOworICAgIGRpc3BhdGNoX3N5
bmNfZihtX2Rpc3BhdGNoUXVldWUuZ2V0KCksIG5ldyBGdW5jdGlvbjx2b2lkKCk+IHsgV1RGTW92
ZShmdW5jdGlvbikgfSwgZGlzcGF0Y2hXb3JrSXRlbTxGdW5jdGlvbjx2b2lkKCk+Pik7CiB9CiAK
IFJlZjxXb3JrUXVldWU+IFdvcmtRdWV1ZTo6Y29uc3RydWN0TWFpbldvcmtRdWV1ZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFU
cmFja1JlYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFk
ZXIvTWVkaWFUcmFja1JlYWRlci5jcHAKaW5kZXggNjRiZjE0ODYzMDQ4Yjk5ZjAwZTNiNmNiOGM3
MzhlNWVmMThiZDgxYS4uOTA4NjFjODRkZGU2YzY2ZGRiODc3OTNhYjIzMDZhNjZlNGRlYjczMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01l
ZGlhVHJhY2tSZWFkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZv
cm1hdFJlYWRlci9NZWRpYVRyYWNrUmVhZGVyLmNwcApAQCAtMjAzLDkgKzIwMyw3IEBAIE9TU3Rh
dHVzIE1lZGlhVHJhY2tSZWFkZXI6OmNvcHlQcm9wZXJ0eShDRlN0cmluZ1JlZiBrZXksIENGQWxs
b2NhdG9yUmVmIGFsbG9jYXRvCiB2b2lkIE1lZGlhVHJhY2tSZWFkZXI6OmZpbmFsaXplKCkKIHsK
ICAgICBMb2NrZXIgbG9ja2VyIHsgbV9zYW1wbGVTdG9yYWdlTG9jayB9OwotICAgIHN0b3JhZ2VR
dWV1ZSgpLmRpc3BhdGNoKFtzYW1wbGVTdG9yYWdlID0gc3RkOjpleGNoYW5nZShtX3NhbXBsZVN0
b3JhZ2UsIG51bGxwdHIpXSgpIG11dGFibGUgewotICAgICAgICBzYW1wbGVTdG9yYWdlID0gbnVs
bHB0cjsKLSAgICB9KTsKKyAgICBzdG9yYWdlUXVldWUoKS5kaXNwYXRjaChbc2FtcGxlU3RvcmFn
ZSA9IHN0ZDo6ZXhjaGFuZ2UobV9zYW1wbGVTdG9yYWdlLCBudWxscHRyKV0geyB9KTsKICAgICBD
b3JlTWVkaWFXcmFwcGVkPE1lZGlhVHJhY2tSZWFkZXI+OjpmaW5hbGl6ZSgpOwogfQogCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWZiMzE2NGE3
YjBmZGU1M2FiY2NjYWY3ODEwMWRjNzdkMzJkYWU5My4uZmE3NGRmYWQzNzYyOGEzN2IxNjExYTE5
YjNhYTVjMDE2MDE0ZTE3NiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA2LTE4ICBLaW1tbyBLaW5udW5lbiAg
PGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgRnVuY3Rpb25zIGRpc3BhdGNoZWQgdG8g
V29ya1F1ZXVlIGFyZSBzb21ldGltZXMgZGVzdHJveWVkIGluIHRoZSBjYWxsaW5nIHRocmVhZCBk
dWUgdG8gYmxvY2sgcmVmY291bnRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzE2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3QgdGhhdCB0aGUgRnVuY3Rpb24gcGFzc2VkIHRvIFdvcmtRdWV1
ZTo6ZGlzcGF0Y2gKKyAgICAgICAgaXMgYWx3YXlzIGRlc3Ryb3llZCBpbiB0aGUgV29ya1F1ZXVl
LiBUZXN0IGJ5IHVzaW5nIHRoZQorICAgICAgICBrbm93bGVkZ2UgdGhhdCBXb3JrUXVldWVzIHVz
ZSB0aHJlYWRzLgorICAgICAgICBTdGFydCB1cCBtYW55IFdvcmtRdWV1ZXMgdG8gY3JlYXRlIG1v
cmUgdGhyZWFkIGNvbnRlbnRpb24KKyAgICAgICAgdG8gZW5zdXJlIHRoYXQgdGhlIGRpc3BhdGNo
ZWQtZnJvbSB0aHJlYWQgaXMgc29tZXRpbWVzIG5vdAorICAgICAgICBydW4gd2hpbGUgdGhlIHRo
cmVhZCBvZiB0aGUgcXVldWUgZmluaXNoZXMgcHJvY2Vzc2luZworICAgICAgICB0aGUgZGlzcGF0
Y2guCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Xb3JrUXVldWUuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMDYtMTcgIE9yaW9sIEJydWZh
dSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWxvZ2ljYWxdIEltcGxlbWVu
dCBsb2dpY2FsIHByb3BlcnR5IGdyb3VwcwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L1dvcmtRdWV1ZS5jcHAKaW5kZXggZWY5OTc1NzUyMmRkOWRhNjEwOWNkYjk1YzdlMzdhZTFmNGQz
YTU2Ni4uNGI2NmY5YjQxMzIxODNkMzU2YmI4YzIxOGI4ZDdlNGU5NDkyMDFjYiAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNwcAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Xb3JrUXVldWUuY3BwCkBAIC0zMCw2ICszMCw3IEBA
CiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVk
ZSA8d3RmL1dvcmtRdWV1ZS5oPgorI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDxzdHJpbmc+
CiAjaW5jbHVkZSA8dGhyZWFkPgogCkBAIC00MSw3ICs0Miw3IEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBzaW1wbGVUZXN0TGFiZWwgPSAic2ltcGxlVGVzdCI7CiBzdGF0aWMgY29uc3QgY2hhciogbG9u
Z1Rlc3RMYWJlbCA9ICJsb25nVGVzdCI7CiBzdGF0aWMgY29uc3QgY2hhciogdGhpcmRUZXN0TGFi
ZWwgPSAidGhpcmRUZXN0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBkaXNwYXRjaEFmdGVyTGFiZWwg
PSAiZGlzcGF0Y2hBZnRlciI7Ci0gICAgCisKIFRFU1QoV1RGX1dvcmtRdWV1ZSwgU2ltcGxlKQog
ewogICAgIExvY2sgbV9sb2NrOwpAQCAtODAsNyArODEsNyBAQCBURVNUKFdURl9Xb3JrUXVldWUs
IFNpbXBsZSkKICAgICAgICAgRVhQRUNUX1RSVUUoY2FsbGVkU2ltcGxlVGVzdCk7CiAgICAgICAg
IEVYUEVDVF9UUlVFKGNhbGxlZExvbmdUZXN0KTsKICAgICAgICAgRVhQRUNUX1RSVUUoY2FsbGVk
VGhpcmRUZXN0KTsKLSAgICAgICAgCisKICAgICAgICAgbV90ZXN0Q29tcGxldGVkLm5vdGlmeU9u
ZSgpOwogICAgIH0pOwogCkBAIC0xMDcsNyArMTA4LDcgQEAgVEVTVChXVEZfV29ya1F1ZXVlLCBU
d29RdWV1ZXMpCiAgICAgYm9vbCBjYWxsZWRTaW1wbGVUZXN0ID0gZmFsc2U7CiAgICAgYm9vbCBj
YWxsZWRMb25nVGVzdCA9IGZhbHNlOwogICAgIGJvb2wgY2FsbGVkVGhpcmRUZXN0ID0gZmFsc2U7
Ci0gICAgCisKICAgICBhdXRvIHF1ZXVlMSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUu
V2ViS2l0LlRlc3QudHdvUXVldWVzMSIpOwogICAgIGF1dG8gcXVldWUyID0gV29ya1F1ZXVlOjpj
cmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC50d29RdWV1ZXMyIik7CiAKQEAgLTExNSw3ICsx
MTYsNyBAQCBURVNUKFdURl9Xb3JrUXVldWUsIFR3b1F1ZXVlcykKICAgICBFWFBFQ1RfRVEoMVUs
IHF1ZXVlMi0+cmVmQ291bnQoKSk7CiAKICAgICBMb2NrZXIgbG9ja2VyIHsgbV9sb2NrIH07Ci0g
ICAgCisKICAgICBxdWV1ZTEtPmRpc3BhdGNoKFsmXSh2b2lkKSB7CiAgICAgICAgIG1fZnVuY3Rp
b25DYWxsT3JkZXIuYXBwZW5kKHNpbXBsZVRlc3RMYWJlbCk7CiAgICAgICAgIGNhbGxlZFNpbXBs
ZVRlc3QgPSB0cnVlOwpAQCAtMTM4LDcgKzEzOSw3IEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgVHdv
UXVldWVzKQogICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9sb2NrIH07CiAgICAgICAgIG1fZnVu
Y3Rpb25DYWxsT3JkZXIuYXBwZW5kKHRoaXJkVGVzdExhYmVsKTsKICAgICAgICAgY2FsbGVkVGhp
cmRUZXN0ID0gdHJ1ZTsKLSAgICAgICAgCisKICAgICAgICAgbV90ZXN0UXVldWUxQ29tcGxldGVk
Lm5vdGlmeU9uZSgpOwogICAgIH0pOwogCkBAIC0xOTEsNyArMTkyLDcgQEAgVEVTVChXVEZfV29y
a1F1ZXVlLCBEaXNwYXRjaEFmdGVyKQogCiAgICAgRVhQRUNUX1RSVUUoY2FsbGVkU2ltcGxlVGVz
dCk7CiAgICAgRVhQRUNUX0ZBTFNFKGNhbGxlZERpc3BhdGNoQWZ0ZXJUZXN0KTsKLSAgICAKKwog
ICAgIG1fZGlzcGF0Y2hBZnRlclRlc3RDb21wbGV0ZWQud2FpdChtX2xvY2spOwogCiAgICAgRVhQ
RUNUX1RSVUUoY2FsbGVkU2ltcGxlVGVzdCk7CkBAIC0yNzQsNCArMjc1LDI0IEBAIFRFU1QoV1RG
X1dvcmtRdWV1ZSwgRGlzcGF0Y2hTeW5jKQogICAgIEVYUEVDVF9UUlVFKHNlY29uZFN5bmNUYXNr
VGFza1Jhbik7CiB9CiAKKy8vIFRlc3RzIHRoYXQgdGhlIEZ1bmN0aW9uIHBhc3NlZCB0byBXb3Jr
UXVldWU6OmRpc3BhdGNoIGlzIGRlc3RydWN0ZWQgb24gdGhlIHRocmVhZCB0aGF0CisvLyBydW5z
IHRoZSBGdW5jdGlvbi4gSXQgaXMgYSBjb21tb24gcGF0dGVybiB0byBjYXB0dXJlIGEgb3duaW5n
IHJlZmVyZW5jZSBpbnRvIGEgRnVuY3Rpb24KKy8vIGFuZCBkaXNwYXRjaCB0aGF0IHRvIGEgcXVl
dWUgdG8gZW5zdXJlIG9yZGVyaW5nIChvciB0aHJlYWQgYWZmaW5pdHkpIG9mIHRoZSBvYmplY3Qg
ZGVzdHJ1Y3Rpb24uCitURVNUKFdURl9Xb3JrUXVldWUsIERlc3Ryb3lEaXNwYXRjaGVkT25EaXNw
YXRjaFF1ZXVlKQoreworICAgIGNsYXNzIERlc3RydWN0aW9uV29ya1F1ZXVlVGVzdGVyIHsKKyAg
ICBwdWJsaWM6CisgICAgICAgIH5EZXN0cnVjdGlvbldvcmtRdWV1ZVRlc3RlcigpIHsgRVhQRUNU
X05FKG1fY3JlYXRlZEluVGhyZWFkLCBUaHJlYWQ6OmN1cnJlbnQoKS51aWQoKSk7IH0KKyAgICBw
cml2YXRlOgorICAgICAgICB1aW50MzJfdCBtX2NyZWF0ZWRJblRocmVhZCA9IFRocmVhZDo6Y3Vy
cmVudCgpLnVpZCgpOworICAgIH07CisgICAgUmVmUHRyPFdvcmtRdWV1ZT4gcXVldWVbNTBdOwor
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNTA7ICsraSkKKyAgICAgICAgcXVldWVbaV0gPSBXb3Jr
UXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5UZXN0LmRlc3Ryb3lEaXNwYXRjaGVkT25E
aXNwYXRjaFF1ZXVlIiwgV29ya1F1ZXVlOjpUeXBlOjpTZXJpYWwsIFdvcmtRdWV1ZTo6UU9TOjpV
c2VySW50ZXJhY3RpdmUpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkg
eworICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDUwOyArK2opCisgICAgICAgICAgICBxdWV1
ZVtqXS0+ZGlzcGF0Y2goW2luc3RhbmNlID0gc3RkOjptYWtlX3VuaXF1ZTxEZXN0cnVjdGlvbldv
cmtRdWV1ZVRlc3Rlcj4oKV0oKSB7IH0pOyAvLyBOT0xJTlQKKyAgICB9Cit9CiB9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431766</attachid>
            <date>2021-06-18 03:43:43 -0700</date>
            <delta_ts>2021-06-21 01:12:32 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227160-20210618134342.patch</filename>
            <type>text/plain</type>
            <size>9724</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA3MzdhYzg1ZmIyZThlNDRkN2ZjMThj
ZjljNjlhNGU1NzZhYjE5NjAuLmNkM2E2Y2VjNjMxMjFjYjdiMmY1OGI1MzcyMWZkMGI2ZTdjZGE3
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMjEtMDYtMTggIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5jdGlvbnMgZGlzcGF0Y2hlZCB0byBXb3Jr
UXVldWUgYXJlIHNvbWV0aW1lcyBkZXN0cm95ZWQgaW4gdGhlIGNhbGxpbmcgdGhyZWFkIGR1ZSB0
byBibG9jayByZWZjb3VudGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
CisKKyAgICAgICAgV29ya1F1ZXVlOjpkaXNwYXRjaCBGdW5jdGlvbiBib2RpZXMgYWx3YXlzIGV4
ZWN1dGUgaW4gdGhlIHRocmVhZCBvZiB0YXJnZXQKKyAgICAgICAgcXVldWUuIEhvd2V2ZXIsIHNv
bWV0aW1lcyB0aGUgRnVuY3Rpb24gZGVzdHJ1Y3Rpb24gd291bGQgaGFwcGVuIGluIHRoZQorICAg
ICAgICBkaXNwYXRjaGVkLWZyb20gdGhyZWFkLiBUaGlzIGlzIG5vdCB3aGF0IHRoZSBXb3JrUXVl
dWU6OmRpc3BhdGNoIGNhbGxlcnMKKyAgICAgICAgZXhwZWN0LgorCisgICAgICAgIEltcGxlbWVu
dCBzb21lIG9mIHRoZSBXb3JrUXVldWU6OmRpc3BhdGNoKiBpbiB0ZXJtcyBvZiBkaXNwYXRjaF8u
Li5fZigpCisgICAgICAgIHZhcmlhbnRzIHdoaWNoIHRha2UgYSBmdW5jdGlvbiBhbmQgY29udGV4
dCBwb2ludGVyIGluc3RlYWQgb2YgYSBibG9jay4KKworICAgICAgICBCbG9ja3MgYXJlIHJlZmVy
ZW5jZSBjb3VudGVkIG9iamVjdHMgd2l0aG91dCB0aGUgYWJpbGl0eSB0byBwYXNzIHRoZQorICAg
ICAgICBvd25lcnNoaXAgb2YgdGhlIHJlZmVyZW5jZS4gRm9yIGRpc3BhdGNoIGNhc2UsIGl0IG1l
YW5zIHRoYXQgY2FsbGVyIHdpbGwKKyAgICAgICAgbmVlZCB0byBob2xkIHRoZSByZWZlcmVuY2Ug
d2hpbGUgZGlzcGF0Y2hfLi4uKCkgcmV0dXJucy4gSW4gdGhyZWFkCisgICAgICAgIGNvbnRlbnRp
b24gY2FzZXMgdGhlIGNhbGxlZCBibG9jayBtaWdodCBjb21wbGV0ZSBhbmQgcmVmZXJlbmNlIGJl
CisgICAgICAgIGRyb3BwZWQgaW4gdGhlIHRocmVhZCBvZiB0aGUgcXVldWUgYmVmb3JlIHRoZSBk
aXNwYXRjaGVkLWZyb20gdGhyZWFkCisgICAgICAgIHdvdWxkIGRyb3AgaXRzIHJlZmVyZW5jZSB0
byB0aGUgYmxvY2suIFRoaXMgd291bGQgY2F1c2UgdGhlIGRpc3BhdGNoZWQKKyAgICAgICAgRnVu
Y3Rpb24gdG8gYmUgZGVzdHJveWVkIGluIHRoZSBkaXNwYXRjaGVkLWZyb20gdGhyZWFkLgorCisg
ICAgICAgICogd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcDoKKyAgICAgICAgKFdURjo6ZGlz
cGF0Y2hXb3JrSXRlbSk6CisgICAgICAgIChXVEY6OldvcmtRdWV1ZTo6ZGlzcGF0Y2gpOgorICAg
ICAgICAoV1RGOjpXb3JrUXVldWU6OmRpc3BhdGNoQWZ0ZXIpOgorICAgICAgICAoV1RGOjpXb3Jr
UXVldWU6OmRpc3BhdGNoU3luYyk6CisKIDIwMjEtMDYtMTggIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBtYWtlVW5pcXVlIGNhbm5vdCBiZSB1c2VkIHRv
IGluc3RhbnRpYXRlIGZ1bmN0aW9uLWxvY2FsIGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTk2NjdiODQx
OWZhMzI1MjM1Yzc1YzA5OGM0M2I2MjIwOTQ3NTAyZi4uNmE1NjA3ZDA1ZTk3YzM4ZWU5YmIwODc1
MWMyMGIyNjg4YTYzOTFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wNi0xOCAg
S2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEZ1bmN0aW9u
cyBkaXNwYXRjaGVkIHRvIFdvcmtRdWV1ZSBhcmUgc29tZXRpbWVzIGRlc3Ryb3llZCBpbiB0aGUg
Y2FsbGluZyB0aHJlYWQgZHVlIHRvIGJsb2NrIHJlZmNvdW50aW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxNjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBcyBhbiBleGFtcGxlLCByZW1vdmUgb25l
IHdvcmthcm91bmQgbXV0YWJpbGl0eSBvZiBkaXNwYXRjaGVkIGZ1bmN0aW9uCisgICAgICAgIGFu
ZCBudWxscHRyIGFzc2lnbm1lbnQgdGhhdCB3YXMgbmVlZGVkIGZvciB3b3JraW5nIGFyb3VuZAor
ICAgICAgICBXb3JrUXVldWU6OmRpc3BhdGNoIGJ1ZyB3aGVyZSB0aGUgZGlzcGF0Y2hlZCBmdW5j
dGlvbiB3YXMgbm90IGFsd2F5cworICAgICAgICBkZXN0cm95ZWQgaW4gdGhlIHF1ZXVlLgorCisg
ICAgICAgICogU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVRyYWNrUmVhZGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFUcmFja1JlYWRlcjo6ZmluYWxpemUpOgorCiAyMDIx
LTA2LTE3ICBQZXIgQXJuZSAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10g
Q2xvc2Ugb3BlbiBjb25uZWN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2Ev
V29ya1F1ZXVlQ29jb2EuY3BwIGIvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29jb2Eu
Y3BwCmluZGV4IDgyYjNhY2U4Mzg4ZGFiOWQyYzcyY2I0NjI4ZjdmZDk3OTczYzZiMzkuLjAzNjQ2
OWY3OTE5ZjliNTQzZWU4ZTZhZDhlMzhlNjU5ZTc1Yzk5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2Nv
YS9Xb3JrUXVldWVDb2NvYS5jcHAKQEAgLTMxLDIzICszMSwzNyBAQAogCiBuYW1lc3BhY2UgV1RG
IHsKIAorbmFtZXNwYWNlIHsKKworc3RydWN0IERpc3BhdGNoV29ya0l0ZW0geworICAgIFdURl9N
QUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKyAgICBSZWY8V29ya1F1ZXVlPiBtX3dvcmtRdWV1
ZTsKKyAgICBGdW5jdGlvbjx2b2lkKCk+IG1fZnVuY3Rpb247CisgICAgdm9pZCBvcGVyYXRvcigp
KCkgeyBtX2Z1bmN0aW9uKCk7IH0KK307CisKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Rh
dGljIHZvaWQgZGlzcGF0Y2hXb3JrSXRlbSh2b2lkKiBkaXNwYXRjaENvbnRleHQpCit7CisgICAg
VCogaXRlbSA9IHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KGRpc3BhdGNoQ29udGV4dCk7CisgICAgKCpp
dGVtKSgpOworICAgIGRlbGV0ZSBpdGVtOworfQorCiB2b2lkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2go
RnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQogewotICAgIGRpc3BhdGNoX2FzeW5jKG1fZGlz
cGF0Y2hRdWV1ZS5nZXQoKSwgbWFrZUJsb2NrUHRyKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGZ1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbildIHsKLSAgICAgICAgZnVuY3Rpb24o
KTsKLSAgICB9KS5nZXQoKSk7CisgICAgZGlzcGF0Y2hfYXN5bmNfZihtX2Rpc3BhdGNoUXVldWUu
Z2V0KCksIG5ldyBEaXNwYXRjaFdvcmtJdGVtIHsgbWFrZVJlZigqdGhpcyksIFdURk1vdmUoZnVu
Y3Rpb24pIH0sIGRpc3BhdGNoV29ya0l0ZW08RGlzcGF0Y2hXb3JrSXRlbT4pOwogfQogCiB2b2lk
IFdvcmtRdWV1ZTo6ZGlzcGF0Y2hBZnRlcihTZWNvbmRzIGR1cmF0aW9uLCBGdW5jdGlvbjx2b2lk
KCk+JiYgZnVuY3Rpb24pCiB7Ci0gICAgZGlzcGF0Y2hfYWZ0ZXIoZGlzcGF0Y2hfdGltZShESVNQ
QVRDSF9USU1FX05PVywgZHVyYXRpb24ubmFub3NlY29uZHNBczxpbnQ2NF90PigpKSwgbV9kaXNw
YXRjaFF1ZXVlLmdldCgpLCBtYWtlQmxvY2tQdHIoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKSwgZnVuY3Rpb24gPSBXVEZNb3ZlKGZ1bmN0aW9uKV0gewotICAgICAgICBmdW5jdGlvbigp
OwotICAgIH0pLmdldCgpKTsKKyAgICBkaXNwYXRjaF9hZnRlcl9mKGRpc3BhdGNoX3RpbWUoRElT
UEFUQ0hfVElNRV9OT1csIGR1cmF0aW9uLm5hbm9zZWNvbmRzQXM8aW50NjRfdD4oKSksIG1fZGlz
cGF0Y2hRdWV1ZS5nZXQoKSwgbmV3IERpc3BhdGNoV29ya0l0ZW0geyBtYWtlUmVmKCp0aGlzKSwg
IFdURk1vdmUoZnVuY3Rpb24pIH0sIGRpc3BhdGNoV29ya0l0ZW08RGlzcGF0Y2hXb3JrSXRlbT4p
OwogfQogCiB2b2lkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2hTeW5jKEZ1bmN0aW9uPHZvaWQoKT4mJiBm
dW5jdGlvbikKIHsKLSAgICBkaXNwYXRjaF9zeW5jKG1fZGlzcGF0Y2hRdWV1ZS5nZXQoKSwgbWFr
ZUJsb2NrUHRyKFdURk1vdmUoZnVuY3Rpb24pKS5nZXQoKSk7CisgICAgZGlzcGF0Y2hfc3luY19m
KG1fZGlzcGF0Y2hRdWV1ZS5nZXQoKSwgbmV3IEZ1bmN0aW9uPHZvaWQoKT4geyBXVEZNb3ZlKGZ1
bmN0aW9uKSB9LCBkaXNwYXRjaFdvcmtJdGVtPEZ1bmN0aW9uPHZvaWQoKT4+KTsKIH0KIAogUmVm
PFdvcmtRdWV1ZT4gV29ya1F1ZXVlOjpjb25zdHJ1Y3RNYWluV29ya1F1ZXVlKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVRyYWNr
UmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9N
ZWRpYVRyYWNrUmVhZGVyLmNwcAppbmRleCA2NGJmMTQ4NjMwNDhiOTlmMDBlM2I2Y2I4YzczOGU1
ZWYxOGJkODFhLi45MDg2MWM4NGRkZTZjNjZkZGI4Nzc5M2FiMjMwNmE2NmU0ZGViNzMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFU
cmFja1JlYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0
UmVhZGVyL01lZGlhVHJhY2tSZWFkZXIuY3BwCkBAIC0yMDMsOSArMjAzLDcgQEAgT1NTdGF0dXMg
TWVkaWFUcmFja1JlYWRlcjo6Y29weVByb3BlcnR5KENGU3RyaW5nUmVmIGtleSwgQ0ZBbGxvY2F0
b3JSZWYgYWxsb2NhdG8KIHZvaWQgTWVkaWFUcmFja1JlYWRlcjo6ZmluYWxpemUoKQogewogICAg
IExvY2tlciBsb2NrZXIgeyBtX3NhbXBsZVN0b3JhZ2VMb2NrIH07Ci0gICAgc3RvcmFnZVF1ZXVl
KCkuZGlzcGF0Y2goW3NhbXBsZVN0b3JhZ2UgPSBzdGQ6OmV4Y2hhbmdlKG1fc2FtcGxlU3RvcmFn
ZSwgbnVsbHB0cildKCkgbXV0YWJsZSB7Ci0gICAgICAgIHNhbXBsZVN0b3JhZ2UgPSBudWxscHRy
OwotICAgIH0pOworICAgIHN0b3JhZ2VRdWV1ZSgpLmRpc3BhdGNoKFtzYW1wbGVTdG9yYWdlID0g
c3RkOjpleGNoYW5nZShtX3NhbXBsZVN0b3JhZ2UsIG51bGxwdHIpXSB7IH0pOwogICAgIENvcmVN
ZWRpYVdyYXBwZWQ8TWVkaWFUcmFja1JlYWRlcj46OmZpbmFsaXplKCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiM2E3MzA3NTMwZTFi
ODk5OGZjMjYwN2VmNThiNDY2MDJlOGIwZGI0Li5hZTFmYjVjNzE3Nzc3Yzg2ODY5ZTEwNjZhYjQ0
ZmJlZDk1YjBiZmU1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDYtMTggIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5jdGlvbnMgZGlzcGF0Y2hlZCB0byBXb3Jr
UXVldWUgYXJlIHNvbWV0aW1lcyBkZXN0cm95ZWQgaW4gdGhlIGNhbGxpbmcgdGhyZWFkIGR1ZSB0
byBibG9jayByZWZjb3VudGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
CisKKyAgICAgICAgVGVzdCB0aGF0IHRoZSBGdW5jdGlvbiBwYXNzZWQgdG8gV29ya1F1ZXVlOjpk
aXNwYXRjaAorICAgICAgICBpcyBhbHdheXMgZGVzdHJveWVkIGluIHRoZSBXb3JrUXVldWUuIFRl
c3QgYnkgdXNpbmcgdGhlCisgICAgICAgIGtub3dsZWRnZSB0aGF0IFdvcmtRdWV1ZXMgdXNlIHRo
cmVhZHMuCisgICAgICAgIFN0YXJ0IHVwIG1hbnkgV29ya1F1ZXVlcyB0byBjcmVhdGUgbW9yZSB0
aHJlYWQgY29udGVudGlvbgorICAgICAgICB0byBlbnN1cmUgdGhhdCB0aGUgZGlzcGF0Y2hlZC1m
cm9tIHRocmVhZCBpcyBzb21ldGltZXMgbm90CisgICAgICAgIHJ1biB3aGlsZSB0aGUgdGhyZWFk
IG9mIHRoZSBxdWV1ZSBmaW5pc2hlcyBwcm9jZXNzaW5nCisgICAgICAgIHRoZSBkaXNwYXRjaC4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHA6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0wNi0xOCAgS2ltbW8gS2lubnVuZW4g
IDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIG1ha2VVbmlxdWUgY2Fubm90IGJlIHVz
ZWQgdG8gaW5zdGFudGlhdGUgZnVuY3Rpb24tbG9jYWwgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHAKaW5kZXggZWY5OTc1NzUyMmRkOWRhNjEwOWNk
Yjk1YzdlMzdhZTFmNGQzYTU2Ni4uNGI2NmY5YjQxMzIxODNkMzU2YmI4YzIxOGI4ZDdlNGU5NDky
MDFjYiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVl
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Xb3JrUXVldWUuY3BwCkBA
IC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgorI2luY2x1ZGUgPG1lbW9yeT4KICNp
bmNsdWRlIDxzdHJpbmc+CiAjaW5jbHVkZSA8dGhyZWFkPgogCkBAIC00MSw3ICs0Miw3IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBzaW1wbGVUZXN0TGFiZWwgPSAic2ltcGxlVGVzdCI7CiBzdGF0aWMg
Y29uc3QgY2hhciogbG9uZ1Rlc3RMYWJlbCA9ICJsb25nVGVzdCI7CiBzdGF0aWMgY29uc3QgY2hh
ciogdGhpcmRUZXN0TGFiZWwgPSAidGhpcmRUZXN0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBkaXNw
YXRjaEFmdGVyTGFiZWwgPSAiZGlzcGF0Y2hBZnRlciI7Ci0gICAgCisKIFRFU1QoV1RGX1dvcmtR
dWV1ZSwgU2ltcGxlKQogewogICAgIExvY2sgbV9sb2NrOwpAQCAtODAsNyArODEsNyBAQCBURVNU
KFdURl9Xb3JrUXVldWUsIFNpbXBsZSkKICAgICAgICAgRVhQRUNUX1RSVUUoY2FsbGVkU2ltcGxl
VGVzdCk7CiAgICAgICAgIEVYUEVDVF9UUlVFKGNhbGxlZExvbmdUZXN0KTsKICAgICAgICAgRVhQ
RUNUX1RSVUUoY2FsbGVkVGhpcmRUZXN0KTsKLSAgICAgICAgCisKICAgICAgICAgbV90ZXN0Q29t
cGxldGVkLm5vdGlmeU9uZSgpOwogICAgIH0pOwogCkBAIC0xMDcsNyArMTA4LDcgQEAgVEVTVChX
VEZfV29ya1F1ZXVlLCBUd29RdWV1ZXMpCiAgICAgYm9vbCBjYWxsZWRTaW1wbGVUZXN0ID0gZmFs
c2U7CiAgICAgYm9vbCBjYWxsZWRMb25nVGVzdCA9IGZhbHNlOwogICAgIGJvb2wgY2FsbGVkVGhp
cmRUZXN0ID0gZmFsc2U7Ci0gICAgCisKICAgICBhdXRvIHF1ZXVlMSA9IFdvcmtRdWV1ZTo6Y3Jl
YXRlKCJjb20uYXBwbGUuV2ViS2l0LlRlc3QudHdvUXVldWVzMSIpOwogICAgIGF1dG8gcXVldWUy
ID0gV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC50d29RdWV1ZXMyIik7
CiAKQEAgLTExNSw3ICsxMTYsNyBAQCBURVNUKFdURl9Xb3JrUXVldWUsIFR3b1F1ZXVlcykKICAg
ICBFWFBFQ1RfRVEoMVUsIHF1ZXVlMi0+cmVmQ291bnQoKSk7CiAKICAgICBMb2NrZXIgbG9ja2Vy
IHsgbV9sb2NrIH07Ci0gICAgCisKICAgICBxdWV1ZTEtPmRpc3BhdGNoKFsmXSh2b2lkKSB7CiAg
ICAgICAgIG1fZnVuY3Rpb25DYWxsT3JkZXIuYXBwZW5kKHNpbXBsZVRlc3RMYWJlbCk7CiAgICAg
ICAgIGNhbGxlZFNpbXBsZVRlc3QgPSB0cnVlOwpAQCAtMTM4LDcgKzEzOSw3IEBAIFRFU1QoV1RG
X1dvcmtRdWV1ZSwgVHdvUXVldWVzKQogICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9sb2NrIH07
CiAgICAgICAgIG1fZnVuY3Rpb25DYWxsT3JkZXIuYXBwZW5kKHRoaXJkVGVzdExhYmVsKTsKICAg
ICAgICAgY2FsbGVkVGhpcmRUZXN0ID0gdHJ1ZTsKLSAgICAgICAgCisKICAgICAgICAgbV90ZXN0
UXVldWUxQ29tcGxldGVkLm5vdGlmeU9uZSgpOwogICAgIH0pOwogCkBAIC0xOTEsNyArMTkyLDcg
QEAgVEVTVChXVEZfV29ya1F1ZXVlLCBEaXNwYXRjaEFmdGVyKQogCiAgICAgRVhQRUNUX1RSVUUo
Y2FsbGVkU2ltcGxlVGVzdCk7CiAgICAgRVhQRUNUX0ZBTFNFKGNhbGxlZERpc3BhdGNoQWZ0ZXJU
ZXN0KTsKLSAgICAKKwogICAgIG1fZGlzcGF0Y2hBZnRlclRlc3RDb21wbGV0ZWQud2FpdChtX2xv
Y2spOwogCiAgICAgRVhQRUNUX1RSVUUoY2FsbGVkU2ltcGxlVGVzdCk7CkBAIC0yNzQsNCArMjc1
LDI0IEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgRGlzcGF0Y2hTeW5jKQogICAgIEVYUEVDVF9UUlVF
KHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CiB9CiAKKy8vIFRlc3RzIHRoYXQgdGhlIEZ1bmN0aW9u
IHBhc3NlZCB0byBXb3JrUXVldWU6OmRpc3BhdGNoIGlzIGRlc3RydWN0ZWQgb24gdGhlIHRocmVh
ZCB0aGF0CisvLyBydW5zIHRoZSBGdW5jdGlvbi4gSXQgaXMgYSBjb21tb24gcGF0dGVybiB0byBj
YXB0dXJlIGEgb3duaW5nIHJlZmVyZW5jZSBpbnRvIGEgRnVuY3Rpb24KKy8vIGFuZCBkaXNwYXRj
aCB0aGF0IHRvIGEgcXVldWUgdG8gZW5zdXJlIG9yZGVyaW5nIChvciB0aHJlYWQgYWZmaW5pdHkp
IG9mIHRoZSBvYmplY3QgZGVzdHJ1Y3Rpb24uCitURVNUKFdURl9Xb3JrUXVldWUsIERlc3Ryb3lE
aXNwYXRjaGVkT25EaXNwYXRjaFF1ZXVlKQoreworICAgIGNsYXNzIERlc3RydWN0aW9uV29ya1F1
ZXVlVGVzdGVyIHsKKyAgICBwdWJsaWM6CisgICAgICAgIH5EZXN0cnVjdGlvbldvcmtRdWV1ZVRl
c3RlcigpIHsgRVhQRUNUX05FKG1fY3JlYXRlZEluVGhyZWFkLCBUaHJlYWQ6OmN1cnJlbnQoKS51
aWQoKSk7IH0KKyAgICBwcml2YXRlOgorICAgICAgICB1aW50MzJfdCBtX2NyZWF0ZWRJblRocmVh
ZCA9IFRocmVhZDo6Y3VycmVudCgpLnVpZCgpOworICAgIH07CisgICAgUmVmUHRyPFdvcmtRdWV1
ZT4gcXVldWVbNTBdOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNTA7ICsraSkKKyAgICAgICAg
cXVldWVbaV0gPSBXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5UZXN0LmRlc3Ry
b3lEaXNwYXRjaGVkT25EaXNwYXRjaFF1ZXVlIiwgV29ya1F1ZXVlOjpUeXBlOjpTZXJpYWwsIFdv
cmtRdWV1ZTo6UU9TOjpVc2VySW50ZXJhY3RpdmUpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDUwOyArK2opCisg
ICAgICAgICAgICBxdWV1ZVtqXS0+ZGlzcGF0Y2goW2luc3RhbmNlID0gc3RkOjptYWtlX3VuaXF1
ZTxEZXN0cnVjdGlvbldvcmtRdWV1ZVRlc3Rlcj4oKV0oKSB7IH0pOyAvLyBOT0xJTlQKKyAgICB9
Cit9CiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431836</attachid>
            <date>2021-06-21 01:12:37 -0700</date>
            <delta_ts>2021-06-22 06:25:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-227160-20210621111236.patch</filename>
            <type>text/plain</type>
            <size>10257</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDA3MzdhYzg1ZmIyZThlNDRkN2ZjMThj
ZjljNjlhNGU1NzZhYjE5NjAuLmNkM2E2Y2VjNjMxMjFjYjdiMmY1OGI1MzcyMWZkMGI2ZTdjZGE3
MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMjEtMDYtMTggIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5jdGlvbnMgZGlzcGF0Y2hlZCB0byBXb3Jr
UXVldWUgYXJlIHNvbWV0aW1lcyBkZXN0cm95ZWQgaW4gdGhlIGNhbGxpbmcgdGhyZWFkIGR1ZSB0
byBibG9jayByZWZjb3VudGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
CisKKyAgICAgICAgV29ya1F1ZXVlOjpkaXNwYXRjaCBGdW5jdGlvbiBib2RpZXMgYWx3YXlzIGV4
ZWN1dGUgaW4gdGhlIHRocmVhZCBvZiB0YXJnZXQKKyAgICAgICAgcXVldWUuIEhvd2V2ZXIsIHNv
bWV0aW1lcyB0aGUgRnVuY3Rpb24gZGVzdHJ1Y3Rpb24gd291bGQgaGFwcGVuIGluIHRoZQorICAg
ICAgICBkaXNwYXRjaGVkLWZyb20gdGhyZWFkLiBUaGlzIGlzIG5vdCB3aGF0IHRoZSBXb3JrUXVl
dWU6OmRpc3BhdGNoIGNhbGxlcnMKKyAgICAgICAgZXhwZWN0LgorCisgICAgICAgIEltcGxlbWVu
dCBzb21lIG9mIHRoZSBXb3JrUXVldWU6OmRpc3BhdGNoKiBpbiB0ZXJtcyBvZiBkaXNwYXRjaF8u
Li5fZigpCisgICAgICAgIHZhcmlhbnRzIHdoaWNoIHRha2UgYSBmdW5jdGlvbiBhbmQgY29udGV4
dCBwb2ludGVyIGluc3RlYWQgb2YgYSBibG9jay4KKworICAgICAgICBCbG9ja3MgYXJlIHJlZmVy
ZW5jZSBjb3VudGVkIG9iamVjdHMgd2l0aG91dCB0aGUgYWJpbGl0eSB0byBwYXNzIHRoZQorICAg
ICAgICBvd25lcnNoaXAgb2YgdGhlIHJlZmVyZW5jZS4gRm9yIGRpc3BhdGNoIGNhc2UsIGl0IG1l
YW5zIHRoYXQgY2FsbGVyIHdpbGwKKyAgICAgICAgbmVlZCB0byBob2xkIHRoZSByZWZlcmVuY2Ug
d2hpbGUgZGlzcGF0Y2hfLi4uKCkgcmV0dXJucy4gSW4gdGhyZWFkCisgICAgICAgIGNvbnRlbnRp
b24gY2FzZXMgdGhlIGNhbGxlZCBibG9jayBtaWdodCBjb21wbGV0ZSBhbmQgcmVmZXJlbmNlIGJl
CisgICAgICAgIGRyb3BwZWQgaW4gdGhlIHRocmVhZCBvZiB0aGUgcXVldWUgYmVmb3JlIHRoZSBk
aXNwYXRjaGVkLWZyb20gdGhyZWFkCisgICAgICAgIHdvdWxkIGRyb3AgaXRzIHJlZmVyZW5jZSB0
byB0aGUgYmxvY2suIFRoaXMgd291bGQgY2F1c2UgdGhlIGRpc3BhdGNoZWQKKyAgICAgICAgRnVu
Y3Rpb24gdG8gYmUgZGVzdHJveWVkIGluIHRoZSBkaXNwYXRjaGVkLWZyb20gdGhyZWFkLgorCisg
ICAgICAgICogd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcDoKKyAgICAgICAgKFdURjo6ZGlz
cGF0Y2hXb3JrSXRlbSk6CisgICAgICAgIChXVEY6OldvcmtRdWV1ZTo6ZGlzcGF0Y2gpOgorICAg
ICAgICAoV1RGOjpXb3JrUXVldWU6OmRpc3BhdGNoQWZ0ZXIpOgorICAgICAgICAoV1RGOjpXb3Jr
UXVldWU6OmRpc3BhdGNoU3luYyk6CisKIDIwMjEtMDYtMTggIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBtYWtlVW5pcXVlIGNhbm5vdCBiZSB1c2VkIHRv
IGluc3RhbnRpYXRlIGZ1bmN0aW9uLWxvY2FsIGNsYXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTk2NjdiODQx
OWZhMzI1MjM1Yzc1YzA5OGM0M2I2MjIwOTQ3NTAyZi4uNmE1NjA3ZDA1ZTk3YzM4ZWU5YmIwODc1
MWMyMGIyNjg4YTYzOTFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wNi0xOCAg
S2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEZ1bmN0aW9u
cyBkaXNwYXRjaGVkIHRvIFdvcmtRdWV1ZSBhcmUgc29tZXRpbWVzIGRlc3Ryb3llZCBpbiB0aGUg
Y2FsbGluZyB0aHJlYWQgZHVlIHRvIGJsb2NrIHJlZmNvdW50aW5nCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxNjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBcyBhbiBleGFtcGxlLCByZW1vdmUgb25l
IHdvcmthcm91bmQgbXV0YWJpbGl0eSBvZiBkaXNwYXRjaGVkIGZ1bmN0aW9uCisgICAgICAgIGFu
ZCBudWxscHRyIGFzc2lnbm1lbnQgdGhhdCB3YXMgbmVlZGVkIGZvciB3b3JraW5nIGFyb3VuZAor
ICAgICAgICBXb3JrUXVldWU6OmRpc3BhdGNoIGJ1ZyB3aGVyZSB0aGUgZGlzcGF0Y2hlZCBmdW5j
dGlvbiB3YXMgbm90IGFsd2F5cworICAgICAgICBkZXN0cm95ZWQgaW4gdGhlIHF1ZXVlLgorCisg
ICAgICAgICogU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVRyYWNrUmVhZGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TWVkaWFUcmFja1JlYWRlcjo6ZmluYWxpemUpOgorCiAyMDIx
LTA2LTE3ICBQZXIgQXJuZSAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10g
Q2xvc2Ugb3BlbiBjb25uZWN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2Ev
V29ya1F1ZXVlQ29jb2EuY3BwIGIvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29jb2Eu
Y3BwCmluZGV4IDgyYjNhY2U4Mzg4ZGFiOWQyYzcyY2I0NjI4ZjdmZDk3OTczYzZiMzkuLjAzNjQ2
OWY3OTE5ZjliNTQzZWU4ZTZhZDhlMzhlNjU5ZTc1Yzk5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2Nv
YS9Xb3JrUXVldWVDb2NvYS5jcHAKQEAgLTMxLDIzICszMSwzNyBAQAogCiBuYW1lc3BhY2UgV1RG
IHsKIAorbmFtZXNwYWNlIHsKKworc3RydWN0IERpc3BhdGNoV29ya0l0ZW0geworICAgIFdURl9N
QUtFX1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKyAgICBSZWY8V29ya1F1ZXVlPiBtX3dvcmtRdWV1
ZTsKKyAgICBGdW5jdGlvbjx2b2lkKCk+IG1fZnVuY3Rpb247CisgICAgdm9pZCBvcGVyYXRvcigp
KCkgeyBtX2Z1bmN0aW9uKCk7IH0KK307CisKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Rh
dGljIHZvaWQgZGlzcGF0Y2hXb3JrSXRlbSh2b2lkKiBkaXNwYXRjaENvbnRleHQpCit7CisgICAg
VCogaXRlbSA9IHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KGRpc3BhdGNoQ29udGV4dCk7CisgICAgKCpp
dGVtKSgpOworICAgIGRlbGV0ZSBpdGVtOworfQorCiB2b2lkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2go
RnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQogewotICAgIGRpc3BhdGNoX2FzeW5jKG1fZGlz
cGF0Y2hRdWV1ZS5nZXQoKSwgbWFrZUJsb2NrUHRyKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigq
dGhpcyksIGZ1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbildIHsKLSAgICAgICAgZnVuY3Rpb24o
KTsKLSAgICB9KS5nZXQoKSk7CisgICAgZGlzcGF0Y2hfYXN5bmNfZihtX2Rpc3BhdGNoUXVldWUu
Z2V0KCksIG5ldyBEaXNwYXRjaFdvcmtJdGVtIHsgbWFrZVJlZigqdGhpcyksIFdURk1vdmUoZnVu
Y3Rpb24pIH0sIGRpc3BhdGNoV29ya0l0ZW08RGlzcGF0Y2hXb3JrSXRlbT4pOwogfQogCiB2b2lk
IFdvcmtRdWV1ZTo6ZGlzcGF0Y2hBZnRlcihTZWNvbmRzIGR1cmF0aW9uLCBGdW5jdGlvbjx2b2lk
KCk+JiYgZnVuY3Rpb24pCiB7Ci0gICAgZGlzcGF0Y2hfYWZ0ZXIoZGlzcGF0Y2hfdGltZShESVNQ
QVRDSF9USU1FX05PVywgZHVyYXRpb24ubmFub3NlY29uZHNBczxpbnQ2NF90PigpKSwgbV9kaXNw
YXRjaFF1ZXVlLmdldCgpLCBtYWtlQmxvY2tQdHIoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKSwgZnVuY3Rpb24gPSBXVEZNb3ZlKGZ1bmN0aW9uKV0gewotICAgICAgICBmdW5jdGlvbigp
OwotICAgIH0pLmdldCgpKTsKKyAgICBkaXNwYXRjaF9hZnRlcl9mKGRpc3BhdGNoX3RpbWUoRElT
UEFUQ0hfVElNRV9OT1csIGR1cmF0aW9uLm5hbm9zZWNvbmRzQXM8aW50NjRfdD4oKSksIG1fZGlz
cGF0Y2hRdWV1ZS5nZXQoKSwgbmV3IERpc3BhdGNoV29ya0l0ZW0geyBtYWtlUmVmKCp0aGlzKSwg
IFdURk1vdmUoZnVuY3Rpb24pIH0sIGRpc3BhdGNoV29ya0l0ZW08RGlzcGF0Y2hXb3JrSXRlbT4p
OwogfQogCiB2b2lkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2hTeW5jKEZ1bmN0aW9uPHZvaWQoKT4mJiBm
dW5jdGlvbikKIHsKLSAgICBkaXNwYXRjaF9zeW5jKG1fZGlzcGF0Y2hRdWV1ZS5nZXQoKSwgbWFr
ZUJsb2NrUHRyKFdURk1vdmUoZnVuY3Rpb24pKS5nZXQoKSk7CisgICAgZGlzcGF0Y2hfc3luY19m
KG1fZGlzcGF0Y2hRdWV1ZS5nZXQoKSwgbmV3IEZ1bmN0aW9uPHZvaWQoKT4geyBXVEZNb3ZlKGZ1
bmN0aW9uKSB9LCBkaXNwYXRjaFdvcmtJdGVtPEZ1bmN0aW9uPHZvaWQoKT4+KTsKIH0KIAogUmVm
PFdvcmtRdWV1ZT4gV29ya1F1ZXVlOjpjb25zdHJ1Y3RNYWluV29ya1F1ZXVlKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVRyYWNr
UmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9N
ZWRpYVRyYWNrUmVhZGVyLmNwcAppbmRleCA2NGJmMTQ4NjMwNDhiOTlmMDBlM2I2Y2I4YzczOGU1
ZWYxOGJkODFhLi45MDg2MWM4NGRkZTZjNjZkZGI4Nzc5M2FiMjMwNmE2NmU0ZGViNzMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFU
cmFja1JlYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0
UmVhZGVyL01lZGlhVHJhY2tSZWFkZXIuY3BwCkBAIC0yMDMsOSArMjAzLDcgQEAgT1NTdGF0dXMg
TWVkaWFUcmFja1JlYWRlcjo6Y29weVByb3BlcnR5KENGU3RyaW5nUmVmIGtleSwgQ0ZBbGxvY2F0
b3JSZWYgYWxsb2NhdG8KIHZvaWQgTWVkaWFUcmFja1JlYWRlcjo6ZmluYWxpemUoKQogewogICAg
IExvY2tlciBsb2NrZXIgeyBtX3NhbXBsZVN0b3JhZ2VMb2NrIH07Ci0gICAgc3RvcmFnZVF1ZXVl
KCkuZGlzcGF0Y2goW3NhbXBsZVN0b3JhZ2UgPSBzdGQ6OmV4Y2hhbmdlKG1fc2FtcGxlU3RvcmFn
ZSwgbnVsbHB0cildKCkgbXV0YWJsZSB7Ci0gICAgICAgIHNhbXBsZVN0b3JhZ2UgPSBudWxscHRy
OwotICAgIH0pOworICAgIHN0b3JhZ2VRdWV1ZSgpLmRpc3BhdGNoKFtzYW1wbGVTdG9yYWdlID0g
c3RkOjpleGNoYW5nZShtX3NhbXBsZVN0b3JhZ2UsIG51bGxwdHIpXSB7IH0pOwogICAgIENvcmVN
ZWRpYVdyYXBwZWQ8TWVkaWFUcmFja1JlYWRlcj46OmZpbmFsaXplKCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiM2E3MzA3NTMwZTFi
ODk5OGZjMjYwN2VmNThiNDY2MDJlOGIwZGI0Li5hZTFmYjVjNzE3Nzc3Yzg2ODY5ZTEwNjZhYjQ0
ZmJlZDk1YjBiZmU1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDYtMTggIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBGdW5jdGlvbnMgZGlzcGF0Y2hlZCB0byBXb3Jr
UXVldWUgYXJlIHNvbWV0aW1lcyBkZXN0cm95ZWQgaW4gdGhlIGNhbGxpbmcgdGhyZWFkIGR1ZSB0
byBibG9jayByZWZjb3VudGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3MTYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
CisKKyAgICAgICAgVGVzdCB0aGF0IHRoZSBGdW5jdGlvbiBwYXNzZWQgdG8gV29ya1F1ZXVlOjpk
aXNwYXRjaAorICAgICAgICBpcyBhbHdheXMgZGVzdHJveWVkIGluIHRoZSBXb3JrUXVldWUuIFRl
c3QgYnkgdXNpbmcgdGhlCisgICAgICAgIGtub3dsZWRnZSB0aGF0IFdvcmtRdWV1ZXMgdXNlIHRo
cmVhZHMuCisgICAgICAgIFN0YXJ0IHVwIG1hbnkgV29ya1F1ZXVlcyB0byBjcmVhdGUgbW9yZSB0
aHJlYWQgY29udGVudGlvbgorICAgICAgICB0byBlbnN1cmUgdGhhdCB0aGUgZGlzcGF0Y2hlZC1m
cm9tIHRocmVhZCBpcyBzb21ldGltZXMgbm90CisgICAgICAgIHJ1biB3aGlsZSB0aGUgdGhyZWFk
IG9mIHRoZSBxdWV1ZSBmaW5pc2hlcyBwcm9jZXNzaW5nCisgICAgICAgIHRoZSBkaXNwYXRjaC4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHA6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0wNi0xOCAgS2ltbW8gS2lubnVuZW4g
IDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIG1ha2VVbmlxdWUgY2Fubm90IGJlIHVz
ZWQgdG8gaW5zdGFudGlhdGUgZnVuY3Rpb24tbG9jYWwgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHAKaW5kZXggZWY5OTc1NzUyMmRkOWRhNjEwOWNk
Yjk1YzdlMzdhZTFmNGQzYTU2Ni4uMjM3NmMxMDdiZDYwMTA0NjIwZmU0YWI0YjRmNjQxODBjMTM3
NTAxOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVl
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Xb3JrUXVldWUuY3BwCkBA
IC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAjaW5jbHVkZSA8d3RmL1dvcmtRdWV1ZS5oPgorI2luY2x1ZGUgPG1lbW9yeT4KICNp
bmNsdWRlIDxzdHJpbmc+CiAjaW5jbHVkZSA8dGhyZWFkPgogCkBAIC00MSw3ICs0Miw3IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBzaW1wbGVUZXN0TGFiZWwgPSAic2ltcGxlVGVzdCI7CiBzdGF0aWMg
Y29uc3QgY2hhciogbG9uZ1Rlc3RMYWJlbCA9ICJsb25nVGVzdCI7CiBzdGF0aWMgY29uc3QgY2hh
ciogdGhpcmRUZXN0TGFiZWwgPSAidGhpcmRUZXN0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBkaXNw
YXRjaEFmdGVyTGFiZWwgPSAiZGlzcGF0Y2hBZnRlciI7Ci0gICAgCisKIFRFU1QoV1RGX1dvcmtR
dWV1ZSwgU2ltcGxlKQogewogICAgIExvY2sgbV9sb2NrOwpAQCAtODAsNyArODEsNyBAQCBURVNU
KFdURl9Xb3JrUXVldWUsIFNpbXBsZSkKICAgICAgICAgRVhQRUNUX1RSVUUoY2FsbGVkU2ltcGxl
VGVzdCk7CiAgICAgICAgIEVYUEVDVF9UUlVFKGNhbGxlZExvbmdUZXN0KTsKICAgICAgICAgRVhQ
RUNUX1RSVUUoY2FsbGVkVGhpcmRUZXN0KTsKLSAgICAgICAgCisKICAgICAgICAgbV90ZXN0Q29t
cGxldGVkLm5vdGlmeU9uZSgpOwogICAgIH0pOwogCkBAIC0xMDcsNyArMTA4LDcgQEAgVEVTVChX
VEZfV29ya1F1ZXVlLCBUd29RdWV1ZXMpCiAgICAgYm9vbCBjYWxsZWRTaW1wbGVUZXN0ID0gZmFs
c2U7CiAgICAgYm9vbCBjYWxsZWRMb25nVGVzdCA9IGZhbHNlOwogICAgIGJvb2wgY2FsbGVkVGhp
cmRUZXN0ID0gZmFsc2U7Ci0gICAgCisKICAgICBhdXRvIHF1ZXVlMSA9IFdvcmtRdWV1ZTo6Y3Jl
YXRlKCJjb20uYXBwbGUuV2ViS2l0LlRlc3QudHdvUXVldWVzMSIpOwogICAgIGF1dG8gcXVldWUy
ID0gV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC50d29RdWV1ZXMyIik7
CiAKQEAgLTExNSw3ICsxMTYsNyBAQCBURVNUKFdURl9Xb3JrUXVldWUsIFR3b1F1ZXVlcykKICAg
ICBFWFBFQ1RfRVEoMVUsIHF1ZXVlMi0+cmVmQ291bnQoKSk7CiAKICAgICBMb2NrZXIgbG9ja2Vy
IHsgbV9sb2NrIH07Ci0gICAgCisKICAgICBxdWV1ZTEtPmRpc3BhdGNoKFsmXSh2b2lkKSB7CiAg
ICAgICAgIG1fZnVuY3Rpb25DYWxsT3JkZXIuYXBwZW5kKHNpbXBsZVRlc3RMYWJlbCk7CiAgICAg
ICAgIGNhbGxlZFNpbXBsZVRlc3QgPSB0cnVlOwpAQCAtMTM4LDcgKzEzOSw3IEBAIFRFU1QoV1RG
X1dvcmtRdWV1ZSwgVHdvUXVldWVzKQogICAgICAgICBMb2NrZXIgbG9ja2VyIHsgbV9sb2NrIH07
CiAgICAgICAgIG1fZnVuY3Rpb25DYWxsT3JkZXIuYXBwZW5kKHRoaXJkVGVzdExhYmVsKTsKICAg
ICAgICAgY2FsbGVkVGhpcmRUZXN0ID0gdHJ1ZTsKLSAgICAgICAgCisKICAgICAgICAgbV90ZXN0
UXVldWUxQ29tcGxldGVkLm5vdGlmeU9uZSgpOwogICAgIH0pOwogCkBAIC0xOTEsNyArMTkyLDcg
QEAgVEVTVChXVEZfV29ya1F1ZXVlLCBEaXNwYXRjaEFmdGVyKQogCiAgICAgRVhQRUNUX1RSVUUo
Y2FsbGVkU2ltcGxlVGVzdCk7CiAgICAgRVhQRUNUX0ZBTFNFKGNhbGxlZERpc3BhdGNoQWZ0ZXJU
ZXN0KTsKLSAgICAKKwogICAgIG1fZGlzcGF0Y2hBZnRlclRlc3RDb21wbGV0ZWQud2FpdChtX2xv
Y2spOwogCiAgICAgRVhQRUNUX1RSVUUoY2FsbGVkU2ltcGxlVGVzdCk7CkBAIC0yNzQsNCArMjc1
LDQwIEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgRGlzcGF0Y2hTeW5jKQogICAgIEVYUEVDVF9UUlVF
KHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CiB9CiAKKy8vIFRlc3RzIHRoYXQgdGhlIEZ1bmN0aW9u
IHBhc3NlZCB0byBXb3JrUXVldWU6OmRpc3BhdGNoIGlzIGRlc3RydWN0ZWQgb24gdGhlIHRocmVh
ZCB0aGF0CisvLyBydW5zIHRoZSBGdW5jdGlvbi4gSXQgaXMgYSBjb21tb24gcGF0dGVybiB0byBj
YXB0dXJlIGEgb3duaW5nIHJlZmVyZW5jZSBpbnRvIGEgRnVuY3Rpb24KKy8vIGFuZCBkaXNwYXRj
aCB0aGF0IHRvIGEgcXVldWUgdG8gZW5zdXJlIG9yZGVyaW5nIChvciB0aHJlYWQgYWZmaW5pdHkp
IG9mIHRoZSBvYmplY3QgZGVzdHJ1Y3Rpb24uCitURVNUKFdURl9Xb3JrUXVldWUsIERlc3Ryb3lE
aXNwYXRjaGVkT25EaXNwYXRjaFF1ZXVlKQoreworICAgIHN0ZDo6YXRvbWljPHNpemVfdD4gY291
bnRlciA9IDA7CisgICAgY2xhc3MgRGVzdHJ1Y3Rpb25Xb3JrUXVldWVUZXN0ZXIgeworICAgIHB1
YmxpYzoKKyAgICAgICAgRGVzdHJ1Y3Rpb25Xb3JrUXVldWVUZXN0ZXIoc3RkOjphdG9taWM8c2l6
ZV90PiYgY291bnRlcikKKyAgICAgICAgICAgIDogbV9jb3VudGVyKGNvdW50ZXIpCisgICAgICAg
IHsKKyAgICAgICAgfQorICAgICAgICB+RGVzdHJ1Y3Rpb25Xb3JrUXVldWVUZXN0ZXIoKQorICAg
ICAgICB7CisgICAgICAgICAgICBFWFBFQ1RfTkUobV9jcmVhdGVkSW5UaHJlYWQsIFRocmVhZDo6
Y3VycmVudCgpLnVpZCgpKTsKKyAgICAgICAgICAgIG1fY291bnRlcisrOworICAgICAgICB9Cisg
ICAgcHJpdmF0ZToKKyAgICAgICAgdWludDMyX3QgbV9jcmVhdGVkSW5UaHJlYWQgPSBUaHJlYWQ6
OmN1cnJlbnQoKS51aWQoKTsKKyAgICAgICAgc3RkOjphdG9taWM8c2l6ZV90PiYgbV9jb3VudGVy
OworICAgIH07CisgICAgY29uc3RleHByIHNpemVfdCBxdWV1ZUNvdW50ID0gNTA7CisgICAgY29u
c3RleHByIHNpemVfdCBpdGVyYXRpb25Db3VudCA9IDEwMDAwOworICAgIFJlZlB0cjxXb3JrUXVl
dWU+IHF1ZXVlW3F1ZXVlQ291bnRdOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcXVldWVD
b3VudDsgKytpKQorICAgICAgICBxdWV1ZVtpXSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBw
bGUuV2ViS2l0LlRlc3QuZGVzdHJveURpc3BhdGNoZWRPbkRpc3BhdGNoUXVldWUiLCBXb3JrUXVl
dWU6OlR5cGU6OlNlcmlhbCwgV29ya1F1ZXVlOjpRT1M6OlVzZXJJbnRlcmFjdGl2ZSk7CisKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGl0ZXJhdGlvbkNvdW50OyArK2kpIHsKKyAgICAgICAg
Zm9yIChzaXplX3QgaiA9IDA7IGogPCBxdWV1ZUNvdW50OyArK2opCisgICAgICAgICAgICBxdWV1
ZVtqXS0+ZGlzcGF0Y2goW2luc3RhbmNlID0gc3RkOjptYWtlX3VuaXF1ZTxEZXN0cnVjdGlvbldv
cmtRdWV1ZVRlc3Rlcj4oY291bnRlcildKCkgeyB9KTsgLy8gTk9MSU5UCisgICAgfQorICAgIGZv
ciAoc2l6ZV90IGogPSAwOyBqIDwgcXVldWVDb3VudDsgKytqKQorICAgICAgICBxdWV1ZVtqXS0+
ZGlzcGF0Y2hTeW5jKFtdIHsgfSk7CisgICAgRVhQRUNUX0VRKHF1ZXVlQ291bnQgKiBpdGVyYXRp
b25Db3VudCwgY291bnRlcik7CisKK30KIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
      

    </bug>

</bugzilla>