<?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>200139</bug_id>
          
          <creation_ts>2019-07-25 15:05:37 -0700</creation_ts>
          <short_desc>[JSC] Ensure PackedCellPtr only takes non-large-allocation pointers</short_desc>
          <delta_ts>2019-07-25 16:16:03 -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>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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1555913</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:05:37 -0700</bug_when>
    <thetext>[JSC] Ensure PackedCellPtr only takes non-large-allocation pointers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555918</commentid>
    <comment_count>1</comment_count>
      <attachid>374910</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:15:43 -0700</bug_when>
    <thetext>Created attachment 374910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555919</commentid>
    <comment_count>2</comment_count>
      <attachid>374911</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:18:01 -0700</bug_when>
    <thetext>Created attachment 374911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555920</commentid>
    <comment_count>3</comment_count>
      <attachid>374910</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-07-25 15:18:19 -0700</bug_when>
    <thetext>Comment on attachment 374910
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        But this fact only meets when the JSCell is not large allocation. Currently, we are using PackedCellPtr

really? We don&apos;t round large allocations?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555921</commentid>
    <comment_count>4</comment_count>
      <attachid>374912</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:19:14 -0700</bug_when>
    <thetext>Created attachment 374912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555928</commentid>
    <comment_count>5</comment_count>
      <attachid>374910</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-07-25 15:27:08 -0700</bug_when>
    <thetext>Comment on attachment 374910
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:9
&gt;&gt; +        But this fact only meets when the JSCell is not large allocation. Currently, we are using PackedCellPtr
&gt; 
&gt; really? We don&apos;t round large allocations?

grammar: only meets =&gt; only holds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555932</commentid>
    <comment_count>6</comment_count>
      <attachid>374910</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:36:12 -0700</bug_when>
    <thetext>Comment on attachment 374910
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/ChangeLog:9
&gt;&gt;&gt; +        But this fact only meets when the JSCell is not large allocation. Currently, we are using PackedCellPtr
&gt;&gt; 
&gt;&gt; really? We don&apos;t round large allocations?
&gt; 
&gt; grammar: only meets =&gt; only holds.

Fixed the grammar part, thanks.
Let&apos;s see LargeAllocation::isLargeAllocation implementation.

https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/heap/LargeAllocation.h#L58-L61
https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/heap/LargeAllocation.h#L148-L149

LargeAllocation&apos;s HeapCell is intentionally not 16-byte aligned to encode this information into the cell pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555933</commentid>
    <comment_count>7</comment_count>
      <attachid>374915</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:37:46 -0700</bug_when>
    <thetext>Created attachment 374915
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555934</commentid>
    <comment_count>8</comment_count>
      <attachid>374915</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-07-25 15:41:44 -0700</bug_when>
    <thetext>Comment on attachment 374915
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        But this fact only meets when the JSCell is not large allocation. Currently, we are using PackedCellPtr

still not fixed: /meet/holds/

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        only for the cell types which holds the above requirement. But we would like to ensure that statically.

this one should be &apos;meet&apos; instead of &apos;holds&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555935</commentid>
    <comment_count>9</comment_count>
      <attachid>374915</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-07-25 15:42:55 -0700</bug_when>
    <thetext>Comment on attachment 374915
Patch

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

&gt; Source/JavaScriptCore/heap/PackedCellPtr.h:43
&gt; +        ASSERT(!pointer || !pointer-&gt;isLargeAllocation());

Can you just assert that it&apos;s 16 byte aligned? Seems more straight forward</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555936</commentid>
    <comment_count>10</comment_count>
      <attachid>374915</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:43:03 -0700</bug_when>
    <thetext>Comment on attachment 374915
Patch

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

Thanks, fixed.

&gt;&gt; Source/JavaScriptCore/ChangeLog:9
&gt;&gt; +        But this fact only meets when the JSCell is not large allocation. Currently, we are using PackedCellPtr
&gt; 
&gt; still not fixed: /meet/holds/

Oops, fixed.

&gt;&gt; Source/JavaScriptCore/ChangeLog:10
&gt;&gt; +        only for the cell types which holds the above requirement. But we would like to ensure that statically.
&gt; 
&gt; this one should be &apos;meet&apos; instead of &apos;holds&apos;.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555937</commentid>
    <comment_count>11</comment_count>
      <attachid>374915</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:43:31 -0700</bug_when>
    <thetext>Comment on attachment 374915
Patch

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

&gt;&gt; Source/JavaScriptCore/heap/PackedCellPtr.h:43
&gt;&gt; +        ASSERT(!pointer || !pointer-&gt;isLargeAllocation());
&gt; 
&gt; Can you just assert that it&apos;s 16 byte aligned? Seems more straight forward

Sounds nice. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555941</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 15:51:43 -0700</bug_when>
    <thetext>Committed r247843: &lt;https://trac.webkit.org/changeset/247843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555942</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-25 15:54:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/53564083&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555949</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 16:04:06 -0700</bug_when>
    <thetext>It seems that std::invoke_result_t is missing in some clang environments. I think it is C++17 features, and possibly it is not implemented yet. Use std::result_of instead, while it is deprecated in C++17 and removed in C++20, because we are now using std::result_of in the other places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555952</commentid>
    <comment_count>15</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-07-25 16:16:03 -0700</bug_when>
    <thetext>Committed r247844: &lt;https://trac.webkit.org/changeset/247844&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374910</attachid>
            <date>2019-07-25 15:15:43 -0700</date>
            <delta_ts>2019-07-25 15:19:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200139-20190725151542.patch</filename>
            <type>text/plain</type>
            <size>9553</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZGM5Yjc0NTg3MGMxMDQ0OTIyYjlmZjhjYThjODEwMDQ0ZWMxZjc4Li4wNDg1NjM1YzA4MmY4NjQw
