<?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>155968</bug_id>
          
          <creation_ts>2016-03-29 05:37:35 -0700</creation_ts>
          <short_desc>[Fetch API] Move isDisturbed handling to FetchBodyOwner</short_desc>
          <delta_ts>2016-03-31 03:31:31 -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>1178647</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-03-29 05:37:35 -0700</bug_when>
    <thetext>isDisturbed should be moved to FetchBodyOwner.
This will allow simplifying the handle of responses disturbed through their ReadableStream body property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178648</commentid>
    <comment_count>1</comment_count>
      <attachid>275086</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-03-29 05:50:24 -0700</bug_when>
    <thetext>Created attachment 275086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178651</commentid>
    <comment_count>2</comment_count>
      <attachid>275088</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-03-29 06:08:07 -0700</bug_when>
    <thetext>Created attachment 275088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179367</commentid>
    <comment_count>3</comment_count>
      <attachid>275271</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-03-31 02:32:35 -0700</bug_when>
    <thetext>Created attachment 275271
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179371</commentid>
    <comment_count>4</comment_count>
      <attachid>275271</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-31 03:31:27 -0700</bug_when>
    <thetext>Comment on attachment 275271
Patch for landing

Clearing flags on attachment: 275271

Committed r198890: &lt;http://trac.webkit.org/changeset/198890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179372</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-31 03:31:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275086</attachid>
            <date>2016-03-29 05:50:24 -0700</date>
            <delta_ts>2016-03-29 06:08:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155968-20160329145027.patch</filename>
            <type>text/plain</type>
            <size>11183</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4Nzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZlNTIyNDExYTU1ZTUz
