<?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>205909</bug_id>
          
          <creation_ts>2020-01-08 00:16:52 -0800</creation_ts>
          <short_desc>IndexedDB: stop cursor prefetching when size of cached records reaches limit</short_desc>
          <delta_ts>2020-01-09 09:38:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1603986</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-01-08 00:16:52 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603987</commentid>
    <comment_count>1</comment_count>
      <attachid>387083</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-01-08 00:19:18 -0800</bug_when>
    <thetext>Created attachment 387083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604126</commentid>
    <comment_count>2</comment_count>
      <attachid>387108</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-01-08 09:34:42 -0800</bug_when>
    <thetext>Created attachment 387108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604656</commentid>
    <comment_count>3</comment_count>
      <attachid>387237</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-01-09 08:52:32 -0800</bug_when>
    <thetext>Created attachment 387237
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604672</commentid>
    <comment_count>4</comment_count>
      <attachid>387237</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-09 09:37:49 -0800</bug_when>
    <thetext>Comment on attachment 387237
Patch for landing

Clearing flags on attachment: 387237

Committed r254264: &lt;https://trac.webkit.org/changeset/254264&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604673</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-09 09:37:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604675</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-09 09:38:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/58446315&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387083</attachid>
            <date>2020-01-08 00:19:18 -0800</date>
            <delta_ts>2020-01-08 09:34:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205909-20200108001839.patch</filename>
            <type>text/plain</type>
            <size>12157</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk0N2IwMjg0YTYwYjU4