ZmEyZWQ3YTlmMGQyMTY3NDJjMTc2OWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOS0wNy0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEVuc3VyZSBQYWNrZWRDZWxsUHRyIG9ubHkgdGFrZXMgbm9uLWxh
cmdlLWFsbG9jYXRpb24gcG9pbnRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMDEzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFBhY2tlZENlbGxQdHIgd2lsbCBjb21wYWN0IGEgcG9pbnRlciBieSBs
ZXZlcmFnaW5nIHRoZSBmYWN0IHRoYXQgSlNDZWxsIHBvaW50ZXJzIGFyZSAxNmJ5dGUgYWxpZ25l
ZC4KKyAgICAgICAgQnV0IHRoaXMgZmFjdCBvbmx5IG1lZXRzIHdoZW4gdGhlIEpTQ2VsbCBpcyBu
b3QgbGFyZ2UgYWxsb2NhdGlvbi4gQ3VycmVudGx5LCB3ZSBhcmUgdXNpbmcgUGFja2VkQ2VsbFB0
cgorICAgICAgICBvbmx5IGZvciB0aGUgY2VsbCB0eXBlcyB3aGljaCBtZWV0IHRoZSBhYm92ZSBy
ZXF1aXJlbWVudC4gQnV0IHdlIHdvdWxkIGxpa2UgdG8gZW5zdXJlIHRoYXQgc3RhdGljYWxseS4K
KworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSBhZGQgYWRkaXRpb25hbCBzdGF0aWMvcnVudGlt
ZSBhc3NlcnRpb25zIHRvIGVuc3VyZSB0aGlzIGludmFyaWFudC4gV2UgYWNjZXB0IGEgY2VsbAor
ICAgICAgICB0eXBlIG9mIGVpdGhlciAoMSkgaXQgaXMgImZpbmFsIiBhbm5vdGF0ZWQgYW5kIHNp
emVvZihUKSBpcyBsZXNzIHRoYW4gTWFya2VkU3BhY2U6OmxhcmdlQ3V0b2ZmIG9yICgyKSBpdAor
ICAgICAgICBpcyBhbGxvY2F0ZWQgZnJvbSBJc29TdWJzcGFjZS4KKworICAgICAgICBUaGlzIHBh
dGNoIGRvZXMgbm90IGNoYW5nZSBhbnkgYmVoYXZpb3JzLiBJdCBqdXN0IGFkZHMgZXh0cmEgc3Rh
dGljL3J1bnRpbWUgYXNzZXJ0aW9ucy4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5o
OgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnN1YnNwYWNlRm9yKToKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuaDoKKyAgICAgICAgKiBieXRlY29k
ZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDoKKyAgICAg
ICAgKiBkZmcvREZHQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50Lmg6CisgICAgICAgICogaGVh
cC9Jc29TdWJzcGFjZS5oOgorICAgICAgICAqIGhlYXAvUGFja2VkQ2VsbFB0ci5oOgorICAgICAg
ICAoSlNDOjpQYWNrZWRDZWxsUHRyOjpQYWNrZWRDZWxsUHRyKToKKyAgICAgICAgKiBydW50aW1l
L0Z1bmN0aW9uUmFyZURhdGEuaDoKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25SYXJlRGF0YTo6Y3Jl
YXRlQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQpOgorICAgICAgICAqIHJ1bnRp
bWUvT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDoKKwogMjAxOS0w
Ny0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IE1ha2UgdmlzaXRDaGlsZHJlbiBpbXBsZW1lbnRhdGlvbiBtb3JlIGlkaW9tYXRpYwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDY2NDhmYzVjN2Q2ZDFh
NDU3NzZlZmE4ZDQxMmZiNTgwYzIwNzY1NWIuLmRjZmQyNTdiNDJjNjY0ODA1M2NjYmQ5Nzk1ZGJl
YzRiMDRjM2Q0MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmgKQEAgLTExNCw4ICsxMTQsMTMgQEAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEpTQ2VsbCB7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIHN0YXRpYyBjb25zdCBib29sIG5l
ZWRzRGVzdHJ1Y3Rpb24gPSB0cnVlOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUsIFN1YnNwYWNl
QWNjZXNzPgotICAgIHN0YXRpYyB2b2lkIHN1YnNwYWNlRm9yKFZNJikgeyB9CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBz
dWJzcGFjZUZvcihWTSYpCisgICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX3Nh
bWU8VCwgQ29kZUJsb2NrPjo6dmFsdWUpOworICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNf
YmFzZV9vZjxDb2RlQmxvY2ssIFQ+Ojp2YWx1ZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5o
CmluZGV4IDM1YTQxNjRjZDI4NmY4MWMzMmNjMjc4YWFkMWVkYjZlZWUxMThmMjkuLjdlMjhiMzA5
YzA3NDYxMzczMDgxZDExZTYwNDRiZTg3Njg3ZjQ2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRj
aHBvaW50LmgKQEAgLTI1LDEzICsyNSwxMiBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUg
IkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIlBhY2tlZENlbGxQdHIuaCIKICNpbmNsdWRlICJXYXRj
aHBvaW50LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBDb2RlQmxvY2s7Ci0KIGNsYXNz
IENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludCBmaW5hbCA6IHB1YmxpYyBXYXRjaHBvaW50
IHsKIHB1YmxpYzoKICAgICBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQoQ29kZUJsb2Nr
KiBjb2RlQmxvY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
TExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1
cmVXYXRjaHBvaW50LmgKaW5kZXggZGQ1NTdjZDhmZTUxZTFjMDc0NWVkOTU1OTIxYzFlZTcyYzYy
M2VhNy4uMjIwZmZmM2UzYmY1NDM0MWU5NjFjODJkZjhjNGU4YzkwMDA3MzRiZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xMSW50UHJvdG90eXBlTG9hZEFkYXB0
aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaApAQCAt
MjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJCeXRlY29kZVN0cnVjdHMu
aCIKKyNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvbi5oIgogI2luY2x1ZGUgIlBhY2tlZENlbGxQdHIuaCIKICNpbmNsdWRlICJXYXRjaHBvaW50
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FkYXB0aXZlU3Ry
dWN0dXJlV2F0Y2hwb2ludC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBZGFwdGl2
ZVN0cnVjdHVyZVdhdGNocG9pbnQuaAppbmRleCA2YWIwN2I0MGQ5NjU3YjE0ZTlhZWU2YWQ4MWVk
ZGJmZjFkZmEzNjJkLi5iMjlmODlmMjU0M2IwYmUxZjhiMTU5NGZkOWU1MWU4YmUxOWU5OGY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FkYXB0aXZlU3RydWN0dXJl
V2F0Y2hwb2ludC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWRhcHRpdmVT
dHJ1Y3R1cmVXYXRjaHBvaW50LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShERkdf
SklUKQogCisjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlD
b25kaXRpb24uaCIKICNpbmNsdWRlICJQYWNrZWRDZWxsUHRyLmgiCiAjaW5jbHVkZSAiV2F0Y2hw
b2ludC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3Bh
Y2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlLmgKaW5kZXggZWZk
NWNkMzgyOGViYWU0ZmY0ZWU2MDlkMjEyMjQyNDNiOGI0YzNiOC4uZjRkOTIyYjRjYjZkYjVkYzU4
ZjgyYmQ4MzFjZDk1YzkyM2VlNzVhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvSXNvU3Vic3BhY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29T
dWJzcGFjZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJCbG9ja0RpcmVjdG9yeS5o
IgogI2luY2x1ZGUgIlN1YnNwYWNlLmgiCisjaW5jbHVkZSAiU3Vic3BhY2VBY2Nlc3MuaCIKICNp
bmNsdWRlIDx3dGYvU2luZ2x5TGlua2VkTGlzdFdpdGhUYWlsLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewpAQCAtNjksNSArNzAsMTAgQEAgQUxXQVlTX0lOTElORSBBbGxvY2F0b3IgSXNvU3Vic3BhY2U6
OmFsbG9jYXRvckZvck5vblZpcnR1YWwoc2l6ZV90IHNpemUsIEFsbG9jYXQKIAogI2RlZmluZSBJ
U09fU1VCU1BBQ0VfSU5JVChoZWFwLCBoZWFwQ2VsbFR5cGUsIHR5cGUpICgiSXNvbGF0ZWQgIiAj
dHlwZSAiIFNwYWNlIiwgKGhlYXApLCAoaGVhcENlbGxUeXBlKSwgc2l6ZW9mKHR5cGUpKQogCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IGlzQWxsb2NhdGVkRnJvbUlzb1N1YnNwYWNlIHsK
KyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgdmFsdWUgPSBzdGQ6OmlzX3NhbWU8c3RkOjppbnZv
a2VfcmVzdWx0X3Q8ZGVjbHR5cGUoVDo6dGVtcGxhdGUgc3Vic3BhY2VGb3I8VCwgU3Vic3BhY2VB
Y2Nlc3M6Ok9uTWFpblRocmVhZD4pLCBWTSY+LCBJc29TdWJzcGFjZSo+Ojp2YWx1ZTsKK307CisK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9QYWNrZWRDZWxsUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9QYWNrZWRD
ZWxsUHRyLmgKaW5kZXggZmUwNGMwZDNjNjI5MTY2NjI2MjkzZDFiNzA3ZTQ4ZDhkZGU4NDdkMC4u
OWU3YzQ0ZDc5MWM1Njc2ZDZkZjNhOGI2ZmRlZjgxNWRlMGRmYTIyNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvUGFja2VkQ2VsbFB0ci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL1BhY2tlZENlbGxQdHIuaApAQCAtMjUsMTIgKzI1LDIzIEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiSXNvU3Vic3BhY2UuaCIKICNpbmNsdWRlICJNYXJrZWRC
bG9jay5oIgorI2luY2x1ZGUgIk1hcmtlZFNwYWNlLmgiCiAjaW5jbHVkZSA8d3RmL1BhY2tlZC5o
PgogCiBuYW1lc3BhY2UgSlNDIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KLXVzaW5nIFBhY2tl
ZENlbGxQdHIgPSBQYWNrZWRBbGlnbmVkUHRyPFQsIE1hcmtlZEJsb2NrOjphdG9tU2l6ZT47Citj
bGFzcyBQYWNrZWRDZWxsUHRyIDogcHVibGljIFBhY2tlZEFsaWduZWRQdHI8VCwgTWFya2VkQmxv
Y2s6OmF0b21TaXplPiB7CitwdWJsaWM6CisgICAgdXNpbmcgQmFzZSA9IFBhY2tlZEFsaWduZWRQ
dHI8VCwgTWFya2VkQmxvY2s6OmF0b21TaXplPjsKKyAgICBQYWNrZWRDZWxsUHRyKFQqIHBvaW50
ZXIpCisgICAgICAgIDogQmFzZShwb2ludGVyKQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2Vy
dCgoc2l6ZW9mKFQpIDwgTWFya2VkU3BhY2U6OmxhcmdlQ3V0b2ZmICYmIHN0ZDo6aXNfZmluYWw8
VD46OnZhbHVlKSB8fCBpc0FsbG9jYXRlZEZyb21Jc29TdWJzcGFjZTxUPjo6dmFsdWUsICJMYXJn
ZUFsbG9jYXRpb24gZG9lcyBub3QgaGF2ZSAxNmJ5dGUgYWxpZ25tZW50Iik7CisgICAgICAgIEFT
U0VSVCghcG9pbnRlci0+aXNMYXJnZUFsbG9jYXRpb24oKSk7CisgICAgfQorfTsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmgKaW5kZXggYzVkNjg2YzlmOWUwOWFjNmQ2YjZiMGNhOGU2ZWM3MmJhZmE0Mzli
My4uNDYyMzY0MWM1OThlM2ViYjVmYmE2YmMwMjM3MjY0ZTUwNTJmZDE3OSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaApAQCAtMTA3LDI2
ICsxMDcsOCBAQCBjbGFzcyBGdW5jdGlvblJhcmVEYXRhIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7
CiAgICAgdm9pZCBzZXRIYXNSZWlmaWVkTmFtZSgpIHsgbV9oYXNSZWlmaWVkTmFtZSA9IHRydWU7
IH0KIAogICAgIGJvb2wgaGFzQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQoKSBj
b25zdCB7IHJldHVybiAhIW1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQ7IH0K
LSAgICBXYXRjaHBvaW50KiBjcmVhdGVBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2lu
dCgpCi0gICAgewotICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzQWxsb2NhdGlvblByb2ZpbGVD
bGVhcmluZ1dhdGNocG9pbnQoKSk7Ci0gICAgICAgIG1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmlu
Z1dhdGNocG9pbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdX
YXRjaHBvaW50Pih0aGlzKTsKLSAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlvblByb2ZpbGVDbGVh
cmluZ1dhdGNocG9pbnQuZ2V0KCk7Ci0gICAgfQotCi0gICAgY2xhc3MgQWxsb2NhdGlvblByb2Zp
bGVDbGVhcmluZ1dhdGNocG9pbnQgZmluYWwgOiBwdWJsaWMgV2F0Y2hwb2ludCB7Ci0gICAgcHVi
bGljOgotICAgICAgICBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludChGdW5jdGlv
blJhcmVEYXRhKiByYXJlRGF0YSkKLSAgICAgICAgICAgIDogV2F0Y2hwb2ludChXYXRjaHBvaW50
OjpUeXBlOjpGdW5jdGlvblJhcmVEYXRhQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZykKLSAgICAg
ICAgICAgICwgbV9yYXJlRGF0YShyYXJlRGF0YSkKLSAgICAgICAgeyB9Ci0KLSAgICAgICAgdm9p
ZCBmaXJlSW50ZXJuYWwoVk0mLCBjb25zdCBGaXJlRGV0YWlsJik7Ci0KLSAgICBwcml2YXRlOgot
ICAgICAgICAvLyBPd24gZGVzdHJ1Y3RvciBtYXkgbm90IGJlIGNhbGxlZC4gS2VlcCBtZW1iZXJz
IHRyaXZpYWxseSBkZXN0cnVjdGlibGUuCi0gICAgICAgIEpTQ19XQVRDSFBPSU5UX0ZJRUxEKFBh
Y2tlZENlbGxQdHI8RnVuY3Rpb25SYXJlRGF0YT4sIG1fcmFyZURhdGEpOwotICAgIH07CisgICAg
V2F0Y2hwb2ludCogY3JlYXRlQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQoKTsK
KyAgICBjbGFzcyBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludDsKIAogcHJvdGVj
dGVkOgogICAgIEZ1bmN0aW9uUmFyZURhdGEoVk0mKTsKQEAgLTE1Nyw0ICsxMzksMjUgQEAgY2xh
c3MgRnVuY3Rpb25SYXJlRGF0YSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIGJvb2wgbV9o
YXNSZWlmaWVkTmFtZSB7IGZhbHNlIH07CiB9OwogCitjbGFzcyBGdW5jdGlvblJhcmVEYXRhOjpB
bGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCBmaW5hbCA6IHB1YmxpYyBXYXRjaHBv
aW50IHsKK3B1YmxpYzoKKyAgICBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludChG
dW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSkKKyAgICAgICAgOiBXYXRjaHBvaW50KFdhdGNocG9p
bnQ6OlR5cGU6OkZ1bmN0aW9uUmFyZURhdGFBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nKQorICAg
ICAgICAsIG1fcmFyZURhdGEocmFyZURhdGEpCisgICAgeyB9CisKKyAgICB2b2lkIGZpcmVJbnRl
cm5hbChWTSYsIGNvbnN0IEZpcmVEZXRhaWwmKTsKKworcHJpdmF0ZToKKyAgICAvLyBPd24gZGVz
dHJ1Y3RvciBtYXkgbm90IGJlIGNhbGxlZC4gS2VlcCBtZW1iZXJzIHRyaXZpYWxseSBkZXN0cnVj
dGlibGUuCisgICAgSlNDX1dBVENIUE9JTlRfRklFTEQoUGFja2VkQ2VsbFB0cjxGdW5jdGlvblJh
cmVEYXRhPiwgbV9yYXJlRGF0YSk7Cit9OworCitpbmxpbmUgV2F0Y2hwb2ludCogRnVuY3Rpb25S
YXJlRGF0YTo6Y3JlYXRlQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQoKQorewor
ICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2lu
dCgpKTsKKyAgICBtX2FsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50ID0gc3RkOjpt
YWtlX3VuaXF1ZTxBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludD4odGhpcyk7Cisg
ICAgcmV0dXJuIG1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQuZ2V0KCk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1
cmVXYXRjaHBvaW50LmgKaW5kZXggNjBlZTgwMmM4YTE3YjI4YzcyOTIwNjBjMGI5NjI3Nzg4MDE1
ZDU1OC4uNDlmNGY3NTA1ZTBmN2NiZDFhMGQ5NWMxMThiZGM1ZGEzZTBiZWYzMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0
cnVjdHVyZVdhdGNocG9pbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
YmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oCkBAIC0yNyw2ICsyNyw3
IEBACiAKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oIgogI2luY2x1ZGUgIlBh
Y2tlZENlbGxQdHIuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgogI2luY2x1ZGUg
IldhdGNocG9pbnQuaCIKIAogbmFtZXNwYWNlIEpTQyB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374911</attachid>
            <date>2019-07-25 15:18:01 -0700</date>
            <delta_ts>2019-07-25 15:19:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200139-20190725151800.patch</filename>
            <type>text/plain</type>
            <size>9565</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZGM5Yjc0NTg3MGMxMDQ0OTIyYjlmZjhjYThjODEwMDQ0ZWMxZjc4Li4wNDg1NjM1YzA4MmY4NjQw