ZjU3ZmJhNTRmZTQ2Nzc0MmI4ODNiZjFjNy4uMGQ3ZGM5ZjNhNTEyNTdjNTg5NTJjNDJlYmRkZDQ3
YjY1N2VhY2Y2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTAzLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW0ZldGNo
IEFQSV0gTW92ZSBpc0Rpc3R1cmJlZCBoYW5kbGluZyB0byBGZXRjaEJvZHlPd25lcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1OTY4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZWQgaXNEaXN0dXJi
ZWQgaGFuZGxpbmcgaW4gRmV0Y2hCb2R5T3duZXIuCisgICAgICAgIFRoaXMgaW5jbHVkZXMgcHJv
bWlzZSByZWplY3Rpb24gaW4gY2FzZSBvZiBkaXN0dXJiZWQgYm9kaWVzLgorCisgICAgICAgIE5v
IGJlaGF2aW9yIGNoYW5nZSBvYnNlcnZhYmxlIGZyb20gdXNlciBzY3JpcHRzLgorCisgICAgICAg
ICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hC
b2R5OjphcnJheUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmJsb2IpOgor
ICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Ojpqc29uKToKKyAgICAgICAgKFdlYkNvcmU6OkZl
dGNoQm9keTo6dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmV4dHJhY3RGcm9t
Qm9keSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmNvbnN1bWUpOgorICAgICAgICAo
V2ViQ29yZTo6RmV0Y2hCb2R5Ojpjb25zdW1lQXJyYXlCdWZmZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hCb2R5Ojpwcm9jZXNzSWZFbXB0eU9yRGlzdHVyYmVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hC
b2R5Ojppc0VtcHR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9k
eU93bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjphcnJheUJ1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6YmxvYik6CisgICAgICAgIChX
ZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RmV0
Y2hCb2R5T3duZXI6Ompzb24pOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5T3duZXI6OnRl
eHQpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc0Rpc3R1cmJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpGZXRjaEJvZHlPd25lcjo6c2V0RGlzdHVyYmVkKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlcXVlc3Q6OmNyZWF0
ZSk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNsb25lKToKKwogMjAxNi0wMy0yOSAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEF1ZGl0IFdlYkNvcmUgYnVp
bHRpbnMgZm9yIHVzZXIgb3ZlcnJpZGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHkuY3BwCmluZGV4IGRhY2MyZDgxMGFiN2IwMTZmM2M2MThkZmY4MmFhNmZl
NmU2ZWRkZDcuLjllZTE2YWEyMjI0ZWY3NjBmNmVhYWFjNTc4NzRmZWYwZWIzMDY5MmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKQEAgLTMzLDcgKzMzLDYg
QEAKIAogI2luY2x1ZGUgIkRPTVJlcXVlc3RTdGF0ZS5oIgogI2luY2x1ZGUgIkRpY3Rpb25hcnku
aCIKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5T3duZXIu
aCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgogI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCkBAIC04
Miw2MCArODEsMjQgQEAgRmV0Y2hCb2R5IEZldGNoQm9keTo6ZXh0cmFjdEZyb21Cb2R5KEZldGNo
Qm9keSogYm9keSkKICAgICBpZiAoIWJvZHkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBi
b2R5LT5tX2lzRGlzdHVyYmVkID0gdHJ1ZTsKICAgICByZXR1cm4gRmV0Y2hCb2R5KFdURk1vdmUo
KmJvZHkpKTsKIH0KIAotYm9vbCBGZXRjaEJvZHk6OnByb2Nlc3NJZkVtcHR5T3JEaXN0dXJiZWQo
Q29uc3VtZXI6OlR5cGUgdHlwZSwgRGVmZXJyZWRXcmFwcGVyJiBwcm9taXNlKQotewotICAgIGlm
IChtX3R5cGUgPT0gVHlwZTo6Tm9uZSkgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAg
ICAgY2FzZSBDb25zdW1lcjo6VHlwZTo6VGV4dDoKLSAgICAgICAgICAgIHByb21pc2UucmVzb2x2
ZShTdHJpbmcoKSk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBDb25z
dW1lcjo6VHlwZTo6QmxvYjoKLSAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZTxSZWZQdHI8Qmxv
Yj4+KEJsb2I6OmNyZWF0ZSgpKTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBj
YXNlIENvbnN1bWVyOjpUeXBlOjpKU09OOgotICAgICAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhj
ZXB0aW9uQ29kZT4oU1lOVEFYX0VSUik7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAg
ICAgY2FzZSBDb25zdW1lcjo6VHlwZTo6QXJyYXlCdWZmZXI6Ci0gICAgICAgICAgICBmdWxmaWxs
UHJvbWlzZVdpdGhBcnJheUJ1ZmZlcihwcm9taXNlLCBudWxscHRyLCAwKTsKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgICAgICAgICBwcm9taXNlLnJlamVjdDxFeGNlcHRpb25Db2RlPigwKTsK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9OwotICAgIH0KLQotICAgIGlmICht
X2lzRGlzdHVyYmVkKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0PEV4Y2VwdGlvbkNvZGU+KFR5
cGVFcnJvcik7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBtX2lzRGlzdHVyYmVk
ID0gdHJ1ZTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgRmV0Y2hCb2R5OjphcnJheUJ1
ZmZlcihGZXRjaEJvZHlPd25lciYgb3duZXIsIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCiB7
Ci0gICAgaWYgKHByb2Nlc3NJZkVtcHR5T3JEaXN0dXJiZWQoQ29uc3VtZXI6OlR5cGU6OkFycmF5
QnVmZmVyLCBwcm9taXNlKSkKLSAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVChtX3R5cGUgIT0g
VHlwZTo6Tm9uZSk7CiAgICAgY29uc3VtZShvd25lciwgQ29uc3VtZXI6OlR5cGU6OkFycmF5QnVm
ZmVyLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAogdm9pZCBGZXRjaEJvZHk6OmJsb2IoRmV0Y2hC
b2R5T3duZXImIG93bmVyLCBEZWZlcnJlZFdyYXBwZXImJiBwcm9taXNlKQogewotICAgIGlmIChw
cm9jZXNzSWZFbXB0eU9yRGlzdHVyYmVkKENvbnN1bWVyOjpUeXBlOjpCbG9iLCBwcm9taXNlKSkK
LSAgICAgICAgcmV0dXJuOwotCisgICAgQVNTRVJUKG1fdHlwZSAhPSBUeXBlOjpOb25lKTsKICAg
ICBjb25zdW1lKG93bmVyLCBDb25zdW1lcjo6VHlwZTo6QmxvYiwgV1RGTW92ZShwcm9taXNlKSk7
CiB9CiAKIHZvaWQgRmV0Y2hCb2R5Ojpqc29uKEZldGNoQm9keU93bmVyJiBvd25lciwgRGVmZXJy
ZWRXcmFwcGVyJiYgcHJvbWlzZSkKIHsKLSAgICBpZiAocHJvY2Vzc0lmRW1wdHlPckRpc3R1cmJl
ZChDb25zdW1lcjo6VHlwZTo6SlNPTiwgcHJvbWlzZSkpCi0gICAgICAgIHJldHVybjsKKyAgICBB
U1NFUlQobV90eXBlICE9IFR5cGU6Ok5vbmUpOwogCiAgICAgaWYgKG1fdHlwZSA9PSBUeXBlOjpU
ZXh0KSB7CiAgICAgICAgIGZ1bGZpbGxQcm9taXNlV2l0aEpTT04ocHJvbWlzZSwgbV90ZXh0KTsK
QEAgLTE0Niw4ICsxMDksNyBAQCB2b2lkIEZldGNoQm9keTo6anNvbihGZXRjaEJvZHlPd25lciYg
b3duZXIsIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCiAKIHZvaWQgRmV0Y2hCb2R5Ojp0ZXh0
KEZldGNoQm9keU93bmVyJiBvd25lciwgRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkKIHsKLSAg
ICBpZiAocHJvY2Vzc0lmRW1wdHlPckRpc3R1cmJlZChDb25zdW1lcjo6VHlwZTo6VGV4dCwgcHJv
bWlzZSkpCi0gICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQobV90eXBlICE9IFR5cGU6Ok5vbmUp
OwogCiAgICAgaWYgKG1fdHlwZSA9PSBUeXBlOjpUZXh0KSB7CiAgICAgICAgIHByb21pc2UucmVz
b2x2ZShtX3RleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKaW5k
ZXggZjdhYzZkNzE2MDcwNzdkZjczNjc0MjUxMmFkNWM3YWY1MjY0ZmJkZC4uMTM3MWM1YzVjMjFi
NmQzYTMxMzQ5NDcxMmRjYWVhNzhlNGZiNzgxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keS5oCkBAIC01NCw3ICs1NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHRleHQo
RmV0Y2hCb2R5T3duZXImLCBEZWZlcnJlZFdyYXBwZXImJik7CiAgICAgdm9pZCBmb3JtRGF0YShG
ZXRjaEJvZHlPd25lciYsIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpIHsgcHJvbWlzZS5yZWpl
Y3Q8RXhjZXB0aW9uQ29kZT4oMCk7IH0KIAotICAgIGJvb2wgaXNEaXN0dXJiZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzRGlzdHVyYmVkOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1
cm4gbV90eXBlID09IFR5cGU6Ok5vbmU7IH0KIAogICAgIHZvaWQgc2V0TWltZVR5cGUoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSkgeyBtX21pbWVUeXBlID0gbWltZVR5cGU7IH0KQEAgLTg4LDcgKzg3
LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbnN1bWUoRmV0Y2hCb2R5T3duZXImLCBDb25zdW1l
cjo6VHlwZSwgRGVmZXJyZWRXcmFwcGVyJiYpOwogCiAgICAgVmVjdG9yPGNoYXI+IGV4dHJhY3RG
cm9tVGV4dCgpIGNvbnN0OwotICAgIGJvb2wgcHJvY2Vzc0lmRW1wdHlPckRpc3R1cmJlZChDb25z
dW1lcjo6VHlwZSwgRGVmZXJyZWRXcmFwcGVyJik7CiAgICAgdm9pZCBjb25zdW1lQXJyYXlCdWZm
ZXIoQ29uc3VtZXI6OlR5cGUsIERlZmVycmVkV3JhcHBlciYpOwogICAgIHZvaWQgY29uc3VtZVRl
eHQoQ29uc3VtZXI6OlR5cGUsIERlZmVycmVkV3JhcHBlciYpOwogICAgIHZvaWQgY29uc3VtZUJs
b2IoRmV0Y2hCb2R5T3duZXImLCBDb25zdW1lcjo6VHlwZSwgRGVmZXJyZWRXcmFwcGVyJiYpOwpA
QCAtOTgsNyArOTYsNiBAQCBwcml2YXRlOgogCiAgICAgVHlwZSBtX3R5cGUgeyBUeXBlOjpOb25l
IH07CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7Ci0gICAgYm9vbCBtX2lzRGlzdHVyYmVkIHsgZmFs
c2UgfTsKIAogICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgQnVmZmVyU291cmNlIGFuZCBV
UkxTZWFyY2hQYXJhbXMuCiAgICAgUmVmUHRyPEJsb2I+IG1fYmxvYjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5jcHAKaW5kZXggODI5MDMyMDY5NGEx
Y2UzNDdhODZmNjMwYmM3ZDI0ZTFmMzUyNThmMC4uMmM3NzI5ZDA2MWZlNGViN2M0Njg3NzAxOTVi
YTMxZGVmNmNlNzNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlPd25lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5jcHAKQEAgLTMxLDcgKzMxLDkgQEAKIAogI2lmIEVOQUJMRShGRVRDSF9BUEkp
CiAKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmV0Y2hMb2FkZXIuaCIK
KyNpbmNsdWRlICJKU0Jsb2IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUzLDYgKzU1LDc2IEBAIHZvaWQgRmV0Y2hCb2R5T3duZXI6
OnN0b3AoKQogICAgIEFTU0VSVCghbV9ibG9iTG9hZGVyKTsKIH0KIAordm9pZCBGZXRjaEJvZHlP
d25lcjo6YXJyYXlCdWZmZXIoRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkKK3sKKyAgICBpZiAo
bV9ib2R5LmlzRW1wdHkoKSkgeworICAgICAgICBmdWxmaWxsUHJvbWlzZVdpdGhBcnJheUJ1ZmZl
cihwcm9taXNlLCBudWxscHRyLCAwKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAo
aXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdDxFeGNlcHRpb25Db2RlPihU
eXBlRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1faXNEaXN0dXJiZWQgPSB0
cnVlOworICAgIG1fYm9keS5hcnJheUJ1ZmZlcigqdGhpcywgV1RGTW92ZShwcm9taXNlKSk7Cit9
CisKK3ZvaWQgRmV0Y2hCb2R5T3duZXI6OmJsb2IoRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkK
K3sKKyAgICBpZiAobV9ib2R5LmlzRW1wdHkoKSkgeworICAgICAgICBwcm9taXNlLnJlc29sdmU8
UmVmUHRyPEJsb2I+PihCbG9iOjpjcmVhdGUoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgaWYgKGlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhjZXB0aW9u
Q29kZT4oVHlwZUVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2lzRGlzdHVy
YmVkID0gdHJ1ZTsKKyAgICBtX2JvZHkuYmxvYigqdGhpcywgV1RGTW92ZShwcm9taXNlKSk7Cit9
CisKK3ZvaWQgRmV0Y2hCb2R5T3duZXI6OmZvcm1EYXRhKERlZmVycmVkV3JhcHBlciYmIHByb21p
c2UpCit7CisgICAgaWYgKG1fYm9keS5pc0VtcHR5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWpl
Y3Q8RXhjZXB0aW9uQ29kZT4oMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGlz
RGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhjZXB0aW9uQ29kZT4oVHlw
ZUVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1
ZTsKKyAgICBtX2JvZHkuZm9ybURhdGEoKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOworfQorCit2
b2lkIEZldGNoQm9keU93bmVyOjpqc29uKERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCit7Cisg
ICAgaWYgKG1fYm9keS5pc0VtcHR5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhjZXB0
aW9uQ29kZT4oU1lOVEFYX0VSUik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGlz
RGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhjZXB0aW9uQ29kZT4oVHlw
ZUVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1
ZTsKKyAgICBtX2JvZHkuanNvbigqdGhpcywgV1RGTW92ZShwcm9taXNlKSk7Cit9CisKK3ZvaWQg
RmV0Y2hCb2R5T3duZXI6OnRleHQoRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkKK3sKKyAgICBp
ZiAobV9ib2R5LmlzRW1wdHkoKSkgeworICAgICAgICBwcm9taXNlLnJlc29sdmUoU3RyaW5nKCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChpc0Rpc3R1cmJlZCgpKSB7CisgICAg
ICAgIHByb21pc2UucmVqZWN0PEV4Y2VwdGlvbkNvZGU+KFR5cGVFcnJvcik7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgbV9pc0Rpc3R1cmJlZCA9IHRydWU7CisgICAgbV9ib2R5LnRleHQo
KnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOworfQorCiB2b2lkIEZldGNoQm9keU93bmVyOjpsb2Fk
QmxvYihCbG9iJiBibG9iLCBGZXRjaExvYWRlcjo6VHlwZSB0eXBlKQogewogICAgIC8vIENhbiBv
bmx5IGJlIGNhbGxlZCBvbmNlIGZvciBhIGJvZHkgaW5zdGFuY2UuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKaW5kZXggNWYwN2Q3YTllNzlkMzIzNTgx
YWM4MTVmOWFkNGNhYjVlYmNkN2VkNS4uOGVhZTlkOWYzYTNmNjNhYzU4ODkxNTM5ZjJiNGJhYmI4
Mjc4ZDkxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJv
ZHlPd25lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3du
ZXIuaApAQCAtNDMsMTIgKzQzLDEzIEBAIHB1YmxpYzoKICAgICBGZXRjaEJvZHlPd25lcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgRmV0Y2hCb2R5JiYpOwogCiAgICAgLy8gRXhwb3NlZCBCb2R5
IEFQSQotICAgIGJvb2wgaXNEaXN0dXJiZWQoKSBjb25zdCB7IHJldHVybiBtX2JvZHkuaXNEaXN0
dXJiZWQoKTsgfQotICAgIHZvaWQgYXJyYXlCdWZmZXIoRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlz
ZSkgeyBtX2JvZHkuYXJyYXlCdWZmZXIoKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOyB9Ci0gICAg
dm9pZCBibG9iKERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpIHsgbV9ib2R5LmJsb2IoKnRoaXMs
IFdURk1vdmUocHJvbWlzZSkpOyB9Ci0gICAgdm9pZCBmb3JtRGF0YShEZWZlcnJlZFdyYXBwZXIm
JiBwcm9taXNlKSB7IG1fYm9keS5mb3JtRGF0YSgqdGhpcywgV1RGTW92ZShwcm9taXNlKSk7IH0K
LSAgICB2b2lkIGpzb24oRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkgeyBtX2JvZHkuanNvbigq
dGhpcywgV1RGTW92ZShwcm9taXNlKSk7IH0KLSAgICB2b2lkIHRleHQoRGVmZXJyZWRXcmFwcGVy
JiYgcHJvbWlzZSkgeyBtX2JvZHkudGV4dCgqdGhpcywgV1RGTW92ZShwcm9taXNlKSk7IH0KKyAg
ICBib29sIGlzRGlzdHVyYmVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0Rpc3R1cmJlZDsgfQorCisg
ICAgdm9pZCBhcnJheUJ1ZmZlcihEZWZlcnJlZFdyYXBwZXImJik7CisgICAgdm9pZCBibG9iKERl
ZmVycmVkV3JhcHBlciYmKTsKKyAgICB2b2lkIGZvcm1EYXRhKERlZmVycmVkV3JhcHBlciYmKTsK
KyAgICB2b2lkIGpzb24oRGVmZXJyZWRXcmFwcGVyJiYpOworICAgIHZvaWQgdGV4dChEZWZlcnJl
ZFdyYXBwZXImJik7CiAKICAgICB2b2lkIGxvYWRCbG9iKEJsb2ImLCBGZXRjaExvYWRlcjo6VHlw
ZSk7CiAKQEAgLTYxLDYgKzYyLDggQEAgcHJvdGVjdGVkOgogICAgIC8vIEFjdGl2ZURPTU9iamVj
dCBBUEkKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKIAorICAgIHZvaWQgc2V0RGlzdHVyYmVk
KCkgeyBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsgfQorCiBwcml2YXRlOgogICAgIC8vIEJsb2IgbG9h
ZGluZyByb3V0aW5lcwogICAgIHZvaWQgbG9hZGVkQmxvYkFzVGV4dChTdHJpbmcmJik7CkBAIC04
NSw2ICs4OCw3IEBAIHByaXZhdGU6CiAKIHByb3RlY3RlZDoKICAgICBGZXRjaEJvZHkgbV9ib2R5
OworICAgIGJvb2wgbV9pc0Rpc3R1cmJlZCB7IGZhbHNlIH07CiAKIHByaXZhdGU6CiAgICAgT3B0
aW9uYWw8QmxvYkxvYWRlcj4gbV9ibG9iTG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCmluZGV4IGZkZWU2ODgyMjJlY2Y2OGMyYzc0OTg0NTUw
OTAzMmUxMTdkMzE1ODIuLjUxMjNhOTczZGVmYjUzNzIxM2IzNmFhMWIwOTEwMTEzYjg4ZDQ5ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKQEAg
LTI5Nyw2ICsyOTcsOSBAQCBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiBGZXRjaFJlcXVlc3Q6OmNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBGZXRjaAogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKKyAgICBpZiAoIWlucHV0LT5tX2JvZHkuaXNFbXB0eSgpKQorICAg
ICAgICBpbnB1dC0+c2V0RGlzdHVyYmVkKCk7CisKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBG
ZXRjaFJlcXVlc3QoY29udGV4dCwgV1RGTW92ZShib2R5KSwgaGVhZGVycy5yZWxlYXNlTm9uTnVs
bCgpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVzdCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKaW5kZXggMzRkYzMyM2M5Yjk0M2EwNjQ1
NjI1NjQ0YTlmMGQ1MGQyNDQ4NGFlOS4uZjY3OWI4Mjc4NTNiMTM1YjIxNzUxMTU3NjcxZDhmYjM5
NjZkMDFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgRmV0Y2hSZXNwb25zZTo6RmV0Y2hSZXNwb25zZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBUeXBlIHR5cGUsIEZldGNoQm8KIAogUmVm
UHRyPEZldGNoUmVzcG9uc2U+IEZldGNoUmVzcG9uc2U6OmNsb25lKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIGlmIChtX2JvZHkuaXNE
aXN0dXJiZWQoKSB8fCBtX2lzTG9ja2VkKSB7CisgICAgaWYgKGlzRGlzdHVyYmVkKCkgfHwgbV9p
c0xvY2tlZCkgewogICAgICAgICBlYyA9IFR5cGVFcnJvcjsKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275088</attachid>
            <date>2016-03-29 06:08:07 -0700</date>
            <delta_ts>2016-03-31 02:32:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155968-20160329150809.patch</filename>
            <type>text/plain</type>
            <size>11315</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4Nzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZlNTIyNDExYTU1ZTUz