Y2YwYjgwZWUxNmJlMDhjYTNmMjZmMDA3ZC4uOTM3NzEwNjBmNDk3N2QxOTM3ZTNjMzQ1YTUyMWM4
ZjJjOGM5ZDgzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTAxLTA4ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogc3RvcCBj
dXJzb3IgcHJlZmV0Y2hpbmcgd2hlbiBzaXplIG9mIGNhY2hlZCByZWNvcmRzIHJlYWNoZXMgbGlt
aXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTkw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlE
YXRhOjpzaXplIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRh
Lmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCVmFsdWU6OnNpemUgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQlZhbHVlLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0
ZUlEQkN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlNRTGl0ZUlEQkN1
cnNvcjo6b2JqZWN0U3RvcmVSZWNvcmRzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJT
ZXJ2ZXI6OlNRTGl0ZUlEQkN1cnNvcjo6cHJlZmV0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6SURC
U2VydmVyOjpTUUxpdGVJREJDdXJzb3I6OmFkdmFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6SURC
U2VydmVyOjpTUUxpdGVJREJDdXJzb3I6OmZldGNoKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNl
cnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6Oml0ZXJhdGVDdXJzb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6cHJlZmV0Y2hDdXJzb3IpOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JSZWNvcmQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQkN1cnNvclJlY29yZDo6c2l6ZSBjb25zdCk6CisKIDIwMjAtMDEtMDcgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBmYWlsaW5nIHRl
c3RzIGZvbGxvd2luZyByMjU0MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQktleURhdGEuY3BwCmluZGV4IDQ1YzE4OWQ5NTIxMWU5MzE1NWY4NWMzZjU0NGQzN2Ew
MTdhYjgzNWMuLjYzYjAzZjI4NjQ5ZmVlY2YxYzRiMmJkYjkxNDBlMzVkZTFhYTE1MGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuY3BwCkBAIC00
NzIsNiArNDcyLDM3IEBAIGJvb2wgSURCS2V5RGF0YTo6b3BlcmF0b3I9PShjb25zdCBJREJLZXlE
YXRhJiBvdGhlcikgY29uc3QKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQog
CitzaXplX3QgSURCS2V5RGF0YTo6c2l6ZSgpIGNvbnN0Cit7CisgICAgaWYgKG1faXNOdWxsKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIHN3aXRjaCAobV90eXBlKSB7CisgICAgY2FzZSBJbmRl
eGVkREI6OktleVR5cGU6OkludmFsaWQ6CisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgSW5k
ZXhlZERCOjpLZXlUeXBlOjpBcnJheTogeworICAgICAgICBWZWN0b3I8UmVmUHRyPElEQktleT4+
IGFycmF5OworICAgICAgICBzaXplX3QgdG90YWxTaXplID0gMDsKKyAgICAgICAgZm9yIChhdXRv
JiBrZXlEYXRhIDogV1RGOjpnZXQ8VmVjdG9yPElEQktleURhdGE+PihtX3ZhbHVlKSkKKyAgICAg
ICAgICAgIHRvdGFsU2l6ZSArPSBrZXlEYXRhLnNpemUoKTsKKyAgICAgICAgcmV0dXJuIHRvdGFs
U2l6ZTsKKyAgICB9CisgICAgY2FzZSBJbmRleGVkREI6OktleVR5cGU6OkJpbmFyeToKKyAgICAg
ICAgcmV0dXJuIFdURjo6Z2V0PFRocmVhZFNhZmVEYXRhQnVmZmVyPihtX3ZhbHVlKS5zaXplKCk7
CisgICAgY2FzZSBJbmRleGVkREI6OktleVR5cGU6OlN0cmluZzoKKyAgICAgICAgcmV0dXJuIFdU
Rjo6Z2V0PFN0cmluZz4obV92YWx1ZSkuc2l6ZUluQnl0ZXMoKTsKKyAgICBjYXNlIEluZGV4ZWRE
Qjo6S2V5VHlwZTo6RGF0ZToKKyAgICBjYXNlIEluZGV4ZWREQjo6S2V5VHlwZTo6TnVtYmVyOgor
ICAgICAgICByZXR1cm4gc2l6ZW9mKGRvdWJsZSk7CisgICAgY2FzZSBJbmRleGVkREI6OktleVR5
cGU6Ok1heDoKKyAgICBjYXNlIEluZGV4ZWREQjo6S2V5VHlwZTo6TWluOgorICAgICAgICByZXR1
cm4gMDsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJLZXlEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRh
LmgKaW5kZXggMjQ3N2JiM2M1MTg4YTIyYmQxNjM3ZmRjNTVkOTBhYTZjYTk4YTZjNC4uMzc5ZDEy
Yjc4MGQ0NjNhYjg4YWFiZTgyNjE5Y2EyMWU4Mjk1MWU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaApAQCAtMTg3LDYgKzE4Nyw4IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIFdURjo6Z2V0PFZlY3RvcjxJREJLZXlEYXRhPj4obV92YWx1ZSk7
CiAgICAgfQogCisgICAgc2l6ZV90IHNpemUoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBzdGF0
aWMgdm9pZCBpc29sYXRlZENvcHkoY29uc3QgSURCS2V5RGF0YSYgc291cmNlLCBJREJLZXlEYXRh
JiBkZXN0aW5hdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQlZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlZhbHVlLmNwcAppbmRleCBhZjcxZTlmMjQzNGJhMWU1ZjgyNzQzMzQ5OWRiZWI4MWEzMDcwNmZj
Li5hZjNjMDE3YjhmOGQ2NWMyNmI1YmEwOWU5YmY5ZWU3NzhkOGM0MzVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWYWx1ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmFsdWUuY3BwCkBAIC04Niw2ICs4NiwyMSBA
QCBJREJWYWx1ZSBJREJWYWx1ZTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCitzaXplX3QgSURCVmFsdWU6OnNpemUoKSBjb25zdAoreworICAgIHNpemVfdCB0
b3RhbFNpemUgPSAwOworCisgICAgZm9yIChhdXRvJiB1cmwgOiBtX2Jsb2JVUkxzKQorICAgICAg
ICB0b3RhbFNpemUgKz0gdXJsLnNpemVJbkJ5dGVzKCk7CisKKyAgICBmb3IgKGF1dG8mIHBhdGgg
OiBtX2Jsb2JGaWxlUGF0aHMpCisgICAgICAgIHRvdGFsU2l6ZSArPSBwYXRoLnNpemVJbkJ5dGVz
KCk7CisKKyAgICB0b3RhbFNpemUgKz0gbV9kYXRhLnNpemUoKTsKKworICAgIHJldHVybiB0b3Rh
bFNpemU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZh
bHVlLmgKaW5kZXggYjgwNzE1ZWI1ZmI1Y2VjNGRkYTI4Yzc4ZTU2NjUwNjU2YWViZDM5Mi4uMGVh
NmYwYjA0YjJjNmQyZTE3NWQ0ZjZjM2JiMWJhZjQ2NjIzZDQxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWYWx1ZS5oCkBAIC01NCw2ICs1NCw3IEBAIHB1YmxpYzoK
ICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7
CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPElEQlZhbHVlPiBk
ZWNvZGUoRGVjb2RlciYpOwogCisgICAgc2l6ZV90IHNpemUoKSBjb25zdDsKIHByaXZhdGU6CiAg
ICAgVGhyZWFkU2FmZURhdGFCdWZmZXIgbV9kYXRhOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fYmxv
YlVSTHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9TUUxpdGVJREJDdXJzb3IuY3BwCmluZGV4IGQ0OThkMWNiZDJiMjllN2IyMmM1OGRk
NjdmY2RjYTJiNjNjMmVhYWEuLjVhNmVmYmM2ZTFmNjljN2RjMTM2NmIzYTI0MGFmNDgxY2YzOTE5
MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9T
UUxpdGVJREJDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NlcnZlci9TUUxpdGVJREJDdXJzb3IuY3BwCkBAIC00Miw3ICs0Miw4IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBuYW1lc3BhY2UgSURCU2VydmVyIHsKIAotc3RhdGljIGNvbnN0IHNpemVfdCBw
cmVmZXRjaExpbWl0ID0gODsKK3N0YXRpYyBjb25zdCBzaXplX3QgcHJlZmV0Y2hMaW1pdCA9IDEy
ODsKK3N0YXRpYyBjb25zdCBzaXplX3QgcHJlZmV0Y2hTaXplTGltaXQgPSA4ICogTUI7CiAKIHN0
ZDo6dW5pcXVlX3B0cjxTUUxpdGVJREJDdXJzb3I+IFNRTGl0ZUlEQkN1cnNvcjo6bWF5YmVDcmVh
dGUoU1FMaXRlSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBjb25zdCBJREJDdXJzb3JJbmZv
JiBpbmZvKQogewpAQCAtMjIyLDEwICsyMjMsMTUgQEAgdm9pZCBTUUxpdGVJREJDdXJzb3I6Om9i
amVjdFN0b3JlUmVjb3Jkc0NoYW5nZWQoKQogICAgICAgICBpZiAoIW1fZmV0Y2hlZFJlY29yZHMu
bGFzdCgpLmlzVGVybWluYWxSZWNvcmQoKSkKICAgICAgICAgICAgIGZldGNoKFNob3VsZEZldGNo
Rm9yU2FtZUtleTo6WWVzKTsKIAotICAgICAgICB3aGlsZSAobV9mZXRjaGVkUmVjb3Jkcy5sYXN0
KCkucmVjb3JkLmtleSAhPSBtX2ZldGNoZWRSZWNvcmRzLmZpcnN0KCkucmVjb3JkLmtleSkKKyAg
ICAgICAgd2hpbGUgKG1fZmV0Y2hlZFJlY29yZHMubGFzdCgpLnJlY29yZC5rZXkgIT0gbV9mZXRj
aGVkUmVjb3Jkcy5maXJzdCgpLnJlY29yZC5rZXkpIHsKKyAgICAgICAgICAgIEFTU0VSVChtX2Zl
dGNoZWRSZWNvcmRzU2l6ZSA+PSBtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKS5yZWNvcmQuc2l6ZSgp
KTsKKyAgICAgICAgICAgIG1fZmV0Y2hlZFJlY29yZHNTaXplIC09IG1fZmV0Y2hlZFJlY29yZHMu
bGFzdCgpLnJlY29yZC5zaXplKCk7CiAgICAgICAgICAgICBtX2ZldGNoZWRSZWNvcmRzLnJlbW92
ZUxhc3QoKTsKLSAgICB9IGVsc2UKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CiAgICAgICAgIG1f
ZmV0Y2hlZFJlY29yZHMuY2xlYXIoKTsKKyAgICAgICAgbV9mZXRjaGVkUmVjb3Jkc1NpemUgPSAw
OworICAgIH0KIAogICAgIC8vIElmIE9iamVjdFN0b3JlIG9yIEluZGV4IGNvbnRlbnRzIGNoYW5n
ZWQsIHdlIG5lZWQgdG8gcmVzZXQgdGhlIHN0YXRlbWVudCBhbmQgYmluZCBuZXcgcGFyYW1ldGVy
cyB0byBpdC4KICAgICAvLyBUaGlzIGlzIHRvIHBpY2sgdXAgYW55IGNoYW5nZXMgdGhhdCBtaWdo
dCBleGlzdC4KQEAgLTMxMyw3ICszMTksNyBAQCBib29sIFNRTGl0ZUlEQkN1cnNvcjo6cHJlZmV0
Y2goKQogICAgIG1fY3VycmVudEtleUZvclVuaXF1ZW5lc3MgPSBtX2ZldGNoZWRSZWNvcmRzLmxh
c3QoKS5yZWNvcmQua2V5OwogICAgIGZldGNoKCk7CiAKLSAgICByZXR1cm4gbV9mZXRjaGVkUmVj
b3Jkcy5zaXplKCkgPCBwcmVmZXRjaExpbWl0OworICAgIHJldHVybiBtX2ZldGNoZWRSZWNvcmRz
LnNpemUoKSA8IHByZWZldGNoTGltaXQgfHwgbV9mZXRjaGVkUmVjb3Jkc1NpemUgPCBwcmVmZXRj
aFNpemVMaW1pdDsKIH0KIAogYm9vbCBTUUxpdGVJREJDdXJzb3I6OmFkdmFuY2UodWludDY0X3Qg
Y291bnQpCkBAIC0zMzUsNiArMzQxLDkgQEAgYm9vbCBTUUxpdGVJREJDdXJzb3I6OmFkdmFuY2Uo
dWludDY0X3QgY291bnQpCiAgICAgICAgIGlmIChtX2ZldGNoZWRSZWNvcmRzLmZpcnN0KCkuaXNU
ZXJtaW5hbFJlY29yZCgpKQogICAgICAgICAgICAgYnJlYWs7CiAKKyAgICAgICAgQVNTRVJUKG1f
ZmV0Y2hlZFJlY29yZHNTaXplID49IG1fZmV0Y2hlZFJlY29yZHMuZmlyc3QoKS5yZWNvcmQuc2l6
ZSgpKTsKKyAgICAgICAgbV9mZXRjaGVkUmVjb3Jkc1NpemUgLT0gbV9mZXRjaGVkUmVjb3Jkcy5m
aXJzdCgpLnJlY29yZC5zaXplKCk7CisgICAgICAgIAogICAgICAgICBtX2ZldGNoZWRSZWNvcmRz
LnJlbW92ZUZpcnN0KCk7CiAgICAgfQogCkBAIC0zNTMsNiArMzYyLDkgQEAgYm9vbCBTUUxpdGVJ
REJDdXJzb3I6OmFkdmFuY2UodWludDY0X3QgY291bnQpCiAgICAgICAgIGlmICghbV9mZXRjaGVk
UmVjb3Jkcy5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIEFTU0VSVChtX2ZldGNoZWRSZWNvcmRz
LnNpemUoKSA9PSAxKTsKICAgICAgICAgICAgIG1fY3VycmVudEtleUZvclVuaXF1ZW5lc3MgPSBt
X2ZldGNoZWRSZWNvcmRzLmZpcnN0KCkucmVjb3JkLmtleTsKKworICAgICAgICAgICAgQVNTRVJU
KG1fZmV0Y2hlZFJlY29yZHNTaXplID49IG1fZmV0Y2hlZFJlY29yZHMuZmlyc3QoKS5yZWNvcmQu
c2l6ZSgpKTsKKyAgICAgICAgICAgIG1fZmV0Y2hlZFJlY29yZHNTaXplIC09IG1fZmV0Y2hlZFJl
Y29yZHMuZmlyc3QoKS5yZWNvcmQuc2l6ZSgpOwogICAgICAgICAgICAgbV9mZXRjaGVkUmVjb3Jk
cy5yZW1vdmVGaXJzdCgpOwogICAgICAgICB9CiAKQEAgLTM3NSw4ICszODcsMTEgQEAgYm9vbCBT
UUxpdGVJREJDdXJzb3I6OmZldGNoKFNob3VsZEZldGNoRm9yU2FtZUtleSBzaG91bGRGZXRjaEZv
clNhbWVLZXkpCiAgICAgbV9mZXRjaGVkUmVjb3Jkcy5hcHBlbmQoeyB9KTsKIAogICAgIGJvb2wg
aXNVbmlxdWUgPSBtX2N1cnNvckRpcmVjdGlvbiA9PSBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlv
bjo6TmV4dHVuaXF1ZSB8fCBtX2N1cnNvckRpcmVjdGlvbiA9PSBJbmRleGVkREI6OkN1cnNvckRp
cmVjdGlvbjo6UHJldnVuaXF1ZSB8fCBzaG91bGRGZXRjaEZvclNhbWVLZXkgPT0gU2hvdWxkRmV0
Y2hGb3JTYW1lS2V5OjpZZXM7Ci0gICAgaWYgKCFpc1VuaXF1ZSkKLSAgICAgICAgcmV0dXJuIGZl
dGNoTmV4dFJlY29yZChtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKSk7CisgICAgaWYgKCFpc1VuaXF1
ZSkgeworICAgICAgICBib29sIHJlc3VsdCA9IGZldGNoTmV4dFJlY29yZChtX2ZldGNoZWRSZWNv
cmRzLmxhc3QoKSk7CisgICAgICAgIG1fZmV0Y2hlZFJlY29yZHNTaXplICs9IG1fZmV0Y2hlZFJl
Y29yZHMubGFzdCgpLnJlY29yZC5zaXplKCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQogCiAgICAgd2hpbGUgKGZldGNoTmV4dFJlY29yZChtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKSkp
IHsKICAgICAgICAgaWYgKG1fY3VycmVudEtleUZvclVuaXF1ZW5lc3MuY29tcGFyZShtX2ZldGNo
ZWRSZWNvcmRzLmxhc3QoKS5yZWNvcmQua2V5KSkKQEAgLTM4NSw2ICs0MDAsNyBAQCBib29sIFNR
TGl0ZUlEQkN1cnNvcjo6ZmV0Y2goU2hvdWxkRmV0Y2hGb3JTYW1lS2V5IHNob3VsZEZldGNoRm9y
U2FtZUtleSkKICAgICAgICAgaWYgKG1fZmV0Y2hlZFJlY29yZHMubGFzdCgpLmNvbXBsZXRlZCkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBtX2ZldGNoZWRSZWNvcmRzU2l6
ZSArPSBtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKS5yZWNvcmQuc2l6ZSgpOwogICAgICAgICBpZiAo
c2hvdWxkRmV0Y2hGb3JTYW1lS2V5ID09IFNob3VsZEZldGNoRm9yU2FtZUtleTo6WWVzKQogICAg
ICAgICAgICAgbV9mZXRjaGVkUmVjb3Jkcy5hcHBlbmQoeyB9KTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29y
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vy
c29yLmgKaW5kZXggMzczNzI2ZWVjYjhkNzdjZGUwZGI3ODNmMmEyYjc5NjZmYzExNTc3Ni4uMzU0
Njg0ZWI5NWFhYjU5YzMxNjkzMzYwNzhhZDdjYmExZDIwOTdmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJzb3Iu
aApAQCAtMTIwLDYgKzEyMCw3IEBAIHByaXZhdGU6CiAgICAgSURCS2V5RGF0YSBtX2N1cnJlbnRV
cHBlcktleTsKIAogICAgIERlcXVlPFNRTGl0ZUN1cnNvclJlY29yZD4gbV9mZXRjaGVkUmVjb3Jk
czsKKyAgICB1aW50NjRfdCBtX2ZldGNoZWRSZWNvcmRzU2l6ZSB7IDAgfTsKICAgICBJREJLZXlE
YXRhIG1fY3VycmVudEtleUZvclVuaXF1ZW5lc3M7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U1FM
aXRlU3RhdGVtZW50PiBtX3N0YXRlbWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCmluZGV4
IDBmNWVhZmM5MTdhZDA4YTdhZjlmYTc1ODUzMGMyY2IwZTQzNzYyYTUuLmI3MmI2MzdiMTdmZGMw
MzYyM2YxYTdhNDJiMjdiYTQ0Y2VmNWVmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcApA
QCAtODU0LDI1ICs4NTQsMjAgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6aXRlcmF0ZUN1cnNv
cihjb25zdCBJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEsIGNvbnN0IEkKIAogICAgIGNhbGxi
YWNrKGVycm9yLCByZXN1bHQpOwogCi0gICAgaWYgKGVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAg
IG1fY3Vyc29yUHJlZmV0Y2hlcy5hZGQoY3Vyc29ySWRlbnRpZmllcik7Ci0gICAgICAgIHByZWZl
dGNoQ3Vyc29yKHRyYW5zYWN0aW9uSWRlbnRpZmllciwgY3Vyc29ySWRlbnRpZmllcik7Ci0gICAg
fQorICAgIGlmIChlcnJvci5pc051bGwoKSkKKyAgICAgICAgcHJlZmV0Y2hDdXJzb3IodHJhbnNh
Y3Rpb25JZGVudGlmaWVyLCBjdXJzb3JJZGVudGlmaWVyLCBkYXRhLmNvdW50ID8gZGF0YS5jb3Vu
dCA6IDEpOwogfQogCi12b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpwcmVmZXRjaEN1cnNvcihjb25z
dCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURC
UmVzb3VyY2VJZGVudGlmaWVyJiBjdXJzb3JJZGVudGlmaWVyKQordm9pZCBVbmlxdWVJREJEYXRh
YmFzZTo6cHJlZmV0Y2hDdXJzb3IoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2Fj
dGlvbklkZW50aWZpZXIsIGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgY3Vyc29ySWRlbnRp
ZmllciwgdWludDY0X3Qgc3RlcCkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiVW5pcXVlSURCRGF0
YWJhc2U6OnByZWZldGNoQ3Vyc29yIik7CiAKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsK
LSAgICBBU1NFUlQobV9jdXJzb3JQcmVmZXRjaGVzLmNvbnRhaW5zKGN1cnNvcklkZW50aWZpZXIp
KTsKIAotICAgIHVpbnQ2NF90IGNvdW50VG9QcmVmZXRjaCA9IDI7CisgICAgdWludDY0X3QgY291
bnRUb1ByZWZldGNoID0gc3RlcCAqIDI7CiAgICAgd2hpbGUgKGNvdW50VG9QcmVmZXRjaCAtLSkg
ewotICAgICAgICBpZiAoIW1fYmFja2luZ1N0b3JlLT5wcmVmZXRjaEN1cnNvcih0cmFuc2FjdGlv
bklkZW50aWZpZXIsIGN1cnNvcklkZW50aWZpZXIpKSB7Ci0gICAgICAgICAgICBtX2N1cnNvclBy
ZWZldGNoZXMucmVtb3ZlKGN1cnNvcklkZW50aWZpZXIpOworICAgICAgICBpZiAoIW1fYmFja2lu
Z1N0b3JlLT5wcmVmZXRjaEN1cnNvcih0cmFuc2FjdGlvbklkZW50aWZpZXIsIGN1cnNvcklkZW50
aWZpZXIpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURC
RGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5oCmluZGV4IDg1OWVlYzU5ZjEyZjBjZTA0MDU0N2JiMWE0MzY3NzRkMDky
NmVhMTQuLjA2YmY2YTRlZjE2YzYyMzE4Y2RjMzkzOWIyMzE2ZGFiYTU0ZjA0M2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRh
YmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9Vbmlx
dWVJREJEYXRhYmFzZS5oCkBAIC0xNDIsNyArMTQyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
Y2xlYXJUcmFuc2FjdGlvbnNPbkNvbm5lY3Rpb24oVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9u
Jik7CiAKLSAgICB2b2lkIHByZWZldGNoQ3Vyc29yKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmll
ciYsIGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpOworICAgIHZvaWQgcHJlZmV0Y2hDdXJz
b3IoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlm
aWVyJiwgdWludDY0X3Qgc3RlcCk7CiAKICAgICBJREJTZXJ2ZXImIG1fc2VydmVyOwogICAgIElE
QkRhdGFiYXNlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29yUmVjb3JkLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29yUmVjb3JkLmgKaW5kZXgg
YjRmNTVmZDY2YjRhYTFmYzJmODFmNGE3NDkzOTY5MWMwMDk2MjRlMS4uNjEzNjA0YThjNWZhMmVj
Nzg0M2JiOThiMDU0ZTEwMWY2NjNlNjMxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvclJlY29yZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JSZWNvcmQuaApAQCAtMzksNiAr
MzksOCBAQCBzdHJ1Y3QgSURCQ3Vyc29yUmVjb3JkIHsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIElEQkN1cnNvclJlY29yZCYpOwor
CisgICAgc2l6ZV90IHNpemUoKSBjb25zdCB7IHJldHVybiBrZXkuc2l6ZSgpICsgcHJpbWFyeUtl
eS5zaXplKCkgKyAodmFsdWUgPyB2YWx1ZS0+c2l6ZSgpIDogMCk7IH0KIH07CiAKIHRlbXBsYXRl
PGNsYXNzIEVuY29kZXI+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387108</attachid>
            <date>2020-01-08 09:34:42 -0800</date>
            <delta_ts>2020-01-09 08:52:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205909-20200108093402.patch</filename>
            <type>text/plain</type>
            <size>12221</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk0N2IwMjg0YTYwYjU4