ZmEyZWQ3YTlmMGQyMTY3NDJjMTc2OWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOS0wNy0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEVuc3VyZSBQYWNrZWRDZWxsUHRyIG9ubHkgdGFrZXMgbm9uLWxh
cmdlLWFsbG9jYXRpb24gcG9pbnRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMDEzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFBhY2tlZENlbGxQdHIgd2lsbCBjb21wYWN0IGEgcG9pbnRlciBieSBs
ZXZlcmFnaW5nIHRoZSBmYWN0IHRoYXQgSlNDZWxsIHBvaW50ZXJzIGFyZSAxNmJ5dGUgYWxpZ25l
ZC4KKyAgICAgICAgQnV0IHRoaXMgZmFjdCBvbmx5IG1lZXRzIHdoZW4gdGhlIEpTQ2VsbCBpcyBu
b3QgbGFyZ2UgYWxsb2NhdGlvbi4gQ3VycmVudGx5LCB3ZSBhcmUgdXNpbmcgUGFja2VkQ2VsbFB0
cgorICAgICAgICBvbmx5IGZvciB0aGUgY2VsbCB0eXBlcyB3aGljaCBtZWV0IHRoZSBhYm92ZSBy
ZXF1aXJlbWVudC4gQnV0IHdlIHdvdWxkIGxpa2UgdG8gZW5zdXJlIHRoYXQgc3RhdGljYWxseS4K
KworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSBhZGQgYWRkaXRpb25hbCBzdGF0aWMvcnVudGlt
ZSBhc3NlcnRpb25zIHRvIGVuc3VyZSB0aGlzIGludmFyaWFudC4gV2UgYWNjZXB0IGEgY2VsbAor
ICAgICAgICB0eXBlIG9mIGVpdGhlciAoMSkgaXQgaXMgImZpbmFsIiBhbm5vdGF0ZWQgYW5kIHNp
emVvZihUKSBpcyBsZXNzIHRoYW4gTWFya2VkU3BhY2U6OmxhcmdlQ3V0b2ZmIG9yICgyKSBpdAor
ICAgICAgICBpcyBhbGxvY2F0ZWQgZnJvbSBJc29TdWJzcGFjZS4KKworICAgICAgICBUaGlzIHBh
dGNoIGRvZXMgbm90IGNoYW5nZSBhbnkgYmVoYXZpb3JzLiBJdCBqdXN0IGFkZHMgZXh0cmEgc3Rh
dGljL3J1bnRpbWUgYXNzZXJ0aW9ucy4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5o
OgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnN1YnNwYWNlRm9yKToKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuaDoKKyAgICAgICAgKiBieXRlY29k
ZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDoKKyAgICAg
ICAgKiBkZmcvREZHQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50Lmg6CisgICAgICAgICogaGVh
cC9Jc29TdWJzcGFjZS5oOgorICAgICAgICAqIGhlYXAvUGFja2VkQ2VsbFB0ci5oOgorICAgICAg
ICAoSlNDOjpQYWNrZWRDZWxsUHRyOjpQYWNrZWRDZWxsUHRyKToKKyAgICAgICAgKiBydW50aW1l
L0Z1bmN0aW9uUmFyZURhdGEuaDoKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25SYXJlRGF0YTo6Y3Jl
YXRlQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQpOgorICAgICAgICAqIHJ1bnRp
bWUvT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDoKKwogMjAxOS0w
Ny0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IE1ha2UgdmlzaXRDaGlsZHJlbiBpbXBsZW1lbnRhdGlvbiBtb3JlIGlkaW9tYXRpYwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDY2NDhmYzVjN2Q2ZDFh
NDU3NzZlZmE4ZDQxMmZiNTgwYzIwNzY1NWIuLmRjZmQyNTdiNDJjNjY0ODA1M2NjYmQ5Nzk1ZGJl
YzRiMDRjM2Q0MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmgKQEAgLTExNCw4ICsxMTQsMTMgQEAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEpTQ2VsbCB7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIHN0YXRpYyBjb25zdCBib29sIG5l
ZWRzRGVzdHJ1Y3Rpb24gPSB0cnVlOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUsIFN1YnNwYWNl
QWNjZXNzPgotICAgIHN0YXRpYyB2b2lkIHN1YnNwYWNlRm9yKFZNJikgeyB9CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgU3Vic3BhY2VBY2Nlc3M+CisgICAgc3RhdGljIElzb1N1YnNwYWNlKiBz
dWJzcGFjZUZvcihWTSYpCisgICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX3Nh
bWU8VCwgQ29kZUJsb2NrPjo6dmFsdWUpOworICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNf
YmFzZV9vZjxDb2RlQmxvY2ssIFQ+Ojp2YWx1ZSk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KIAogICAgIERFQ0xBUkVfSU5GTzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5o
CmluZGV4IDM1YTQxNjRjZDI4NmY4MWMzMmNjMjc4YWFkMWVkYjZlZWUxMThmMjkuLjdlMjhiMzA5
YzA3NDYxMzczMDgxZDExZTYwNDRiZTg3Njg3ZjQ2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRj
aHBvaW50LmgKQEAgLTI1LDEzICsyNSwxMiBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUg
IkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIlBhY2tlZENlbGxQdHIuaCIKICNpbmNsdWRlICJXYXRj
aHBvaW50LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBDb2RlQmxvY2s7Ci0KIGNsYXNz
IENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludCBmaW5hbCA6IHB1YmxpYyBXYXRjaHBvaW50
IHsKIHB1YmxpYzoKICAgICBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQoQ29kZUJsb2Nr
KiBjb2RlQmxvY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
TExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1
cmVXYXRjaHBvaW50LmgKaW5kZXggZGQ1NTdjZDhmZTUxZTFjMDc0NWVkOTU1OTIxYzFlZTcyYzYy
M2VhNy4uMjIwZmZmM2UzYmY1NDM0MWU5NjFjODJkZjhjNGU4YzkwMDA3MzRiZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xMSW50UHJvdG90eXBlTG9hZEFkYXB0
aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaApAQCAt
MjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJCeXRlY29kZVN0cnVjdHMu
aCIKKyNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvbi5oIgogI2luY2x1ZGUgIlBhY2tlZENlbGxQdHIuaCIKICNpbmNsdWRlICJXYXRjaHBvaW50
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FkYXB0aXZlU3Ry
dWN0dXJlV2F0Y2hwb2ludC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBZGFwdGl2
ZVN0cnVjdHVyZVdhdGNocG9pbnQuaAppbmRleCA2YWIwN2I0MGQ5NjU3YjE0ZTlhZWU2YWQ4MWVk
ZGJmZjFkZmEzNjJkLi5iMjlmODlmMjU0M2IwYmUxZjhiMTU5NGZkOWU1MWU4YmUxOWU5OGY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FkYXB0aXZlU3RydWN0dXJl
V2F0Y2hwb2ludC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWRhcHRpdmVT
dHJ1Y3R1cmVXYXRjaHBvaW50LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShERkdf
SklUKQogCisjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlD
b25kaXRpb24uaCIKICNpbmNsdWRlICJQYWNrZWRDZWxsUHRyLmgiCiAjaW5jbHVkZSAiV2F0Y2hw
b2ludC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3Bh
Y2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlLmgKaW5kZXggZWZk
NWNkMzgyOGViYWU0ZmY0ZWU2MDlkMjEyMjQyNDNiOGI0YzNiOC4uZjRkOTIyYjRjYjZkYjVkYzU4
ZjgyYmQ4MzFjZDk1YzkyM2VlNzVhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvSXNvU3Vic3BhY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29T
dWJzcGFjZS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJCbG9ja0RpcmVjdG9yeS5o
IgogI2luY2x1ZGUgIlN1YnNwYWNlLmgiCisjaW5jbHVkZSAiU3Vic3BhY2VBY2Nlc3MuaCIKICNp
bmNsdWRlIDx3dGYvU2luZ2x5TGlua2VkTGlzdFdpdGhUYWlsLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewpAQCAtNjksNSArNzAsMTAgQEAgQUxXQVlTX0lOTElORSBBbGxvY2F0b3IgSXNvU3Vic3BhY2U6
OmFsbG9jYXRvckZvck5vblZpcnR1YWwoc2l6ZV90IHNpemUsIEFsbG9jYXQKIAogI2RlZmluZSBJ
U09fU1VCU1BBQ0VfSU5JVChoZWFwLCBoZWFwQ2VsbFR5cGUsIHR5cGUpICgiSXNvbGF0ZWQgIiAj
dHlwZSAiIFNwYWNlIiwgKGhlYXApLCAoaGVhcENlbGxUeXBlKSwgc2l6ZW9mKHR5cGUpKQogCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IGlzQWxsb2NhdGVkRnJvbUlzb1N1YnNwYWNlIHsK
KyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgdmFsdWUgPSBzdGQ6OmlzX3NhbWU8c3RkOjppbnZv
a2VfcmVzdWx0X3Q8ZGVjbHR5cGUoVDo6dGVtcGxhdGUgc3Vic3BhY2VGb3I8VCwgU3Vic3BhY2VB
Y2Nlc3M6Ok9uTWFpblRocmVhZD4pLCBWTSY+LCBJc29TdWJzcGFjZSo+Ojp2YWx1ZTsKK307CisK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9QYWNrZWRDZWxsUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9QYWNrZWRD
ZWxsUHRyLmgKaW5kZXggZmUwNGMwZDNjNjI5MTY2NjI2MjkzZDFiNzA3ZTQ4ZDhkZGU4NDdkMC4u
MThkYjlkNzkwMzA2Y2I0YWRiNWY5ZTMwMjMwY2NkOWRkMzJmMWM0MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvUGFja2VkQ2VsbFB0ci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL1BhY2tlZENlbGxQdHIuaApAQCAtMjUsMTIgKzI1LDIzIEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiSXNvU3Vic3BhY2UuaCIKICNpbmNsdWRlICJNYXJrZWRC
bG9jay5oIgorI2luY2x1ZGUgIk1hcmtlZFNwYWNlLmgiCiAjaW5jbHVkZSA8d3RmL1BhY2tlZC5o
PgogCiBuYW1lc3BhY2UgSlNDIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KLXVzaW5nIFBhY2tl
ZENlbGxQdHIgPSBQYWNrZWRBbGlnbmVkUHRyPFQsIE1hcmtlZEJsb2NrOjphdG9tU2l6ZT47Citj
bGFzcyBQYWNrZWRDZWxsUHRyIDogcHVibGljIFBhY2tlZEFsaWduZWRQdHI8VCwgTWFya2VkQmxv
Y2s6OmF0b21TaXplPiB7CitwdWJsaWM6CisgICAgdXNpbmcgQmFzZSA9IFBhY2tlZEFsaWduZWRQ
dHI8VCwgTWFya2VkQmxvY2s6OmF0b21TaXplPjsKKyAgICBQYWNrZWRDZWxsUHRyKFQqIHBvaW50
ZXIpCisgICAgICAgIDogQmFzZShwb2ludGVyKQorICAgIHsKKyAgICAgICAgc3RhdGljX2Fzc2Vy
dCgoc2l6ZW9mKFQpIDwgTWFya2VkU3BhY2U6OmxhcmdlQ3V0b2ZmICYmIHN0ZDo6aXNfZmluYWw8
VD46OnZhbHVlKSB8fCBpc0FsbG9jYXRlZEZyb21Jc29TdWJzcGFjZTxUPjo6dmFsdWUsICJMYXJn
ZUFsbG9jYXRpb24gZG9lcyBub3QgaGF2ZSAxNmJ5dGUgYWxpZ25tZW50Iik7CisgICAgICAgIEFT
U0VSVCghcG9pbnRlciB8fCAhcG9pbnRlci0+aXNMYXJnZUFsbG9jYXRpb24oKSk7CisgICAgfQor
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblJhcmVEYXRhLmgKaW5kZXggYzVkNjg2YzlmOWUwOWFjNmQ2YjZiMGNhOGU2
ZWM3MmJhZmE0MzliMy4uNDYyMzY0MWM1OThlM2ViYjVmYmE2YmMwMjM3MjY0ZTUwNTJmZDE3OSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEu
aApAQCAtMTA3LDI2ICsxMDcsOCBAQCBjbGFzcyBGdW5jdGlvblJhcmVEYXRhIGZpbmFsIDogcHVi
bGljIEpTQ2VsbCB7CiAgICAgdm9pZCBzZXRIYXNSZWlmaWVkTmFtZSgpIHsgbV9oYXNSZWlmaWVk
TmFtZSA9IHRydWU7IH0KIAogICAgIGJvb2wgaGFzQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dh
dGNocG9pbnQoKSBjb25zdCB7IHJldHVybiAhIW1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dh
dGNocG9pbnQ7IH0KLSAgICBXYXRjaHBvaW50KiBjcmVhdGVBbGxvY2F0aW9uUHJvZmlsZUNsZWFy
aW5nV2F0Y2hwb2ludCgpCi0gICAgewotICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzQWxsb2Nh
dGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQoKSk7Ci0gICAgICAgIG1fYWxsb2NhdGlvblBy
b2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFsbG9jYXRpb25Qcm9m
aWxlQ2xlYXJpbmdXYXRjaHBvaW50Pih0aGlzKTsKLSAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlv
blByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQuZ2V0KCk7Ci0gICAgfQotCi0gICAgY2xhc3MgQWxs
b2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQgZmluYWwgOiBwdWJsaWMgV2F0Y2hwb2lu
dCB7Ci0gICAgcHVibGljOgotICAgICAgICBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hw
b2ludChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSkKLSAgICAgICAgICAgIDogV2F0Y2hwb2lu
dChXYXRjaHBvaW50OjpUeXBlOjpGdW5jdGlvblJhcmVEYXRhQWxsb2NhdGlvblByb2ZpbGVDbGVh
cmluZykKLSAgICAgICAgICAgICwgbV9yYXJlRGF0YShyYXJlRGF0YSkKLSAgICAgICAgeyB9Ci0K
LSAgICAgICAgdm9pZCBmaXJlSW50ZXJuYWwoVk0mLCBjb25zdCBGaXJlRGV0YWlsJik7Ci0KLSAg
ICBwcml2YXRlOgotICAgICAgICAvLyBPd24gZGVzdHJ1Y3RvciBtYXkgbm90IGJlIGNhbGxlZC4g
S2VlcCBtZW1iZXJzIHRyaXZpYWxseSBkZXN0cnVjdGlibGUuCi0gICAgICAgIEpTQ19XQVRDSFBP
SU5UX0ZJRUxEKFBhY2tlZENlbGxQdHI8RnVuY3Rpb25SYXJlRGF0YT4sIG1fcmFyZURhdGEpOwot
ICAgIH07CisgICAgV2F0Y2hwb2ludCogY3JlYXRlQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dh
dGNocG9pbnQoKTsKKyAgICBjbGFzcyBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2lu
dDsKIAogcHJvdGVjdGVkOgogICAgIEZ1bmN0aW9uUmFyZURhdGEoVk0mKTsKQEAgLTE1Nyw0ICsx
MzksMjUgQEAgY2xhc3MgRnVuY3Rpb25SYXJlRGF0YSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewog
ICAgIGJvb2wgbV9oYXNSZWlmaWVkTmFtZSB7IGZhbHNlIH07CiB9OwogCitjbGFzcyBGdW5jdGlv
blJhcmVEYXRhOjpBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCBmaW5hbCA6IHB1
YmxpYyBXYXRjaHBvaW50IHsKK3B1YmxpYzoKKyAgICBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5n
V2F0Y2hwb2ludChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSkKKyAgICAgICAgOiBXYXRjaHBv
aW50KFdhdGNocG9pbnQ6OlR5cGU6OkZ1bmN0aW9uUmFyZURhdGFBbGxvY2F0aW9uUHJvZmlsZUNs
ZWFyaW5nKQorICAgICAgICAsIG1fcmFyZURhdGEocmFyZURhdGEpCisgICAgeyB9CisKKyAgICB2
b2lkIGZpcmVJbnRlcm5hbChWTSYsIGNvbnN0IEZpcmVEZXRhaWwmKTsKKworcHJpdmF0ZToKKyAg
ICAvLyBPd24gZGVzdHJ1Y3RvciBtYXkgbm90IGJlIGNhbGxlZC4gS2VlcCBtZW1iZXJzIHRyaXZp
YWxseSBkZXN0cnVjdGlibGUuCisgICAgSlNDX1dBVENIUE9JTlRfRklFTEQoUGFja2VkQ2VsbFB0
cjxGdW5jdGlvblJhcmVEYXRhPiwgbV9yYXJlRGF0YSk7Cit9OworCitpbmxpbmUgV2F0Y2hwb2lu
dCogRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNo
cG9pbnQoKQoreworICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNBbGxvY2F0aW9uUHJvZmlsZUNsZWFy
aW5nV2F0Y2hwb2ludCgpKTsKKyAgICBtX2FsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBv
aW50ID0gc3RkOjptYWtlX3VuaXF1ZTxBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2lu
dD4odGhpcyk7CisgICAgcmV0dXJuIG1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9p
bnQuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNo
cG9pbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFRvU3RyaW5nQWRh
cHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmgKaW5kZXggNjBlZTgwMmM4YTE3YjI4YzcyOTIwNjBj
MGI5NjI3Nzg4MDE1ZDU1OC4uNDlmNGY3NTA1ZTBmN2NiZDFhMGQ5NWMxMThiZGM1ZGEzZTBiZWYz
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0VG9TdHJp
bmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oCkBA
IC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oIgog
I2luY2x1ZGUgIlBhY2tlZENlbGxQdHIuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5o
IgogI2luY2x1ZGUgIldhdGNocG9pbnQuaCIKIAogbmFtZXNwYWNlIEpTQyB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374912</attachid>
            <date>2019-07-25 15:19:14 -0700</date>
            <delta_ts>2019-07-25 15:37:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200139-20190725151914.patch</filename>
            <type>text/plain</type>
            <size>9559</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZGM5Yjc0NTg3MGMxMDQ0OTIyYjlmZjhjYThjODEwMDQ0ZWMxZjc4Li41OWNjZTBiYzlmYmQ5NjQx