ZjU3ZmJhNTRmZTQ2Nzc0MmI4ODNiZjFjNy4uMGQ3ZGM5ZjNhNTEyNTdjNTg5NTJjNDJlYmRkZDQ3
YjY1N2VhY2Y2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTAzLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgW0ZldGNo
IEFQSV0gTW92ZSBpc0Rpc3R1cmJlZCBoYW5kbGluZyB0byBGZXRjaEJvZHlPd25lcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1OTY4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZWQgaXNEaXN0dXJi
ZWQgaGFuZGxpbmcgaW4gRmV0Y2hCb2R5T3duZXIuCisgICAgICAgIFRoaXMgaW5jbHVkZXMgcHJv
bWlzZSByZWplY3Rpb24gaW4gY2FzZSBvZiBkaXN0dXJiZWQgYm9kaWVzLgorCisgICAgICAgIE5v
IGJlaGF2aW9yIGNoYW5nZSBvYnNlcnZhYmxlIGZyb20gdXNlciBzY3JpcHRzLgorCisgICAgICAg
ICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hC
b2R5OjphcnJheUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmJsb2IpOgor
ICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Ojpqc29uKToKKyAgICAgICAgKFdlYkNvcmU6OkZl
dGNoQm9keTo6dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmV4dHJhY3RGcm9t
Qm9keSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmNvbnN1bWUpOgorICAgICAgICAo
V2ViQ29yZTo6RmV0Y2hCb2R5Ojpjb25zdW1lQXJyYXlCdWZmZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6RmV0Y2hCb2R5Ojpwcm9jZXNzSWZFbXB0eU9yRGlzdHVyYmVkKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hC
b2R5Ojppc0VtcHR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9k
eU93bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjphcnJheUJ1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6YmxvYik6CisgICAgICAgIChX
ZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RmV0
Y2hCb2R5T3duZXI6Ompzb24pOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5T3duZXI6OnRl
eHQpOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjppc0Rpc3R1cmJlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpGZXRjaEJvZHlPd25lcjo6c2V0RGlzdHVyYmVkKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlcXVlc3Q6OmNyZWF0
ZSk6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNsb25lKToKKwogMjAxNi0wMy0yOSAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIEF1ZGl0IFdlYkNvcmUgYnVp
bHRpbnMgZm9yIHVzZXIgb3ZlcnJpZGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHkuY3BwCmluZGV4IGRhY2MyZDgxMGFiN2IwMTZmM2M2MThkZmY4MmFhNmZl
NmU2ZWRkZDcuLjllZTE2YWEyMjI0ZWY3NjBmNmVhYWFjNTc4NzRmZWYwZWIzMDY5MmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5jcHAKQEAgLTMzLDcgKzMzLDYg
QEAKIAogI2luY2x1ZGUgIkRPTVJlcXVlc3RTdGF0ZS5oIgogI2luY2x1ZGUgIkRpY3Rpb25hcnku
aCIKLSNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmV0Y2hCb2R5T3duZXIu
aCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgogI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCkBAIC04
Miw2MCArODEsMjQgQEAgRmV0Y2hCb2R5IEZldGNoQm9keTo6ZXh0cmFjdEZyb21Cb2R5KEZldGNo
Qm9keSogYm9keSkKICAgICBpZiAoIWJvZHkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBi
b2R5LT5tX2lzRGlzdHVyYmVkID0gdHJ1ZTsKICAgICByZXR1cm4gRmV0Y2hCb2R5KFdURk1vdmUo
KmJvZHkpKTsKIH0KIAotYm9vbCBGZXRjaEJvZHk6OnByb2Nlc3NJZkVtcHR5T3JEaXN0dXJiZWQo
Q29uc3VtZXI6OlR5cGUgdHlwZSwgRGVmZXJyZWRXcmFwcGVyJiBwcm9taXNlKQotewotICAgIGlm
IChtX3R5cGUgPT0gVHlwZTo6Tm9uZSkgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAg
ICAgY2FzZSBDb25zdW1lcjo6VHlwZTo6VGV4dDoKLSAgICAgICAgICAgIHByb21pc2UucmVzb2x2
ZShTdHJpbmcoKSk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBDb25z
dW1lcjo6VHlwZTo6QmxvYjoKLSAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZTxSZWZQdHI8Qmxv
Yj4+KEJsb2I6OmNyZWF0ZSgpKTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBj
YXNlIENvbnN1bWVyOjpUeXBlOjpKU09OOgotICAgICAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhj
ZXB0aW9uQ29kZT4oU1lOVEFYX0VSUik7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAg
ICAgY2FzZSBDb25zdW1lcjo6VHlwZTo6QXJyYXlCdWZmZXI6Ci0gICAgICAgICAgICBmdWxmaWxs
UHJvbWlzZVdpdGhBcnJheUJ1ZmZlcihwcm9taXNlLCBudWxscHRyLCAwKTsKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgICAgICAgICBwcm9taXNlLnJlamVjdDxFeGNlcHRpb25Db2RlPigwKTsK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9OwotICAgIH0KLQotICAgIGlmICht
X2lzRGlzdHVyYmVkKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0PEV4Y2VwdGlvbkNvZGU+KFR5
cGVFcnJvcik7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBtX2lzRGlzdHVyYmVk
ID0gdHJ1ZTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgRmV0Y2hCb2R5OjphcnJheUJ1
ZmZlcihGZXRjaEJvZHlPd25lciYgb3duZXIsIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCiB7
Ci0gICAgaWYgKHByb2Nlc3NJZkVtcHR5T3JEaXN0dXJiZWQoQ29uc3VtZXI6OlR5cGU6OkFycmF5
QnVmZmVyLCBwcm9taXNlKSkKLSAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVChtX3R5cGUgIT0g
VHlwZTo6Tm9uZSk7CiAgICAgY29uc3VtZShvd25lciwgQ29uc3VtZXI6OlR5cGU6OkFycmF5QnVm
ZmVyLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAogdm9pZCBGZXRjaEJvZHk6OmJsb2IoRmV0Y2hC
b2R5T3duZXImIG93bmVyLCBEZWZlcnJlZFdyYXBwZXImJiBwcm9taXNlKQogewotICAgIGlmIChw
cm9jZXNzSWZFbXB0eU9yRGlzdHVyYmVkKENvbnN1bWVyOjpUeXBlOjpCbG9iLCBwcm9taXNlKSkK
LSAgICAgICAgcmV0dXJuOwotCisgICAgQVNTRVJUKG1fdHlwZSAhPSBUeXBlOjpOb25lKTsKICAg
ICBjb25zdW1lKG93bmVyLCBDb25zdW1lcjo6VHlwZTo6QmxvYiwgV1RGTW92ZShwcm9taXNlKSk7
CiB9CiAKIHZvaWQgRmV0Y2hCb2R5Ojpqc29uKEZldGNoQm9keU93bmVyJiBvd25lciwgRGVmZXJy
ZWRXcmFwcGVyJiYgcHJvbWlzZSkKIHsKLSAgICBpZiAocHJvY2Vzc0lmRW1wdHlPckRpc3R1cmJl
ZChDb25zdW1lcjo6VHlwZTo6SlNPTiwgcHJvbWlzZSkpCi0gICAgICAgIHJldHVybjsKKyAgICBB
U1NFUlQobV90eXBlICE9IFR5cGU6Ok5vbmUpOwogCiAgICAgaWYgKG1fdHlwZSA9PSBUeXBlOjpU
ZXh0KSB7CiAgICAgICAgIGZ1bGZpbGxQcm9taXNlV2l0aEpTT04ocHJvbWlzZSwgbV90ZXh0KTsK
QEAgLTE0Niw4ICsxMDksNyBAQCB2b2lkIEZldGNoQm9keTo6anNvbihGZXRjaEJvZHlPd25lciYg
b3duZXIsIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCiAKIHZvaWQgRmV0Y2hCb2R5Ojp0ZXh0
KEZldGNoQm9keU93bmVyJiBvd25lciwgRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkKIHsKLSAg
ICBpZiAocHJvY2Vzc0lmRW1wdHlPckRpc3R1cmJlZChDb25zdW1lcjo6VHlwZTo6VGV4dCwgcHJv
bWlzZSkpCi0gICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQobV90eXBlICE9IFR5cGU6Ok5vbmUp
OwogCiAgICAgaWYgKG1fdHlwZSA9PSBUeXBlOjpUZXh0KSB7CiAgICAgICAgIHByb21pc2UucmVz
b2x2ZShtX3RleHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKaW5k
ZXggZjdhYzZkNzE2MDcwNzdkZjczNjc0MjUxMmFkNWM3YWY1MjY0ZmJkZC4uMTM3MWM1YzVjMjFi
NmQzYTMxMzQ5NDcxMmRjYWVhNzhlNGZiNzgxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoQm9keS5oCkBAIC01NCw3ICs1NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHRleHQo
RmV0Y2hCb2R5T3duZXImLCBEZWZlcnJlZFdyYXBwZXImJik7CiAgICAgdm9pZCBmb3JtRGF0YShG
ZXRjaEJvZHlPd25lciYsIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpIHsgcHJvbWlzZS5yZWpl
Y3Q8RXhjZXB0aW9uQ29kZT4oMCk7IH0KIAotICAgIGJvb2wgaXNEaXN0dXJiZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzRGlzdHVyYmVkOyB9CiAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1
cm4gbV90eXBlID09IFR5cGU6Ok5vbmU7IH0KIAogICAgIHZvaWQgc2V0TWltZVR5cGUoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSkgeyBtX21pbWVUeXBlID0gbWltZVR5cGU7IH0KQEAgLTg4LDcgKzg3
LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbnN1bWUoRmV0Y2hCb2R5T3duZXImLCBDb25zdW1l
cjo6VHlwZSwgRGVmZXJyZWRXcmFwcGVyJiYpOwogCiAgICAgVmVjdG9yPGNoYXI+IGV4dHJhY3RG
cm9tVGV4dCgpIGNvbnN0OwotICAgIGJvb2wgcHJvY2Vzc0lmRW1wdHlPckRpc3R1cmJlZChDb25z
dW1lcjo6VHlwZSwgRGVmZXJyZWRXcmFwcGVyJik7CiAgICAgdm9pZCBjb25zdW1lQXJyYXlCdWZm
ZXIoQ29uc3VtZXI6OlR5cGUsIERlZmVycmVkV3JhcHBlciYpOwogICAgIHZvaWQgY29uc3VtZVRl
eHQoQ29uc3VtZXI6OlR5cGUsIERlZmVycmVkV3JhcHBlciYpOwogICAgIHZvaWQgY29uc3VtZUJs
b2IoRmV0Y2hCb2R5T3duZXImLCBDb25zdW1lcjo6VHlwZSwgRGVmZXJyZWRXcmFwcGVyJiYpOwpA
QCAtOTgsNyArOTYsNiBAQCBwcml2YXRlOgogCiAgICAgVHlwZSBtX3R5cGUgeyBUeXBlOjpOb25l
IH07CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7Ci0gICAgYm9vbCBtX2lzRGlzdHVyYmVkIHsgZmFs
c2UgfTsKIAogICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3IgQnVmZmVyU291cmNlIGFuZCBV
UkxTZWFyY2hQYXJhbXMuCiAgICAgUmVmUHRyPEJsb2I+IG1fYmxvYjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5jcHAKaW5kZXggODI5MDMyMDY5NGEx
Y2UzNDdhODZmNjMwYmM3ZDI0ZTFmMzUyNThmMC4uZjc1MjUzYmFlZTljMzU3OWQ2NWQwMmU4ZGVl
ZjZmYzY5NTc5NzBhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlPd25lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aEJvZHlPd25lci5jcHAKQEAgLTMxLDcgKzMxLDkgQEAKIAogI2lmIEVOQUJMRShGRVRDSF9BUEkp
CiAKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmV0Y2hMb2FkZXIuaCIK
KyNpbmNsdWRlICJKU0Jsb2IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUzLDEwICs1NSw4MCBAQCB2b2lkIEZldGNoQm9keU93bmVy
OjpzdG9wKCkKICAgICBBU1NFUlQoIW1fYmxvYkxvYWRlcik7CiB9CiAKK3ZvaWQgRmV0Y2hCb2R5
T3duZXI6OmFycmF5QnVmZmVyKERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCit7CisgICAgaWYg
KG1fYm9keS5pc0VtcHR5KCkpIHsKKyAgICAgICAgZnVsZmlsbFByb21pc2VXaXRoQXJyYXlCdWZm
ZXIocHJvbWlzZSwgbnVsbHB0ciwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYg
KGlzRGlzdHVyYmVkKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhjZXB0aW9uQ29kZT4o
VHlwZUVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2lzRGlzdHVyYmVkID0g
dHJ1ZTsKKyAgICBtX2JvZHkuYXJyYXlCdWZmZXIoKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOwor
fQorCit2b2lkIEZldGNoQm9keU93bmVyOjpibG9iKERlZmVycmVkV3JhcHBlciYmIHByb21pc2Up
Cit7CisgICAgaWYgKG1fYm9keS5pc0VtcHR5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZl
PFJlZlB0cjxCbG9iPj4oQmxvYjo6Y3JlYXRlKCkpOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIGlmIChpc0Rpc3R1cmJlZCgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0PEV4Y2VwdGlv
bkNvZGU+KFR5cGVFcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbV9pc0Rpc3R1
cmJlZCA9IHRydWU7CisgICAgbV9ib2R5LmJsb2IoKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOwor
fQorCit2b2lkIEZldGNoQm9keU93bmVyOjpmb3JtRGF0YShEZWZlcnJlZFdyYXBwZXImJiBwcm9t
aXNlKQoreworICAgIGlmIChtX2JvZHkuaXNFbXB0eSgpKSB7CisgICAgICAgIHByb21pc2UucmVq
ZWN0PEV4Y2VwdGlvbkNvZGU+KDApOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChp
c0Rpc3R1cmJlZCgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0PEV4Y2VwdGlvbkNvZGU+KFR5
cGVFcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbV9pc0Rpc3R1cmJlZCA9IHRy
dWU7CisgICAgbV9ib2R5LmZvcm1EYXRhKCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpKTsKK30KKwor
dm9pZCBGZXRjaEJvZHlPd25lcjo6anNvbihEZWZlcnJlZFdyYXBwZXImJiBwcm9taXNlKQorewor
ICAgIGlmIChtX2JvZHkuaXNFbXB0eSgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0PEV4Y2Vw
dGlvbkNvZGU+KFNZTlRBWF9FUlIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChp
c0Rpc3R1cmJlZCgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0PEV4Y2VwdGlvbkNvZGU+KFR5
cGVFcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbV9pc0Rpc3R1cmJlZCA9IHRy
dWU7CisgICAgbV9ib2R5Lmpzb24oKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOworfQorCit2b2lk
IEZldGNoQm9keU93bmVyOjp0ZXh0KERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCit7CisgICAg
aWYgKG1fYm9keS5pc0VtcHR5KCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZXNvbHZlKFN0cmluZygp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoaXNEaXN0dXJiZWQoKSkgeworICAg
ICAgICBwcm9taXNlLnJlamVjdDxFeGNlcHRpb25Db2RlPihUeXBlRXJyb3IpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIG1faXNEaXN0dXJiZWQgPSB0cnVlOworICAgIG1fYm9keS50ZXh0
KCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpKTsKK30KKwogdm9pZCBGZXRjaEJvZHlPd25lcjo6bG9h
ZEJsb2IoQmxvYiYgYmxvYiwgRmV0Y2hMb2FkZXI6OlR5cGUgdHlwZSkKIHsKICAgICAvLyBDYW4g
b25seSBiZSBjYWxsZWQgb25jZSBmb3IgYSBib2R5IGluc3RhbmNlLgotICAgIEFTU0VSVChtX2Jv
ZHkuaXNEaXN0dXJiZWQoKSk7CisgICAgQVNTRVJUKGlzRGlzdHVyYmVkKCkpOwogICAgIEFTU0VS
VCghbV9ibG9iTG9hZGVyKTsKIAogICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKaW5kZXgg
NWYwN2Q3YTllNzlkMzIzNTgxYWM4MTVmOWFkNGNhYjVlYmNkN2VkNS4uOGVhZTlkOWYzYTNmNjNh
YzU4ODkxNTM5ZjJiNGJhYmI4Mjc4ZDkxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaEJvZHlPd25lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaApAQCAtNDMsMTIgKzQzLDEzIEBAIHB1YmxpYzoKICAgICBG
ZXRjaEJvZHlPd25lcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRmV0Y2hCb2R5JiYpOwogCiAg
ICAgLy8gRXhwb3NlZCBCb2R5IEFQSQotICAgIGJvb2wgaXNEaXN0dXJiZWQoKSBjb25zdCB7IHJl
dHVybiBtX2JvZHkuaXNEaXN0dXJiZWQoKTsgfQotICAgIHZvaWQgYXJyYXlCdWZmZXIoRGVmZXJy
ZWRXcmFwcGVyJiYgcHJvbWlzZSkgeyBtX2JvZHkuYXJyYXlCdWZmZXIoKnRoaXMsIFdURk1vdmUo
cHJvbWlzZSkpOyB9Ci0gICAgdm9pZCBibG9iKERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpIHsg
bV9ib2R5LmJsb2IoKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOyB9Ci0gICAgdm9pZCBmb3JtRGF0
YShEZWZlcnJlZFdyYXBwZXImJiBwcm9taXNlKSB7IG1fYm9keS5mb3JtRGF0YSgqdGhpcywgV1RG
TW92ZShwcm9taXNlKSk7IH0KLSAgICB2b2lkIGpzb24oRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlz
ZSkgeyBtX2JvZHkuanNvbigqdGhpcywgV1RGTW92ZShwcm9taXNlKSk7IH0KLSAgICB2b2lkIHRl
eHQoRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkgeyBtX2JvZHkudGV4dCgqdGhpcywgV1RGTW92
ZShwcm9taXNlKSk7IH0KKyAgICBib29sIGlzRGlzdHVyYmVkKCkgY29uc3QgeyByZXR1cm4gbV9p
c0Rpc3R1cmJlZDsgfQorCisgICAgdm9pZCBhcnJheUJ1ZmZlcihEZWZlcnJlZFdyYXBwZXImJik7
CisgICAgdm9pZCBibG9iKERlZmVycmVkV3JhcHBlciYmKTsKKyAgICB2b2lkIGZvcm1EYXRhKERl
ZmVycmVkV3JhcHBlciYmKTsKKyAgICB2b2lkIGpzb24oRGVmZXJyZWRXcmFwcGVyJiYpOworICAg
IHZvaWQgdGV4dChEZWZlcnJlZFdyYXBwZXImJik7CiAKICAgICB2b2lkIGxvYWRCbG9iKEJsb2Im
LCBGZXRjaExvYWRlcjo6VHlwZSk7CiAKQEAgLTYxLDYgKzYyLDggQEAgcHJvdGVjdGVkOgogICAg
IC8vIEFjdGl2ZURPTU9iamVjdCBBUEkKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKIAorICAg
IHZvaWQgc2V0RGlzdHVyYmVkKCkgeyBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsgfQorCiBwcml2YXRl
OgogICAgIC8vIEJsb2IgbG9hZGluZyByb3V0aW5lcwogICAgIHZvaWQgbG9hZGVkQmxvYkFzVGV4
dChTdHJpbmcmJik7CkBAIC04NSw2ICs4OCw3IEBAIHByaXZhdGU6CiAKIHByb3RlY3RlZDoKICAg
ICBGZXRjaEJvZHkgbV9ib2R5OworICAgIGJvb2wgbV9pc0Rpc3R1cmJlZCB7IGZhbHNlIH07CiAK
IHByaXZhdGU6CiAgICAgT3B0aW9uYWw8QmxvYkxvYWRlcj4gbV9ibG9iTG9hZGVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCmluZGV4IGZkZWU2ODgy
MjJlY2Y2OGMyYzc0OTg0NTUwOTAzMmUxMTdkMzE1ODIuLjUxMjNhOTczZGVmYjUzNzIxM2IzNmFh
MWIwOTEwMTEzYjg4ZDQ5ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5jcHAKQEAgLTI5Nyw2ICsyOTcsOSBAQCBSZWZQdHI8RmV0Y2hSZXF1ZXN0PiBG
ZXRjaFJlcXVlc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBGZXRj
aAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKKyAgICBpZiAoIWlucHV0LT5tX2Jv
ZHkuaXNFbXB0eSgpKQorICAgICAgICBpbnB1dC0+c2V0RGlzdHVyYmVkKCk7CisKICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBGZXRjaFJlcXVlc3QoY29udGV4dCwgV1RGTW92ZShib2R5KSwgaGVh
ZGVycy5yZWxlYXNlTm9uTnVsbCgpLCBXVEZNb3ZlKGludGVybmFsUmVxdWVzdCkpKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKaW5kZXgg
MzRkYzMyM2M5Yjk0M2EwNjQ1NjI1NjQ0YTlmMGQ1MGQyNDQ4NGFlOS4uZjY3OWI4Mjc4NTNiMTM1
YjIxNzUxMTU3NjcxZDhmYjM5NjZkMDFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCkBAIC0xMTgsNyArMTE4LDcgQEAgRmV0Y2hSZXNwb25z
ZTo6RmV0Y2hSZXNwb25zZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBUeXBlIHR5
cGUsIEZldGNoQm8KIAogUmVmUHRyPEZldGNoUmVzcG9uc2U+IEZldGNoUmVzcG9uc2U6OmNsb25l
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewot
ICAgIGlmIChtX2JvZHkuaXNEaXN0dXJiZWQoKSB8fCBtX2lzTG9ja2VkKSB7CisgICAgaWYgKGlz
RGlzdHVyYmVkKCkgfHwgbV9pc0xvY2tlZCkgewogICAgICAgICBlYyA9IFR5cGVFcnJvcjsKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275271</attachid>
            <date>2016-03-31 02:32:35 -0700</date>
            <delta_ts>2016-03-31 03:31:27 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-155968-20160331113238.patch</filename>
            <type>text/plain</type>
            <size>11386</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4ODg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTdjYzEwMGZhODVlOWYx
NTcxZTU4YTdhYzA1YThhNmU0Njk5NzM3My4uZWNkNTFhOGZlZTNmODM4NmE3MzQwYmI0MzE1MjUx
ZjhlYTRkYmRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE2LTAzLTMxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKKyAgICAgICAgW0ZldGNo
IEFQSV0gTW92ZSBpc0Rpc3R1cmJlZCBoYW5kbGluZyB0byBGZXRjaEJvZHlPd25lcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1OTY4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTW92ZWQgaXNEaXN0dXJiZWQg
aGFuZGxpbmcgaW4gRmV0Y2hCb2R5T3duZXIuCisgICAgICAgIFRoaXMgaW5jbHVkZXMgcHJvbWlz
ZSByZWplY3Rpb24gaW4gY2FzZSBvZiBkaXN0dXJiZWQgYm9kaWVzLgorCisgICAgICAgIE5vIGJl
aGF2aW9yIGNoYW5nZSBvYnNlcnZhYmxlIGZyb20gdXNlciBzY3JpcHRzLgorCisgICAgICAgICog
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5
OjphcnJheUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmJsb2IpOgorICAg
ICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Ojpqc29uKToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNo
Qm9keTo6dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmV4dHJhY3RGcm9tQm9k
eSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmNvbnN1bWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hCb2R5Ojpjb25zdW1lQXJyYXlCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6
RmV0Y2hCb2R5Ojpwcm9jZXNzSWZFbXB0eU9yRGlzdHVyYmVkKTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5
Ojppc0VtcHR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93
bmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoQm9keU93bmVyOjphcnJheUJ1ZmZlcik6
CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHlPd25lcjo6YmxvYik6CisgICAgICAgIChXZWJD
b3JlOjpGZXRjaEJvZHlPd25lcjo6Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hC
b2R5T3duZXI6Ompzb24pOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5T3duZXI6OnRleHQp
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkZldGNoQm9keU93bmVyOjppc0Rpc3R1cmJlZCk6CisgICAgICAgIChXZWJDb3JlOjpG
ZXRjaEJvZHlPd25lcjo6c2V0RGlzdHVyYmVkKToKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0Zl
dGNoUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaFJlcXVlc3Q6OmNyZWF0ZSk6
CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZldGNoUmVzcG9uc2U6OmNsb25lKToKKworMjAxNi0wMy0zMSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCiAgICAgICAgIFJlbW92ZSBmb3JFYWNo
IHVzZSBmcm9tIEZldGNoIEhlYWRlcnMgYnVpbHRpbiBjb25zdHJ1Y3RvcgogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1OTY3CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmNwcAppbmRleCBjYTUwNTQ3OGJiMjYyMWUwNzdl
ZWIzNDJhODllYTVjY2Q3N2RjNzMyLi41NzlkZWQ5NjRhMWZmNjIxOWVmNDA4MmU0OWM5MmQ2YzZh
YzQ5NDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9k
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwCkBA
IC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJET01SZXF1ZXN0U3RhdGUuaCIKICNpbmNsdWRl
ICJEaWN0aW9uYXJ5LmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZl
dGNoQm9keU93bmVyLmgiCiAjaW5jbHVkZSAiRm9ybURhdGEuaCIKICNpbmNsdWRlICJIVFRQUGFy
c2Vycy5oIgpAQCAtODIsNjAgKzgxLDI0IEBAIEZldGNoQm9keSBGZXRjaEJvZHk6OmV4dHJhY3RG
cm9tQm9keShGZXRjaEJvZHkqIGJvZHkpCiAgICAgaWYgKCFib2R5KQogICAgICAgICByZXR1cm4g
eyB9OwogCi0gICAgYm9keS0+bV9pc0Rpc3R1cmJlZCA9IHRydWU7CiAgICAgcmV0dXJuIEZldGNo
Qm9keShXVEZNb3ZlKCpib2R5KSk7CiB9CiAKLWJvb2wgRmV0Y2hCb2R5Ojpwcm9jZXNzSWZFbXB0
eU9yRGlzdHVyYmVkKENvbnN1bWVyOjpUeXBlIHR5cGUsIERlZmVycmVkV3JhcHBlciYgcHJvbWlz
ZSkKLXsKLSAgICBpZiAobV90eXBlID09IFR5cGU6Ok5vbmUpIHsKLSAgICAgICAgc3dpdGNoICh0
eXBlKSB7Ci0gICAgICAgIGNhc2UgQ29uc3VtZXI6OlR5cGU6OlRleHQ6Ci0gICAgICAgICAgICBw
cm9taXNlLnJlc29sdmUoU3RyaW5nKCkpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ICAgIGNhc2UgQ29uc3VtZXI6OlR5cGU6OkJsb2I6Ci0gICAgICAgICAgICBwcm9taXNlLnJlc29s
dmU8UmVmUHRyPEJsb2I+PihCbG9iOjpjcmVhdGUoKSk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgY2FzZSBDb25zdW1lcjo6VHlwZTo6SlNPTjoKLSAgICAgICAgICAgIHByb21p
c2UucmVqZWN0PEV4Y2VwdGlvbkNvZGU+KFNZTlRBWF9FUlIpOwotICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgIGNhc2UgQ29uc3VtZXI6OlR5cGU6OkFycmF5QnVmZmVyOgotICAgICAg
ICAgICAgZnVsZmlsbFByb21pc2VXaXRoQXJyYXlCdWZmZXIocHJvbWlzZSwgbnVsbHB0ciwgMCk7
Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhjZXB0
aW9uQ29kZT4oMCk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfTsKLSAgICB9
Ci0KLSAgICBpZiAobV9pc0Rpc3R1cmJlZCkgewotICAgICAgICBwcm9taXNlLnJlamVjdDxFeGNl
cHRpb25Db2RlPihUeXBlRXJyb3IpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAg
bV9pc0Rpc3R1cmJlZCA9IHRydWU7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIEZldGNo
Qm9keTo6YXJyYXlCdWZmZXIoRmV0Y2hCb2R5T3duZXImIG93bmVyLCBEZWZlcnJlZFdyYXBwZXIm
JiBwcm9taXNlKQogewotICAgIGlmIChwcm9jZXNzSWZFbXB0eU9yRGlzdHVyYmVkKENvbnN1bWVy
OjpUeXBlOjpBcnJheUJ1ZmZlciwgcHJvbWlzZSkpCi0gICAgICAgIHJldHVybjsKKyAgICBBU1NF
UlQobV90eXBlICE9IFR5cGU6Ok5vbmUpOwogICAgIGNvbnN1bWUob3duZXIsIENvbnN1bWVyOjpU
eXBlOjpBcnJheUJ1ZmZlciwgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIHZvaWQgRmV0Y2hCb2R5
OjpibG9iKEZldGNoQm9keU93bmVyJiBvd25lciwgRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkK
IHsKLSAgICBpZiAocHJvY2Vzc0lmRW1wdHlPckRpc3R1cmJlZChDb25zdW1lcjo6VHlwZTo6Qmxv
YiwgcHJvbWlzZSkpCi0gICAgICAgIHJldHVybjsKLQorICAgIEFTU0VSVChtX3R5cGUgIT0gVHlw
ZTo6Tm9uZSk7CiAgICAgY29uc3VtZShvd25lciwgQ29uc3VtZXI6OlR5cGU6OkJsb2IsIFdURk1v
dmUocHJvbWlzZSkpOwogfQogCiB2b2lkIEZldGNoQm9keTo6anNvbihGZXRjaEJvZHlPd25lciYg
b3duZXIsIERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpCiB7Ci0gICAgaWYgKHByb2Nlc3NJZkVt
cHR5T3JEaXN0dXJiZWQoQ29uc3VtZXI6OlR5cGU6OkpTT04sIHByb21pc2UpKQotICAgICAgICBy
ZXR1cm47CisgICAgQVNTRVJUKG1fdHlwZSAhPSBUeXBlOjpOb25lKTsKIAogICAgIGlmIChtX3R5
cGUgPT0gVHlwZTo6VGV4dCkgewogICAgICAgICBmdWxmaWxsUHJvbWlzZVdpdGhKU09OKHByb21p
c2UsIG1fdGV4dCk7CkBAIC0xNDYsOCArMTA5LDcgQEAgdm9pZCBGZXRjaEJvZHk6Ompzb24oRmV0
Y2hCb2R5T3duZXImIG93bmVyLCBEZWZlcnJlZFdyYXBwZXImJiBwcm9taXNlKQogCiB2b2lkIEZl
dGNoQm9keTo6dGV4dChGZXRjaEJvZHlPd25lciYgb3duZXIsIERlZmVycmVkV3JhcHBlciYmIHBy
b21pc2UpCiB7Ci0gICAgaWYgKHByb2Nlc3NJZkVtcHR5T3JEaXN0dXJiZWQoQ29uc3VtZXI6OlR5
cGU6OlRleHQsIHByb21pc2UpKQotICAgICAgICByZXR1cm47CisgICAgQVNTRVJUKG1fdHlwZSAh
PSBUeXBlOjpOb25lKTsKIAogICAgIGlmIChtX3R5cGUgPT0gVHlwZTo6VGV4dCkgewogICAgICAg
ICBwcm9taXNlLnJlc29sdmUobV90ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoQm9keS5oCmluZGV4IGJiYmNkMDdiMmNmZDY1ZWQ1NWE4NDhiNGE5MTE4MTUxYjFhOWM3ZTYu
LjcwNTljZDIyYTk2NzkyYjdjZDk3MTUwZWY1OTFiZDVhM2U2ZmFjNGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCB0ZXh0KEZldGNoQm9keU93bmVyJiwgRGVmZXJyZWRXcmFwcGVyJiYpOwogICAgIHZv
aWQgZm9ybURhdGEoRmV0Y2hCb2R5T3duZXImLCBEZWZlcnJlZFdyYXBwZXImJiBwcm9taXNlKSB7
IHByb21pc2UucmVqZWN0PEV4Y2VwdGlvbkNvZGU+KDApOyB9CiAKLSAgICBib29sIGlzRGlzdHVy
YmVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0Rpc3R1cmJlZDsgfQogICAgIGJvb2wgaXNFbXB0eSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpOb25lOyB9CiAKICAgICB2b2lkIHNldE1p
bWVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIHsgbV9taW1lVHlwZSA9IG1pbWVUeXBlOyB9
CkBAIC04OCw3ICs4Nyw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25zdW1lKEZldGNoQm9keU93
bmVyJiwgQ29uc3VtZXI6OlR5cGUsIERlZmVycmVkV3JhcHBlciYmKTsKIAogICAgIFZlY3Rvcjx1
aW50OF90PiBleHRyYWN0RnJvbVRleHQoKSBjb25zdDsKLSAgICBib29sIHByb2Nlc3NJZkVtcHR5
T3JEaXN0dXJiZWQoQ29uc3VtZXI6OlR5cGUsIERlZmVycmVkV3JhcHBlciYpOwogICAgIHZvaWQg
Y29uc3VtZUFycmF5QnVmZmVyKENvbnN1bWVyOjpUeXBlLCBEZWZlcnJlZFdyYXBwZXImKTsKICAg
ICB2b2lkIGNvbnN1bWVUZXh0KENvbnN1bWVyOjpUeXBlLCBEZWZlcnJlZFdyYXBwZXImKTsKICAg
ICB2b2lkIGNvbnN1bWVCbG9iKEZldGNoQm9keU93bmVyJiwgQ29uc3VtZXI6OlR5cGUsIERlZmVy
cmVkV3JhcHBlciYmKTsKQEAgLTk4LDcgKzk2LDYgQEAgcHJpdmF0ZToKIAogICAgIFR5cGUgbV90
eXBlIHsgVHlwZTo6Tm9uZSB9OwogICAgIFN0cmluZyBtX21pbWVUeXBlOwotICAgIGJvb2wgbV9p
c0Rpc3R1cmJlZCB7IGZhbHNlIH07CiAKICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIEJ1
ZmZlclNvdXJjZSBhbmQgVVJMU2VhcmNoUGFyYW1zLgogICAgIFJlZlB0cjxCbG9iPiBtX2Jsb2I7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwCmlu
ZGV4IDgyOTAzMjA2OTRhMWNlMzQ3YTg2ZjYzMGJjN2QyNGUxZjM1MjU4ZjAuLmY3NTI1M2JhZWU5
YzM1NzlkNjVkMDJlOGRlZWY2ZmM2OTU3OTcwYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuY3BwCkBAIC0zMSw3ICszMSw5IEBACiAKICNpZiBF
TkFCTEUoRkVUQ0hfQVBJKQogCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUg
IkZldGNoTG9hZGVyLmgiCisjaW5jbHVkZSAiSlNCbG9iLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXNwb25zZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MywxMCArNTUsODAgQEAgdm9p
ZCBGZXRjaEJvZHlPd25lcjo6c3RvcCgpCiAgICAgQVNTRVJUKCFtX2Jsb2JMb2FkZXIpOwogfQog
Cit2b2lkIEZldGNoQm9keU93bmVyOjphcnJheUJ1ZmZlcihEZWZlcnJlZFdyYXBwZXImJiBwcm9t
aXNlKQoreworICAgIGlmIChtX2JvZHkuaXNFbXB0eSgpKSB7CisgICAgICAgIGZ1bGZpbGxQcm9t
aXNlV2l0aEFycmF5QnVmZmVyKHByb21pc2UsIG51bGxwdHIsIDApOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIGlmIChpc0Rpc3R1cmJlZCgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
PEV4Y2VwdGlvbkNvZGU+KFR5cGVFcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
bV9pc0Rpc3R1cmJlZCA9IHRydWU7CisgICAgbV9ib2R5LmFycmF5QnVmZmVyKCp0aGlzLCBXVEZN
b3ZlKHByb21pc2UpKTsKK30KKwordm9pZCBGZXRjaEJvZHlPd25lcjo6YmxvYihEZWZlcnJlZFdy
YXBwZXImJiBwcm9taXNlKQoreworICAgIGlmIChtX2JvZHkuaXNFbXB0eSgpKSB7CisgICAgICAg
IHByb21pc2UucmVzb2x2ZTxSZWZQdHI8QmxvYj4+KEJsb2I6OmNyZWF0ZSgpKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBpZiAoaXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNl
LnJlamVjdDxFeGNlcHRpb25Db2RlPihUeXBlRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIG1faXNEaXN0dXJiZWQgPSB0cnVlOworICAgIG1fYm9keS5ibG9iKCp0aGlzLCBXVEZN
b3ZlKHByb21pc2UpKTsKK30KKwordm9pZCBGZXRjaEJvZHlPd25lcjo6Zm9ybURhdGEoRGVmZXJy
ZWRXcmFwcGVyJiYgcHJvbWlzZSkKK3sKKyAgICBpZiAobV9ib2R5LmlzRW1wdHkoKSkgeworICAg
ICAgICBwcm9taXNlLnJlamVjdDxFeGNlcHRpb25Db2RlPigwKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICBpZiAoaXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdDxF
eGNlcHRpb25Db2RlPihUeXBlRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1f
aXNEaXN0dXJiZWQgPSB0cnVlOworICAgIG1fYm9keS5mb3JtRGF0YSgqdGhpcywgV1RGTW92ZShw
cm9taXNlKSk7Cit9CisKK3ZvaWQgRmV0Y2hCb2R5T3duZXI6Ompzb24oRGVmZXJyZWRXcmFwcGVy
JiYgcHJvbWlzZSkKK3sKKyAgICBpZiAobV9ib2R5LmlzRW1wdHkoKSkgeworICAgICAgICBwcm9t
aXNlLnJlamVjdDxFeGNlcHRpb25Db2RlPihTWU5UQVhfRVJSKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICBpZiAoaXNEaXN0dXJiZWQoKSkgeworICAgICAgICBwcm9taXNlLnJlamVjdDxF
eGNlcHRpb25Db2RlPihUeXBlRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1f
aXNEaXN0dXJiZWQgPSB0cnVlOworICAgIG1fYm9keS5qc29uKCp0aGlzLCBXVEZNb3ZlKHByb21p
c2UpKTsKK30KKwordm9pZCBGZXRjaEJvZHlPd25lcjo6dGV4dChEZWZlcnJlZFdyYXBwZXImJiBw
cm9taXNlKQoreworICAgIGlmIChtX2JvZHkuaXNFbXB0eSgpKSB7CisgICAgICAgIHByb21pc2Uu
cmVzb2x2ZShTdHJpbmcoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGlzRGlz
dHVyYmVkKCkpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3Q8RXhjZXB0aW9uQ29kZT4oVHlwZUVy
cm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2lzRGlzdHVyYmVkID0gdHJ1ZTsK
KyAgICBtX2JvZHkudGV4dCgqdGhpcywgV1RGTW92ZShwcm9taXNlKSk7Cit9CisKIHZvaWQgRmV0
Y2hCb2R5T3duZXI6OmxvYWRCbG9iKEJsb2ImIGJsb2IsIEZldGNoTG9hZGVyOjpUeXBlIHR5cGUp
CiB7CiAgICAgLy8gQ2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UgZm9yIGEgYm9keSBpbnN0YW5jZS4K
LSAgICBBU1NFUlQobV9ib2R5LmlzRGlzdHVyYmVkKCkpOworICAgIEFTU0VSVChpc0Rpc3R1cmJl
ZCgpKTsKICAgICBBU1NFUlQoIW1fYmxvYkxvYWRlcik7CiAKICAgICBpZiAoIXNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHlPd25lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJv
ZHlPd25lci5oCmluZGV4IDVmMDdkN2E5ZTc5ZDMyMzU4MWFjODE1ZjlhZDRjYWI1ZWJjZDdlZDUu
LjhlYWU5ZDlmM2EzZjYzYWM1ODg5MTUzOWYyYjRiYWJiODI3OGQ5MTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5T3duZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keU93bmVyLmgKQEAgLTQzLDEyICs0MywxMyBA
QCBwdWJsaWM6CiAgICAgRmV0Y2hCb2R5T3duZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEZl
dGNoQm9keSYmKTsKIAogICAgIC8vIEV4cG9zZWQgQm9keSBBUEkKLSAgICBib29sIGlzRGlzdHVy
YmVkKCkgY29uc3QgeyByZXR1cm4gbV9ib2R5LmlzRGlzdHVyYmVkKCk7IH0KLSAgICB2b2lkIGFy
cmF5QnVmZmVyKERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpIHsgbV9ib2R5LmFycmF5QnVmZmVy
KCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpKTsgfQotICAgIHZvaWQgYmxvYihEZWZlcnJlZFdyYXBw
ZXImJiBwcm9taXNlKSB7IG1fYm9keS5ibG9iKCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpKTsgfQot
ICAgIHZvaWQgZm9ybURhdGEoRGVmZXJyZWRXcmFwcGVyJiYgcHJvbWlzZSkgeyBtX2JvZHkuZm9y
bURhdGEoKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOyB9Ci0gICAgdm9pZCBqc29uKERlZmVycmVk
V3JhcHBlciYmIHByb21pc2UpIHsgbV9ib2R5Lmpzb24oKnRoaXMsIFdURk1vdmUocHJvbWlzZSkp
OyB9Ci0gICAgdm9pZCB0ZXh0KERlZmVycmVkV3JhcHBlciYmIHByb21pc2UpIHsgbV9ib2R5LnRl
eHQoKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOyB9CisgICAgYm9vbCBpc0Rpc3R1cmJlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNEaXN0dXJiZWQ7IH0KKworICAgIHZvaWQgYXJyYXlCdWZmZXIoRGVm
ZXJyZWRXcmFwcGVyJiYpOworICAgIHZvaWQgYmxvYihEZWZlcnJlZFdyYXBwZXImJik7CisgICAg
dm9pZCBmb3JtRGF0YShEZWZlcnJlZFdyYXBwZXImJik7CisgICAgdm9pZCBqc29uKERlZmVycmVk
V3JhcHBlciYmKTsKKyAgICB2b2lkIHRleHQoRGVmZXJyZWRXcmFwcGVyJiYpOwogCiAgICAgdm9p
ZCBsb2FkQmxvYihCbG9iJiwgRmV0Y2hMb2FkZXI6OlR5cGUpOwogCkBAIC02MSw2ICs2Miw4IEBA
IHByb3RlY3RlZDoKICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJCiAgICAgdm9pZCBzdG9wKCkg
b3ZlcnJpZGU7CiAKKyAgICB2b2lkIHNldERpc3R1cmJlZCgpIHsgbV9pc0Rpc3R1cmJlZCA9IHRy
dWU7IH0KKwogcHJpdmF0ZToKICAgICAvLyBCbG9iIGxvYWRpbmcgcm91dGluZXMKICAgICB2b2lk
IGxvYWRlZEJsb2JBc1RleHQoU3RyaW5nJiYpOwpAQCAtODUsNiArODgsNyBAQCBwcml2YXRlOgog
CiBwcm90ZWN0ZWQ6CiAgICAgRmV0Y2hCb2R5IG1fYm9keTsKKyAgICBib29sIG1faXNEaXN0dXJi
ZWQgeyBmYWxzZSB9OwogCiBwcml2YXRlOgogICAgIE9wdGlvbmFsPEJsb2JMb2FkZXI+IG1fYmxv
YkxvYWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNw
cAppbmRleCAzMGU2MTE0NzBlYjVkMDA5NzIxOTY5MmIxODc4YjA1YmEzNjZiMDcxLi5kZjk2NDky
Mzg1NjdlNzc2MGU2MTIzMmZjMWJmZmMzZWY5Y2UyYjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCkBAIC0yOTUsNiArMjk1LDkgQEAgUmVmUHRy
PEZldGNoUmVxdWVzdD4gRmV0Y2hSZXF1ZXN0OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgRmV0Y2gKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCisgICAg
aWYgKCFpbnB1dC5tX2JvZHkuaXNFbXB0eSgpKQorICAgICAgICBpbnB1dC5zZXREaXN0dXJiZWQo
KTsKKwogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZldGNoUmVxdWVzdChjb250ZXh0LCBXVEZN
b3ZlKGJvZHkpLCBoZWFkZXJzLnJlbGVhc2VOb25OdWxsKCksIFdURk1vdmUoaW50ZXJuYWxSZXF1
ZXN0KSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0Zl
dGNoUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3Bv
bnNlLmNwcAppbmRleCAzNGRjMzIzYzliOTQzYTA2NDU2MjU2NDRhOWYwZDUwZDI0NDg0YWU5Li5m
Njc5YjgyNzg1M2IxMzViMjE3NTExNTc2NzFkOGZiMzk2NmQwMWNkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKQEAgLTExOCw3ICsxMTgsNyBA
QCBGZXRjaFJlc3BvbnNlOjpGZXRjaFJlc3BvbnNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNv
bnRleHQsIFR5cGUgdHlwZSwgRmV0Y2hCbwogCiBSZWZQdHI8RmV0Y2hSZXNwb25zZT4gRmV0Y2hS
ZXNwb25zZTo6Y2xvbmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7Ci0gICAgaWYgKG1fYm9keS5pc0Rpc3R1cmJlZCgpIHx8IG1faXNMb2NrZWQp
IHsKKyAgICBpZiAoaXNEaXN0dXJiZWQoKSB8fCBtX2lzTG9ja2VkKSB7CiAgICAgICAgIGVjID0g
VHlwZUVycm9yOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>