Y2YwYjgwZWUxNmJlMDhjYTNmMjZmMDA3ZC4uZWZlYWZmZDc1ZmI3ODViYjg1Mzg0NzMyYTc5ZTQ0
ODA1YmVhZGZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAxLTA4ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogc3RvcCBj
dXJzb3IgcHJlZmV0Y2hpbmcgd2hlbiBzaXplIG9mIGNhY2hlZCByZWNvcmRzIHJlYWNoZXMgbGlt
aXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTkw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNRTGl0
ZUlEQkN1cnNvciB3YXMgYWxsb3dlZCB0byBwcmVmZXRjaCA4IGN1cnNvciByZWNvcmRzIGF0IG1v
c3QuIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBwcmVmZXRjaGluZyBydWxlOgorICAgICAg
ICBwcmVmZXRjaCBjYW4gY29udGludWUgaWY6CisgICAgICAgIDEuIG51bWJlciBvZiBwcmVmZXRj
aGVkIHJlY29yZCBpcyBub3QgbW9yZSB0aGFuIDEyOAorICAgICAgICAyLiBzaXplIG9mIHByZWZl
dGVjaGVkIHJlY29yZHMgaXMgbm90IG1vcmUgdGhhbiA4TUIKKworICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL0lEQktleURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5RGF0YTo6
c2l6ZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5oOgor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklEQlZhbHVlOjpzaXplIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9J
REJWYWx1ZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJD
dXJzb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJDdXJzb3I6
Om9iamVjdFN0b3JlUmVjb3Jkc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVy
OjpTUUxpdGVJREJDdXJzb3I6OnByZWZldGNoKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZl
cjo6U1FMaXRlSURCQ3Vyc29yOjphZHZhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZl
cjo6U1FMaXRlSURCQ3Vyc29yOjpmZXRjaCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL1NRTGl0ZUlEQkN1cnNvci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6
OlVuaXF1ZUlEQkRhdGFiYXNlOjppdGVyYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OklE
QlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6OnByZWZldGNoQ3Vyc29yKToKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29yUmVjb3JkLmg6CisgICAgICAgIChXZWJD
b3JlOjpJREJDdXJzb3JSZWNvcmQ6OnNpemUgY29uc3QpOgorCiAyMDIwLTAxLTA3ICBEYW5pZWwg
QmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggZmFpbGluZyB0ZXN0cyBm
b2xsb3dpbmcgcjI1NDA5MQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCS2V5RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJLZXlEYXRhLmNwcAppbmRleCA0NWMxODlkOTUyMTFlOTMxNTVmODVjM2Y1NDRkMzdhMDE3YWI4
MzVjLi42M2IwM2YyODY0OWZlZWNmMWM0YjJiZGI5MTQwZTM1ZGUxYWExNTBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcApAQCAtNDcyLDYg
KzQ3MiwzNyBAQCBib29sIElEQktleURhdGE6Om9wZXJhdG9yPT0oY29uc3QgSURCS2V5RGF0YSYg
b3RoZXIpIGNvbnN0CiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAorc2l6
ZV90IElEQktleURhdGE6OnNpemUoKSBjb25zdAoreworICAgIGlmIChtX2lzTnVsbCkKKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgSW5kZXhlZERC
OjpLZXlUeXBlOjpJbnZhbGlkOgorICAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlIEluZGV4ZWRE
Qjo6S2V5VHlwZTo6QXJyYXk6IHsKKyAgICAgICAgVmVjdG9yPFJlZlB0cjxJREJLZXk+PiBhcnJh
eTsKKyAgICAgICAgc2l6ZV90IHRvdGFsU2l6ZSA9IDA7CisgICAgICAgIGZvciAoYXV0byYga2V5
RGF0YSA6IFdURjo6Z2V0PFZlY3RvcjxJREJLZXlEYXRhPj4obV92YWx1ZSkpCisgICAgICAgICAg
ICB0b3RhbFNpemUgKz0ga2V5RGF0YS5zaXplKCk7CisgICAgICAgIHJldHVybiB0b3RhbFNpemU7
CisgICAgfQorICAgIGNhc2UgSW5kZXhlZERCOjpLZXlUeXBlOjpCaW5hcnk6CisgICAgICAgIHJl
dHVybiBXVEY6OmdldDxUaHJlYWRTYWZlRGF0YUJ1ZmZlcj4obV92YWx1ZSkuc2l6ZSgpOworICAg
IGNhc2UgSW5kZXhlZERCOjpLZXlUeXBlOjpTdHJpbmc6CisgICAgICAgIHJldHVybiBXVEY6Omdl
dDxTdHJpbmc+KG1fdmFsdWUpLnNpemVJbkJ5dGVzKCk7CisgICAgY2FzZSBJbmRleGVkREI6Oktl
eVR5cGU6OkRhdGU6CisgICAgY2FzZSBJbmRleGVkREI6OktleVR5cGU6Ok51bWJlcjoKKyAgICAg
ICAgcmV0dXJuIHNpemVvZihkb3VibGUpOworICAgIGNhc2UgSW5kZXhlZERCOjpLZXlUeXBlOjpN
YXg6CisgICAgY2FzZSBJbmRleGVkREI6OktleVR5cGU6Ok1pbjoKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5oCmlu
ZGV4IDI0NzdiYjNjNTE4OGEyMmJkMTYzN2ZkYzU1ZDkwYWE2Y2E5OGE2YzQuLjM3OWQxMmI3ODBk
NDYzYWI4OGFhYmU4MjYxOWNhMjFlODI5NTFlNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmgKQEAgLTE4Nyw2ICsxODcsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBXVEY6OmdldDxWZWN0b3I8SURCS2V5RGF0YT4+KG1fdmFsdWUpOwogICAg
IH0KIAorICAgIHNpemVfdCBzaXplKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgc3RhdGljIHZv
aWQgaXNvbGF0ZWRDb3B5KGNvbnN0IElEQktleURhdGEmIHNvdXJjZSwgSURCS2V5RGF0YSYgZGVz
dGluYXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWYWx1
ZS5jcHAKaW5kZXggYWY3MWU5ZjI0MzRiYTFlNWY4Mjc0MzM0OTlkYmViODFhMzA3MDZmYy4uYWYz
YzAxN2I4ZjhkNjVjMjZiNWJhMDllOWJmOWVlNzc4ZDhjNDM1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZhbHVlLmNwcApAQCAtODYsNiArODYsMjEgQEAgSURC
VmFsdWUgSURCVmFsdWU6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIAorc2l6ZV90IElEQlZhbHVlOjpzaXplKCkgY29uc3QKK3sKKyAgICBzaXplX3QgdG90YWxT
aXplID0gMDsKKworICAgIGZvciAoYXV0byYgdXJsIDogbV9ibG9iVVJMcykKKyAgICAgICAgdG90
YWxTaXplICs9IHVybC5zaXplSW5CeXRlcygpOworCisgICAgZm9yIChhdXRvJiBwYXRoIDogbV9i
bG9iRmlsZVBhdGhzKQorICAgICAgICB0b3RhbFNpemUgKz0gcGF0aC5zaXplSW5CeXRlcygpOwor
CisgICAgdG90YWxTaXplICs9IG1fZGF0YS5zaXplKCk7CisKKyAgICByZXR1cm4gdG90YWxTaXpl
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWYWx1ZS5o
CmluZGV4IGI4MDcxNWViNWZiNWNlYzRkZGEyOGM3OGU1NjY1MDY1NmFlYmQzOTIuLjBlYTZmMGIw
NGIyYzZkMmUxNzVkNGY2YzNiYjFiYWY0NjYyM2Q0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVmFsdWUuaApAQCAtNTQsNiArNTQsNyBAQCBwdWJsaWM6CiAgICAg
dGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAg
IHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxJREJWYWx1ZT4gZGVjb2Rl
KERlY29kZXImKTsKIAorICAgIHNpemVfdCBzaXplKCkgY29uc3Q7CiBwcml2YXRlOgogICAgIFRo
cmVhZFNhZmVEYXRhQnVmZmVyIG1fZGF0YTsKICAgICBWZWN0b3I8U3RyaW5nPiBtX2Jsb2JVUkxz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NR
TGl0ZUlEQkN1cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcAppbmRleCBkNDk4ZDFjYmQyYjI5ZTdiMjJjNThkZDY3ZmNk
Y2EyYjYzYzJlYWFhLi43YTExNDkwNTY3YmQ1YzhmNTU5MDA4ODY5ZjA2YmM5ZmVmZTFjYTEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRl
SURCQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvU1FMaXRlSURCQ3Vyc29yLmNwcApAQCAtNDIsNyArNDIsOCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogbmFtZXNwYWNlIElEQlNlcnZlciB7CiAKLXN0YXRpYyBjb25zdCBzaXplX3QgcHJlZmV0
Y2hMaW1pdCA9IDg7CitzdGF0aWMgY29uc3Qgc2l6ZV90IHByZWZldGNoTGltaXQgPSAxMjg7Citz
dGF0aWMgY29uc3Qgc2l6ZV90IHByZWZldGNoU2l6ZUxpbWl0ID0gOCAqIE1COwogCiBzdGQ6OnVu
aXF1ZV9wdHI8U1FMaXRlSURCQ3Vyc29yPiBTUUxpdGVJREJDdXJzb3I6Om1heWJlQ3JlYXRlKFNR
TGl0ZUlEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgY29uc3QgSURCQ3Vyc29ySW5mbyYgaW5m
bykKIHsKQEAgLTIyMiwxMCArMjIzLDE1IEBAIHZvaWQgU1FMaXRlSURCQ3Vyc29yOjpvYmplY3RT
dG9yZVJlY29yZHNDaGFuZ2VkKCkKICAgICAgICAgaWYgKCFtX2ZldGNoZWRSZWNvcmRzLmxhc3Qo
KS5pc1Rlcm1pbmFsUmVjb3JkKCkpCiAgICAgICAgICAgICBmZXRjaChTaG91bGRGZXRjaEZvclNh
bWVLZXk6Olllcyk7CiAKLSAgICAgICAgd2hpbGUgKG1fZmV0Y2hlZFJlY29yZHMubGFzdCgpLnJl
Y29yZC5rZXkgIT0gbV9mZXRjaGVkUmVjb3Jkcy5maXJzdCgpLnJlY29yZC5rZXkpCisgICAgICAg
IHdoaWxlIChtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKS5yZWNvcmQua2V5ICE9IG1fZmV0Y2hlZFJl
Y29yZHMuZmlyc3QoKS5yZWNvcmQua2V5KSB7CisgICAgICAgICAgICBBU1NFUlQobV9mZXRjaGVk
UmVjb3Jkc1NpemUgPj0gbV9mZXRjaGVkUmVjb3Jkcy5sYXN0KCkucmVjb3JkLnNpemUoKSk7Cisg
ICAgICAgICAgICBtX2ZldGNoZWRSZWNvcmRzU2l6ZSAtPSBtX2ZldGNoZWRSZWNvcmRzLmxhc3Qo
KS5yZWNvcmQuc2l6ZSgpOwogICAgICAgICAgICAgbV9mZXRjaGVkUmVjb3Jkcy5yZW1vdmVMYXN0
KCk7Ci0gICAgfSBlbHNlCisgICAgICAgIH0KKyAgICB9IGVsc2UgewogICAgICAgICBtX2ZldGNo
ZWRSZWNvcmRzLmNsZWFyKCk7CisgICAgICAgIG1fZmV0Y2hlZFJlY29yZHNTaXplID0gMDsKKyAg
ICB9CiAKICAgICAvLyBJZiBPYmplY3RTdG9yZSBvciBJbmRleCBjb250ZW50cyBjaGFuZ2VkLCB3
ZSBuZWVkIHRvIHJlc2V0IHRoZSBzdGF0ZW1lbnQgYW5kIGJpbmQgbmV3IHBhcmFtZXRlcnMgdG8g
aXQuCiAgICAgLy8gVGhpcyBpcyB0byBwaWNrIHVwIGFueSBjaGFuZ2VzIHRoYXQgbWlnaHQgZXhp
c3QuCkBAIC0zMTMsNyArMzE5LDcgQEAgYm9vbCBTUUxpdGVJREJDdXJzb3I6OnByZWZldGNoKCkK
ICAgICBtX2N1cnJlbnRLZXlGb3JVbmlxdWVuZXNzID0gbV9mZXRjaGVkUmVjb3Jkcy5sYXN0KCku
cmVjb3JkLmtleTsKICAgICBmZXRjaCgpOwogCi0gICAgcmV0dXJuIG1fZmV0Y2hlZFJlY29yZHMu
c2l6ZSgpIDwgcHJlZmV0Y2hMaW1pdDsKKyAgICByZXR1cm4gbV9mZXRjaGVkUmVjb3Jkcy5zaXpl
KCkgPCBwcmVmZXRjaExpbWl0IHx8IG1fZmV0Y2hlZFJlY29yZHNTaXplIDwgcHJlZmV0Y2hTaXpl
TGltaXQ7CiB9CiAKIGJvb2wgU1FMaXRlSURCQ3Vyc29yOjphZHZhbmNlKHVpbnQ2NF90IGNvdW50
KQpAQCAtMzM1LDYgKzM0MSw4IEBAIGJvb2wgU1FMaXRlSURCQ3Vyc29yOjphZHZhbmNlKHVpbnQ2
NF90IGNvdW50KQogICAgICAgICBpZiAobV9mZXRjaGVkUmVjb3Jkcy5maXJzdCgpLmlzVGVybWlu
YWxSZWNvcmQoKSkKICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIEFTU0VSVChtX2ZldGNo
ZWRSZWNvcmRzU2l6ZSA+PSBtX2ZldGNoZWRSZWNvcmRzLmZpcnN0KCkucmVjb3JkLnNpemUoKSk7
CisgICAgICAgIG1fZmV0Y2hlZFJlY29yZHNTaXplIC09IG1fZmV0Y2hlZFJlY29yZHMuZmlyc3Qo
KS5yZWNvcmQuc2l6ZSgpOwogICAgICAgICBtX2ZldGNoZWRSZWNvcmRzLnJlbW92ZUZpcnN0KCk7
CiAgICAgfQogCkBAIC0zNTMsNiArMzYxLDkgQEAgYm9vbCBTUUxpdGVJREJDdXJzb3I6OmFkdmFu
Y2UodWludDY0X3QgY291bnQpCiAgICAgICAgIGlmICghbV9mZXRjaGVkUmVjb3Jkcy5pc0VtcHR5
KCkpIHsKICAgICAgICAgICAgIEFTU0VSVChtX2ZldGNoZWRSZWNvcmRzLnNpemUoKSA9PSAxKTsK
ICAgICAgICAgICAgIG1fY3VycmVudEtleUZvclVuaXF1ZW5lc3MgPSBtX2ZldGNoZWRSZWNvcmRz
LmZpcnN0KCkucmVjb3JkLmtleTsKKworICAgICAgICAgICAgQVNTRVJUKG1fZmV0Y2hlZFJlY29y
ZHNTaXplID49IG1fZmV0Y2hlZFJlY29yZHMuZmlyc3QoKS5yZWNvcmQuc2l6ZSgpKTsKKyAgICAg
ICAgICAgIG1fZmV0Y2hlZFJlY29yZHNTaXplIC09IG1fZmV0Y2hlZFJlY29yZHMuZmlyc3QoKS5y
ZWNvcmQuc2l6ZSgpOwogICAgICAgICAgICAgbV9mZXRjaGVkUmVjb3Jkcy5yZW1vdmVGaXJzdCgp
OwogICAgICAgICB9CiAKQEAgLTM3NSwxMCArMzg2LDE2IEBAIGJvb2wgU1FMaXRlSURCQ3Vyc29y
OjpmZXRjaChTaG91bGRGZXRjaEZvclNhbWVLZXkgc2hvdWxkRmV0Y2hGb3JTYW1lS2V5KQogICAg
IG1fZmV0Y2hlZFJlY29yZHMuYXBwZW5kKHsgfSk7CiAKICAgICBib29sIGlzVW5pcXVlID0gbV9j
dXJzb3JEaXJlY3Rpb24gPT0gSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb246Ok5leHR1bmlxdWUg
fHwgbV9jdXJzb3JEaXJlY3Rpb24gPT0gSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb246OlByZXZ1
bmlxdWUgfHwgc2hvdWxkRmV0Y2hGb3JTYW1lS2V5ID09IFNob3VsZEZldGNoRm9yU2FtZUtleTo6
WWVzOwotICAgIGlmICghaXNVbmlxdWUpCi0gICAgICAgIHJldHVybiBmZXRjaE5leHRSZWNvcmQo
bV9mZXRjaGVkUmVjb3Jkcy5sYXN0KCkpOworICAgIGlmICghaXNVbmlxdWUpIHsKKyAgICAgICAg
Ym9vbCBmZXRjaFN1Y2NlZWRlZCA9IGZldGNoTmV4dFJlY29yZChtX2ZldGNoZWRSZWNvcmRzLmxh
c3QoKSk7CisgICAgICAgIGlmIChmZXRjaFN1Y2NlZWRlZCkKKyAgICAgICAgICAgIG1fZmV0Y2hl
ZFJlY29yZHNTaXplICs9IG1fZmV0Y2hlZFJlY29yZHMubGFzdCgpLnJlY29yZC5zaXplKCk7Cisg
ICAgICAgIHJldHVybiBmZXRjaFN1Y2NlZWRlZDsKKyAgICB9CiAKICAgICB3aGlsZSAoZmV0Y2hO
ZXh0UmVjb3JkKG1fZmV0Y2hlZFJlY29yZHMubGFzdCgpKSkgeworICAgICAgICBtX2ZldGNoZWRS
ZWNvcmRzU2l6ZSArPSBtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKS5yZWNvcmQuc2l6ZSgpOworCiAg
ICAgICAgIGlmIChtX2N1cnJlbnRLZXlGb3JVbmlxdWVuZXNzLmNvbXBhcmUobV9mZXRjaGVkUmVj
b3Jkcy5sYXN0KCkucmVjb3JkLmtleSkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlE
QkN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0
ZUlEQkN1cnNvci5oCmluZGV4IDM3MzcyNmVlY2I4ZDc3Y2RlMGRiNzgzZjJhMmI3OTY2ZmMxMTU3
NzYuLjM1NDY4NGViOTVhYWI1OWMzMTY5MzM2MDc4YWQ3Y2JhMWQyMDk3ZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJzb3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURC
Q3Vyc29yLmgKQEAgLTEyMCw2ICsxMjAsNyBAQCBwcml2YXRlOgogICAgIElEQktleURhdGEgbV9j
dXJyZW50VXBwZXJLZXk7CiAKICAgICBEZXF1ZTxTUUxpdGVDdXJzb3JSZWNvcmQ+IG1fZmV0Y2hl
ZFJlY29yZHM7CisgICAgdWludDY0X3QgbV9mZXRjaGVkUmVjb3Jkc1NpemUgeyAwIH07CiAgICAg
SURCS2V5RGF0YSBtX2N1cnJlbnRLZXlGb3JVbmlxdWVuZXNzOwogCiAgICAgc3RkOjp1bmlxdWVf
cHRyPFNRTGl0ZVN0YXRlbWVudD4gbV9zdGF0ZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNw
cAppbmRleCAwZjVlYWZjOTE3YWQwOGE3YWY5ZmE3NTg1MzBjMmNiMGU0Mzc2MmE1Li5iNzJiNjM3
YjE3ZmRjMDM2MjNmMWE3YTQyYjI3YmE0NGNlZjVlZmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZS5jcHAKQEAgLTg1NCwyNSArODU0LDIwIEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6Oml0ZXJh
dGVDdXJzb3IoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJCiAKICAg
ICBjYWxsYmFjayhlcnJvciwgcmVzdWx0KTsKIAotICAgIGlmIChlcnJvci5pc051bGwoKSkgewot
ICAgICAgICBtX2N1cnNvclByZWZldGNoZXMuYWRkKGN1cnNvcklkZW50aWZpZXIpOwotICAgICAg
ICBwcmVmZXRjaEN1cnNvcih0cmFuc2FjdGlvbklkZW50aWZpZXIsIGN1cnNvcklkZW50aWZpZXIp
OwotICAgIH0KKyAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCisgICAgICAgIHByZWZldGNoQ3Vyc29y
KHRyYW5zYWN0aW9uSWRlbnRpZmllciwgY3Vyc29ySWRlbnRpZmllciwgZGF0YS5jb3VudCA/IGRh
dGEuY291bnQgOiAxKTsKIH0KIAotdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6cHJlZmV0Y2hDdXJz
b3IoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgY3Vyc29ySWRlbnRpZmllcikKK3ZvaWQgVW5pcXVl
SURCRGF0YWJhc2U6OnByZWZldGNoQ3Vyc29yKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYg
dHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIGN1cnNv
cklkZW50aWZpZXIsIHVpbnQ2NF90IHN0ZXApCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1
ZUlEQkRhdGFiYXNlOjpwcmVmZXRjaEN1cnNvciIpOwogCiAgICAgQVNTRVJUKCFpc01haW5UaHJl
YWQoKSk7Ci0gICAgQVNTRVJUKG1fY3Vyc29yUHJlZmV0Y2hlcy5jb250YWlucyhjdXJzb3JJZGVu
dGlmaWVyKSk7CiAKLSAgICB1aW50NjRfdCBjb3VudFRvUHJlZmV0Y2ggPSAyOworICAgIHVpbnQ2
NF90IGNvdW50VG9QcmVmZXRjaCA9IHN0ZXAgKiAyOwogICAgIHdoaWxlIChjb3VudFRvUHJlZmV0
Y2ggLS0pIHsKLSAgICAgICAgaWYgKCFtX2JhY2tpbmdTdG9yZS0+cHJlZmV0Y2hDdXJzb3IodHJh
bnNhY3Rpb25JZGVudGlmaWVyLCBjdXJzb3JJZGVudGlmaWVyKSkgewotICAgICAgICAgICAgbV9j
dXJzb3JQcmVmZXRjaGVzLnJlbW92ZShjdXJzb3JJZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFt
X2JhY2tpbmdTdG9yZS0+cHJlZmV0Y2hDdXJzb3IodHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjdXJz
b3JJZGVudGlmaWVyKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1Vu
aXF1ZUlEQkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvVW5pcXVlSURCRGF0YWJhc2UuaAppbmRleCA4NTllZWM1OWYxMmYwY2UwNDA1NDdiYjFhNDM2
Nzc0ZDA5MjZlYTE0Li4wNmJmNmE0ZWYxNmM2MjMxOGNkYzM5MzliMjMxNmRhYmE1NGYwNDNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVl
SURCRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvVW5pcXVlSURCRGF0YWJhc2UuaApAQCAtMTQyLDcgKzE0Miw3IEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGNsZWFyVHJhbnNhY3Rpb25zT25Db25uZWN0aW9uKFVuaXF1ZUlEQkRhdGFiYXNlQ29u
bmVjdGlvbiYpOwogCi0gICAgdm9pZCBwcmVmZXRjaEN1cnNvcihjb25zdCBJREJSZXNvdXJjZUlk
ZW50aWZpZXImLCBjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsKKyAgICB2b2lkIHByZWZl
dGNoQ3Vyc29yKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYsIGNvbnN0IElEQlJlc291cmNl
SWRlbnRpZmllciYsIHVpbnQ2NF90IHN0ZXApOwogCiAgICAgSURCU2VydmVyJiBtX3NlcnZlcjsK
ICAgICBJREJEYXRhYmFzZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvclJlY29yZC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvclJlY29yZC5o
CmluZGV4IGI0ZjU1ZmQ2NmI0YWExZmMyZjgxZjRhNzQ5Mzk2OTFjMDA5NjI0ZTEuLjYxMzYwNGE4
YzVmYTJlYzc4NDNiYjk4YjA1NGUxMDFmNjYzZTYzMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JSZWNvcmQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29yUmVjb3JkLmgKQEAg
LTM5LDYgKzM5LDggQEAgc3RydWN0IElEQkN1cnNvclJlY29yZCB7CiAKICAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBJREJDdXJzb3JSZWNv
cmQmKTsKKworICAgIHNpemVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4ga2V5LnNpemUoKSArIHBy
aW1hcnlLZXkuc2l6ZSgpICsgKHZhbHVlID8gdmFsdWUtPnNpemUoKSA6IDApOyB9CiB9OwogCiB0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387237</attachid>
            <date>2020-01-09 08:52:32 -0800</date>
            <delta_ts>2020-01-09 09:37:49 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205909-20200109085151.patch</filename>
            <type>text/plain</type>
            <size>12786</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJkOWNkNmU0ZDQ3MWVj