Y2M0MjA5MTQ2YTc5MDQ1ZTlkNjJkODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOS0wNy0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEVuc3VyZSBQYWNrZWRDZWxsUHRyIG9ubHkgdGFrZXMgbm9uLWxh
cmdlLWFsbG9jYXRpb24gcG9pbnRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMDEzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFBhY2tlZENlbGxQdHIgd2lsbCBjb21wYWN0IGEgcG9pbnRlciBieSBs
ZXZlcmFnaW5nIHRoZSBmYWN0IHRoYXQgSlNDZWxsIHBvaW50ZXJzIGFyZSAxNmJ5dGUgYWxpZ25l
ZC4KKyAgICAgICAgQnV0IHRoaXMgZmFjdCBvbmx5IG1lZXRzIHdoZW4gdGhlIEpTQ2VsbCBpcyBu
b3QgbGFyZ2UgYWxsb2NhdGlvbi4gQ3VycmVudGx5LCB3ZSBhcmUgdXNpbmcgUGFja2VkQ2VsbFB0
cgorICAgICAgICBvbmx5IGZvciB0aGUgY2VsbCB0eXBlcyB3aGljaCBtZWV0IHRoZSBhYm92ZSBy
ZXF1aXJlbWVudC4gQnV0IHdlIHdvdWxkIGxpa2UgdG8gZW5zdXJlIHRoYXQgc3RhdGljYWxseS4K
KworICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSBhZGQgYWRkaXRpb25hbCBzdGF0aWMvcnVudGlt
ZSBhc3NlcnRpb25zIHRvIGVuc3VyZSB0aGlzIGludmFyaWFudC4gV2UgYWNjZXB0IGEgY2VsbAor
ICAgICAgICB0eXBlIG9mIGVpdGhlciAoMSkgaXQgaXMgImZpbmFsIiBhbm5vdGF0ZWQgYW5kIHNp
emVvZihUKSBpcyA8PSBNYXJrZWRTcGFjZTo6bGFyZ2VDdXRvZmYgb3IgKDIpIGl0CisgICAgICAg
IGlzIGFsbG9jYXRlZCBmcm9tIElzb1N1YnNwYWNlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9l
cyBub3QgY2hhbmdlIGFueSBiZWhhdmlvcnMuIEl0IGp1c3QgYWRkcyBleHRyYSBzdGF0aWMvcnVu
dGltZSBhc3NlcnRpb25zLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmg6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6c3Vic3BhY2VGb3IpOgorICAgICAgICAqIGJ5dGVjb2RlL0Nv
ZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5oOgorICAgICAgICAqIGJ5dGVjb2RlL0xMSW50
UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oOgorICAgICAgICAqIGRm
Zy9ERkdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDoKKyAgICAgICAgKiBoZWFwL0lzb1N1
YnNwYWNlLmg6CisgICAgICAgICogaGVhcC9QYWNrZWRDZWxsUHRyLmg6CisgICAgICAgIChKU0M6
OlBhY2tlZENlbGxQdHI6OlBhY2tlZENlbGxQdHIpOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rp
b25SYXJlRGF0YS5oOgorICAgICAgICAoSlNDOjpGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGVBbGxv
Y2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCk6CisgICAgICAgICogcnVudGltZS9PYmpl
Y3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oOgorCiAyMDE5LTA3LTI1ICBZ
dXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gTWFrZSB2
aXNpdENoaWxkcmVuIGltcGxlbWVudGF0aW9uIG1vcmUgaWRpb21hdGljCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggNjY0OGZjNWM3ZDZkMWE0NTc3NmVm
YThkNDEyZmI1ODBjMjA3NjU1Yi4uZGNmZDI1N2I0MmM2NjQ4MDUzY2NiZDk3OTVkYmVjNGIwNGMz
ZDQyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaApAQCAt
MTE0LDggKzExNCwxMyBAQCBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFn
cyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNEZXN0
cnVjdGlvbiA9IHRydWU7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSwgU3Vic3BhY2VBY2Nlc3M+
Ci0gICAgc3RhdGljIHZvaWQgc3Vic3BhY2VGb3IoVk0mKSB7IH0KKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCBTdWJzcGFjZUFjY2Vzcz4KKyAgICBzdGF0aWMgSXNvU3Vic3BhY2UqIHN1YnNwYWNl
Rm9yKFZNJikKKyAgICB7CisgICAgICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfc2FtZTxULCBD
b2RlQmxvY2s+Ojp2YWx1ZSk7CisgICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19iYXNlX29m
PENvZGVCbG9jaywgVD46OnZhbHVlKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQog
CiAgICAgREVDTEFSRV9JTkZPOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmgKaW5kZXgg
MzVhNDE2NGNkMjg2ZjgxYzMyY2MyNzhhYWQxZWRiNmVlZTExOGYyOS4uN2UyOGIzMDljMDc0NjEz
NzMwODFkMTFlNjA0NGJlODc2ODdmNDY1OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQu
aApAQCAtMjUsMTMgKzI1LDEyIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ29kZUJs
b2NrLmgiCiAjaW5jbHVkZSAiUGFja2VkQ2VsbFB0ci5oIgogI2luY2x1ZGUgIldhdGNocG9pbnQu
aCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIENvZGVCbG9jazsKLQogY2xhc3MgQ29kZUJs
b2NrSmV0dGlzb25pbmdXYXRjaHBvaW50IGZpbmFsIDogcHVibGljIFdhdGNocG9pbnQgewogcHVi
bGljOgogICAgIENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludChDb2RlQmxvY2sqIGNvZGVC
bG9jaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MTEludFBy
b3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9MTEludFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNo
cG9pbnQuaAppbmRleCBkZDU1N2NkOGZlNTFlMWMwNzQ1ZWQ5NTU5MjFjMWVlNzJjNjIzZWE3Li4y
MjBmZmYzZTNiZjU0MzQxZTk2MWM4MmRmOGM0ZThjOTAwMDczNGJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1
Y3R1cmVXYXRjaHBvaW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xM
SW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oCkBAIC0yNiw2ICsy
Niw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkJ5dGVjb2RlU3RydWN0cy5oIgorI2lu
Y2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9uLmgi
CiAjaW5jbHVkZSAiUGFja2VkQ2VsbFB0ci5oIgogI2luY2x1ZGUgIldhdGNocG9pbnQuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWRhcHRpdmVTdHJ1Y3R1cmVX
YXRjaHBvaW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludC5oCmluZGV4IDZhYjA3YjQwZDk2NTdiMTRlOWFlZTZhZDgxZWRkYmZmMWRm
YTM2MmQuLmIyOWY4OWYyNTQzYjBiZTFmOGIxNTk0ZmQ5ZTUxZThiZTE5ZTk4ZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBv
aW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBZGFwdGl2ZVN0cnVjdHVy
ZVdhdGNocG9pbnQuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKERGR19KSVQpCiAK
KyNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
bi5oIgogI2luY2x1ZGUgIlBhY2tlZENlbGxQdHIuaCIKICNpbmNsdWRlICJXYXRjaHBvaW50Lmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29TdWJzcGFjZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSXNvU3Vic3BhY2UuaAppbmRleCBlZmQ1Y2QzODI4
ZWJhZTRmZjRlZTYwOWQyMTIyNDI0M2I4YjRjM2I4Li5mNGQ5MjJiNGNiNmRiNWRjNThmODJiZDgz
MWNkOTVjOTIzZWU3NWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9J
c29TdWJzcGFjZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNl
LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkJsb2NrRGlyZWN0b3J5LmgiCiAjaW5j
bHVkZSAiU3Vic3BhY2UuaCIKKyNpbmNsdWRlICJTdWJzcGFjZUFjY2Vzcy5oIgogI2luY2x1ZGUg
PHd0Zi9TaW5nbHlMaW5rZWRMaXN0V2l0aFRhaWwuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC02
OSw1ICs3MCwxMCBAQCBBTFdBWVNfSU5MSU5FIEFsbG9jYXRvciBJc29TdWJzcGFjZTo6YWxsb2Nh
dG9yRm9yTm9uVmlydHVhbChzaXplX3Qgc2l6ZSwgQWxsb2NhdAogCiAjZGVmaW5lIElTT19TVUJT
UEFDRV9JTklUKGhlYXAsIGhlYXBDZWxsVHlwZSwgdHlwZSkgKCJJc29sYXRlZCAiICN0eXBlICIg
U3BhY2UiLCAoaGVhcCksIChoZWFwQ2VsbFR5cGUpLCBzaXplb2YodHlwZSkpCiAKK3RlbXBsYXRl
PHR5cGVuYW1lIFQ+CitzdHJ1Y3QgaXNBbGxvY2F0ZWRGcm9tSXNvU3Vic3BhY2UgeworICAgIHN0
YXRpYyBjb25zdGV4cHIgYm9vbCB2YWx1ZSA9IHN0ZDo6aXNfc2FtZTxzdGQ6Omludm9rZV9yZXN1
bHRfdDxkZWNsdHlwZShUOjp0ZW1wbGF0ZSBzdWJzcGFjZUZvcjxULCBTdWJzcGFjZUFjY2Vzczo6
T25NYWluVGhyZWFkPiksIFZNJj4sIElzb1N1YnNwYWNlKj46OnZhbHVlOworfTsKKwogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Bh
Y2tlZENlbGxQdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1BhY2tlZENlbGxQdHIu
aAppbmRleCBmZTA0YzBkM2M2MjkxNjY2MjYyOTNkMWI3MDdlNDhkOGRkZTg0N2QwLi4wNTQyNTAx
MjcxZDBhNTZiMTI0ZmVlYjg5MDIxM2JkMjlmMWQ1Njk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9QYWNrZWRDZWxsUHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvUGFja2VkQ2VsbFB0ci5oCkBAIC0yNSwxMiArMjUsMjMgQEAKIAogI3ByYWdtYSBv
bmNlCiAKKyNpbmNsdWRlICJJc29TdWJzcGFjZS5oIgogI2luY2x1ZGUgIk1hcmtlZEJsb2NrLmgi
CisjaW5jbHVkZSAiTWFya2VkU3BhY2UuaCIKICNpbmNsdWRlIDx3dGYvUGFja2VkLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotdXNpbmcgUGFja2VkQ2VsbFB0
ciA9IFBhY2tlZEFsaWduZWRQdHI8VCwgTWFya2VkQmxvY2s6OmF0b21TaXplPjsKK2NsYXNzIFBh
Y2tlZENlbGxQdHIgOiBwdWJsaWMgUGFja2VkQWxpZ25lZFB0cjxULCBNYXJrZWRCbG9jazo6YXRv
bVNpemU+IHsKK3B1YmxpYzoKKyAgICB1c2luZyBCYXNlID0gUGFja2VkQWxpZ25lZFB0cjxULCBN
YXJrZWRCbG9jazo6YXRvbVNpemU+OworICAgIFBhY2tlZENlbGxQdHIoVCogcG9pbnRlcikKKyAg
ICAgICAgOiBCYXNlKHBvaW50ZXIpCisgICAgeworICAgICAgICBzdGF0aWNfYXNzZXJ0KChzaXpl
b2YoVCkgPD0gTWFya2VkU3BhY2U6OmxhcmdlQ3V0b2ZmICYmIHN0ZDo6aXNfZmluYWw8VD46OnZh
bHVlKSB8fCBpc0FsbG9jYXRlZEZyb21Jc29TdWJzcGFjZTxUPjo6dmFsdWUsICJMYXJnZUFsbG9j
YXRpb24gZG9lcyBub3QgaGF2ZSAxNmJ5dGUgYWxpZ25tZW50Iik7CisgICAgICAgIEFTU0VSVCgh
cG9pbnRlciB8fCAhcG9pbnRlci0+aXNMYXJnZUFsbG9jYXRpb24oKSk7CisgICAgfQorfTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblJhcmVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmgKaW5kZXggYzVkNjg2YzlmOWUwOWFjNmQ2YjZiMGNhOGU2ZWM3MmJh
ZmE0MzliMy4uNDYyMzY0MWM1OThlM2ViYjVmYmE2YmMwMjM3MjY0ZTUwNTJmZDE3OSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaApAQCAt
MTA3LDI2ICsxMDcsOCBAQCBjbGFzcyBGdW5jdGlvblJhcmVEYXRhIGZpbmFsIDogcHVibGljIEpT
Q2VsbCB7CiAgICAgdm9pZCBzZXRIYXNSZWlmaWVkTmFtZSgpIHsgbV9oYXNSZWlmaWVkTmFtZSA9
IHRydWU7IH0KIAogICAgIGJvb2wgaGFzQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9p
bnQoKSBjb25zdCB7IHJldHVybiAhIW1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9p
bnQ7IH0KLSAgICBXYXRjaHBvaW50KiBjcmVhdGVBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0
Y2hwb2ludCgpCi0gICAgewotICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzQWxsb2NhdGlvblBy
b2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQoKSk7Ci0gICAgICAgIG1fYWxsb2NhdGlvblByb2ZpbGVD
bGVhcmluZ1dhdGNocG9pbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFsbG9jYXRpb25Qcm9maWxlQ2xl
YXJpbmdXYXRjaHBvaW50Pih0aGlzKTsKLSAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlvblByb2Zp
bGVDbGVhcmluZ1dhdGNocG9pbnQuZ2V0KCk7Ci0gICAgfQotCi0gICAgY2xhc3MgQWxsb2NhdGlv
blByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQgZmluYWwgOiBwdWJsaWMgV2F0Y2hwb2ludCB7Ci0g
ICAgcHVibGljOgotICAgICAgICBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludChG
dW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSkKLSAgICAgICAgICAgIDogV2F0Y2hwb2ludChXYXRj
aHBvaW50OjpUeXBlOjpGdW5jdGlvblJhcmVEYXRhQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZykK
LSAgICAgICAgICAgICwgbV9yYXJlRGF0YShyYXJlRGF0YSkKLSAgICAgICAgeyB9Ci0KLSAgICAg
ICAgdm9pZCBmaXJlSW50ZXJuYWwoVk0mLCBjb25zdCBGaXJlRGV0YWlsJik7Ci0KLSAgICBwcml2
YXRlOgotICAgICAgICAvLyBPd24gZGVzdHJ1Y3RvciBtYXkgbm90IGJlIGNhbGxlZC4gS2VlcCBt
ZW1iZXJzIHRyaXZpYWxseSBkZXN0cnVjdGlibGUuCi0gICAgICAgIEpTQ19XQVRDSFBPSU5UX0ZJ
RUxEKFBhY2tlZENlbGxQdHI8RnVuY3Rpb25SYXJlRGF0YT4sIG1fcmFyZURhdGEpOwotICAgIH07
CisgICAgV2F0Y2hwb2ludCogY3JlYXRlQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9p
bnQoKTsKKyAgICBjbGFzcyBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludDsKIAog
cHJvdGVjdGVkOgogICAgIEZ1bmN0aW9uUmFyZURhdGEoVk0mKTsKQEAgLTE1Nyw0ICsxMzksMjUg
QEAgY2xhc3MgRnVuY3Rpb25SYXJlRGF0YSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogICAgIGJv
b2wgbV9oYXNSZWlmaWVkTmFtZSB7IGZhbHNlIH07CiB9OwogCitjbGFzcyBGdW5jdGlvblJhcmVE
YXRhOjpBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCBmaW5hbCA6IHB1YmxpYyBX
YXRjaHBvaW50IHsKK3B1YmxpYzoKKyAgICBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hw
b2ludChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSkKKyAgICAgICAgOiBXYXRjaHBvaW50KFdh
dGNocG9pbnQ6OlR5cGU6OkZ1bmN0aW9uUmFyZURhdGFBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5n
KQorICAgICAgICAsIG1fcmFyZURhdGEocmFyZURhdGEpCisgICAgeyB9CisKKyAgICB2b2lkIGZp
cmVJbnRlcm5hbChWTSYsIGNvbnN0IEZpcmVEZXRhaWwmKTsKKworcHJpdmF0ZToKKyAgICAvLyBP
d24gZGVzdHJ1Y3RvciBtYXkgbm90IGJlIGNhbGxlZC4gS2VlcCBtZW1iZXJzIHRyaXZpYWxseSBk
ZXN0cnVjdGlibGUuCisgICAgSlNDX1dBVENIUE9JTlRfRklFTEQoUGFja2VkQ2VsbFB0cjxGdW5j
dGlvblJhcmVEYXRhPiwgbV9yYXJlRGF0YSk7Cit9OworCitpbmxpbmUgV2F0Y2hwb2ludCogRnVu
Y3Rpb25SYXJlRGF0YTo6Y3JlYXRlQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQo
KQoreworICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0
Y2hwb2ludCgpKTsKKyAgICBtX2FsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50ID0g
c3RkOjptYWtlX3VuaXF1ZTxBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludD4odGhp
cyk7CisgICAgcmV0dXJuIG1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQuZ2V0
KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFRvU3RyaW5nQWRhcHRpdmVT
dHJ1Y3R1cmVXYXRjaHBvaW50LmgKaW5kZXggNjBlZTgwMmM4YTE3YjI4YzcyOTIwNjBjMGI5NjI3
Nzg4MDE1ZDU1OC4uNDlmNGY3NTA1ZTBmN2NiZDFhMGQ5NWMxMThiZGM1ZGEzZTBiZWYzMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0VG9TdHJpbmdBZGFw
dGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oCkBAIC0yNyw2
ICsyNyw3IEBACiAKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oIgogI2luY2x1
ZGUgIlBhY2tlZENlbGxQdHIuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgogI2lu
Y2x1ZGUgIldhdGNocG9pbnQuaCIKIAogbmFtZXNwYWNlIEpTQyB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374915</attachid>
            <date>2019-07-25 15:37:46 -0700</date>
            <delta_ts>2019-07-25 15:41:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200139-20190725153745.patch</filename>
            <type>text/plain</type>
            <size>9288</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3ODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZGM5Yjc0NTg3MGMxMDQ0OTIyYjlmZjhjYThjODEwMDQ0ZWMxZjc4Li4yZWQ0YzMxMjQzZGFhMDA1
