<?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>162892</bug_id>
          
          <creation_ts>2016-10-04 01:49:42 -0700</creation_ts>
          <short_desc>[Fetch API] Use ReadableStream pull to transfer binary data to stream when application needs it</short_desc>
          <delta_ts>2016-10-06 02:46:25 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1236112</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-04 01:49:42 -0700</bug_when>
    <thetext>When stream is not pulling data, it might be best to just store it in WebCore.
If there is a need for it, knowing how much data is stored in WebCore could allow us to request the network process to stop sending us data until we actually need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236113</commentid>
    <comment_count>1</comment_count>
      <attachid>290584</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-04 02:02:53 -0700</bug_when>
    <thetext>Created attachment 290584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236179</commentid>
    <comment_count>2</comment_count>
      <attachid>290584</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-10-04 07:57:05 -0700</bug_when>
    <thetext>Comment on attachment 290584
Patch

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

&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:290
&gt; +    ASSERT(m_readableStreamSource);

This has two call sites, one of which checks m_readableStreamSource right before calling.  Would it hurt anything to move the check to here?

&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:300
&gt; +        if (!m_readableStreamSource-&gt;enqueue(body().consumer().takeAsArrayBuffer())) {

Should we assert m_readableStreamSource at the beginning of this function, or just if body.consumer.hasData?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236182</commentid>
    <comment_count>3</comment_count>
      <attachid>290584</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-04 08:05:05 -0700</bug_when>
    <thetext>Comment on attachment 290584
Patch

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

&gt;&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:290
&gt;&gt; +    ASSERT(m_readableStreamSource);
&gt; 
&gt; This has two call sites, one of which checks m_readableStreamSource right before calling.  Would it hurt anything to move the check to here?

Yeah, not sure whether this is assert is all that useful.

This assert is just there in case we use closeStream() somewhere else in the future.
It does not hurt to have it and might help future debugging.
That said, closeStream() is a private method.

&gt;&gt; Source/WebCore/Modules/fetch/FetchResponse.cpp:300
&gt;&gt; +        if (!m_readableStreamSource-&gt;enqueue(body().consumer().takeAsArrayBuffer())) {
&gt; 
&gt; Should we assert m_readableStreamSource at the beginning of this function, or just if body.consumer.hasData?

Right, I&apos;ll add an assert at the beginning of this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236966</commentid>
    <comment_count>4</comment_count>
      <attachid>290798</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-06 02:12:27 -0700</bug_when>
    <thetext>Created attachment 290798
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236974</commentid>
    <comment_count>5</comment_count>
      <attachid>290798</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 02:46:22 -0700</bug_when>
    <thetext>Comment on attachment 290798
Patch for landing

Clearing flags on attachment: 290798

Committed r206857: &lt;http://trac.webkit.org/changeset/206857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236975</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 02:46:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290584</attachid>
            <date>2016-10-04 02:02:53 -0700</date>
            <delta_ts>2016-10-06 02:12:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162892-20161004105942.patch</filename>
            <type>text/plain</type>
            <size>9043</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVhYTVmYWNjZmY5ZThl
M2VjZDc4MzEyNDZmMGJlYTk3ZjlmMDFhZC4uMTU4MjFhODQ4NThhMGU4OGM0N2E5MzJlOWU4NzIy
ZDQyN2Y1MzAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE2LTEwLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBVc2Ug
UmVhZGFibGVTdHJlYW0gcHVsbCB0byB0cmFuc2ZlciBiaW5hcnkgZGF0YSB0byBzdHJlYW0gd2hl
biBhcHBsaWNhdGlvbiBuZWVkcyBpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYyODkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICBCZWZv
cmUgdGhpcyBwYXRjaCwgRmV0Y2hSZXNwb25zZSB3YXMgbmV2ZXIgcmVzb2x2aW5nIHRoZSBzdGFy
dCBwcm9taXNlLgorICAgICAgICBUaGlzIHdheSwgaXQgY291bGQgZW5xdWV1ZSBkYXRhLCBlcnJv
ciBvciBjbG9zZSB0aGUgc3RyZWFtIHdoZW5ldmVyIGRlc2lyZWQuCisKKyAgICAgICAgV2l0aCB0
aGlzIHBhdGNoLCBGZXRjaFJlc3BvbnNlIHdpbGwgZmVlZCB0aGUgc3RyZWFtIHdoZW4gYmVpbmcg
YXNrZWQgdG8uCisgICAgICAgIFRoaXMgYWxsb3dzIGtlZXBpbmcgdGhlIGRhdGEgaW4gV2ViQ29y
ZSB1bnRpbCB0aGUgYXBwbGljYXRpb24gbmVlZHMgaXQuCisgICAgICAgIFRoaXMgaXMgb25seSBp
bXBsZW1lbnRlZCBmb3IgbmV0d29yayBkYXRhLgorICAgICAgICBGb3Igb3RoZXIgZGF0YSBvd25l
ZCBieSByZXNwb25zZSAoYmxvYiwgdGV4dC4uLiksIGRhdGEgd2lsbCBiZSBlbnF1ZXVlZCBsaWtl
IHByZXZpb3VzbHkgYXMgZmFzdCBhcyBwb3NzaWJsZS4KKworICAgICAgICBOb3RlIHRoYXQgRmV0
Y2hSZXNwb25zZSBjYW4gZW5xdWV1ZS9lcnJvci9jbG9zZSB0aGUgc3RyZWFtIGF0IGFueSB0aW1l
IHNpbmNlIEpTRmV0Y2hSZXNwb25zZSBoYXMgYSByZWZlcmVuY2UgdG8gdGhlIHN0cmVhbS4KKyAg
ICAgICAgQW5kIHRoZSBzdHJlYW0gaGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBjb250cm9sbGVyLgor
CisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRyYW5zZmVyIGJpbmFyeSBjaHVua3MgdG8gUmVhZGFi
bGVTdHJlYW0gb25seSB3aGVuIG5lZWRlZCwgV2ViQ29yZSBpcyBub3cgYXdhcmUgb2YgdGhlIGRh
dGEKKyAgICAgICAgc3RvcmVkIGluIHRoZSByZXNwb25zZSwgd2hpY2ggbWF5IGFsbG93IGFwcGx5
aW5nIGJhY2twcmVzc3VyZSB0byB0aGUgbmV0d29yayBzb3VyY2UgaW4gdGhlIGZ1dHVyZS4KKwor
ICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRTdWNjZWVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkZldGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKTogRW5xdWV1
aW5nIG9ubHkgaWYgc3RyZWFtIGlzIHB1bGxpbmcuCisgICAgICAgIE90aGVyd2lzZSwgc3Rvcmlu
ZyBpbiBGZXRjaEJvZHlDb25zdW1lci4gSWYgc3RyZWFtIGlzIHB1bGxpbmcsIHdlIGVucXVldWUg
Ym90aCBidWZmZXJlZCBkYXRhIGFuZCByZWNlaXZlZCBjaHVuay4KKyAgICAgICAgKFdlYkNvcmU6
OkZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5QXNTdHJlYW0pOiBSZXNvbHZpbmcgcHVsbCBwcm9t
aXNlIGlmIHdlIGVucXVldWVkIHNvbWUgYnVmZmVyZWQgZGF0YS4KKyAgICAgICAgKFdlYkNvcmU6
OkZldGNoUmVzcG9uc2U6OmNsb3NlU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVz
cG9uc2U6OmZlZWRTdHJlYW0pOiBJZiB3ZSBoYXZlIHNvbWUgYnVmZmVyZWQgZGF0YSwgd2UgZW5x
dWV1ZSBpdC4gSWYgdGhlcmUgaXMgbm8gbG9hZGVyLCB0aGUgc3RyZWFtIGNhbiBiZSBjbG9zZWQu
CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmg6CisgICAgICAgICogTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZl
dGNoUmVzcG9uc2VTb3VyY2U6OmRvUHVsbCk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3Bv
bnNlU291cmNlOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlc3BvbnNlU291cmNl
OjplcnJvcik6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlU291cmNlLmg6
CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbVNvdXJjZTo6aXNQdWxsaW5nKTogUmVuYW1lZCBm
cm9tIGlzU3RhcnRpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbVNvdXJjZTo6
aXNTdGFydGluZyk6IERlbGV0ZWQuCisKIDIwMTYtMTAtMDMgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTGlzdEl0ZW1zXSBSZW5kZXIgdHJlZSBzaG91bGQgYmUg
YWxsIGNsZWFuIGJ5IHRoZSBlbmQgb2YgRnJhbWVWaWV3OjpsYXlvdXQoKS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCmluZGV4IDMzM2VkZTEwOGJk
YjY1YzUzMzUxNGQ4YzA4ZWIwOWM4YzZjNmJkMzkuLjU1YThjYmZkMDJjNzI1MWU4ZjhiZWNhZGU5
ODg3Y2M3YWFkMTc1NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmNwcApAQCAtMTI4LDEyICsxMjgsOCBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OkJv
ZHlMb2FkZXI6OmRpZFN1Y2NlZWQoKQogICAgIG1fcmVzcG9uc2UubV9ib2R5LT5sb2FkaW5nU3Vj
Y2VlZGVkKCk7CiAKICNpZiBFTkFCTEUoUkVBREFCTEVfU1RSRUFNX0FQSSkKLSAgICBpZiAobV9y
ZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFtU291cmNlICYmICFtX3Jlc3BvbnNlLmJvZHkoKS5jb25z
dW1lcigpLmhhc0RhdGEoKSkgewotICAgICAgICAvLyBXZSBvbmx5IGNsb3NlIHRoZSBzdHJlYW0g
aWYgRmV0Y2hCb2R5IGFscmVhZHkgZW5xdWV1ZWQgYWxsIGRhdGEuCi0gICAgICAgIC8vIE90aGVy
d2lzZSwgRmV0Y2hCb2R5IHdpbGwgY2xvc2UgdGhlIHN0cmVhbSBhZnRlciBlbnF1ZXVpbmcgdGhl
IGRhdGEuCi0gICAgICAgIG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+Y2xvc2Uo
KTsKLSAgICAgICAgbV9yZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFtU291cmNlID0gbnVsbHB0cjsK
LSAgICB9CisgICAgaWYgKG1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJjZSAmJiAhbV9y
ZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS5oYXNEYXRhKCkpCisgICAgICAgIG1fcmVzcG9uc2Uu
Y2xvc2VTdHJlYW0oKTsKICNlbmRpZgogCiAgICAgaWYgKG1fbG9hZGVyLT5pc1N0YXJ0ZWQoKSkK
QEAgLTE4NCw5ICsxODAsMjIgQEAgdm9pZCBGZXRjaFJlc3BvbnNlOjpCb2R5TG9hZGVyOjpkaWRS
ZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3Qgc2l6ZSkKIHsKICNpZiBFTkFCTEUo
UkVBREFCTEVfU1RSRUFNX0FQSSkKICAgICBBU1NFUlQobV9yZXNwb25zZS5tX3JlYWRhYmxlU3Ry
ZWFtU291cmNlKTsKKyAgICBhdXRvJiBzb3VyY2UgPSAqbV9yZXNwb25zZS5tX3JlYWRhYmxlU3Ry
ZWFtU291cmNlOworCisgICAgaWYgKCFzb3VyY2UuaXNQdWxsaW5nKCkpIHsKKyAgICAgICAgbV9y
ZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS5hcHBlbmQoZGF0YSwgc2l6ZSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CiAKLSAgICBpZiAoIW1fcmVzcG9uc2UubV9yZWFkYWJsZVN0cmVhbVNvdXJj
ZS0+ZW5xdWV1ZShBcnJheUJ1ZmZlcjo6dHJ5Q3JlYXRlKGRhdGEsIHNpemUpKSkKKyAgICBpZiAo
bV9yZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS5oYXNEYXRhKCkgJiYgIXNvdXJjZS5lbnF1ZXVl
KG1fcmVzcG9uc2UuYm9keSgpLmNvbnN1bWVyKCkudGFrZUFzQXJyYXlCdWZmZXIoKSkpIHsKICAg
ICAgICAgc3RvcCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICghc291cmNlLmVu
cXVldWUoQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShkYXRhLCBzaXplKSkpIHsKKyAgICAgICAgc3Rv
cCgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHNvdXJjZS5yZXNvbHZlUHVsbFByb21p
c2UoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGRhdGEpOwogICAgIFVOVVNFRF9QQVJBTShz
aXplKTsKQEAgLTI1OSw3ICsyNjgsNyBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OmNvbnN1bWVCb2R5
QXNTdHJlYW0oKQogICAgIG1faXNEaXN0dXJiZWQgPSB0cnVlOwogICAgIGlmICghaXNMb2FkaW5n
KCkpIHsKICAgICAgICAgYm9keSgpLmNvbnN1bWVBc1N0cmVhbSgqdGhpcywgKm1fcmVhZGFibGVT
dHJlYW1Tb3VyY2UpOwotICAgICAgICBpZiAoIW1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPmlzU3Rh
cnRpbmcoKSkKKyAgICAgICAgaWYgKCFtX3JlYWRhYmxlU3RyZWFtU291cmNlLT5pc1B1bGxpbmco
KSkKICAgICAgICAgICAgIG1fcmVhZGFibGVTdHJlYW1Tb3VyY2UgPSBudWxscHRyOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtMjY4LDEyICsyNzcsNDAgQEAgdm9pZCBGZXRjaFJlc3BvbnNl
Ojpjb25zdW1lQm9keUFzU3RyZWFtKCkKIAogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGEg
PSBtX2JvZHlMb2FkZXItPnN0YXJ0U3RyZWFtaW5nKCk7CiAgICAgaWYgKGRhdGEpIHsKLSAgICAg
ICAgLy8gRklYTUU6IFdlIG1pZ2h0IHdhbnQgdG8gZW5xdWV1ZSBlYWNoIGludGVybmFsIFNoYXJl
ZEJ1ZmZlciBjaHVuayBhcyBhbiBpbmRpdmlkdWFsIEFycmF5QnVmZmVyLgotICAgICAgICBpZiAo
IW1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPmVucXVldWUoZGF0YS0+Y3JlYXRlQXJyYXlCdWZmZXIo
KSkpCisgICAgICAgIGlmICghbV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+ZW5xdWV1ZShkYXRhLT5j
cmVhdGVBcnJheUJ1ZmZlcigpKSkgewogICAgICAgICAgICAgc3RvcCgpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIG1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPnJlc29s
dmVQdWxsUHJvbWlzZSgpOwogICAgIH0KIH0KIAordm9pZCBGZXRjaFJlc3BvbnNlOjpjbG9zZVN0
cmVhbSgpCit7CisgICAgQVNTRVJUKG1fcmVhZGFibGVTdHJlYW1Tb3VyY2UpOworICAgIG1fcmVh
ZGFibGVTdHJlYW1Tb3VyY2UtPmNsb3NlKCk7CisgICAgbV9yZWFkYWJsZVN0cmVhbVNvdXJjZSA9
IG51bGxwdHI7Cit9CisKK3ZvaWQgRmV0Y2hSZXNwb25zZTo6ZmVlZFN0cmVhbSgpCit7CisgICAg
Ym9vbCBzaG91bGRDbG9zZVN0cmVhbSA9ICFtX2JvZHlMb2FkZXI7CisKKyAgICBpZiAoYm9keSgp
LmNvbnN1bWVyKCkuaGFzRGF0YSgpKSB7CisgICAgICAgIGlmICghbV9yZWFkYWJsZVN0cmVhbVNv
dXJjZS0+ZW5xdWV1ZShib2R5KCkuY29uc3VtZXIoKS50YWtlQXNBcnJheUJ1ZmZlcigpKSkgewor
ICAgICAgICAgICAgc3RvcCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIGlmICghc2hvdWxkQ2xvc2VTdHJlYW0pIHsKKyAgICAgICAgICAgIG1fcmVhZGFibGVTdHJl
YW1Tb3VyY2UtPnJlc29sdmVQdWxsUHJvbWlzZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgfSBlbHNlIGlmICghc2hvdWxkQ2xvc2VTdHJlYW0pCisgICAgICAgIHJldHVy
bjsKKworICAgIGNsb3NlU3RyZWFtKCk7Cit9CisKIFJlYWRhYmxlU3RyZWFtU291cmNlKiBGZXRj
aFJlc3BvbnNlOjpjcmVhdGVSZWFkYWJsZVN0cmVhbVNvdXJjZSgpCiB7CiAgICAgQVNTRVJUKCFt
X3JlYWRhYmxlU3RyZWFtU291cmNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaFJlc3BvbnNlLmgKaW5kZXggNTk2YmIzZTcyMDk4YmQ0MTUzMjIwYThiZjgzYTY2NTcwMDU5
Zjk1Yy4uNWUwOTYyYWE3YWNiMTI1NzU5MjVjZjljNTQzODMzMjhiZWI4ZGFlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTgyLDYgKzgyLDcg
QEAgcHVibGljOgogI2lmIEVOQUJMRShSRUFEQUJMRV9TVFJFQU1fQVBJKQogICAgIFJlYWRhYmxl
U3RyZWFtU291cmNlKiBjcmVhdGVSZWFkYWJsZVN0cmVhbVNvdXJjZSgpOwogICAgIHZvaWQgY29u
c3VtZUJvZHlBc1N0cmVhbSgpOworICAgIHZvaWQgZmVlZFN0cmVhbSgpOwogICAgIHZvaWQgY2Fu
Y2VsKCk7CiAjZW5kaWYKICAgICBib29sIGlzTG9hZGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9i
b2R5TG9hZGVyOyB9CkBAIC05Niw2ICs5NywxMCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIq
IGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJMRShSRUFEQUJM
RV9TVFJFQU1fQVBJKQorICAgIHZvaWQgY2xvc2VTdHJlYW0oKTsKKyNlbmRpZgorCiAgICAgY2xh
c3MgQm9keUxvYWRlciBmaW5hbCA6IHB1YmxpYyBGZXRjaExvYWRlckNsaWVudCB7CiAgICAgcHVi
bGljOgogICAgICAgICBCb2R5TG9hZGVyKEZldGNoUmVzcG9uc2UmLCBGZXRjaFByb21pc2UmJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2VT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlU291
cmNlLmNwcAppbmRleCAwODdiYjhmODM2Y2Q3ZDkzMDc1NDA1OWI5MmQ3YzQ3MTNkN2U2NzE1Li41
NTM0ZWNkNTg5MTZiMDhjMzNjZTRlMjc2MjUxZjQxZjI1M2I2MmE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2VTb3VyY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZVNvdXJjZS5jcHAKQEAgLTYy
LDcgKzYyLDcgQEAgdm9pZCBGZXRjaFJlc3BvbnNlU291cmNlOjpkb1N0YXJ0KCkKIAogdm9pZCBG
ZXRjaFJlc3BvbnNlU291cmNlOjpkb1B1bGwoKQogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIG1fcmVzcG9uc2UuZmVlZFN0cmVhbSgpOwogfQogCiB2b2lkIEZldGNoUmVzcG9uc2VT
b3VyY2U6OmRvQ2FuY2VsKCkKQEAgLTczLDEzICs3MywxMSBAQCB2b2lkIEZldGNoUmVzcG9uc2VT
b3VyY2U6OmRvQ2FuY2VsKCkKIAogdm9pZCBGZXRjaFJlc3BvbnNlU291cmNlOjpjbG9zZSgpCiB7
Ci0gICAgQVNTRVJUKGlzU3RhcnRpbmcoKSk7CiAgICAgY29udHJvbGxlcigpLmNsb3NlKCk7CiAg
ICAgY2xlYW4oKTsKIH0KIHZvaWQgRmV0Y2hSZXNwb25zZVNvdXJjZTo6ZXJyb3IoY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKIHsKLSAgICBBU1NFUlQoaXNTdGFydGluZygpKTsKICAgICBjb250cm9sbGVy
KCkuZXJyb3IodmFsdWUpOwogICAgIGNsZWFuKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZVNvdXJjZS5oCmluZGV4IDZkYTZjYzcyODY5ZDRk
MWZhYTVhOTJjMDBjMWUwZWRjODQ0MjBjMDAuLmJhNDQyNGVjMzE0Mjc4NGYzNTJjMmZhZGQyNWE1
M2Y5MjJhN2ViMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZVNvdXJjZS5oCkBAIC01MSw2ICs1MSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlz
Q2FuY2VsbGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNDYW5jZWxsaW5nOyB9CiAgICAgYm9vbCBp
c1JlYWRhYmxlU3RyZWFtTG9ja2VkKCkgY29uc3Q7CiAKKyAgICB2b2lkIHJlc29sdmVQdWxsUHJv
bWlzZSgpIHsgcHVsbEZpbmlzaGVkKCk7IH0KKwogcHJpdmF0ZToKICAgICB2b2lkIGRvU3RhcnQo
KSBmaW5hbDsKICAgICB2b2lkIGRvUHVsbCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaAppbmRleCAxYjgzZjNj
ZDdkNTVjZjc3MzQzNGZiMWM1ZTdlMjE3Y2UxOTQxOWFiLi42MTdiMjdiN2Q3NmIxMDdkMmE2NDAy
NmY2ZjQzNmNlODU4YmY4ZGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBwdWxsKFByb21pc2UmJik7CiAgICAgdm9pZCBjYW5jZWwoSlNDOjpKU1ZhbHVl
KTsKIAotICAgIGJvb2wgaXNTdGFydGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9wcm9taXNlOyB9
CisgICAgYm9vbCBpc1B1bGxpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fcHJvbWlzZTsgfQogCiBw
cm90ZWN0ZWQ6CiAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYgY29udHJvbGxl
cigpIHsgcmV0dXJuIG1fY29udHJvbGxlci52YWx1ZSgpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290798</attachid>
            <date>2016-10-06 02:12:27 -0700</date>
            <delta_ts>2016-10-06 02:46:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162892-20161006110911.patch</filename>
            <type>text/plain</type>
            <size>9028</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmMxYWFmMzEyNzM3MDMy
ZjZlMzI4NmZiMmZiMGVjY2Y5YWJhZTI1ZS4uZWM5NTAzMTE1MDI3OGVjNTMxZmNhZjNkNTUyODBh
ZTY0NTAxNTA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE2LTEwLTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRmV0Y2ggQVBJXSBVc2Ug
UmVhZGFibGVTdHJlYW0gcHVsbCB0byB0cmFuc2ZlciBiaW5hcnkgZGF0YSB0byBzdHJlYW0gd2hl
biBhcHBsaWNhdGlvbiBuZWVkcyBpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTYyODkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3Rl
bnNlbi4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgIEJl
Zm9yZSB0aGlzIHBhdGNoLCBGZXRjaFJlc3BvbnNlIHdhcyBuZXZlciByZXNvbHZpbmcgdGhlIHN0
YXJ0IHByb21pc2UuCisgICAgICAgIFRoaXMgd2F5LCBpdCBjb3VsZCBlbnF1ZXVlIGRhdGEsIGVy
cm9yIG9yIGNsb3NlIHRoZSBzdHJlYW0gd2hlbmV2ZXIgZGVzaXJlZC4KKworICAgICAgICBXaXRo
IHRoaXMgcGF0Y2gsIEZldGNoUmVzcG9uc2Ugd2lsbCBmZWVkIHRoZSBzdHJlYW0gd2hlbiBiZWlu
ZyBhc2tlZCB0by4KKyAgICAgICAgVGhpcyBhbGxvd3Mga2VlcGluZyB0aGUgZGF0YSBpbiBXZWJD
b3JlIHVudGlsIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyBpdC4KKyAgICAgICAgVGhpcyBpcyBvbmx5
IGltcGxlbWVudGVkIGZvciBuZXR3b3JrIGRhdGEuCisgICAgICAgIEZvciBvdGhlciBkYXRhIG93
bmVkIGJ5IHJlc3BvbnNlIChibG9iLCB0ZXh0Li4uKSwgZGF0YSB3aWxsIGJlIGVucXVldWVkIGxp
a2UgcHJldmlvdXNseSBhcyBmYXN0IGFzIHBvc3NpYmxlLgorCisgICAgICAgIE5vdGUgdGhhdCBG
ZXRjaFJlc3BvbnNlIGNhbiBlbnF1ZXVlL2Vycm9yL2Nsb3NlIHRoZSBzdHJlYW0gYXQgYW55IHRp
bWUgc2luY2UgSlNGZXRjaFJlc3BvbnNlIGhhcyBhIHJlZmVyZW5jZSB0byB0aGUgc3RyZWFtLgor
ICAgICAgICBBbmQgdGhlIHN0cmVhbSBoYXMgYSByZWZlcmVuY2UgdG8gdGhlIGNvbnRyb2xsZXIu
CisKKyAgICAgICAgSW4gYWRkaXRpb24gdG8gdHJhbnNmZXIgYmluYXJ5IGNodW5rcyB0byBSZWFk
YWJsZVN0cmVhbSBvbmx5IHdoZW4gbmVlZGVkLCBXZWJDb3JlIGlzIG5vdyBhd2FyZSBvZiB0aGUg
ZGF0YQorICAgICAgICBzdG9yZWQgaW4gdGhlIHJlc3BvbnNlLCB3aGljaCBtYXkgYWxsb3cgYXBw
bHlpbmcgYmFja3ByZXNzdXJlIHRvIHRoZSBuZXR3b3JrIHNvdXJjZSBpbiB0aGUgZnV0dXJlLgor
CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZldGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6OmRpZFN1Y2NlZWQpOgorICAgICAgICAo
V2ViQ29yZTo6RmV0Y2hSZXNwb25zZTo6Qm9keUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEpOiBFbnF1
ZXVpbmcgb25seSBpZiBzdHJlYW0gaXMgcHVsbGluZy4KKyAgICAgICAgT3RoZXJ3aXNlLCBzdG9y
aW5nIGluIEZldGNoQm9keUNvbnN1bWVyLiBJZiBzdHJlYW0gaXMgcHVsbGluZywgd2UgZW5xdWV1
ZSBib3RoIGJ1ZmZlcmVkIGRhdGEgYW5kIHJlY2VpdmVkIGNodW5rLgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hSZXNwb25zZTo6Y29uc3VtZUJvZHlBc1N0cmVhbSk6IFJlc29sdmluZyBwdWxsIHBy
b21pc2UgaWYgd2UgZW5xdWV1ZWQgc29tZSBidWZmZXJlZCBkYXRhLgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hSZXNwb25zZTo6Y2xvc2VTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hS
ZXNwb25zZTo6ZmVlZFN0cmVhbSk6IElmIHdlIGhhdmUgc29tZSBidWZmZXJlZCBkYXRhLCB3ZSBl
bnF1ZXVlIGl0LiBJZiB0aGVyZSBpcyBubyBsb2FkZXIsIHRoZSBzdHJlYW0gY2FuIGJlIGNsb3Nl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaDoKKyAgICAgICAgKiBN
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RmV0Y2hSZXNwb25zZVNvdXJjZTo6ZG9QdWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVz
cG9uc2VTb3VyY2U6OmNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2VTb3Vy
Y2U6OmVycm9yKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2VTb3VyY2Uu
aDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtU291cmNlOjppc1B1bGxpbmcpOiBSZW5hbWVk
IGZyb20gaXNTdGFydGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtU291cmNl
Ojppc1N0YXJ0aW5nKTogRGVsZXRlZC4KKwogMjAxNi0xMC0wNSAgRGVhbiBKYWNrc29uICA8ZGlu
b0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIERpc3BsYXkgUDMgQ29sb3JTcGFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKaW5kZXggODNhOThm
ZDY0ZjM5YjRiOTkxNGE0YjQ5NzdkZGY3MGM3NzBjYTVhZi4uYzIzODcyMTI2YzgyYWFkZjUwZWRm
ZDBmZGRjZTJiYmVjMWU5YTFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0xMjgsMTIgKzEyOCw4IEBAIHZvaWQgRmV0Y2hSZXNwb25z
ZTo6Qm9keUxvYWRlcjo6ZGlkU3VjY2VlZCgpCiAgICAgbV9yZXNwb25zZS5tX2JvZHktPmxvYWRp
bmdTdWNjZWVkZWQoKTsKIAogI2lmIEVOQUJMRShSRUFEQUJMRV9TVFJFQU1fQVBJKQotICAgIGlm
IChtX3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UgJiYgIW1fcmVzcG9uc2UuYm9keSgp
LmNvbnN1bWVyKCkuaGFzRGF0YSgpKSB7Ci0gICAgICAgIC8vIFdlIG9ubHkgY2xvc2UgdGhlIHN0
cmVhbSBpZiBGZXRjaEJvZHkgYWxyZWFkeSBlbnF1ZXVlZCBhbGwgZGF0YS4KLSAgICAgICAgLy8g
T3RoZXJ3aXNlLCBGZXRjaEJvZHkgd2lsbCBjbG9zZSB0aGUgc3RyZWFtIGFmdGVyIGVucXVldWlu
ZyB0aGUgZGF0YS4KLSAgICAgICAgbV9yZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFtU291cmNlLT5j
bG9zZSgpOwotICAgICAgICBtX3Jlc3BvbnNlLm1fcmVhZGFibGVTdHJlYW1Tb3VyY2UgPSBudWxs
cHRyOwotICAgIH0KKyAgICBpZiAobV9yZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFtU291cmNlICYm
ICFtX3Jlc3BvbnNlLmJvZHkoKS5jb25zdW1lcigpLmhhc0RhdGEoKSkKKyAgICAgICAgbV9yZXNw
b25zZS5jbG9zZVN0cmVhbSgpOwogI2VuZGlmCiAKICAgICBpZiAobV9sb2FkZXItPmlzU3RhcnRl
ZCgpKQpAQCAtMTgyLDkgKzE3OCwyMiBAQCB2b2lkIEZldGNoUmVzcG9uc2U6OkJvZHlMb2FkZXI6
OmRpZFJlY2VpdmVEYXRhKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBzaXplKQogewogI2lmIEVO
QUJMRShSRUFEQUJMRV9TVFJFQU1fQVBJKQogICAgIEFTU0VSVChtX3Jlc3BvbnNlLm1fcmVhZGFi
bGVTdHJlYW1Tb3VyY2UpOworICAgIGF1dG8mIHNvdXJjZSA9ICptX3Jlc3BvbnNlLm1fcmVhZGFi
bGVTdHJlYW1Tb3VyY2U7CisKKyAgICBpZiAoIXNvdXJjZS5pc1B1bGxpbmcoKSkgeworICAgICAg
ICBtX3Jlc3BvbnNlLmJvZHkoKS5jb25zdW1lcigpLmFwcGVuZChkYXRhLCBzaXplKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KIAotICAgIGlmICghbV9yZXNwb25zZS5tX3JlYWRhYmxlU3RyZWFt
U291cmNlLT5lbnF1ZXVlKEFycmF5QnVmZmVyOjp0cnlDcmVhdGUoZGF0YSwgc2l6ZSkpKQorICAg
IGlmIChtX3Jlc3BvbnNlLmJvZHkoKS5jb25zdW1lcigpLmhhc0RhdGEoKSAmJiAhc291cmNlLmVu
cXVldWUobV9yZXNwb25zZS5ib2R5KCkuY29uc3VtZXIoKS50YWtlQXNBcnJheUJ1ZmZlcigpKSkg
ewogICAgICAgICBzdG9wKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKCFzb3Vy
Y2UuZW5xdWV1ZShBcnJheUJ1ZmZlcjo6dHJ5Q3JlYXRlKGRhdGEsIHNpemUpKSkgeworICAgICAg
ICBzdG9wKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgc291cmNlLnJlc29sdmVQdWxs
UHJvbWlzZSgpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZGF0YSk7CiAgICAgVU5VU0VEX1BB
UkFNKHNpemUpOwpAQCAtMjU3LDcgKzI2Niw3IEBAIHZvaWQgRmV0Y2hSZXNwb25zZTo6Y29uc3Vt
ZUJvZHlBc1N0cmVhbSgpCiAgICAgbV9pc0Rpc3R1cmJlZCA9IHRydWU7CiAgICAgaWYgKCFpc0xv
YWRpbmcoKSkgewogICAgICAgICBib2R5KCkuY29uc3VtZUFzU3RyZWFtKCp0aGlzLCAqbV9yZWFk
YWJsZVN0cmVhbVNvdXJjZSk7Ci0gICAgICAgIGlmICghbV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+
aXNTdGFydGluZygpKQorICAgICAgICBpZiAoIW1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPmlzUHVs
bGluZygpKQogICAgICAgICAgICAgbV9yZWFkYWJsZVN0cmVhbVNvdXJjZSA9IG51bGxwdHI7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yNjYsMTIgKzI3NSw0MSBAQCB2b2lkIEZldGNoUmVz
cG9uc2U6OmNvbnN1bWVCb2R5QXNTdHJlYW0oKQogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
ZGF0YSA9IG1fYm9keUxvYWRlci0+c3RhcnRTdHJlYW1pbmcoKTsKICAgICBpZiAoZGF0YSkgewot
ICAgICAgICAvLyBGSVhNRTogV2UgbWlnaHQgd2FudCB0byBlbnF1ZXVlIGVhY2ggaW50ZXJuYWwg
U2hhcmVkQnVmZmVyIGNodW5rIGFzIGFuIGluZGl2aWR1YWwgQXJyYXlCdWZmZXIuCi0gICAgICAg
IGlmICghbV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+ZW5xdWV1ZShkYXRhLT5jcmVhdGVBcnJheUJ1
ZmZlcigpKSkKKyAgICAgICAgaWYgKCFtX3JlYWRhYmxlU3RyZWFtU291cmNlLT5lbnF1ZXVlKGRh
dGEtPmNyZWF0ZUFycmF5QnVmZmVyKCkpKSB7CiAgICAgICAgICAgICBzdG9wKCk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgbV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+
cmVzb2x2ZVB1bGxQcm9taXNlKCk7CiAgICAgfQogfQogCit2b2lkIEZldGNoUmVzcG9uc2U6OmNs
b3NlU3RyZWFtKCkKK3sKKyAgICBBU1NFUlQobV9yZWFkYWJsZVN0cmVhbVNvdXJjZSk7CisgICAg
bV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+Y2xvc2UoKTsKKyAgICBtX3JlYWRhYmxlU3RyZWFtU291
cmNlID0gbnVsbHB0cjsKK30KKwordm9pZCBGZXRjaFJlc3BvbnNlOjpmZWVkU3RyZWFtKCkKK3sK
KyAgICBBU1NFUlQobV9yZWFkYWJsZVN0cmVhbVNvdXJjZSk7CisgICAgYm9vbCBzaG91bGRDbG9z
ZVN0cmVhbSA9ICFtX2JvZHlMb2FkZXI7CisKKyAgICBpZiAoYm9keSgpLmNvbnN1bWVyKCkuaGFz
RGF0YSgpKSB7CisgICAgICAgIGlmICghbV9yZWFkYWJsZVN0cmVhbVNvdXJjZS0+ZW5xdWV1ZShi
b2R5KCkuY29uc3VtZXIoKS50YWtlQXNBcnJheUJ1ZmZlcigpKSkgeworICAgICAgICAgICAgc3Rv
cCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIGlmICghc2hvdWxk
Q2xvc2VTdHJlYW0pIHsKKyAgICAgICAgICAgIG1fcmVhZGFibGVTdHJlYW1Tb3VyY2UtPnJlc29s
dmVQdWxsUHJvbWlzZSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSBl
bHNlIGlmICghc2hvdWxkQ2xvc2VTdHJlYW0pCisgICAgICAgIHJldHVybjsKKworICAgIGNsb3Nl
U3RyZWFtKCk7Cit9CisKIFJlYWRhYmxlU3RyZWFtU291cmNlKiBGZXRjaFJlc3BvbnNlOjpjcmVh
dGVSZWFkYWJsZVN0cmVhbVNvdXJjZSgpCiB7CiAgICAgQVNTRVJUKCFtX3JlYWRhYmxlU3RyZWFt
U291cmNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgK
aW5kZXggNTk2YmIzZTcyMDk4YmQ0MTUzMjIwYThiZjgzYTY2NTcwMDU5Zjk1Yy4uNWUwOTYyYWE3
YWNiMTI1NzU5MjVjZjljNTQzODMzMjhiZWI4ZGFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmgKQEAgLTgyLDYgKzgyLDcgQEAgcHVibGljOgogI2lm
IEVOQUJMRShSRUFEQUJMRV9TVFJFQU1fQVBJKQogICAgIFJlYWRhYmxlU3RyZWFtU291cmNlKiBj
cmVhdGVSZWFkYWJsZVN0cmVhbVNvdXJjZSgpOwogICAgIHZvaWQgY29uc3VtZUJvZHlBc1N0cmVh
bSgpOworICAgIHZvaWQgZmVlZFN0cmVhbSgpOwogICAgIHZvaWQgY2FuY2VsKCk7CiAjZW5kaWYK
ICAgICBib29sIGlzTG9hZGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9ib2R5TG9hZGVyOyB9CkBA
IC05Niw2ICs5NywxMCBAQCBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3Bl
bnNpb24oKSBjb25zdCBmaW5hbDsKIAorI2lmIEVOQUJMRShSRUFEQUJMRV9TVFJFQU1fQVBJKQor
ICAgIHZvaWQgY2xvc2VTdHJlYW0oKTsKKyNlbmRpZgorCiAgICAgY2xhc3MgQm9keUxvYWRlciBm
aW5hbCA6IHB1YmxpYyBGZXRjaExvYWRlckNsaWVudCB7CiAgICAgcHVibGljOgogICAgICAgICBC
b2R5TG9hZGVyKEZldGNoUmVzcG9uc2UmLCBGZXRjaFByb21pc2UmJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2VTb3VyY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlU291cmNlLmNwcAppbmRleCAw
ODdiYjhmODM2Y2Q3ZDkzMDc1NDA1OWI5MmQ3YzQ3MTNkN2U2NzE1Li41NTM0ZWNkNTg5MTZiMDhj
MzNjZTRlMjc2MjUxZjQxZjI1M2I2MmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2VTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZVNvdXJjZS5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgdm9p
ZCBGZXRjaFJlc3BvbnNlU291cmNlOjpkb1N0YXJ0KCkKIAogdm9pZCBGZXRjaFJlc3BvbnNlU291
cmNlOjpkb1B1bGwoKQogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIG1fcmVzcG9u
c2UuZmVlZFN0cmVhbSgpOwogfQogCiB2b2lkIEZldGNoUmVzcG9uc2VTb3VyY2U6OmRvQ2FuY2Vs
KCkKQEAgLTczLDEzICs3MywxMSBAQCB2b2lkIEZldGNoUmVzcG9uc2VTb3VyY2U6OmRvQ2FuY2Vs
KCkKIAogdm9pZCBGZXRjaFJlc3BvbnNlU291cmNlOjpjbG9zZSgpCiB7Ci0gICAgQVNTRVJUKGlz
U3RhcnRpbmcoKSk7CiAgICAgY29udHJvbGxlcigpLmNsb3NlKCk7CiAgICAgY2xlYW4oKTsKIH0K
IHZvaWQgRmV0Y2hSZXNwb25zZVNvdXJjZTo6ZXJyb3IoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsK
LSAgICBBU1NFUlQoaXNTdGFydGluZygpKTsKICAgICBjb250cm9sbGVyKCkuZXJyb3IodmFsdWUp
OwogICAgIGNsZWFuKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVzcG9uc2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZVNvdXJjZS5oCmluZGV4IDZkYTZjYzcyODY5ZDRkMWZhYTVhOTJjMDBjMWUw
ZWRjODQ0MjBjMDAuLmJhNDQyNGVjMzE0Mjc4NGYzNTJjMmZhZGQyNWE1M2Y5MjJhN2ViMWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZVNvdXJj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZVNvdXJj
ZS5oCkBAIC01MSw2ICs1MSw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ2FuY2VsbGluZygpIGNv
bnN0IHsgcmV0dXJuIG1faXNDYW5jZWxsaW5nOyB9CiAgICAgYm9vbCBpc1JlYWRhYmxlU3RyZWFt
TG9ja2VkKCkgY29uc3Q7CiAKKyAgICB2b2lkIHJlc29sdmVQdWxsUHJvbWlzZSgpIHsgcHVsbEZp
bmlzaGVkKCk7IH0KKwogcHJpdmF0ZToKICAgICB2b2lkIGRvU3RhcnQoKSBmaW5hbDsKICAgICB2
b2lkIGRvUHVsbCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1Tb3VyY2UuaAppbmRleCAxYjgzZjNjZDdkNTVjZjc3MzQzNGZi
MWM1ZTdlMjE3Y2UxOTQxOWFiLi42MTdiMjdiN2Q3NmIxMDdkMmE2NDAyNmY2ZjQzNmNlODU4YmY4
ZGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW1Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW1Tb3VyY2UuaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwdWxs
KFByb21pc2UmJik7CiAgICAgdm9pZCBjYW5jZWwoSlNDOjpKU1ZhbHVlKTsKIAotICAgIGJvb2wg
aXNTdGFydGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9wcm9taXNlOyB9CisgICAgYm9vbCBpc1B1
bGxpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fcHJvbWlzZTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAg
UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYgY29udHJvbGxlcigpIHsgcmV0dXJuIG1f
Y29udHJvbGxlci52YWx1ZSgpOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>