NzVjMzNlNmNmNjIzNzdiZjg2ZWFiMzcyOS4uYTgxM2EyMGUzNzg2Mzg3MjZlNTdhYThmZDllMzQ4
NzFhZDZjMGIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAxLTA4ICBTaWh1
aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgorCisgICAgICAgIEluZGV4ZWREQjogc3RvcCBj
dXJzb3IgcHJlZmV0Y2hpbmcgd2hlbiBzaXplIG9mIGNhY2hlZCByZWNvcmRzIHJlYWNoZXMgbGlt
aXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTkw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgU1FM
aXRlSURCQ3Vyc29yIHdhcyBhbGxvd2VkIHRvIHByZWZldGNoIDggY3Vyc29yIHJlY29yZHMgYXQg
bW9zdC4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IHJ1bGUgZm9yIGJldHRlcgorICAgICAg
ICBmbGV4aWJpbGl0eS4gUHJlZmV0Y2ggd2lsbCBzdG9wIGlmIGVpdGhlciBvZiB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgaXMgdHJ1ZToKKyAgICAgICAgMS4gbnVtYmVyIG9mIHByZWZldGNoZWQg
cmVjb3JkcyBpcyBub3QgbGVzcyB0aGFuIDEyOAorICAgICAgICAyLiBzaXplIG9mIHByZWZldGVj
aGVkIHJlY29yZHMgaXMgbm90IGxlc3MgdGhhbiA4TUIKKworICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQktleURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5RGF0YTo6c2l6
ZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5oOgorICAg
ICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OklEQlZhbHVlOjpzaXplIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJW
YWx1ZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJz
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpTUUxpdGVJREJDdXJzb3I6Om9i
amVjdFN0b3JlUmVjb3Jkc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpT
UUxpdGVJREJDdXJzb3I6OnByZWZldGNoKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6
U1FMaXRlSURCQ3Vyc29yOjphZHZhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6
U1FMaXRlSURCQ3Vyc29yOjpmZXRjaCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL1NRTGl0ZUlEQkN1cnNvci5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9VbmlxdWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVu
aXF1ZUlEQkRhdGFiYXNlOjppdGVyYXRlQ3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNl
cnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6OnByZWZldGNoQ3Vyc29yKToKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29yUmVjb3JkLmg6CisgICAgICAgIChXZWJDb3Jl
OjpJREJDdXJzb3JSZWNvcmQ6OnNpemUgY29uc3QpOgorCiAyMDIwLTAxLTA4ICBKb2huIFdpbGFu
ZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlz
dGljczogRmxpcCBleHBlcmltZW50YWwgY29va2llIGJsb2NraW5nIHNldHRpbmcgZnJvbSBhbiBl
bmFibGUgdG8gYSBkaXNhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJLZXlEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQktleURhdGEuY3BwCmluZGV4IDQ1YzE4OWQ5NTIxMWU5MzE1NWY4NWMzZjU0NGQzN2EwMTdh
YjgzNWMuLjYzYjAzZjI4NjQ5ZmVlY2YxYzRiMmJkYjkxNDBlMzVkZTFhYTE1MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuY3BwCkBAIC00NzIs
NiArNDcyLDM3IEBAIGJvb2wgSURCS2V5RGF0YTo6b3BlcmF0b3I9PShjb25zdCBJREJLZXlEYXRh
JiBvdGhlcikgY29uc3QKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCitz
aXplX3QgSURCS2V5RGF0YTo6c2l6ZSgpIGNvbnN0Cit7CisgICAgaWYgKG1faXNOdWxsKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIHN3aXRjaCAobV90eXBlKSB7CisgICAgY2FzZSBJbmRleGVk
REI6OktleVR5cGU6OkludmFsaWQ6CisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgSW5kZXhl
ZERCOjpLZXlUeXBlOjpBcnJheTogeworICAgICAgICBWZWN0b3I8UmVmUHRyPElEQktleT4+IGFy
cmF5OworICAgICAgICBzaXplX3QgdG90YWxTaXplID0gMDsKKyAgICAgICAgZm9yIChhdXRvJiBr
ZXlEYXRhIDogV1RGOjpnZXQ8VmVjdG9yPElEQktleURhdGE+PihtX3ZhbHVlKSkKKyAgICAgICAg
ICAgIHRvdGFsU2l6ZSArPSBrZXlEYXRhLnNpemUoKTsKKyAgICAgICAgcmV0dXJuIHRvdGFsU2l6
ZTsKKyAgICB9CisgICAgY2FzZSBJbmRleGVkREI6OktleVR5cGU6OkJpbmFyeToKKyAgICAgICAg
cmV0dXJuIFdURjo6Z2V0PFRocmVhZFNhZmVEYXRhQnVmZmVyPihtX3ZhbHVlKS5zaXplKCk7Cisg
ICAgY2FzZSBJbmRleGVkREI6OktleVR5cGU6OlN0cmluZzoKKyAgICAgICAgcmV0dXJuIFdURjo6
Z2V0PFN0cmluZz4obV92YWx1ZSkuc2l6ZUluQnl0ZXMoKTsKKyAgICBjYXNlIEluZGV4ZWREQjo6
S2V5VHlwZTo6RGF0ZToKKyAgICBjYXNlIEluZGV4ZWREQjo6S2V5VHlwZTo6TnVtYmVyOgorICAg
ICAgICByZXR1cm4gc2l6ZW9mKGRvdWJsZSk7CisgICAgY2FzZSBJbmRleGVkREI6OktleVR5cGU6
Ok1heDoKKyAgICBjYXNlIEluZGV4ZWREQjo6S2V5VHlwZTo6TWluOgorICAgICAgICByZXR1cm4g
MDsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJL
ZXlEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmgK
aW5kZXggMjQ3N2JiM2M1MTg4YTIyYmQxNjM3ZmRjNTVkOTBhYTZjYTk4YTZjNC4uMzc5ZDEyYjc4
MGQ0NjNhYjg4YWFiZTgyNjE5Y2EyMWU4Mjk1MWU2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaApAQCAtMTg3LDYgKzE4Nyw4IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIFdURjo6Z2V0PFZlY3RvcjxJREJLZXlEYXRhPj4obV92YWx1ZSk7CiAg
ICAgfQogCisgICAgc2l6ZV90IHNpemUoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBzdGF0aWMg
dm9pZCBpc29sYXRlZENvcHkoY29uc3QgSURCS2V5RGF0YSYgc291cmNlLCBJREJLZXlEYXRhJiBk
ZXN0aW5hdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZh
bHVlLmNwcAppbmRleCBhZjcxZTlmMjQzNGJhMWU1ZjgyNzQzMzQ5OWRiZWI4MWEzMDcwNmZjLi5h
ZjNjMDE3YjhmOGQ2NWMyNmI1YmEwOWU5YmY5ZWU3NzhkOGM0MzVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmFsdWUuY3BwCkBAIC04Niw2ICs4NiwyMSBAQCBJ
REJWYWx1ZSBJREJWYWx1ZTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCitzaXplX3QgSURCVmFsdWU6OnNpemUoKSBjb25zdAoreworICAgIHNpemVfdCB0b3Rh
bFNpemUgPSAwOworCisgICAgZm9yIChhdXRvJiB1cmwgOiBtX2Jsb2JVUkxzKQorICAgICAgICB0
b3RhbFNpemUgKz0gdXJsLnNpemVJbkJ5dGVzKCk7CisKKyAgICBmb3IgKGF1dG8mIHBhdGggOiBt
X2Jsb2JGaWxlUGF0aHMpCisgICAgICAgIHRvdGFsU2l6ZSArPSBwYXRoLnNpemVJbkJ5dGVzKCk7
CisKKyAgICB0b3RhbFNpemUgKz0gbV9kYXRhLnNpemUoKTsKKworICAgIHJldHVybiB0b3RhbFNp
emU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZhbHVl
LmgKaW5kZXggYjgwNzE1ZWI1ZmI1Y2VjNGRkYTI4Yzc4ZTU2NjUwNjU2YWViZDM5Mi4uMGVhNmYw
YjA0YjJjNmQyZTE3NWQ0ZjZjM2JiMWJhZjQ2NjIzZDQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJWYWx1ZS5oCkBAIC01NCw2ICs1NCw3IEBAIHB1YmxpYzoKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIE9wdGlvbmFsPElEQlZhbHVlPiBkZWNv
ZGUoRGVjb2RlciYpOwogCisgICAgc2l6ZV90IHNpemUoKSBjb25zdDsKIHByaXZhdGU6CiAgICAg
VGhyZWFkU2FmZURhdGFCdWZmZXIgbV9kYXRhOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fYmxvYlVS
THM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
U1FMaXRlSURCQ3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9TUUxpdGVJREJDdXJzb3IuY3BwCmluZGV4IGQ0OThkMWNiZDJiMjllN2IyMmM1OGRkNjdm
Y2RjYTJiNjNjMmVhYWEuLjkwYzBhZDNiMmE2OGVkZDBhZmIwOGUzNDhjMmIwZDI5MmIyYjQ4YjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxp
dGVJREJDdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9TUUxpdGVJREJDdXJzb3IuY3BwCkBAIC00Miw3ICs0Miw4IEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBuYW1lc3BhY2UgSURCU2VydmVyIHsKIAotc3RhdGljIGNvbnN0IHNpemVfdCBwcmVm
ZXRjaExpbWl0ID0gODsKK3N0YXRpYyBjb25zdCBzaXplX3QgcHJlZmV0Y2hMaW1pdCA9IDEyODsK
K3N0YXRpYyBjb25zdCBzaXplX3QgcHJlZmV0Y2hTaXplTGltaXQgPSA4ICogTUI7CiAKIHN0ZDo6
dW5pcXVlX3B0cjxTUUxpdGVJREJDdXJzb3I+IFNRTGl0ZUlEQkN1cnNvcjo6bWF5YmVDcmVhdGUo
U1FMaXRlSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBjb25zdCBJREJDdXJzb3JJbmZvJiBp
bmZvKQogewpAQCAtMjIyLDEwICsyMjMsMTUgQEAgdm9pZCBTUUxpdGVJREJDdXJzb3I6Om9iamVj
dFN0b3JlUmVjb3Jkc0NoYW5nZWQoKQogICAgICAgICBpZiAoIW1fZmV0Y2hlZFJlY29yZHMubGFz
dCgpLmlzVGVybWluYWxSZWNvcmQoKSkKICAgICAgICAgICAgIGZldGNoKFNob3VsZEZldGNoRm9y
U2FtZUtleTo6WWVzKTsKIAotICAgICAgICB3aGlsZSAobV9mZXRjaGVkUmVjb3Jkcy5sYXN0KCku
cmVjb3JkLmtleSAhPSBtX2ZldGNoZWRSZWNvcmRzLmZpcnN0KCkucmVjb3JkLmtleSkKKyAgICAg
ICAgd2hpbGUgKG1fZmV0Y2hlZFJlY29yZHMubGFzdCgpLnJlY29yZC5rZXkgIT0gbV9mZXRjaGVk
UmVjb3Jkcy5maXJzdCgpLnJlY29yZC5rZXkpIHsKKyAgICAgICAgICAgIEFTU0VSVChtX2ZldGNo
ZWRSZWNvcmRzU2l6ZSA+PSBtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKS5yZWNvcmQuc2l6ZSgpKTsK
KyAgICAgICAgICAgIG1fZmV0Y2hlZFJlY29yZHNTaXplIC09IG1fZmV0Y2hlZFJlY29yZHMubGFz
dCgpLnJlY29yZC5zaXplKCk7CiAgICAgICAgICAgICBtX2ZldGNoZWRSZWNvcmRzLnJlbW92ZUxh
c3QoKTsKLSAgICB9IGVsc2UKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CiAgICAgICAgIG1fZmV0
Y2hlZFJlY29yZHMuY2xlYXIoKTsKKyAgICAgICAgbV9mZXRjaGVkUmVjb3Jkc1NpemUgPSAwOwor
ICAgIH0KIAogICAgIC8vIElmIE9iamVjdFN0b3JlIG9yIEluZGV4IGNvbnRlbnRzIGNoYW5nZWQs
IHdlIG5lZWQgdG8gcmVzZXQgdGhlIHN0YXRlbWVudCBhbmQgYmluZCBuZXcgcGFyYW1ldGVycyB0
byBpdC4KICAgICAvLyBUaGlzIGlzIHRvIHBpY2sgdXAgYW55IGNoYW5nZXMgdGhhdCBtaWdodCBl
eGlzdC4KQEAgLTMwNywxMyArMzEzLDEzIEBAIGJvb2wgU1FMaXRlSURCQ3Vyc29yOjpwcmVmZXRj
aCgpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIlNRTGl0ZUlEQkN1cnNvcjo6cHJlZmV0Y2goKSAt
IEN1cnNvciBhbHJlYWR5IGhhcyAlenUgZmV0Y2hlZCByZWNvcmRzIiwgbV9mZXRjaGVkUmVjb3Jk
cy5zaXplKCkpOwogCi0gICAgaWYgKG1fZmV0Y2hlZFJlY29yZHMuaXNFbXB0eSgpIHx8IG1fZmV0
Y2hlZFJlY29yZHMuc2l6ZSgpID49IHByZWZldGNoTGltaXQgfHwgbV9mZXRjaGVkUmVjb3Jkcy5s
YXN0KCkuaXNUZXJtaW5hbFJlY29yZCgpKQorICAgIGlmIChtX2ZldGNoZWRSZWNvcmRzU2l6ZSA+
PSBwcmVmZXRjaFNpemVMaW1pdCB8fCBtX2ZldGNoZWRSZWNvcmRzLmlzRW1wdHkoKSB8fCBtX2Zl
dGNoZWRSZWNvcmRzLnNpemUoKSA+PSBwcmVmZXRjaExpbWl0IHx8IG1fZmV0Y2hlZFJlY29yZHMu
bGFzdCgpLmlzVGVybWluYWxSZWNvcmQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
bV9jdXJyZW50S2V5Rm9yVW5pcXVlbmVzcyA9IG1fZmV0Y2hlZFJlY29yZHMubGFzdCgpLnJlY29y
ZC5rZXk7CiAgICAgZmV0Y2goKTsKIAotICAgIHJldHVybiBtX2ZldGNoZWRSZWNvcmRzLnNpemUo
KSA8IHByZWZldGNoTGltaXQ7CisgICAgcmV0dXJuIG1fZmV0Y2hlZFJlY29yZHMuc2l6ZSgpIDwg
cHJlZmV0Y2hMaW1pdCAmJiBtX2ZldGNoZWRSZWNvcmRzU2l6ZSA8IHByZWZldGNoU2l6ZUxpbWl0
OwogfQogCiBib29sIFNRTGl0ZUlEQkN1cnNvcjo6YWR2YW5jZSh1aW50NjRfdCBjb3VudCkKQEAg
LTMzNSw2ICszNDEsOCBAQCBib29sIFNRTGl0ZUlEQkN1cnNvcjo6YWR2YW5jZSh1aW50NjRfdCBj
b3VudCkKICAgICAgICAgaWYgKG1fZmV0Y2hlZFJlY29yZHMuZmlyc3QoKS5pc1Rlcm1pbmFsUmVj
b3JkKCkpCiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICBBU1NFUlQobV9mZXRjaGVkUmVj
b3Jkc1NpemUgPj0gbV9mZXRjaGVkUmVjb3Jkcy5maXJzdCgpLnJlY29yZC5zaXplKCkpOworICAg
ICAgICBtX2ZldGNoZWRSZWNvcmRzU2l6ZSAtPSBtX2ZldGNoZWRSZWNvcmRzLmZpcnN0KCkucmVj
b3JkLnNpemUoKTsKICAgICAgICAgbV9mZXRjaGVkUmVjb3Jkcy5yZW1vdmVGaXJzdCgpOwogICAg
IH0KIApAQCAtMzUzLDYgKzM2MSw5IEBAIGJvb2wgU1FMaXRlSURCQ3Vyc29yOjphZHZhbmNlKHVp
bnQ2NF90IGNvdW50KQogICAgICAgICBpZiAoIW1fZmV0Y2hlZFJlY29yZHMuaXNFbXB0eSgpKSB7
CiAgICAgICAgICAgICBBU1NFUlQobV9mZXRjaGVkUmVjb3Jkcy5zaXplKCkgPT0gMSk7CiAgICAg
ICAgICAgICBtX2N1cnJlbnRLZXlGb3JVbmlxdWVuZXNzID0gbV9mZXRjaGVkUmVjb3Jkcy5maXJz
dCgpLnJlY29yZC5rZXk7CisKKyAgICAgICAgICAgIEFTU0VSVChtX2ZldGNoZWRSZWNvcmRzU2l6
ZSA+PSBtX2ZldGNoZWRSZWNvcmRzLmZpcnN0KCkucmVjb3JkLnNpemUoKSk7CisgICAgICAgICAg
ICBtX2ZldGNoZWRSZWNvcmRzU2l6ZSAtPSBtX2ZldGNoZWRSZWNvcmRzLmZpcnN0KCkucmVjb3Jk
LnNpemUoKTsKICAgICAgICAgICAgIG1fZmV0Y2hlZFJlY29yZHMucmVtb3ZlRmlyc3QoKTsKICAg
ICAgICAgfQogCkBAIC0zNzUsMTAgKzM4NiwxNiBAQCBib29sIFNRTGl0ZUlEQkN1cnNvcjo6ZmV0
Y2goU2hvdWxkRmV0Y2hGb3JTYW1lS2V5IHNob3VsZEZldGNoRm9yU2FtZUtleSkKICAgICBtX2Zl
dGNoZWRSZWNvcmRzLmFwcGVuZCh7IH0pOwogCiAgICAgYm9vbCBpc1VuaXF1ZSA9IG1fY3Vyc29y
RGlyZWN0aW9uID09IEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uOjpOZXh0dW5pcXVlIHx8IG1f
Y3Vyc29yRGlyZWN0aW9uID09IEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uOjpQcmV2dW5pcXVl
IHx8IHNob3VsZEZldGNoRm9yU2FtZUtleSA9PSBTaG91bGRGZXRjaEZvclNhbWVLZXk6OlllczsK
LSAgICBpZiAoIWlzVW5pcXVlKQotICAgICAgICByZXR1cm4gZmV0Y2hOZXh0UmVjb3JkKG1fZmV0
Y2hlZFJlY29yZHMubGFzdCgpKTsKKyAgICBpZiAoIWlzVW5pcXVlKSB7CisgICAgICAgIGJvb2wg
ZmV0Y2hTdWNjZWVkZWQgPSBmZXRjaE5leHRSZWNvcmQobV9mZXRjaGVkUmVjb3Jkcy5sYXN0KCkp
OworICAgICAgICBpZiAoZmV0Y2hTdWNjZWVkZWQpCisgICAgICAgICAgICBtX2ZldGNoZWRSZWNv
cmRzU2l6ZSArPSBtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKS5yZWNvcmQuc2l6ZSgpOworICAgICAg
ICByZXR1cm4gZmV0Y2hTdWNjZWVkZWQ7CisgICAgfQogCiAgICAgd2hpbGUgKGZldGNoTmV4dFJl
Y29yZChtX2ZldGNoZWRSZWNvcmRzLmxhc3QoKSkpIHsKKyAgICAgICAgbV9mZXRjaGVkUmVjb3Jk
c1NpemUgKz0gbV9mZXRjaGVkUmVjb3Jkcy5sYXN0KCkucmVjb3JkLnNpemUoKTsKKwogICAgICAg
ICBpZiAobV9jdXJyZW50S2V5Rm9yVW5pcXVlbmVzcy5jb21wYXJlKG1fZmV0Y2hlZFJlY29yZHMu
bGFzdCgpLnJlY29yZC5rZXkpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJDdXJz
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9TUUxpdGVJREJD
dXJzb3IuaAppbmRleCAzNzM3MjZlZWNiOGQ3N2NkZTBkYjc4M2YyYTJiNzk2NmZjMTE1Nzc2Li4z
NTQ2ODRlYjk1YWFiNTljMzE2OTMzNjA3OGFkN2NiYTFkMjA5N2Y4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvU1FMaXRlSURCQ3Vyc29yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1NRTGl0ZUlEQkN1cnNv
ci5oCkBAIC0xMjAsNiArMTIwLDcgQEAgcHJpdmF0ZToKICAgICBJREJLZXlEYXRhIG1fY3VycmVu
dFVwcGVyS2V5OwogCiAgICAgRGVxdWU8U1FMaXRlQ3Vyc29yUmVjb3JkPiBtX2ZldGNoZWRSZWNv
cmRzOworICAgIHVpbnQ2NF90IG1fZmV0Y2hlZFJlY29yZHNTaXplIHsgMCB9OwogICAgIElEQktl
eURhdGEgbV9jdXJyZW50S2V5Rm9yVW5pcXVlbmVzczsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxT
UUxpdGVTdGF0ZW1lbnQ+IG1fc3RhdGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKaW5k
ZXggMGY1ZWFmYzkxN2FkMDhhN2FmOWZhNzU4NTMwYzJjYjBlNDM3NjJhNS4uYjcyYjYzN2IxN2Zk
YzAzNjIzZjFhN2E0MmIyN2JhNDRjZWY1ZWZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3Bw
CkBAIC04NTQsMjUgKzg1NCwyMCBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjppdGVyYXRlQ3Vy
c29yKGNvbnN0IElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSQogCiAgICAgY2Fs
bGJhY2soZXJyb3IsIHJlc3VsdCk7CiAKLSAgICBpZiAoZXJyb3IuaXNOdWxsKCkpIHsKLSAgICAg
ICAgbV9jdXJzb3JQcmVmZXRjaGVzLmFkZChjdXJzb3JJZGVudGlmaWVyKTsKLSAgICAgICAgcHJl
ZmV0Y2hDdXJzb3IodHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjdXJzb3JJZGVudGlmaWVyKTsKLSAg
ICB9CisgICAgaWYgKGVycm9yLmlzTnVsbCgpKQorICAgICAgICBwcmVmZXRjaEN1cnNvcih0cmFu
c2FjdGlvbklkZW50aWZpZXIsIGN1cnNvcklkZW50aWZpZXIsIGRhdGEuY291bnQgPyBkYXRhLmNv
dW50IDogMSk7CiB9CiAKLXZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OnByZWZldGNoQ3Vyc29yKGNv
bnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBjb25zdCBJ
REJSZXNvdXJjZUlkZW50aWZpZXImIGN1cnNvcklkZW50aWZpZXIpCit2b2lkIFVuaXF1ZUlEQkRh
dGFiYXNlOjpwcmVmZXRjaEN1cnNvcihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5z
YWN0aW9uSWRlbnRpZmllciwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiBjdXJzb3JJZGVu
dGlmaWVyLCB1aW50NjRfdCBzdGVwKQogewogICAgIExPRyhJbmRleGVkREIsICJVbmlxdWVJREJE
YXRhYmFzZTo6cHJlZmV0Y2hDdXJzb3IiKTsKIAogICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkp
OwotICAgIEFTU0VSVChtX2N1cnNvclByZWZldGNoZXMuY29udGFpbnMoY3Vyc29ySWRlbnRpZmll
cikpOwogCi0gICAgdWludDY0X3QgY291bnRUb1ByZWZldGNoID0gMjsKKyAgICB1aW50NjRfdCBj
b3VudFRvUHJlZmV0Y2ggPSBzdGVwICogMjsKICAgICB3aGlsZSAoY291bnRUb1ByZWZldGNoIC0t
KSB7Ci0gICAgICAgIGlmICghbV9iYWNraW5nU3RvcmUtPnByZWZldGNoQ3Vyc29yKHRyYW5zYWN0
aW9uSWRlbnRpZmllciwgY3Vyc29ySWRlbnRpZmllcikpIHsKLSAgICAgICAgICAgIG1fY3Vyc29y
UHJlZmV0Y2hlcy5yZW1vdmUoY3Vyc29ySWRlbnRpZmllcik7CisgICAgICAgIGlmICghbV9iYWNr
aW5nU3RvcmUtPnByZWZldGNoQ3Vyc29yKHRyYW5zYWN0aW9uSWRlbnRpZmllciwgY3Vyc29ySWRl
bnRpZmllcikpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KICAgICB9CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJ
REJEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1Vu
aXF1ZUlEQkRhdGFiYXNlLmgKaW5kZXggODU5ZWVjNTlmMTJmMGNlMDQwNTQ3YmIxYTQzNjc3NGQw
OTI2ZWExNC4uMDZiZjZhNGVmMTZjNjIzMThjZGMzOTM5YjIzMTZkYWJhNTRmMDQzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRh
dGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1Vu
aXF1ZUlEQkRhdGFiYXNlLmgKQEAgLTE0Miw3ICsxNDIsNyBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBjbGVhclRyYW5zYWN0aW9uc09uQ29ubmVjdGlvbihVbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rp
b24mKTsKIAotICAgIHZvaWQgcHJlZmV0Y2hDdXJzb3IoY29uc3QgSURCUmVzb3VyY2VJZGVudGlm
aWVyJiwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJik7CisgICAgdm9pZCBwcmVmZXRjaEN1
cnNvcihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImLCBjb25zdCBJREJSZXNvdXJjZUlkZW50
aWZpZXImLCB1aW50NjRfdCBzdGVwKTsKIAogICAgIElEQlNlcnZlciYgbV9zZXJ2ZXI7CiAgICAg
SURCRGF0YWJhc2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JSZWNvcmQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JSZWNvcmQuaAppbmRl
eCBiNGY1NWZkNjZiNGFhMWZjMmY4MWY0YTc0OTM5NjkxYzAwOTYyNGUxLi42MTM2MDRhOGM1ZmEy
ZWM3ODQzYmI5OGIwNTRlMTAxZjY2M2U2MzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29yUmVjb3JkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvclJlY29yZC5oCkBAIC0zOSw2
ICszOSw4IEBAIHN0cnVjdCBJREJDdXJzb3JSZWNvcmQgewogCiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgSURCQ3Vyc29yUmVjb3JkJik7
CisKKyAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGtleS5zaXplKCkgKyBwcmltYXJ5
S2V5LnNpemUoKSArICh2YWx1ZSA/IHZhbHVlLT5zaXplKCkgOiAwKTsgfQogfTsKIAogdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4K
</data>

          </attachment>
      

    </bug>

</bugzilla>