ODdhYjgxZjVhOGYwMWZkMTMwY2E0OWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMiBAQAorMjAxOS0wNy0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIEVuc3VyZSBQYWNrZWRDZWxsUHRyIG9ubHkgdGFrZXMgbm9uLWxh
cmdlLWFsbG9jYXRpb24gcG9pbnRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMDEzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFBhY2tlZENlbGxQdHIgd2lsbCBjb21wYWN0IGEgcG9pbnRlciBieSBs
ZXZlcmFnaW5nIHRoZSBmYWN0IHRoYXQgSlNDZWxsIHBvaW50ZXJzIGFyZSAxNmJ5dGUgYWxpZ25l
ZC4KKyAgICAgICAgQnV0IHRoaXMgZmFjdCBvbmx5IG1lZXRzIHdoZW4gdGhlIEpTQ2VsbCBpcyBu
b3QgbGFyZ2UgYWxsb2NhdGlvbi4gQ3VycmVudGx5LCB3ZSBhcmUgdXNpbmcgUGFja2VkQ2VsbFB0
cgorICAgICAgICBvbmx5IGZvciB0aGUgY2VsbCB0eXBlcyB3aGljaCBob2xkcyB0aGUgYWJvdmUg
cmVxdWlyZW1lbnQuIEJ1dCB3ZSB3b3VsZCBsaWtlIHRvIGVuc3VyZSB0aGF0IHN0YXRpY2FsbHku
CisKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgd2UgYWRkIGFkZGl0aW9uYWwgc3RhdGljL3J1bnRp
bWUgYXNzZXJ0aW9ucyB0byBlbnN1cmUgdGhpcyBpbnZhcmlhbnQuIFdlIGFjY2VwdCBhIGNlbGwK
KyAgICAgICAgdHlwZSBvZiBlaXRoZXIgKDEpIGl0IGlzICJmaW5hbCIgYW5ub3RhdGVkIGFuZCBz
aXplb2YoVCkgaXMgPD0gTWFya2VkU3BhY2U6OmxhcmdlQ3V0b2ZmIG9yICgyKSBpdAorICAgICAg
ICBpcyBhbGxvY2F0ZWQgZnJvbSBJc29TdWJzcGFjZS4KKworICAgICAgICBUaGlzIHBhdGNoIGRv
ZXMgbm90IGNoYW5nZSBhbnkgYmVoYXZpb3JzLiBJdCBqdXN0IGFkZHMgZXh0cmEgc3RhdGljL3J1
bnRpbWUgYXNzZXJ0aW9ucy4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OnN1YnNwYWNlRm9yKToKKyAgICAgICAgKiBieXRlY29kZS9D
b2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuaDoKKyAgICAgICAgKiBieXRlY29kZS9MTElu
dFByb3RvdHlwZUxvYWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDoKKyAgICAgICAgKiBk
ZmcvREZHQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50Lmg6CisgICAgICAgICogaGVhcC9Jc29T
dWJzcGFjZS5oOgorICAgICAgICAqIGhlYXAvUGFja2VkQ2VsbFB0ci5oOgorICAgICAgICAoSlND
OjpQYWNrZWRDZWxsUHRyOjpQYWNrZWRDZWxsUHRyKToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0
aW9uUmFyZURhdGEuaDoKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlQWxs
b2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQpOgorICAgICAgICAqIHJ1bnRpbWUvT2Jq
ZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaDoKKwogMjAxOS0wNy0yNSAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIE1ha2Ug
dmlzaXRDaGlsZHJlbiBpbXBsZW1lbnRhdGlvbiBtb3JlIGlkaW9tYXRpYwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDY2NDhmYzVjN2Q2ZDFhNDU3NzZl
ZmE4ZDQxMmZiNTgwYzIwNzY1NWIuLjg3MDY4YmE2NWRkODVjMjNmYmU0YTQ5MGU5NzRhNzI4MWYy
NTYwNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAg
LTExNSw3ICsxMTUsNyBAQCBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBz
dGF0aWMgY29uc3QgYm9vbCBuZWVkc0Rlc3RydWN0aW9uID0gdHJ1ZTsKIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lLCBTdWJzcGFjZUFjY2Vzcz4KLSAgICBzdGF0aWMgdm9pZCBzdWJzcGFjZUZvcihW
TSYpIHsgfQorICAgIHN0YXRpYyBJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoVk0mKSB7IHJldHVy
biBudWxscHRyOyB9CiAKICAgICBERUNMQVJFX0lORk87CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNo
cG9pbnQuaAppbmRleCAzNWE0MTY0Y2QyODZmODFjMzJjYzI3OGFhZDFlZGI2ZWVlMTE4ZjI5Li43
ZTI4YjMwOWMwNzQ2MTM3MzA4MWQxMWU2MDQ0YmU4NzY4N2Y0NjU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9ja0pldHRpc29u
aW5nV2F0Y2hwb2ludC5oCkBAIC0yNSwxMyArMjUsMTIgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNp
bmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJQYWNrZWRDZWxsUHRyLmgiCiAjaW5jbHVk
ZSAiV2F0Y2hwb2ludC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgQ29kZUJsb2NrOwot
CiBjbGFzcyBDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9pbnQgZmluYWwgOiBwdWJsaWMgV2F0
Y2hwb2ludCB7CiBwdWJsaWM6CiAgICAgQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50KENv
ZGVCbG9jayogY29kZUJsb2NrKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0xMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xMSW50UHJvdG90eXBlTG9hZEFkYXB0aXZl
U3RydWN0dXJlV2F0Y2hwb2ludC5oCmluZGV4IGRkNTU3Y2Q4ZmU1MWUxYzA3NDVlZDk1NTkyMWMx
ZWU3MmM2MjNlYTcuLjIyMGZmZjNlM2JmNTQzNDFlOTYxYzgyZGY4YzRlOGM5MDAwNzM0YmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9MTEludFByb3RvdHlwZUxv
YWRBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50
LmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQnl0ZWNvZGVT
dHJ1Y3RzLmgiCisjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVy
dHlDb25kaXRpb24uaCIKICNpbmNsdWRlICJQYWNrZWRDZWxsUHRyLmgiCiAjaW5jbHVkZSAiV2F0
Y2hwb2ludC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBZGFw
dGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmgKaW5kZXggNmFiMDdiNDBkOTY1N2IxNGU5YWVl
NmFkODFlZGRiZmYxZGZhMzYyZC4uYjI5Zjg5ZjI1NDNiMGJlMWY4YjE1OTRmZDllNTFlOGJlMTll
OThmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBZGFwdGl2ZVN0
cnVjdHVyZVdhdGNocG9pbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fk
YXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFC
TEUoREZHX0pJVCkKIAorI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIk9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uLmgiCiAjaW5jbHVkZSAiUGFja2VkQ2VsbFB0ci5oIgogI2luY2x1ZGUg
IldhdGNocG9pbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0lz
b1N1YnNwYWNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Jc29TdWJzcGFjZS5oCmlu
ZGV4IGVmZDVjZDM4MjhlYmFlNGZmNGVlNjA5ZDIxMjI0MjQzYjhiNGMzYjguLmY0ZDkyMmI0Y2I2
ZGI1ZGM1OGY4MmJkODMxY2Q5NWM5MjNlZTc1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0lzb1N1YnNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSXNvU3Vic3BhY2UuaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiQmxvY2tEaXJl
Y3RvcnkuaCIKICNpbmNsdWRlICJTdWJzcGFjZS5oIgorI2luY2x1ZGUgIlN1YnNwYWNlQWNjZXNz
LmgiCiAjaW5jbHVkZSA8d3RmL1NpbmdseUxpbmtlZExpc3RXaXRoVGFpbC5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTY5LDUgKzcwLDEwIEBAIEFMV0FZU19JTkxJTkUgQWxsb2NhdG9yIElzb1N1
YnNwYWNlOjphbGxvY2F0b3JGb3JOb25WaXJ0dWFsKHNpemVfdCBzaXplLCBBbGxvY2F0CiAKICNk
ZWZpbmUgSVNPX1NVQlNQQUNFX0lOSVQoaGVhcCwgaGVhcENlbGxUeXBlLCB0eXBlKSAoIklzb2xh
dGVkICIgI3R5cGUgIiBTcGFjZSIsIChoZWFwKSwgKGhlYXBDZWxsVHlwZSksIHNpemVvZih0eXBl
KSkKIAordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCBpc0FsbG9jYXRlZEZyb21Jc29TdWJz
cGFjZSB7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIHZhbHVlID0gc3RkOjppc19zYW1lPHN0
ZDo6aW52b2tlX3Jlc3VsdF90PGRlY2x0eXBlKFQ6OnRlbXBsYXRlIHN1YnNwYWNlRm9yPFQsIFN1
YnNwYWNlQWNjZXNzOjpPbk1haW5UaHJlYWQ+KSwgVk0mPiwgSXNvU3Vic3BhY2UqPjo6dmFsdWU7
Cit9OworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvUGFja2VkQ2VsbFB0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
UGFja2VkQ2VsbFB0ci5oCmluZGV4IGZlMDRjMGQzYzYyOTE2NjYyNjI5M2QxYjcwN2U0OGQ4ZGRl
ODQ3ZDAuLjA1NDI1MDEyNzFkMGE1NmIxMjRmZWViODkwMjEzYmQyOWYxZDU2OTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1BhY2tlZENlbGxQdHIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9QYWNrZWRDZWxsUHRyLmgKQEAgLTI1LDEyICsyNSwyMyBA
QAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIklzb1N1YnNwYWNlLmgiCiAjaW5jbHVkZSAi
TWFya2VkQmxvY2suaCIKKyNpbmNsdWRlICJNYXJrZWRTcGFjZS5oIgogI2luY2x1ZGUgPHd0Zi9Q
YWNrZWQuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci11c2lu
ZyBQYWNrZWRDZWxsUHRyID0gUGFja2VkQWxpZ25lZFB0cjxULCBNYXJrZWRCbG9jazo6YXRvbVNp
emU+OworY2xhc3MgUGFja2VkQ2VsbFB0ciA6IHB1YmxpYyBQYWNrZWRBbGlnbmVkUHRyPFQsIE1h
cmtlZEJsb2NrOjphdG9tU2l6ZT4geworcHVibGljOgorICAgIHVzaW5nIEJhc2UgPSBQYWNrZWRB
bGlnbmVkUHRyPFQsIE1hcmtlZEJsb2NrOjphdG9tU2l6ZT47CisgICAgUGFja2VkQ2VsbFB0cihU
KiBwb2ludGVyKQorICAgICAgICA6IEJhc2UocG9pbnRlcikKKyAgICB7CisgICAgICAgIHN0YXRp
Y19hc3NlcnQoKHNpemVvZihUKSA8PSBNYXJrZWRTcGFjZTo6bGFyZ2VDdXRvZmYgJiYgc3RkOjpp
c19maW5hbDxUPjo6dmFsdWUpIHx8IGlzQWxsb2NhdGVkRnJvbUlzb1N1YnNwYWNlPFQ+Ojp2YWx1
ZSwgIkxhcmdlQWxsb2NhdGlvbiBkb2VzIG5vdCBoYXZlIDE2Ynl0ZSBhbGlnbm1lbnQiKTsKKyAg
ICAgICAgQVNTRVJUKCFwb2ludGVyIHx8ICFwb2ludGVyLT5pc0xhcmdlQWxsb2NhdGlvbigpKTsK
KyAgICB9Cit9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAppbmRleCBjNWQ2ODZjOWY5ZTA5YWM2ZDZi
NmIwY2E4ZTZlYzcyYmFmYTQzOWIzLi40NjIzNjQxYzU5OGUzZWJiNWZiYTZiYzAyMzcyNjRlNTA1
MmZkMTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25S
YXJlRGF0YS5oCkBAIC0xMDcsMjYgKzEwNyw4IEBAIGNsYXNzIEZ1bmN0aW9uUmFyZURhdGEgZmlu
YWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICB2b2lkIHNldEhhc1JlaWZpZWROYW1lKCkgeyBtX2hh
c1JlaWZpZWROYW1lID0gdHJ1ZTsgfQogCiAgICAgYm9vbCBoYXNBbGxvY2F0aW9uUHJvZmlsZUNs
ZWFyaW5nV2F0Y2hwb2ludCgpIGNvbnN0IHsgcmV0dXJuICEhbV9hbGxvY2F0aW9uUHJvZmlsZUNs
ZWFyaW5nV2F0Y2hwb2ludDsgfQotICAgIFdhdGNocG9pbnQqIGNyZWF0ZUFsbG9jYXRpb25Qcm9m
aWxlQ2xlYXJpbmdXYXRjaHBvaW50KCkKLSAgICB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKCFo
YXNBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCgpKTsKLSAgICAgICAgbV9hbGxv
Y2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCA9IHN0ZDo6bWFrZV91bmlxdWU8QWxsb2Nh
dGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQ+KHRoaXMpOwotICAgICAgICByZXR1cm4gbV9h
bGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludC5nZXQoKTsKLSAgICB9Ci0KLSAgICBj
bGFzcyBBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCBmaW5hbCA6IHB1YmxpYyBX
YXRjaHBvaW50IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIEFsbG9jYXRpb25Qcm9maWxlQ2xlYXJp
bmdXYXRjaHBvaW50KEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhKQotICAgICAgICAgICAgOiBX
YXRjaHBvaW50KFdhdGNocG9pbnQ6OlR5cGU6OkZ1bmN0aW9uUmFyZURhdGFBbGxvY2F0aW9uUHJv
ZmlsZUNsZWFyaW5nKQotICAgICAgICAgICAgLCBtX3JhcmVEYXRhKHJhcmVEYXRhKQotICAgICAg
ICB7IH0KLQotICAgICAgICB2b2lkIGZpcmVJbnRlcm5hbChWTSYsIGNvbnN0IEZpcmVEZXRhaWwm
KTsKLQotICAgIHByaXZhdGU6Ci0gICAgICAgIC8vIE93biBkZXN0cnVjdG9yIG1heSBub3QgYmUg
Y2FsbGVkLiBLZWVwIG1lbWJlcnMgdHJpdmlhbGx5IGRlc3RydWN0aWJsZS4KLSAgICAgICAgSlND
X1dBVENIUE9JTlRfRklFTEQoUGFja2VkQ2VsbFB0cjxGdW5jdGlvblJhcmVEYXRhPiwgbV9yYXJl
RGF0YSk7Ci0gICAgfTsKKyAgICBXYXRjaHBvaW50KiBjcmVhdGVBbGxvY2F0aW9uUHJvZmlsZUNs
ZWFyaW5nV2F0Y2hwb2ludCgpOworICAgIGNsYXNzIEFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdX
YXRjaHBvaW50OwogCiBwcm90ZWN0ZWQ6CiAgICAgRnVuY3Rpb25SYXJlRGF0YShWTSYpOwpAQCAt
MTU3LDQgKzEzOSwyNSBAQCBjbGFzcyBGdW5jdGlvblJhcmVEYXRhIGZpbmFsIDogcHVibGljIEpT
Q2VsbCB7CiAgICAgYm9vbCBtX2hhc1JlaWZpZWROYW1lIHsgZmFsc2UgfTsKIH07CiAKK2NsYXNz
IEZ1bmN0aW9uUmFyZURhdGE6OkFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50IGZp
bmFsIDogcHVibGljIFdhdGNocG9pbnQgeworcHVibGljOgorICAgIEFsbG9jYXRpb25Qcm9maWxl
Q2xlYXJpbmdXYXRjaHBvaW50KEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhKQorICAgICAgICA6
IFdhdGNocG9pbnQoV2F0Y2hwb2ludDo6VHlwZTo6RnVuY3Rpb25SYXJlRGF0YUFsbG9jYXRpb25Q
cm9maWxlQ2xlYXJpbmcpCisgICAgICAgICwgbV9yYXJlRGF0YShyYXJlRGF0YSkKKyAgICB7IH0K
KworICAgIHZvaWQgZmlyZUludGVybmFsKFZNJiwgY29uc3QgRmlyZURldGFpbCYpOworCitwcml2
YXRlOgorICAgIC8vIE93biBkZXN0cnVjdG9yIG1heSBub3QgYmUgY2FsbGVkLiBLZWVwIG1lbWJl
cnMgdHJpdmlhbGx5IGRlc3RydWN0aWJsZS4KKyAgICBKU0NfV0FUQ0hQT0lOVF9GSUVMRChQYWNr
ZWRDZWxsUHRyPEZ1bmN0aW9uUmFyZURhdGE+LCBtX3JhcmVEYXRhKTsKK307CisKK2lubGluZSBX
YXRjaHBvaW50KiBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGVBbGxvY2F0aW9uUHJvZmlsZUNsZWFy
aW5nV2F0Y2hwb2ludCgpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoIWhhc0FsbG9jYXRpb25Qcm9m
aWxlQ2xlYXJpbmdXYXRjaHBvaW50KCkpOworICAgIG1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmlu
Z1dhdGNocG9pbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdX
YXRjaHBvaW50Pih0aGlzKTsKKyAgICByZXR1cm4gbV9hbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5n
V2F0Y2hwb2ludC5nZXQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0VG9T
dHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQuaAppbmRleCA2MGVlODAyYzhhMTdiMjhj
NzI5MjA2MGMwYjk2Mjc3ODgwMTVkNTU4Li40OWY0Zjc1MDVlMGY3Y2JkMWEwZDk1YzExOGJkYzVk
YTNlMGJlZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmpl
Y3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBv
aW50LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0
aW9uLmgiCiAjaW5jbHVkZSAiUGFja2VkQ2VsbFB0ci5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZVJh
cmVEYXRhLmgiCiAjaW5jbHVkZSAiV2F0Y2hwb2ludC5oIgogCiBuYW1lc3BhY2UgSlNDIHsK
</data>
<flag name="review"
          id="390699"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>