<?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>189835</bug_id>
          
          <creation_ts>2018-09-21 08:52:13 -0700</creation_ts>
          <short_desc>[WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder</short_desc>
          <delta_ts>2018-09-24 04:18:26 -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="Thibault Saunier">tsaunier</reporter>
          <assigned_to name="Thibault Saunier">tsaunier</assigned_to>
          <cc>alex</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1461864</commentid>
    <comment_count>0</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-21 08:52:13 -0700</bug_when>
    <thetext>[WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461866</commentid>
    <comment_count>1</comment_count>
      <attachid>350369</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-21 08:53:19 -0700</bug_when>
    <thetext>Created attachment 350369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461868</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-21 08:55:43 -0700</bug_when>
    <thetext>Attachment 350369 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461892</commentid>
    <comment_count>3</comment_count>
      <attachid>350374</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-21 09:48:28 -0700</bug_when>
    <thetext>Created attachment 350374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461924</commentid>
    <comment_count>4</comment_count>
      <attachid>350374</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-09-21 10:57:41 -0700</bug_when>
    <thetext>Comment on attachment 350374
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +          startegy as other libwebrtc encoder implementation).

tyop: startegy ;)

&gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:84
&gt;          SetRestrictionCaps(caps);

Would it be better to understand if SetRestrictionCaps() was taking a GRefPtr instead of a raw pointer?

&gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:110
&gt; +        m_encodedFrame._size = codecSettings-&gt;width * codecSettings-&gt;height * 3;

3 is for the number of planes I assume? Is this info stored in the codec settings maybe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461966</commentid>
    <comment_count>5</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-21 11:44:37 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #4)
&gt; Comment on attachment 350374 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=350374&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +          startegy as other libwebrtc encoder implementation).
&gt; 
&gt; tyop: startegy ;)

Fixed.

&gt; &gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:84
&gt; &gt;          SetRestrictionCaps(caps);
&gt; 
&gt; Would it be better to understand if SetRestrictionCaps() was taking a
&gt; GRefPtr instead of a raw pointer?

Fixed.

&gt; &gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:110
&gt; &gt; +        m_encodedFrame._size = codecSettings-&gt;width * codecSettings-&gt;height * 3;
&gt; 
&gt; 3 is for the number of planes I assume? Is this info stored in the codec
&gt; settings maybe?

It doesn&apos;t seem to contain any info about that, I just reused what they did for the openh264 encoder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461969</commentid>
    <comment_count>6</comment_count>
      <attachid>350395</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-09-21 11:46:43 -0700</bug_when>
    <thetext>Created attachment 350395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462668</commentid>
    <comment_count>7</comment_count>
      <attachid>350395</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-24 04:17:06 -0700</bug_when>
    <thetext>Comment on attachment 350395
Patch

Clearing flags on attachment: 350395

Committed r236397: &lt;https://trac.webkit.org/changeset/236397&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462669</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-24 04:17:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462670</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-24 04:18:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/44723922&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350369</attachid>
            <date>2018-09-21 08:53:19 -0700</date>
            <delta_ts>2018-09-21 09:48:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189835-20180921125318.patch</filename>
            <type>text/plain</type>
            <size>12574</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxNjhiMGYyZDUyYzVm
OGVmZDEzNmE5ZDI2NWM0YzdmMTNhMTg3Zi4uNzEyMTBmNjc2YzdjNTZjYWUzYWQ0ZWYzYTMwYjY1
NzRiMWM1MjE1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA5LTIwICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtHVEtd
W1dlYlJUQ10gRml4IGxlYWtzIGluIHRoZSBsaWJ3ZWJydGMgRGVjb2RlciBhbmQgRW5jb2Rlcgor
ICAgICAgICBOZWVkIHRoZSBidWcgVVJMIChPT1BTISkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZXdvcmsgbWVtb3J5IG1hbmFnZW1lbnQgdG8g
YXZvaWQgbGVha2luZyBlbmNvZGVkIGZyYW1lcyAoYmFzaWNhbGx5IHVzZSB0aGUgc2FtZQorICAg
ICAgICAgIHN0YXJ0ZWd5IGFzIG90aGVyIGxpYndlYnJ0YyBlbmNvZGVyIGltcGxlbWVudGF0aW9u
KS4KKyAgICAgICAgLSBQbHVnIGEgR3N0Q2FwcyBsZWFrLgorCisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvQ2FwdHVyZXIuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29kZXJG
YWN0b3J5LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0
cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFt
ZXJWaWRlb0VuY29kZXI6OkluaXRFbmNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVy
VmlkZW9FbmNvZGVyOjpuZXdTYW1wbGVDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpHU3Ry
ZWFtZXJWaWRlb0VuY29kZXI6OkZyYWdtZW50aXplKToKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJl
YW1lclZpZGVvRW5jb2Rlcjo6U2V0UmVzdHJpY3Rpb25DYXBzKToKKwogMjAxOC0wOS0yMSAgQWxp
Y2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW01TRV0gRml4
IGNvbXBhcnNpb24gd2l0aCB1bmluaXRpYWxpemVkIGdyZWF0ZXN0RGVjb2RlRHVyYXRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9H
U3RyZWFtZXJWaWRlb0NhcHR1cmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0NhcHR1cmVyLmNwcAppbmRleCA4OGI2MDUw
MjE2ZjM5OTc3NTA5NTU2NWJiNTNiNDkzOTIzYjkxYzMwLi42N2NjNWYzYjI0MTY5MTg2MDNlOTc2
ODY5YTI5NTA0NjhkOGEwNjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9DYXB0dXJlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVv
Q2FwdHVyZXIuY3BwCkBAIC0yNCw4ICsyNCw2IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkg
JiYgVVNFKExJQldFQlJUQykgJiYgVVNFKEdTVFJFQU1FUikKICNpbmNsdWRlICJHU3RyZWFtZXJW
aWRlb0NhcHR1cmVyLmgiCiAKLSNpbmNsdWRlIDxnc3QvYXBwL2dzdGFwcHNpbmsuaD4KLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBHU3RyZWFtZXJWaWRlb0NhcHR1cmVyOjpHU3RyZWFtZXJWaWRl
b0NhcHR1cmVyKEdTdHJlYW1lckNhcHR1cmVEZXZpY2UgZGV2aWNlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVv
RGVjb2RlckZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwCmluZGV4IDA5NmRlZDA4
MDIyNmE0MjlkODZjNDIzNDczM2FiYzNhOWQyNmEzNTYuLmRkZWI0ZDc3ZmEzMjMwOTI0NGRhZmJi
NjJlYWNlODJkYjhkOWRkNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVy
VmlkZW9EZWNvZGVyRmFjdG9yeS5jcHAKQEAgLTE1OSwxNSArMTU5LDE1IEBAIHB1YmxpYzoKICAg
ICAgICAgfQogCiAgICAgICAgIC8vIEZJWE1FLSBVc2UgYSBHc3RCdWZmZXJQb29sLgotICAgICAg
ICBhdXRvIGJ1ZmZlciA9IGdzdF9idWZmZXJfbmV3X3dyYXBwZWQoZ19tZW1kdXAoaW5wdXRJbWFn
ZS5fYnVmZmVyLCBpbnB1dEltYWdlLl9zaXplKSwKLSAgICAgICAgICAgIGlucHV0SW1hZ2UuX3Np
emUpOwotICAgICAgICBHU1RfQlVGRkVSX0RUUyhidWZmZXIpID0gKHN0YXRpY19jYXN0PGd1aW50
NjQ+KGlucHV0SW1hZ2UuX3RpbWVTdGFtcCkgKiBHU1RfTVNFQ09ORCkgLSBtX2ZpcnN0QnVmZmVy
RHRzOwotICAgICAgICBHU1RfQlVGRkVSX1BUUyhidWZmZXIpID0gKHN0YXRpY19jYXN0PGd1aW50
NjQ+KHJlbmRlclRpbWVNcykgKiBHU1RfTVNFQ09ORCkgLSBtX2ZpcnN0QnVmZmVyUHRzOwotICAg
ICAgICBtX2R0c1B0c01hcFtHU1RfQlVGRkVSX1BUUyhidWZmZXIpXSA9IGlucHV0SW1hZ2UuX3Rp
bWVTdGFtcDsKKyAgICAgICAgYXV0byBidWZmZXIgPSBhZG9wdEdSZWYoZ3N0X2J1ZmZlcl9uZXdf
d3JhcHBlZChnX21lbWR1cChpbnB1dEltYWdlLl9idWZmZXIsIGlucHV0SW1hZ2UuX3NpemUpLAor
ICAgICAgICAgICAgaW5wdXRJbWFnZS5fc2l6ZSkpOworICAgICAgICBHU1RfQlVGRkVSX0RUUyhi
dWZmZXIuZ2V0KCkpID0gKHN0YXRpY19jYXN0PGd1aW50NjQ+KGlucHV0SW1hZ2UuX3RpbWVTdGFt
cCkgKiBHU1RfTVNFQ09ORCkgLSBtX2ZpcnN0QnVmZmVyRHRzOworICAgICAgICBHU1RfQlVGRkVS
X1BUUyhidWZmZXIuZ2V0KCkpID0gKHN0YXRpY19jYXN0PGd1aW50NjQ+KHJlbmRlclRpbWVNcykg
KiBHU1RfTVNFQ09ORCkgLSBtX2ZpcnN0QnVmZmVyUHRzOworICAgICAgICBtX2R0c1B0c01hcFtH
U1RfQlVGRkVSX1BUUyhidWZmZXIuZ2V0KCkpXSA9IGlucHV0SW1hZ2UuX3RpbWVTdGFtcDsKIAog
ICAgICAgICBHU1RfTE9HX09CSkVDVChwaXBlbGluZSgpLCAiJWxkIERlY29kaW5nOiAlIiBHU1Rf
UFRSX0ZPUk1BVCwgcmVuZGVyVGltZU1zLCBidWZmZXIpOwotICAgICAgICBzd2l0Y2ggKGdzdF9h
cHBfc3JjX3B1c2hfc2FtcGxlKEdTVF9BUFBfU1JDKG1fc3JjKSwKLSAgICAgICAgICAgIGdzdF9z
YW1wbGVfbmV3KGJ1ZmZlciwgR2V0Q2Fwc0ZvckZyYW1lKGlucHV0SW1hZ2UpLCBudWxscHRyLCBu
dWxscHRyKSkpIHsKKyAgICAgICAgYXV0byBzYW1wbGUgPSBhZG9wdEdSZWYoZ3N0X3NhbXBsZV9u
ZXcoYnVmZmVyLmdldCgpLCBHZXRDYXBzRm9yRnJhbWUoaW5wdXRJbWFnZSksIG51bGxwdHIsIG51
bGxwdHIpKTsKKyAgICAgICAgc3dpdGNoIChnc3RfYXBwX3NyY19wdXNoX3NhbXBsZShHU1RfQVBQ
X1NSQyhtX3NyYyksIHNhbXBsZS5nZXQoKSkpIHsKICAgICAgICAgY2FzZSBHU1RfRkxPV19PSzoK
ICAgICAgICAgICAgIHJldHVybiBXRUJSVENfVklERU9fQ09ERUNfT0s7CiAgICAgICAgIGNhc2Ug
R1NUX0ZMT1dfRkxVU0hJTkc6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlk
ZW9FbmNvZGVyRmFjdG9yeS5jcHAKaW5kZXggODAzN2I5M2I3OWI5NzAzZGE5NWI2YmVmMDQ5YmQ4
MDE1ZTY2NWNiNC4uMDQxMDg0MzA2NjIyOTBjYTVjNzEyNjRjNWZmMDQzNWE1NjM1ZjA2NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dT
dHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5LmNw
cApAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEdTVF9JTkZPX09CSkVDVChtX3Bp
cGVsaW5lLmdldCgpLCAiTmV3IGJpdHJhdGU6ICVkIC0gZnJhbWVyYXRlIGlzICVkIiwKICAgICAg
ICAgICAgIG5ld0JpdHJhdGUsIGZyYW1lUmF0ZSk7CiAKLSAgICAgICAgYXV0byBjYXBzID0gZ3N0
X2NhcHNfbWFrZV93cml0YWJsZShtX3Jlc3RyaWN0aW9uQ2Fwcy5nZXQoKSk7CisgICAgICAgIGF1
dG8gY2FwcyA9IGdzdF9jYXBzX2NvcHkobV9yZXN0cmljdGlvbkNhcHMuZ2V0KCkpOwogICAgICAg
ICBnc3RfY2Fwc19zZXRfc2ltcGxlKGNhcHMsICJmcmFtZXJhdGUiLCBHU1RfVFlQRV9GUkFDVElP
TiwgZnJhbWVSYXRlLCAxLCBudWxscHRyKTsKIAogICAgICAgICBTZXRSZXN0cmljdGlvbkNhcHMo
Y2Fwcyk7CkBAIC0xMDcsNiArMTA3LDE0IEBAIHB1YmxpYzoKICAgICAgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwoY29kZWNTZXR0aW5ncywgV0VCUlRDX1ZJREVPX0NPREVDX0VSUl9QQVJBTUVURVIp
OwogICAgICAgICBnX3JldHVybl92YWxfaWZfZmFpbChjb2RlY1NldHRpbmdzLT5jb2RlY1R5cGUg
PT0gQ29kZWNUeXBlKCksIFdFQlJUQ19WSURFT19DT0RFQ19FUlJfUEFSQU1FVEVSKTsKIAorICAg
ICAgICBtX2VuY29kZWRGcmFtZS5fc2l6ZSA9IGNvZGVjU2V0dGluZ3MtPndpZHRoICogY29kZWNT
ZXR0aW5ncy0+aGVpZ2h0ICogMzsKKyAgICAgICAgbV9lbmNvZGVkRnJhbWUuX2J1ZmZlciA9IG5l
dyB1aW50OF90W21fZW5jb2RlZEZyYW1lLl9zaXplXTsKKyAgICAgICAgZW5jb2RlZF9pbWFnZV9i
dWZmZXJfLnJlc2V0KG1fZW5jb2RlZEZyYW1lLl9idWZmZXIpOworICAgICAgICBtX2VuY29kZWRG
cmFtZS5fY29tcGxldGVGcmFtZSA9IHRydWU7CisgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9lbmNv
ZGVkV2lkdGggPSAwOworICAgICAgICBtX2VuY29kZWRGcmFtZS5fZW5jb2RlZEhlaWdodCA9IDA7
CisgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9sZW5ndGggPSAwOworCiAgICAgICAgIG1fcGlwZWxp
bmUgPSBtYWtlRWxlbWVudCgicGlwZWxpbmUiKTsKIAogICAgICAgICBjb25uZWN0U2ltcGxlQnVz
TWVzc2FnZUNhbGxiYWNrKG1fcGlwZWxpbmUuZ2V0KCkpOwpAQCAtMTUwLDYgKzE1OCw4IEBAIHB1
YmxpYzoKIAogICAgIGludDMyX3QgUmVsZWFzZSgpIGZpbmFsCiAgICAgeworICAgICAgICBtX2Vu
Y29kZWRGcmFtZS5fYnVmZmVyID0gbnVsbHB0cjsKKyAgICAgICAgZW5jb2RlZF9pbWFnZV9idWZm
ZXJfLnJlc2V0KCk7CiAgICAgICAgIEdSZWZQdHI8R3N0QnVzPiBidXMgPSBhZG9wdEdSZWYoZ3N0
X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5FKG1fcGlwZWxpbmUuZ2V0KCkpKSk7CiAgICAg
ICAgIGdzdF9idXNfc2V0X3N5bmNfaGFuZGxlcihidXMuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIs
IG51bGxwdHIpOwogCkBAIC0yMTksMjYgKzIyOSwyNiBAQCBwdWJsaWM6CiAgICAgICAgIGF1dG8g
YnVmZmVyID0gZ3N0X3NhbXBsZV9nZXRfYnVmZmVyKHNhbXBsZS5nZXQoKSk7CiAgICAgICAgIGF1
dG8gY2FwcyA9IGdzdF9zYW1wbGVfZ2V0X2NhcHMoc2FtcGxlLmdldCgpKTsKIAotICAgICAgICB3
ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqIGZyYWdtZW50YXRpb25JbmZvOwotICAgICAg
ICBhdXRvIGZyYW1lID0gRnJhZ21lbnRpemUoYnVmZmVyLCAmZnJhZ21lbnRhdGlvbkluZm8pOwot
ICAgICAgICBpZiAoIWZyYW1lLl9zaXplKQorICAgICAgICB3ZWJydGM6OlJUUEZyYWdtZW50YXRp
b25IZWFkZXIgZnJhZ21lbnRhdGlvbkluZm87CisgICAgICAgIEZyYWdtZW50aXplKCZtX2VuY29k
ZWRGcmFtZSwgJmVuY29kZWRfaW1hZ2VfYnVmZmVyXywgYnVmZmVyLCAmZnJhZ21lbnRhdGlvbklu
Zm8pOworICAgICAgICBpZiAoIW1fZW5jb2RlZEZyYW1lLl9zaXplKQogICAgICAgICAgICAgcmV0
dXJuIEdTVF9GTE9XX09LOwogCiAgICAgICAgIGdzdF9zdHJ1Y3R1cmVfZ2V0KGdzdF9jYXBzX2dl
dF9zdHJ1Y3R1cmUoY2FwcywgMCksCi0gICAgICAgICAgICAid2lkdGgiLCBHX1RZUEVfSU5ULCAm
ZnJhbWUuX2VuY29kZWRXaWR0aCwKLSAgICAgICAgICAgICJoZWlnaHQiLCBHX1RZUEVfSU5ULCAm
ZnJhbWUuX2VuY29kZWRIZWlnaHQsCisgICAgICAgICAgICAid2lkdGgiLCBHX1RZUEVfSU5ULCAm
bV9lbmNvZGVkRnJhbWUuX2VuY29kZWRXaWR0aCwKKyAgICAgICAgICAgICJoZWlnaHQiLCBHX1RZ
UEVfSU5ULCAmbV9lbmNvZGVkRnJhbWUuX2VuY29kZWRIZWlnaHQsCiAgICAgICAgICAgICBudWxs
cHRyKTsKIAotICAgICAgICBmcmFtZS5fZnJhbWVUeXBlID0gR1NUX0JVRkZFUl9GTEFHX0lTX1NF
VChidWZmZXIsIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUKSA/IHdlYnJ0Yzo6a1ZpZGVvRnJh
bWVEZWx0YSA6IHdlYnJ0Yzo6a1ZpZGVvRnJhbWVLZXk7Ci0gICAgICAgIGZyYW1lLl9jb21wbGV0
ZUZyYW1lID0gdHJ1ZTsKLSAgICAgICAgZnJhbWUuY2FwdHVyZV90aW1lX21zXyA9IEdTVF9USU1F
X0FTX01TRUNPTkRTKEdTVF9CVUZGRVJfUFRTKGJ1ZmZlcikpOwotICAgICAgICBmcmFtZS5fdGlt
ZVN0YW1wID0gR1NUX1RJTUVfQVNfTVNFQ09ORFMoR1NUX0JVRkZFUl9EVFMoYnVmZmVyKSk7Cisg
ICAgICAgIG1fZW5jb2RlZEZyYW1lLl9mcmFtZVR5cGUgPSBHU1RfQlVGRkVSX0ZMQUdfSVNfU0VU
KGJ1ZmZlciwgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQpID8gd2VicnRjOjprVmlkZW9GcmFt
ZURlbHRhIDogd2VicnRjOjprVmlkZW9GcmFtZUtleTsKKyAgICAgICAgbV9lbmNvZGVkRnJhbWUu
X2NvbXBsZXRlRnJhbWUgPSB0cnVlOworICAgICAgICBtX2VuY29kZWRGcmFtZS5jYXB0dXJlX3Rp
bWVfbXNfID0gR1NUX1RJTUVfQVNfTVNFQ09ORFMoR1NUX0JVRkZFUl9QVFMoYnVmZmVyKSk7Cisg
ICAgICAgIG1fZW5jb2RlZEZyYW1lLl90aW1lU3RhbXAgPSBHU1RfVElNRV9BU19NU0VDT05EUyhH
U1RfQlVGRkVSX0RUUyhidWZmZXIpKTsKICAgICAgICAgR1NUX0xPR19PQkpFQ1QobV9waXBlbGlu
ZS5nZXQoKSwgIkdvdCBidWZmZXIgVFM6ICUiIEdTVF9USU1FX0ZPUk1BVCwgR1NUX1RJTUVfQVJH
UyhHU1RfQlVGRkVSX1BUUyhidWZmZXIpKSk7CiAKICAgICAgICAgd2VicnRjOjpDb2RlY1NwZWNp
ZmljSW5mbyBjb2RlY1NwZWNpZmlJbmZvczsKICAgICAgICAgUG9wdWxhdGVDb2RlY1NwZWNpZmlj
KCZjb2RlY1NwZWNpZmlJbmZvcywgYnVmZmVyKTsKIAotICAgICAgICB3ZWJydGM6OkVuY29kZWRJ
bWFnZUNhbGxiYWNrOjpSZXN1bHQgcmVzdWx0ID0gbV9pbWFnZVJlYWR5Q2ItPk9uRW5jb2RlZElt
YWdlKGZyYW1lLCAmY29kZWNTcGVjaWZpSW5mb3MsIGZyYWdtZW50YXRpb25JbmZvKTsKKyAgICAg
ICAgd2VicnRjOjpFbmNvZGVkSW1hZ2VDYWxsYmFjazo6UmVzdWx0IHJlc3VsdCA9IG1faW1hZ2VS
ZWFkeUNiLT5PbkVuY29kZWRJbWFnZShtX2VuY29kZWRGcmFtZSwgJmNvZGVjU3BlY2lmaUluZm9z
LCAmZnJhZ21lbnRhdGlvbkluZm8pOwogICAgICAgICBpZiAocmVzdWx0LmVycm9yICE9IHdlYnJ0
Yzo6RW5jb2RlZEltYWdlQ2FsbGJhY2s6OlJlc3VsdDo6T0spIHsKICAgICAgICAgICAgIEdTVF9F
TEVNRU5UX0VSUk9SKG1fcGlwZWxpbmUuZ2V0KCksIExJQlJBUlksIEZBSUxFRCwgKG51bGxwdHIp
LAogICAgICAgICAgICAgICAgICgiRW5jb2RlIGNhbGxiYWNrIGZhaWxlZDogJWQiLCByZXN1bHQu
ZXJyb3IpKTsKQEAgLTM0OSwyNiArMzU5LDI1IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBQb3B1bGF0ZUNvZGVjU3BlY2lmaWMod2VicnRjOjpDb2RlY1NwZWNpZmljSW5mbyosIEdzdEJ1
ZmZlciopID0gMDsKIAotICAgIHZpcnR1YWwgd2VicnRjOjpFbmNvZGVkSW1hZ2UgRnJhZ21lbnRp
emUoR3N0QnVmZmVyKiBidWZmZXIsIHdlYnJ0Yzo6UlRQRnJhZ21lbnRhdGlvbkhlYWRlcioqIG91
dEZyYWdtZW50YXRpb25JbmZvKQorICAgIHZpcnR1YWwgdm9pZCBGcmFnbWVudGl6ZSh3ZWJydGM6
OkVuY29kZWRJbWFnZSogZW5jb2RlZEltYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8dWludDhfdFtdPiog
ZW5jb2RlZF9pbWFnZV9idWZmZXIsIEdzdEJ1ZmZlciogYnVmZmVyLAorICAgICAgICB3ZWJydGM6
OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqIGZyYWdtZW50YXRpb25JbmZvKQogICAgIHsKICAgICAg
ICAgR3N0TWFwSW5mbyBtYXA7CiAKICAgICAgICAgZ3N0X2J1ZmZlcl9tYXAoYnVmZmVyLCAmbWFw
LCBHU1RfTUFQX1JFQUQpOwotICAgICAgICB3ZWJydGM6OkVuY29kZWRJbWFnZSBmcmFtZShtYXAu
ZGF0YSwgbWFwLnNpemUsIG1hcC5zaXplKTsKKyAgICAgICAgaWYgKGVuY29kZWRJbWFnZS0+X3Np
emUgPCBtYXAuc2l6ZSkgeworICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5fc2l6ZSA9IG1hcC5z
aXplOworICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5fYnVmZmVyID0gbmV3IHVpbnQ4X3RbZW5j
b2RlZEltYWdlLT5fc2l6ZV07CisgICAgICAgICAgICBlbmNvZGVkX2ltYWdlX2J1ZmZlci0+cmVz
ZXQoZW5jb2RlZEltYWdlLT5fYnVmZmVyKTsKKyAgICAgICAgICAgIG1lbWNweShlbmNvZGVkSW1h
Z2UtPl9idWZmZXIsIG1hcC5kYXRhLCBtYXAuc2l6ZSk7CisgICAgICAgIH0KICAgICAgICAgZ3N0
X2J1ZmZlcl91bm1hcChidWZmZXIsICZtYXApOwogCi0gICAgICAgIC8vIE5vIGZyYWdtZW50YXRp
b24gYnkgZGVmYXVsdC4KLSAgICAgICAgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVhZGVyKiBm
cmFnbWVudGF0aW9uSW5mbyA9IG5ldyB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIoKTsK
LQogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+VmVyaWZ5QW5kQWxsb2NhdGVGcmFnbWVudGF0
aW9uSGVhZGVyKDEpOwogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+ZnJhZ21lbnRhdGlvbk9m
ZnNldFswXSA9IDA7CiAgICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5mcmFnbWVudGF0aW9uTGVu
Z3RoWzBdID0gZ3N0X2J1ZmZlcl9nZXRfc2l6ZShidWZmZXIpOwogICAgICAgICBmcmFnbWVudGF0
aW9uSW5mby0+ZnJhZ21lbnRhdGlvblBsVHlwZVswXSA9IDA7CiAgICAgICAgIGZyYWdtZW50YXRp
b25JbmZvLT5mcmFnbWVudGF0aW9uVGltZURpZmZbMF0gPSAwOwotCi0gICAgICAgICpvdXRGcmFn
bWVudGF0aW9uSW5mbyA9IGZyYWdtZW50YXRpb25JbmZvOwotCi0gICAgICAgIHJldHVybiBmcmFt
ZTsKICAgICB9CiAKICAgICBjb25zdCBjaGFyKiBJbXBsZW1lbnRhdGlvbk5hbWUoKSBjb25zdApA
QCAtMzg1LDcgKzM5NCw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKGNhcHMgJiYgbV9wcm9maWxl
LmdldCgpICYmIGdzdF9jYXBzX2lzX2VxdWFsKG1fcmVzdHJpY3Rpb25DYXBzLmdldCgpLCBjYXBz
KSkKICAgICAgICAgICAgIGdfb2JqZWN0X3NldChtX3Byb2ZpbGUuZ2V0KCksICJyZXN0cmljdGlv
bi1jYXBzIiwgY2FwcywgbnVsbHB0cik7CiAKLSAgICAgICAgbV9yZXN0cmljdGlvbkNhcHMgPSBj
YXBzOworICAgICAgICBtX3Jlc3RyaWN0aW9uQ2FwcyA9IGFkb3B0R1JlZihjYXBzKTsKICAgICB9
CiAKIHByaXZhdGU6CkBAIC00MDMsNiArNDEyLDggQEAgcHJpdmF0ZToKICAgICBHUmVmUHRyPEdz
dENhcHM+IG1fcmVzdHJpY3Rpb25DYXBzOwogICAgIEdSZWZQdHI8R3N0RW5jb2RpbmdQcm9maWxl
PiBtX3Byb2ZpbGU7CiAgICAgQml0cmF0ZVNldHRlciBtX2JpdHJhdGVTZXR0ZXI7CisgICAgd2Vi
cnRjOjpFbmNvZGVkSW1hZ2UgbV9lbmNvZGVkRnJhbWU7CisgICAgc3RkOjp1bmlxdWVfcHRyPHVp
bnQ4X3RbXT4gZW5jb2RlZF9pbWFnZV9idWZmZXJfOwogfTsKIAogY2xhc3MgSDI2NEVuY29kZXIg
OiBwdWJsaWMgR1N0cmVhbWVyVmlkZW9FbmNvZGVyIHsKQEAgLTQyMCw3ICs0MzEsOCBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgLy8gRklYTUUgLSBNVC4gc2FmZXR5IQotICAgIHdlYnJ0Yzo6RW5j
b2RlZEltYWdlIEZyYWdtZW50aXplKEdzdEJ1ZmZlciogZ3N0YnVmZmVyLCB3ZWJydGM6OlJUUEZy
YWdtZW50YXRpb25IZWFkZXIqKiBvdXRGcmFnbWVudGF0aW9uSW5mbykgZmluYWwKKyAgICB2b2lk
IEZyYWdtZW50aXplKHdlYnJ0Yzo6RW5jb2RlZEltYWdlKiBlbmNvZGVkSW1hZ2UsIHN0ZDo6dW5p
cXVlX3B0cjx1aW50OF90W10+KiBlbmNvZGVkX2ltYWdlX2J1ZmZlciwKKyAgICAgICAgR3N0QnVm
ZmVyKiBnc3RidWZmZXIsIHdlYnJ0Yzo6UlRQRnJhZ21lbnRhdGlvbkhlYWRlciogZnJhZ21lbnRh
dGlvbkhlYWRlcikgZmluYWwKICAgICB7CiAgICAgICAgIEdzdE1hcEluZm8gbWFwOwogICAgICAg
ICBHc3RIMjY0TmFsVW5pdCBuYWx1OwpAQCAtNDMwLDcgKzQ0Miw2IEBAIHB1YmxpYzoKICAgICAg
ICAgc2l6ZV90IHJlcXVpcmVkU2l6ZSA9IDA7CiAKICAgICAgICAgc3RkOjp2ZWN0b3I8R3N0SDI2
NE5hbFVuaXQ+IG5hbHM7Ci0gICAgICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIGVuY29kZWRJbWFn
ZTsKIAogICAgICAgICBjb25zdCB1aW50OF90IHN0YXJ0Q29kZVs0XSA9IHsgMCwgMCwgMCwgMSB9
OwogICAgICAgICBnc3RfYnVmZmVyX21hcChnc3RidWZmZXIsICZtYXAsIEdTVF9NQVBfUkVBRCk7
CkBAIC00NDcsMTMgKzQ1OCwxNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBvZmZzZXQgPSBuYWx1
Lm9mZnNldCArIG5hbHUuc2l6ZTsKICAgICAgICAgfQogCi0gICAgICAgIGVuY29kZWRJbWFnZS5f
c2l6ZSA9IHJlcXVpcmVkU2l6ZTsKLSAgICAgICAgZW5jb2RlZEltYWdlLl9idWZmZXIgPSBuZXcg
dWludDhfdFtlbmNvZGVkSW1hZ2UuX3NpemVdOworICAgICAgICBpZiAoZW5jb2RlZEltYWdlLT5f
c2l6ZSA8IHJlcXVpcmVkU2l6ZSkgeworICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5fc2l6ZSA9
IHJlcXVpcmVkU2l6ZTsKKyAgICAgICAgICAgIGVuY29kZWRJbWFnZS0+X2J1ZmZlciA9IG5ldyB1
aW50OF90W2VuY29kZWRJbWFnZS0+X3NpemVdOworICAgICAgICAgICAgZW5jb2RlZF9pbWFnZV9i
dWZmZXItPnJlc2V0KGVuY29kZWRJbWFnZS0+X2J1ZmZlcik7CisgICAgICAgIH0KKwogICAgICAg
ICAvLyBJdGVyYXRlIG5hbCB1bml0cyBhbmQgZmlsbCB0aGUgRnJhZ21lbnRhdGlvbiBpbmZvLgot
ICAgICAgICB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqIGZyYWdtZW50YXRpb25IZWFk
ZXIgPSBuZXcgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVhZGVyKCk7CiAgICAgICAgIGZyYWdt
ZW50YXRpb25IZWFkZXItPlZlcmlmeUFuZEFsbG9jYXRlRnJhZ21lbnRhdGlvbkhlYWRlcihuYWxz
LnNpemUoKSk7CiAgICAgICAgIHNpemVfdCBmcmFnbWVudEluZGV4ID0gMDsKLSAgICAgICAgZW5j
b2RlZEltYWdlLl9sZW5ndGggPSAwOworICAgICAgICBlbmNvZGVkSW1hZ2UtPl9sZW5ndGggPSAw
OwogICAgICAgICBmb3IgKHN0ZDo6dmVjdG9yPEdzdEgyNjROYWxVbml0Pjo6aXRlcmF0b3IgbmFs
ID0gbmFscy5iZWdpbigpOyBuYWwgIT0gbmFscy5lbmQoKTsgKytuYWwsIGZyYWdtZW50SW5kZXgr
KykgewogCiAgICAgICAgICAgICBBU1NFUlQobWFwLmRhdGFbbmFsLT5zY19vZmZzZXQgKyAwXSA9
PSBzdGFydENvZGVbMF0pOwpAQCAtNDY0LDE0ICs0NzgsMTIgQEAgcHVibGljOgogICAgICAgICAg
ICAgZnJhZ21lbnRhdGlvbkhlYWRlci0+ZnJhZ21lbnRhdGlvbk9mZnNldFtmcmFnbWVudEluZGV4
XSA9IG5hbC0+b2Zmc2V0OwogICAgICAgICAgICAgZnJhZ21lbnRhdGlvbkhlYWRlci0+ZnJhZ21l
bnRhdGlvbkxlbmd0aFtmcmFnbWVudEluZGV4XSA9IG5hbC0+c2l6ZTsKIAotICAgICAgICAgICAg
bWVtY3B5KGVuY29kZWRJbWFnZS5fYnVmZmVyICsgZW5jb2RlZEltYWdlLl9sZW5ndGgsICZtYXAu
ZGF0YVtuYWwtPnNjX29mZnNldF0sCisgICAgICAgICAgICBtZW1jcHkoZW5jb2RlZEltYWdlLT5f
YnVmZmVyICsgZW5jb2RlZEltYWdlLT5fbGVuZ3RoLCAmbWFwLmRhdGFbbmFsLT5zY19vZmZzZXRd
LAogICAgICAgICAgICAgICAgIHNpemVvZihzdGFydENvZGUpICsgbmFsLT5zaXplKTsKLSAgICAg
ICAgICAgIGVuY29kZWRJbWFnZS5fbGVuZ3RoICs9IG5hbC0+c2l6ZSArIHNpemVvZihzdGFydENv
ZGUpOworICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5fbGVuZ3RoICs9IG5hbC0+c2l6ZSArIHNp
emVvZihzdGFydENvZGUpOwogICAgICAgICB9CiAKLSAgICAgICAgKm91dEZyYWdtZW50YXRpb25J
bmZvID0gZnJhZ21lbnRhdGlvbkhlYWRlcjsKICAgICAgICAgZ3N0X2J1ZmZlcl91bm1hcChnc3Ri
dWZmZXIsICZtYXApOwotICAgICAgICByZXR1cm4gZW5jb2RlZEltYWdlOwogICAgIH0KIAogICAg
IEdzdEVsZW1lbnQqIENyZWF0ZUZpbHRlcigpIGZpbmFsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350374</attachid>
            <date>2018-09-21 09:48:28 -0700</date>
            <delta_ts>2018-09-21 11:46:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189835-20180921134826.patch</filename>
            <type>text/plain</type>
            <size>12595</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxNjhiMGYyZDUyYzVm
OGVmZDEzNmE5ZDI2NWM0YzdmMTNhMTg3Zi4uYjI5YzNiMGZiODE5MzNkYmZiODFjMTAyM2RkNjAz
MjU1ZjFmOWJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA5LTIwICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtHVEtd
W1dlYlJUQ10gRml4IGxlYWtzIGluIHRoZSBsaWJ3ZWJydGMgRGVjb2RlciBhbmQgRW5jb2Rlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5ODM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZXdvcmsg
bWVtb3J5IG1hbmFnZW1lbnQgdG8gYXZvaWQgbGVha2luZyBlbmNvZGVkIGZyYW1lcyAoYmFzaWNh
bGx5IHVzZSB0aGUgc2FtZQorICAgICAgICAgIHN0YXJ0ZWd5IGFzIG90aGVyIGxpYndlYnJ0YyBl
bmNvZGVyIGltcGxlbWVudGF0aW9uKS4KKyAgICAgICAgLSBQbHVnIGEgR3N0Q2FwcyBsZWFrLgor
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVv
Q2FwdHVyZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9H
U3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHU3RyZWFtZXJWaWRlb0VuY29kZXI6OkluaXRFbmNvZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6R1N0cmVhbWVyVmlkZW9FbmNvZGVyOjpuZXdTYW1wbGVDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpHU3RyZWFtZXJWaWRlb0VuY29kZXI6OkZyYWdtZW50aXplKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVvRW5jb2Rlcjo6U2V0UmVzdHJpY3Rpb25DYXBz
KToKKwogMjAxOC0wOS0yMSAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW01TRV0gRml4IGNvbXBhcnNpb24gd2l0aCB1bmluaXRpYWxpemVkIGdyZWF0
ZXN0RGVjb2RlRHVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0NhcHR1cmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0NhcHR1
cmVyLmNwcAppbmRleCA4OGI2MDUwMjE2ZjM5OTc3NTA5NTU2NWJiNTNiNDkzOTIzYjkxYzMwLi42
N2NjNWYzYjI0MTY5MTg2MDNlOTc2ODY5YTI5NTA0NjhkOGEwNjRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9D
YXB0dXJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0
cmVhbWVyL0dTdHJlYW1lclZpZGVvQ2FwdHVyZXIuY3BwCkBAIC0yNCw4ICsyNCw2IEBACiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKExJQldFQlJUQykgJiYgVVNFKEdTVFJFQU1FUikK
ICNpbmNsdWRlICJHU3RyZWFtZXJWaWRlb0NhcHR1cmVyLmgiCiAKLSNpbmNsdWRlIDxnc3QvYXBw
L2dzdGFwcHNpbmsuaD4KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHU3RyZWFtZXJWaWRlb0Nh
cHR1cmVyOjpHU3RyZWFtZXJWaWRlb0NhcHR1cmVyKEdTdHJlYW1lckNhcHR1cmVEZXZpY2UgZGV2
aWNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3Rv
cnkuY3BwCmluZGV4IDA5NmRlZDA4MDIyNmE0MjlkODZjNDIzNDczM2FiYzNhOWQyNmEzNTYuLmRk
ZWI0ZDc3ZmEzMjMwOTI0NGRhZmJiNjJlYWNlODJkYjhkOWRkNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0Rl
Y29kZXJGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5jcHAKQEAgLTE1OSwxNSAr
MTU5LDE1IEBAIHB1YmxpYzoKICAgICAgICAgfQogCiAgICAgICAgIC8vIEZJWE1FLSBVc2UgYSBH
c3RCdWZmZXJQb29sLgotICAgICAgICBhdXRvIGJ1ZmZlciA9IGdzdF9idWZmZXJfbmV3X3dyYXBw
ZWQoZ19tZW1kdXAoaW5wdXRJbWFnZS5fYnVmZmVyLCBpbnB1dEltYWdlLl9zaXplKSwKLSAgICAg
ICAgICAgIGlucHV0SW1hZ2UuX3NpemUpOwotICAgICAgICBHU1RfQlVGRkVSX0RUUyhidWZmZXIp
ID0gKHN0YXRpY19jYXN0PGd1aW50NjQ+KGlucHV0SW1hZ2UuX3RpbWVTdGFtcCkgKiBHU1RfTVNF
Q09ORCkgLSBtX2ZpcnN0QnVmZmVyRHRzOwotICAgICAgICBHU1RfQlVGRkVSX1BUUyhidWZmZXIp
ID0gKHN0YXRpY19jYXN0PGd1aW50NjQ+KHJlbmRlclRpbWVNcykgKiBHU1RfTVNFQ09ORCkgLSBt
X2ZpcnN0QnVmZmVyUHRzOwotICAgICAgICBtX2R0c1B0c01hcFtHU1RfQlVGRkVSX1BUUyhidWZm
ZXIpXSA9IGlucHV0SW1hZ2UuX3RpbWVTdGFtcDsKKyAgICAgICAgYXV0byBidWZmZXIgPSBhZG9w
dEdSZWYoZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZChnX21lbWR1cChpbnB1dEltYWdlLl9idWZmZXIs
IGlucHV0SW1hZ2UuX3NpemUpLAorICAgICAgICAgICAgaW5wdXRJbWFnZS5fc2l6ZSkpOworICAg
ICAgICBHU1RfQlVGRkVSX0RUUyhidWZmZXIuZ2V0KCkpID0gKHN0YXRpY19jYXN0PGd1aW50NjQ+
KGlucHV0SW1hZ2UuX3RpbWVTdGFtcCkgKiBHU1RfTVNFQ09ORCkgLSBtX2ZpcnN0QnVmZmVyRHRz
OworICAgICAgICBHU1RfQlVGRkVSX1BUUyhidWZmZXIuZ2V0KCkpID0gKHN0YXRpY19jYXN0PGd1
aW50NjQ+KHJlbmRlclRpbWVNcykgKiBHU1RfTVNFQ09ORCkgLSBtX2ZpcnN0QnVmZmVyUHRzOwor
ICAgICAgICBtX2R0c1B0c01hcFtHU1RfQlVGRkVSX1BUUyhidWZmZXIuZ2V0KCkpXSA9IGlucHV0
SW1hZ2UuX3RpbWVTdGFtcDsKIAogICAgICAgICBHU1RfTE9HX09CSkVDVChwaXBlbGluZSgpLCAi
JWxkIERlY29kaW5nOiAlIiBHU1RfUFRSX0ZPUk1BVCwgcmVuZGVyVGltZU1zLCBidWZmZXIpOwot
ICAgICAgICBzd2l0Y2ggKGdzdF9hcHBfc3JjX3B1c2hfc2FtcGxlKEdTVF9BUFBfU1JDKG1fc3Jj
KSwKLSAgICAgICAgICAgIGdzdF9zYW1wbGVfbmV3KGJ1ZmZlciwgR2V0Q2Fwc0ZvckZyYW1lKGlu
cHV0SW1hZ2UpLCBudWxscHRyLCBudWxscHRyKSkpIHsKKyAgICAgICAgYXV0byBzYW1wbGUgPSBh
ZG9wdEdSZWYoZ3N0X3NhbXBsZV9uZXcoYnVmZmVyLmdldCgpLCBHZXRDYXBzRm9yRnJhbWUoaW5w
dXRJbWFnZSksIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICAgICAgc3dpdGNoIChnc3RfYXBwX3Ny
Y19wdXNoX3NhbXBsZShHU1RfQVBQX1NSQyhtX3NyYyksIHNhbXBsZS5nZXQoKSkpIHsKICAgICAg
ICAgY2FzZSBHU1RfRkxPV19PSzoKICAgICAgICAgICAgIHJldHVybiBXRUJSVENfVklERU9fQ09E
RUNfT0s7CiAgICAgICAgIGNhc2UgR1NUX0ZMT1dfRkxVU0hJTkc6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9F
bmNvZGVyRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHAKaW5kZXggODAzN2I5M2I3
OWI5NzAzZGE5NWI2YmVmMDQ5YmQ4MDE1ZTY2NWNiNC4uMDQxMDg0MzA2NjIyOTBjYTVjNzEyNjRj
NWZmMDQzNWE1NjM1ZjA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJW
aWRlb0VuY29kZXJGYWN0b3J5LmNwcApAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEdTVF9JTkZPX09CSkVDVChtX3BpcGVsaW5lLmdldCgpLCAiTmV3IGJpdHJhdGU6ICVkIC0gZnJh
bWVyYXRlIGlzICVkIiwKICAgICAgICAgICAgIG5ld0JpdHJhdGUsIGZyYW1lUmF0ZSk7CiAKLSAg
ICAgICAgYXV0byBjYXBzID0gZ3N0X2NhcHNfbWFrZV93cml0YWJsZShtX3Jlc3RyaWN0aW9uQ2Fw
cy5nZXQoKSk7CisgICAgICAgIGF1dG8gY2FwcyA9IGdzdF9jYXBzX2NvcHkobV9yZXN0cmljdGlv
bkNhcHMuZ2V0KCkpOwogICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlKGNhcHMsICJmcmFtZXJh
dGUiLCBHU1RfVFlQRV9GUkFDVElPTiwgZnJhbWVSYXRlLCAxLCBudWxscHRyKTsKIAogICAgICAg
ICBTZXRSZXN0cmljdGlvbkNhcHMoY2Fwcyk7CkBAIC0xMDcsNiArMTA3LDE0IEBAIHB1YmxpYzoK
ICAgICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoY29kZWNTZXR0aW5ncywgV0VCUlRDX1ZJREVP
X0NPREVDX0VSUl9QQVJBTUVURVIpOwogICAgICAgICBnX3JldHVybl92YWxfaWZfZmFpbChjb2Rl
Y1NldHRpbmdzLT5jb2RlY1R5cGUgPT0gQ29kZWNUeXBlKCksIFdFQlJUQ19WSURFT19DT0RFQ19F
UlJfUEFSQU1FVEVSKTsKIAorICAgICAgICBtX2VuY29kZWRGcmFtZS5fc2l6ZSA9IGNvZGVjU2V0
dGluZ3MtPndpZHRoICogY29kZWNTZXR0aW5ncy0+aGVpZ2h0ICogMzsKKyAgICAgICAgbV9lbmNv
ZGVkRnJhbWUuX2J1ZmZlciA9IG5ldyB1aW50OF90W21fZW5jb2RlZEZyYW1lLl9zaXplXTsKKyAg
ICAgICAgZW5jb2RlZF9pbWFnZV9idWZmZXJfLnJlc2V0KG1fZW5jb2RlZEZyYW1lLl9idWZmZXIp
OworICAgICAgICBtX2VuY29kZWRGcmFtZS5fY29tcGxldGVGcmFtZSA9IHRydWU7CisgICAgICAg
IG1fZW5jb2RlZEZyYW1lLl9lbmNvZGVkV2lkdGggPSAwOworICAgICAgICBtX2VuY29kZWRGcmFt
ZS5fZW5jb2RlZEhlaWdodCA9IDA7CisgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9sZW5ndGggPSAw
OworCiAgICAgICAgIG1fcGlwZWxpbmUgPSBtYWtlRWxlbWVudCgicGlwZWxpbmUiKTsKIAogICAg
ICAgICBjb25uZWN0U2ltcGxlQnVzTWVzc2FnZUNhbGxiYWNrKG1fcGlwZWxpbmUuZ2V0KCkpOwpA
QCAtMTUwLDYgKzE1OCw4IEBAIHB1YmxpYzoKIAogICAgIGludDMyX3QgUmVsZWFzZSgpIGZpbmFs
CiAgICAgeworICAgICAgICBtX2VuY29kZWRGcmFtZS5fYnVmZmVyID0gbnVsbHB0cjsKKyAgICAg
ICAgZW5jb2RlZF9pbWFnZV9idWZmZXJfLnJlc2V0KCk7CiAgICAgICAgIEdSZWZQdHI8R3N0QnVz
PiBidXMgPSBhZG9wdEdSZWYoZ3N0X3BpcGVsaW5lX2dldF9idXMoR1NUX1BJUEVMSU5FKG1fcGlw
ZWxpbmUuZ2V0KCkpKSk7CiAgICAgICAgIGdzdF9idXNfc2V0X3N5bmNfaGFuZGxlcihidXMuZ2V0
KCksIG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpOwogCkBAIC0yMTksMjYgKzIyOSwyNiBAQCBw
dWJsaWM6CiAgICAgICAgIGF1dG8gYnVmZmVyID0gZ3N0X3NhbXBsZV9nZXRfYnVmZmVyKHNhbXBs
ZS5nZXQoKSk7CiAgICAgICAgIGF1dG8gY2FwcyA9IGdzdF9zYW1wbGVfZ2V0X2NhcHMoc2FtcGxl
LmdldCgpKTsKIAotICAgICAgICB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqIGZyYWdt
ZW50YXRpb25JbmZvOwotICAgICAgICBhdXRvIGZyYW1lID0gRnJhZ21lbnRpemUoYnVmZmVyLCAm
ZnJhZ21lbnRhdGlvbkluZm8pOwotICAgICAgICBpZiAoIWZyYW1lLl9zaXplKQorICAgICAgICB3
ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIgZnJhZ21lbnRhdGlvbkluZm87CisgICAgICAg
IEZyYWdtZW50aXplKCZtX2VuY29kZWRGcmFtZSwgJmVuY29kZWRfaW1hZ2VfYnVmZmVyXywgYnVm
ZmVyLCAmZnJhZ21lbnRhdGlvbkluZm8pOworICAgICAgICBpZiAoIW1fZW5jb2RlZEZyYW1lLl9z
aXplKQogICAgICAgICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwogCiAgICAgICAgIGdzdF9zdHJ1
Y3R1cmVfZ2V0KGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUoY2FwcywgMCksCi0gICAgICAgICAgICAi
d2lkdGgiLCBHX1RZUEVfSU5ULCAmZnJhbWUuX2VuY29kZWRXaWR0aCwKLSAgICAgICAgICAgICJo
ZWlnaHQiLCBHX1RZUEVfSU5ULCAmZnJhbWUuX2VuY29kZWRIZWlnaHQsCisgICAgICAgICAgICAi
d2lkdGgiLCBHX1RZUEVfSU5ULCAmbV9lbmNvZGVkRnJhbWUuX2VuY29kZWRXaWR0aCwKKyAgICAg
ICAgICAgICJoZWlnaHQiLCBHX1RZUEVfSU5ULCAmbV9lbmNvZGVkRnJhbWUuX2VuY29kZWRIZWln
aHQsCiAgICAgICAgICAgICBudWxscHRyKTsKIAotICAgICAgICBmcmFtZS5fZnJhbWVUeXBlID0g
R1NUX0JVRkZFUl9GTEFHX0lTX1NFVChidWZmZXIsIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklU
KSA/IHdlYnJ0Yzo6a1ZpZGVvRnJhbWVEZWx0YSA6IHdlYnJ0Yzo6a1ZpZGVvRnJhbWVLZXk7Ci0g
ICAgICAgIGZyYW1lLl9jb21wbGV0ZUZyYW1lID0gdHJ1ZTsKLSAgICAgICAgZnJhbWUuY2FwdHVy
ZV90aW1lX21zXyA9IEdTVF9USU1FX0FTX01TRUNPTkRTKEdTVF9CVUZGRVJfUFRTKGJ1ZmZlcikp
OwotICAgICAgICBmcmFtZS5fdGltZVN0YW1wID0gR1NUX1RJTUVfQVNfTVNFQ09ORFMoR1NUX0JV
RkZFUl9EVFMoYnVmZmVyKSk7CisgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9mcmFtZVR5cGUgPSBH
U1RfQlVGRkVSX0ZMQUdfSVNfU0VUKGJ1ZmZlciwgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQp
ID8gd2VicnRjOjprVmlkZW9GcmFtZURlbHRhIDogd2VicnRjOjprVmlkZW9GcmFtZUtleTsKKyAg
ICAgICAgbV9lbmNvZGVkRnJhbWUuX2NvbXBsZXRlRnJhbWUgPSB0cnVlOworICAgICAgICBtX2Vu
Y29kZWRGcmFtZS5jYXB0dXJlX3RpbWVfbXNfID0gR1NUX1RJTUVfQVNfTVNFQ09ORFMoR1NUX0JV
RkZFUl9QVFMoYnVmZmVyKSk7CisgICAgICAgIG1fZW5jb2RlZEZyYW1lLl90aW1lU3RhbXAgPSBH
U1RfVElNRV9BU19NU0VDT05EUyhHU1RfQlVGRkVSX0RUUyhidWZmZXIpKTsKICAgICAgICAgR1NU
X0xPR19PQkpFQ1QobV9waXBlbGluZS5nZXQoKSwgIkdvdCBidWZmZXIgVFM6ICUiIEdTVF9USU1F
X0ZPUk1BVCwgR1NUX1RJTUVfQVJHUyhHU1RfQlVGRkVSX1BUUyhidWZmZXIpKSk7CiAKICAgICAg
ICAgd2VicnRjOjpDb2RlY1NwZWNpZmljSW5mbyBjb2RlY1NwZWNpZmlJbmZvczsKICAgICAgICAg
UG9wdWxhdGVDb2RlY1NwZWNpZmljKCZjb2RlY1NwZWNpZmlJbmZvcywgYnVmZmVyKTsKIAotICAg
ICAgICB3ZWJydGM6OkVuY29kZWRJbWFnZUNhbGxiYWNrOjpSZXN1bHQgcmVzdWx0ID0gbV9pbWFn
ZVJlYWR5Q2ItPk9uRW5jb2RlZEltYWdlKGZyYW1lLCAmY29kZWNTcGVjaWZpSW5mb3MsIGZyYWdt
ZW50YXRpb25JbmZvKTsKKyAgICAgICAgd2VicnRjOjpFbmNvZGVkSW1hZ2VDYWxsYmFjazo6UmVz
dWx0IHJlc3VsdCA9IG1faW1hZ2VSZWFkeUNiLT5PbkVuY29kZWRJbWFnZShtX2VuY29kZWRGcmFt
ZSwgJmNvZGVjU3BlY2lmaUluZm9zLCAmZnJhZ21lbnRhdGlvbkluZm8pOwogICAgICAgICBpZiAo
cmVzdWx0LmVycm9yICE9IHdlYnJ0Yzo6RW5jb2RlZEltYWdlQ2FsbGJhY2s6OlJlc3VsdDo6T0sp
IHsKICAgICAgICAgICAgIEdTVF9FTEVNRU5UX0VSUk9SKG1fcGlwZWxpbmUuZ2V0KCksIExJQlJB
UlksIEZBSUxFRCwgKG51bGxwdHIpLAogICAgICAgICAgICAgICAgICgiRW5jb2RlIGNhbGxiYWNr
IGZhaWxlZDogJWQiLCByZXN1bHQuZXJyb3IpKTsKQEAgLTM0OSwyNiArMzU5LDI1IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCBQb3B1bGF0ZUNvZGVjU3BlY2lmaWMod2VicnRjOjpDb2Rl
Y1NwZWNpZmljSW5mbyosIEdzdEJ1ZmZlciopID0gMDsKIAotICAgIHZpcnR1YWwgd2VicnRjOjpF
bmNvZGVkSW1hZ2UgRnJhZ21lbnRpemUoR3N0QnVmZmVyKiBidWZmZXIsIHdlYnJ0Yzo6UlRQRnJh
Z21lbnRhdGlvbkhlYWRlcioqIG91dEZyYWdtZW50YXRpb25JbmZvKQorICAgIHZpcnR1YWwgdm9p
ZCBGcmFnbWVudGl6ZSh3ZWJydGM6OkVuY29kZWRJbWFnZSogZW5jb2RlZEltYWdlLCBzdGQ6OnVu
aXF1ZV9wdHI8dWludDhfdFtdPiogZW5jb2RlZF9pbWFnZV9idWZmZXIsIEdzdEJ1ZmZlciogYnVm
ZmVyLAorICAgICAgICB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqIGZyYWdtZW50YXRp
b25JbmZvKQogICAgIHsKICAgICAgICAgR3N0TWFwSW5mbyBtYXA7CiAKICAgICAgICAgZ3N0X2J1
ZmZlcl9tYXAoYnVmZmVyLCAmbWFwLCBHU1RfTUFQX1JFQUQpOwotICAgICAgICB3ZWJydGM6OkVu
Y29kZWRJbWFnZSBmcmFtZShtYXAuZGF0YSwgbWFwLnNpemUsIG1hcC5zaXplKTsKKyAgICAgICAg
aWYgKGVuY29kZWRJbWFnZS0+X3NpemUgPCBtYXAuc2l6ZSkgeworICAgICAgICAgICAgZW5jb2Rl
ZEltYWdlLT5fc2l6ZSA9IG1hcC5zaXplOworICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5fYnVm
ZmVyID0gbmV3IHVpbnQ4X3RbZW5jb2RlZEltYWdlLT5fc2l6ZV07CisgICAgICAgICAgICBlbmNv
ZGVkX2ltYWdlX2J1ZmZlci0+cmVzZXQoZW5jb2RlZEltYWdlLT5fYnVmZmVyKTsKKyAgICAgICAg
ICAgIG1lbWNweShlbmNvZGVkSW1hZ2UtPl9idWZmZXIsIG1hcC5kYXRhLCBtYXAuc2l6ZSk7Cisg
ICAgICAgIH0KICAgICAgICAgZ3N0X2J1ZmZlcl91bm1hcChidWZmZXIsICZtYXApOwogCi0gICAg
ICAgIC8vIE5vIGZyYWdtZW50YXRpb24gYnkgZGVmYXVsdC4KLSAgICAgICAgd2VicnRjOjpSVFBG
cmFnbWVudGF0aW9uSGVhZGVyKiBmcmFnbWVudGF0aW9uSW5mbyA9IG5ldyB3ZWJydGM6OlJUUEZy
YWdtZW50YXRpb25IZWFkZXIoKTsKLQogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+VmVyaWZ5
QW5kQWxsb2NhdGVGcmFnbWVudGF0aW9uSGVhZGVyKDEpOwogICAgICAgICBmcmFnbWVudGF0aW9u
SW5mby0+ZnJhZ21lbnRhdGlvbk9mZnNldFswXSA9IDA7CiAgICAgICAgIGZyYWdtZW50YXRpb25J
bmZvLT5mcmFnbWVudGF0aW9uTGVuZ3RoWzBdID0gZ3N0X2J1ZmZlcl9nZXRfc2l6ZShidWZmZXIp
OwogICAgICAgICBmcmFnbWVudGF0aW9uSW5mby0+ZnJhZ21lbnRhdGlvblBsVHlwZVswXSA9IDA7
CiAgICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5mcmFnbWVudGF0aW9uVGltZURpZmZbMF0gPSAw
OwotCi0gICAgICAgICpvdXRGcmFnbWVudGF0aW9uSW5mbyA9IGZyYWdtZW50YXRpb25JbmZvOwot
Ci0gICAgICAgIHJldHVybiBmcmFtZTsKICAgICB9CiAKICAgICBjb25zdCBjaGFyKiBJbXBsZW1l
bnRhdGlvbk5hbWUoKSBjb25zdApAQCAtMzg1LDcgKzM5NCw3IEBAIHB1YmxpYzoKICAgICAgICAg
aWYgKGNhcHMgJiYgbV9wcm9maWxlLmdldCgpICYmIGdzdF9jYXBzX2lzX2VxdWFsKG1fcmVzdHJp
Y3Rpb25DYXBzLmdldCgpLCBjYXBzKSkKICAgICAgICAgICAgIGdfb2JqZWN0X3NldChtX3Byb2Zp
bGUuZ2V0KCksICJyZXN0cmljdGlvbi1jYXBzIiwgY2FwcywgbnVsbHB0cik7CiAKLSAgICAgICAg
bV9yZXN0cmljdGlvbkNhcHMgPSBjYXBzOworICAgICAgICBtX3Jlc3RyaWN0aW9uQ2FwcyA9IGFk
b3B0R1JlZihjYXBzKTsKICAgICB9CiAKIHByaXZhdGU6CkBAIC00MDMsNiArNDEyLDggQEAgcHJp
dmF0ZToKICAgICBHUmVmUHRyPEdzdENhcHM+IG1fcmVzdHJpY3Rpb25DYXBzOwogICAgIEdSZWZQ
dHI8R3N0RW5jb2RpbmdQcm9maWxlPiBtX3Byb2ZpbGU7CiAgICAgQml0cmF0ZVNldHRlciBtX2Jp
dHJhdGVTZXR0ZXI7CisgICAgd2VicnRjOjpFbmNvZGVkSW1hZ2UgbV9lbmNvZGVkRnJhbWU7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPHVpbnQ4X3RbXT4gZW5jb2RlZF9pbWFnZV9idWZmZXJfOwogfTsK
IAogY2xhc3MgSDI2NEVuY29kZXIgOiBwdWJsaWMgR1N0cmVhbWVyVmlkZW9FbmNvZGVyIHsKQEAg
LTQyMCw3ICs0MzEsOCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gRklYTUUgLSBNVC4gc2Fm
ZXR5IQotICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIEZyYWdtZW50aXplKEdzdEJ1ZmZlciogZ3N0
YnVmZmVyLCB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFkZXIqKiBvdXRGcmFnbWVudGF0aW9u
SW5mbykgZmluYWwKKyAgICB2b2lkIEZyYWdtZW50aXplKHdlYnJ0Yzo6RW5jb2RlZEltYWdlKiBl
bmNvZGVkSW1hZ2UsIHN0ZDo6dW5pcXVlX3B0cjx1aW50OF90W10+KiBlbmNvZGVkX2ltYWdlX2J1
ZmZlciwKKyAgICAgICAgR3N0QnVmZmVyKiBnc3RidWZmZXIsIHdlYnJ0Yzo6UlRQRnJhZ21lbnRh
dGlvbkhlYWRlciogZnJhZ21lbnRhdGlvbkhlYWRlcikgZmluYWwKICAgICB7CiAgICAgICAgIEdz
dE1hcEluZm8gbWFwOwogICAgICAgICBHc3RIMjY0TmFsVW5pdCBuYWx1OwpAQCAtNDMwLDcgKzQ0
Miw2IEBAIHB1YmxpYzoKICAgICAgICAgc2l6ZV90IHJlcXVpcmVkU2l6ZSA9IDA7CiAKICAgICAg
ICAgc3RkOjp2ZWN0b3I8R3N0SDI2NE5hbFVuaXQ+IG5hbHM7Ci0gICAgICAgIHdlYnJ0Yzo6RW5j
b2RlZEltYWdlIGVuY29kZWRJbWFnZTsKIAogICAgICAgICBjb25zdCB1aW50OF90IHN0YXJ0Q29k
ZVs0XSA9IHsgMCwgMCwgMCwgMSB9OwogICAgICAgICBnc3RfYnVmZmVyX21hcChnc3RidWZmZXIs
ICZtYXAsIEdTVF9NQVBfUkVBRCk7CkBAIC00NDcsMTMgKzQ1OCwxNiBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICBvZmZzZXQgPSBuYWx1Lm9mZnNldCArIG5hbHUuc2l6ZTsKICAgICAgICAgfQogCi0g
ICAgICAgIGVuY29kZWRJbWFnZS5fc2l6ZSA9IHJlcXVpcmVkU2l6ZTsKLSAgICAgICAgZW5jb2Rl
ZEltYWdlLl9idWZmZXIgPSBuZXcgdWludDhfdFtlbmNvZGVkSW1hZ2UuX3NpemVdOworICAgICAg
ICBpZiAoZW5jb2RlZEltYWdlLT5fc2l6ZSA8IHJlcXVpcmVkU2l6ZSkgeworICAgICAgICAgICAg
ZW5jb2RlZEltYWdlLT5fc2l6ZSA9IHJlcXVpcmVkU2l6ZTsKKyAgICAgICAgICAgIGVuY29kZWRJ
bWFnZS0+X2J1ZmZlciA9IG5ldyB1aW50OF90W2VuY29kZWRJbWFnZS0+X3NpemVdOworICAgICAg
ICAgICAgZW5jb2RlZF9pbWFnZV9idWZmZXItPnJlc2V0KGVuY29kZWRJbWFnZS0+X2J1ZmZlcik7
CisgICAgICAgIH0KKwogICAgICAgICAvLyBJdGVyYXRlIG5hbCB1bml0cyBhbmQgZmlsbCB0aGUg
RnJhZ21lbnRhdGlvbiBpbmZvLgotICAgICAgICB3ZWJydGM6OlJUUEZyYWdtZW50YXRpb25IZWFk
ZXIqIGZyYWdtZW50YXRpb25IZWFkZXIgPSBuZXcgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVh
ZGVyKCk7CiAgICAgICAgIGZyYWdtZW50YXRpb25IZWFkZXItPlZlcmlmeUFuZEFsbG9jYXRlRnJh
Z21lbnRhdGlvbkhlYWRlcihuYWxzLnNpemUoKSk7CiAgICAgICAgIHNpemVfdCBmcmFnbWVudElu
ZGV4ID0gMDsKLSAgICAgICAgZW5jb2RlZEltYWdlLl9sZW5ndGggPSAwOworICAgICAgICBlbmNv
ZGVkSW1hZ2UtPl9sZW5ndGggPSAwOwogICAgICAgICBmb3IgKHN0ZDo6dmVjdG9yPEdzdEgyNjRO
YWxVbml0Pjo6aXRlcmF0b3IgbmFsID0gbmFscy5iZWdpbigpOyBuYWwgIT0gbmFscy5lbmQoKTsg
KytuYWwsIGZyYWdtZW50SW5kZXgrKykgewogCiAgICAgICAgICAgICBBU1NFUlQobWFwLmRhdGFb
bmFsLT5zY19vZmZzZXQgKyAwXSA9PSBzdGFydENvZGVbMF0pOwpAQCAtNDY0LDE0ICs0NzgsMTIg
QEAgcHVibGljOgogICAgICAgICAgICAgZnJhZ21lbnRhdGlvbkhlYWRlci0+ZnJhZ21lbnRhdGlv
bk9mZnNldFtmcmFnbWVudEluZGV4XSA9IG5hbC0+b2Zmc2V0OwogICAgICAgICAgICAgZnJhZ21l
bnRhdGlvbkhlYWRlci0+ZnJhZ21lbnRhdGlvbkxlbmd0aFtmcmFnbWVudEluZGV4XSA9IG5hbC0+
c2l6ZTsKIAotICAgICAgICAgICAgbWVtY3B5KGVuY29kZWRJbWFnZS5fYnVmZmVyICsgZW5jb2Rl
ZEltYWdlLl9sZW5ndGgsICZtYXAuZGF0YVtuYWwtPnNjX29mZnNldF0sCisgICAgICAgICAgICBt
ZW1jcHkoZW5jb2RlZEltYWdlLT5fYnVmZmVyICsgZW5jb2RlZEltYWdlLT5fbGVuZ3RoLCAmbWFw
LmRhdGFbbmFsLT5zY19vZmZzZXRdLAogICAgICAgICAgICAgICAgIHNpemVvZihzdGFydENvZGUp
ICsgbmFsLT5zaXplKTsKLSAgICAgICAgICAgIGVuY29kZWRJbWFnZS5fbGVuZ3RoICs9IG5hbC0+
c2l6ZSArIHNpemVvZihzdGFydENvZGUpOworICAgICAgICAgICAgZW5jb2RlZEltYWdlLT5fbGVu
Z3RoICs9IG5hbC0+c2l6ZSArIHNpemVvZihzdGFydENvZGUpOwogICAgICAgICB9CiAKLSAgICAg
ICAgKm91dEZyYWdtZW50YXRpb25JbmZvID0gZnJhZ21lbnRhdGlvbkhlYWRlcjsKICAgICAgICAg
Z3N0X2J1ZmZlcl91bm1hcChnc3RidWZmZXIsICZtYXApOwotICAgICAgICByZXR1cm4gZW5jb2Rl
ZEltYWdlOwogICAgIH0KIAogICAgIEdzdEVsZW1lbnQqIENyZWF0ZUZpbHRlcigpIGZpbmFsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350395</attachid>
            <date>2018-09-21 11:46:43 -0700</date>
            <delta_ts>2018-09-24 04:17:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189835-20180921154641.patch</filename>
            <type>text/plain</type>
            <size>12881</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxNjhiMGYyZDUyYzVm
OGVmZDEzNmE5ZDI2NWM0YzdmMTNhMTg3Zi4uNjJkZjlhMWNlNGYzYTZkN2I4ZmE4Yjc2MWE2NDg0
NDc2Mzk1NzMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTA5LTIwICBUaGli
YXVsdCBTYXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtHVEtd
W1dlYlJUQ10gRml4IGxlYWtzIGluIHRoZSBsaWJ3ZWJydGMgRGVjb2RlciBhbmQgRW5jb2Rlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5ODM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBSZXdvcmsg
bWVtb3J5IG1hbmFnZW1lbnQgdG8gYXZvaWQgbGVha2luZyBlbmNvZGVkIGZyYW1lcyAoYmFzaWNh
bGx5IHVzZSB0aGUgc2FtZQorICAgICAgICAgIHN0cmF0ZWd5IGFzIG90aGVyIGxpYndlYnJ0YyBl
bmNvZGVyIGltcGxlbWVudGF0aW9uKS4KKyAgICAgICAgLSBQbHVnIGEgR3N0Q2FwcyBsZWFrLgor
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVv
Q2FwdHVyZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9H
U3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHU3RyZWFtZXJWaWRlb0VuY29kZXI6OkluaXRFbmNvZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6R1N0cmVhbWVyVmlkZW9FbmNvZGVyOjpuZXdTYW1wbGVDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpHU3RyZWFtZXJWaWRlb0VuY29kZXI6OkZyYWdtZW50aXplKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVvRW5jb2Rlcjo6U2V0UmVzdHJpY3Rpb25DYXBz
KToKKwogMjAxOC0wOS0yMSAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW01TRV0gRml4IGNvbXBhcnNpb24gd2l0aCB1bmluaXRpYWxpemVkIGdyZWF0
ZXN0RGVjb2RlRHVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0NhcHR1cmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0NhcHR1
cmVyLmNwcAppbmRleCA4OGI2MDUwMjE2ZjM5OTc3NTA5NTU2NWJiNTNiNDkzOTIzYjkxYzMwLi42
N2NjNWYzYjI0MTY5MTg2MDNlOTc2ODY5YTI5NTA0NjhkOGEwNjRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9D
YXB0dXJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0
cmVhbWVyL0dTdHJlYW1lclZpZGVvQ2FwdHVyZXIuY3BwCkBAIC0yNCw4ICsyNCw2IEBACiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKExJQldFQlJUQykgJiYgVVNFKEdTVFJFQU1FUikK
ICNpbmNsdWRlICJHU3RyZWFtZXJWaWRlb0NhcHR1cmVyLmgiCiAKLSNpbmNsdWRlIDxnc3QvYXBw
L2dzdGFwcHNpbmsuaD4KLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHU3RyZWFtZXJWaWRlb0Nh
cHR1cmVyOjpHU3RyZWFtZXJWaWRlb0NhcHR1cmVyKEdTdHJlYW1lckNhcHR1cmVEZXZpY2UgZGV2
aWNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3Rv
cnkuY3BwCmluZGV4IDA5NmRlZDA4MDIyNmE0MjlkODZjNDIzNDczM2FiYzNhOWQyNmEzNTYuLmRk
ZWI0ZDc3ZmEzMjMwOTI0NGRhZmJiNjJlYWNlODJkYjhkOWRkNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0Rl
Y29kZXJGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5jcHAKQEAgLTE1OSwxNSAr
MTU5LDE1IEBAIHB1YmxpYzoKICAgICAgICAgfQogCiAgICAgICAgIC8vIEZJWE1FLSBVc2UgYSBH
c3RCdWZmZXJQb29sLgotICAgICAgICBhdXRvIGJ1ZmZlciA9IGdzdF9idWZmZXJfbmV3X3dyYXBw
ZWQoZ19tZW1kdXAoaW5wdXRJbWFnZS5fYnVmZmVyLCBpbnB1dEltYWdlLl9zaXplKSwKLSAgICAg
ICAgICAgIGlucHV0SW1hZ2UuX3NpemUpOwotICAgICAgICBHU1RfQlVGRkVSX0RUUyhidWZmZXIp
ID0gKHN0YXRpY19jYXN0PGd1aW50NjQ+KGlucHV0SW1hZ2UuX3RpbWVTdGFtcCkgKiBHU1RfTVNF
Q09ORCkgLSBtX2ZpcnN0QnVmZmVyRHRzOwotICAgICAgICBHU1RfQlVGRkVSX1BUUyhidWZmZXIp
ID0gKHN0YXRpY19jYXN0PGd1aW50NjQ+KHJlbmRlclRpbWVNcykgKiBHU1RfTVNFQ09ORCkgLSBt
X2ZpcnN0QnVmZmVyUHRzOwotICAgICAgICBtX2R0c1B0c01hcFtHU1RfQlVGRkVSX1BUUyhidWZm
ZXIpXSA9IGlucHV0SW1hZ2UuX3RpbWVTdGFtcDsKKyAgICAgICAgYXV0byBidWZmZXIgPSBhZG9w
dEdSZWYoZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZChnX21lbWR1cChpbnB1dEltYWdlLl9idWZmZXIs
IGlucHV0SW1hZ2UuX3NpemUpLAorICAgICAgICAgICAgaW5wdXRJbWFnZS5fc2l6ZSkpOworICAg
ICAgICBHU1RfQlVGRkVSX0RUUyhidWZmZXIuZ2V0KCkpID0gKHN0YXRpY19jYXN0PGd1aW50NjQ+
KGlucHV0SW1hZ2UuX3RpbWVTdGFtcCkgKiBHU1RfTVNFQ09ORCkgLSBtX2ZpcnN0QnVmZmVyRHRz
OworICAgICAgICBHU1RfQlVGRkVSX1BUUyhidWZmZXIuZ2V0KCkpID0gKHN0YXRpY19jYXN0PGd1
aW50NjQ+KHJlbmRlclRpbWVNcykgKiBHU1RfTVNFQ09ORCkgLSBtX2ZpcnN0QnVmZmVyUHRzOwor
ICAgICAgICBtX2R0c1B0c01hcFtHU1RfQlVGRkVSX1BUUyhidWZmZXIuZ2V0KCkpXSA9IGlucHV0
SW1hZ2UuX3RpbWVTdGFtcDsKIAogICAgICAgICBHU1RfTE9HX09CSkVDVChwaXBlbGluZSgpLCAi
JWxkIERlY29kaW5nOiAlIiBHU1RfUFRSX0ZPUk1BVCwgcmVuZGVyVGltZU1zLCBidWZmZXIpOwot
ICAgICAgICBzd2l0Y2ggKGdzdF9hcHBfc3JjX3B1c2hfc2FtcGxlKEdTVF9BUFBfU1JDKG1fc3Jj
KSwKLSAgICAgICAgICAgIGdzdF9zYW1wbGVfbmV3KGJ1ZmZlciwgR2V0Q2Fwc0ZvckZyYW1lKGlu
cHV0SW1hZ2UpLCBudWxscHRyLCBudWxscHRyKSkpIHsKKyAgICAgICAgYXV0byBzYW1wbGUgPSBh
ZG9wdEdSZWYoZ3N0X3NhbXBsZV9uZXcoYnVmZmVyLmdldCgpLCBHZXRDYXBzRm9yRnJhbWUoaW5w
dXRJbWFnZSksIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICAgICAgc3dpdGNoIChnc3RfYXBwX3Ny
Y19wdXNoX3NhbXBsZShHU1RfQVBQX1NSQyhtX3NyYyksIHNhbXBsZS5nZXQoKSkpIHsKICAgICAg
ICAgY2FzZSBHU1RfRkxPV19PSzoKICAgICAgICAgICAgIHJldHVybiBXRUJSVENfVklERU9fQ09E
RUNfT0s7CiAgICAgICAgIGNhc2UgR1NUX0ZMT1dfRkxVU0hJTkc6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9F
bmNvZGVyRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHAKaW5kZXggODAzN2I5M2I3
OWI5NzAzZGE5NWI2YmVmMDQ5YmQ4MDE1ZTY2NWNiNC4uYmM3Njk4MWYxMzRhYzhkY2M3ZTVkM2Iz
MTBiY2MyMTFlODkxYzljZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJW
aWRlb0VuY29kZXJGYWN0b3J5LmNwcApAQCAtNzgsOCArNzgsOCBAQCBwdWJsaWM6CiAgICAgICAg
IEdTVF9JTkZPX09CSkVDVChtX3BpcGVsaW5lLmdldCgpLCAiTmV3IGJpdHJhdGU6ICVkIC0gZnJh
bWVyYXRlIGlzICVkIiwKICAgICAgICAgICAgIG5ld0JpdHJhdGUsIGZyYW1lUmF0ZSk7CiAKLSAg
ICAgICAgYXV0byBjYXBzID0gZ3N0X2NhcHNfbWFrZV93cml0YWJsZShtX3Jlc3RyaWN0aW9uQ2Fw
cy5nZXQoKSk7Ci0gICAgICAgIGdzdF9jYXBzX3NldF9zaW1wbGUoY2FwcywgImZyYW1lcmF0ZSIs
IEdTVF9UWVBFX0ZSQUNUSU9OLCBmcmFtZVJhdGUsIDEsIG51bGxwdHIpOworICAgICAgICBhdXRv
IGNhcHMgPSBhZG9wdEdSZWYoZ3N0X2NhcHNfY29weShtX3Jlc3RyaWN0aW9uQ2Fwcy5nZXQoKSkp
OworICAgICAgICBnc3RfY2Fwc19zZXRfc2ltcGxlKGNhcHMuZ2V0KCksICJmcmFtZXJhdGUiLCBH
U1RfVFlQRV9GUkFDVElPTiwgZnJhbWVSYXRlLCAxLCBudWxscHRyKTsKIAogICAgICAgICBTZXRS
ZXN0cmljdGlvbkNhcHMoY2Fwcyk7CiAKQEAgLTEwNyw2ICsxMDcsMTQgQEAgcHVibGljOgogICAg
ICAgICBnX3JldHVybl92YWxfaWZfZmFpbChjb2RlY1NldHRpbmdzLCBXRUJSVENfVklERU9fQ09E
RUNfRVJSX1BBUkFNRVRFUik7CiAgICAgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGNvZGVjU2V0
dGluZ3MtPmNvZGVjVHlwZSA9PSBDb2RlY1R5cGUoKSwgV0VCUlRDX1ZJREVPX0NPREVDX0VSUl9Q
QVJBTUVURVIpOwogCisgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9zaXplID0gY29kZWNTZXR0aW5n
cy0+d2lkdGggKiBjb2RlY1NldHRpbmdzLT5oZWlnaHQgKiAzOworICAgICAgICBtX2VuY29kZWRG
cmFtZS5fYnVmZmVyID0gbmV3IHVpbnQ4X3RbbV9lbmNvZGVkRnJhbWUuX3NpemVdOworICAgICAg
ICBlbmNvZGVkX2ltYWdlX2J1ZmZlcl8ucmVzZXQobV9lbmNvZGVkRnJhbWUuX2J1ZmZlcik7Cisg
ICAgICAgIG1fZW5jb2RlZEZyYW1lLl9jb21wbGV0ZUZyYW1lID0gdHJ1ZTsKKyAgICAgICAgbV9l
bmNvZGVkRnJhbWUuX2VuY29kZWRXaWR0aCA9IDA7CisgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9l
bmNvZGVkSGVpZ2h0ID0gMDsKKyAgICAgICAgbV9lbmNvZGVkRnJhbWUuX2xlbmd0aCA9IDA7CisK
ICAgICAgICAgbV9waXBlbGluZSA9IG1ha2VFbGVtZW50KCJwaXBlbGluZSIpOwogCiAgICAgICAg
IGNvbm5lY3RTaW1wbGVCdXNNZXNzYWdlQ2FsbGJhY2sobV9waXBlbGluZS5nZXQoKSk7CkBAIC0x
NTAsNiArMTU4LDggQEAgcHVibGljOgogCiAgICAgaW50MzJfdCBSZWxlYXNlKCkgZmluYWwKICAg
ICB7CisgICAgICAgIG1fZW5jb2RlZEZyYW1lLl9idWZmZXIgPSBudWxscHRyOworICAgICAgICBl
bmNvZGVkX2ltYWdlX2J1ZmZlcl8ucmVzZXQoKTsKICAgICAgICAgR1JlZlB0cjxHc3RCdXM+IGJ1
cyA9IGFkb3B0R1JlZihnc3RfcGlwZWxpbmVfZ2V0X2J1cyhHU1RfUElQRUxJTkUobV9waXBlbGlu
ZS5nZXQoKSkpKTsKICAgICAgICAgZ3N0X2J1c19zZXRfc3luY19oYW5kbGVyKGJ1cy5nZXQoKSwg
bnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cik7CiAKQEAgLTIxOSwyNiArMjI5LDI2IEBAIHB1Ymxp
YzoKICAgICAgICAgYXV0byBidWZmZXIgPSBnc3Rfc2FtcGxlX2dldF9idWZmZXIoc2FtcGxlLmdl
dCgpKTsKICAgICAgICAgYXV0byBjYXBzID0gZ3N0X3NhbXBsZV9nZXRfY2FwcyhzYW1wbGUuZ2V0
KCkpOwogCi0gICAgICAgIHdlYnJ0Yzo6UlRQRnJhZ21lbnRhdGlvbkhlYWRlciogZnJhZ21lbnRh
dGlvbkluZm87Ci0gICAgICAgIGF1dG8gZnJhbWUgPSBGcmFnbWVudGl6ZShidWZmZXIsICZmcmFn
bWVudGF0aW9uSW5mbyk7Ci0gICAgICAgIGlmICghZnJhbWUuX3NpemUpCisgICAgICAgIHdlYnJ0
Yzo6UlRQRnJhZ21lbnRhdGlvbkhlYWRlciBmcmFnbWVudGF0aW9uSW5mbzsKKyAgICAgICAgRnJh
Z21lbnRpemUoJm1fZW5jb2RlZEZyYW1lLCAmZW5jb2RlZF9pbWFnZV9idWZmZXJfLCBidWZmZXIs
ICZmcmFnbWVudGF0aW9uSW5mbyk7CisgICAgICAgIGlmICghbV9lbmNvZGVkRnJhbWUuX3NpemUp
CiAgICAgICAgICAgICByZXR1cm4gR1NUX0ZMT1dfT0s7CiAKICAgICAgICAgZ3N0X3N0cnVjdHVy
ZV9nZXQoZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZShjYXBzLCAwKSwKLSAgICAgICAgICAgICJ3aWR0
aCIsIEdfVFlQRV9JTlQsICZmcmFtZS5fZW5jb2RlZFdpZHRoLAotICAgICAgICAgICAgImhlaWdo
dCIsIEdfVFlQRV9JTlQsICZmcmFtZS5fZW5jb2RlZEhlaWdodCwKKyAgICAgICAgICAgICJ3aWR0
aCIsIEdfVFlQRV9JTlQsICZtX2VuY29kZWRGcmFtZS5fZW5jb2RlZFdpZHRoLAorICAgICAgICAg
ICAgImhlaWdodCIsIEdfVFlQRV9JTlQsICZtX2VuY29kZWRGcmFtZS5fZW5jb2RlZEhlaWdodCwK
ICAgICAgICAgICAgIG51bGxwdHIpOwogCi0gICAgICAgIGZyYW1lLl9mcmFtZVR5cGUgPSBHU1Rf
QlVGRkVSX0ZMQUdfSVNfU0VUKGJ1ZmZlciwgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQpID8g
d2VicnRjOjprVmlkZW9GcmFtZURlbHRhIDogd2VicnRjOjprVmlkZW9GcmFtZUtleTsKLSAgICAg
ICAgZnJhbWUuX2NvbXBsZXRlRnJhbWUgPSB0cnVlOwotICAgICAgICBmcmFtZS5jYXB0dXJlX3Rp
bWVfbXNfID0gR1NUX1RJTUVfQVNfTVNFQ09ORFMoR1NUX0JVRkZFUl9QVFMoYnVmZmVyKSk7Ci0g
ICAgICAgIGZyYW1lLl90aW1lU3RhbXAgPSBHU1RfVElNRV9BU19NU0VDT05EUyhHU1RfQlVGRkVS
X0RUUyhidWZmZXIpKTsKKyAgICAgICAgbV9lbmNvZGVkRnJhbWUuX2ZyYW1lVHlwZSA9IEdTVF9C
VUZGRVJfRkxBR19JU19TRVQoYnVmZmVyLCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCkgPyB3
ZWJydGM6OmtWaWRlb0ZyYW1lRGVsdGEgOiB3ZWJydGM6OmtWaWRlb0ZyYW1lS2V5OworICAgICAg
ICBtX2VuY29kZWRGcmFtZS5fY29tcGxldGVGcmFtZSA9IHRydWU7CisgICAgICAgIG1fZW5jb2Rl
ZEZyYW1lLmNhcHR1cmVfdGltZV9tc18gPSBHU1RfVElNRV9BU19NU0VDT05EUyhHU1RfQlVGRkVS
X1BUUyhidWZmZXIpKTsKKyAgICAgICAgbV9lbmNvZGVkRnJhbWUuX3RpbWVTdGFtcCA9IEdTVF9U
SU1FX0FTX01TRUNPTkRTKEdTVF9CVUZGRVJfRFRTKGJ1ZmZlcikpOwogICAgICAgICBHU1RfTE9H
X09CSkVDVChtX3BpcGVsaW5lLmdldCgpLCAiR290IGJ1ZmZlciBUUzogJSIgR1NUX1RJTUVfRk9S
TUFULCBHU1RfVElNRV9BUkdTKEdTVF9CVUZGRVJfUFRTKGJ1ZmZlcikpKTsKIAogICAgICAgICB3
ZWJydGM6OkNvZGVjU3BlY2lmaWNJbmZvIGNvZGVjU3BlY2lmaUluZm9zOwogICAgICAgICBQb3B1
bGF0ZUNvZGVjU3BlY2lmaWMoJmNvZGVjU3BlY2lmaUluZm9zLCBidWZmZXIpOwogCi0gICAgICAg
IHdlYnJ0Yzo6RW5jb2RlZEltYWdlQ2FsbGJhY2s6OlJlc3VsdCByZXN1bHQgPSBtX2ltYWdlUmVh
ZHlDYi0+T25FbmNvZGVkSW1hZ2UoZnJhbWUsICZjb2RlY1NwZWNpZmlJbmZvcywgZnJhZ21lbnRh
dGlvbkluZm8pOworICAgICAgICB3ZWJydGM6OkVuY29kZWRJbWFnZUNhbGxiYWNrOjpSZXN1bHQg
cmVzdWx0ID0gbV9pbWFnZVJlYWR5Q2ItPk9uRW5jb2RlZEltYWdlKG1fZW5jb2RlZEZyYW1lLCAm
Y29kZWNTcGVjaWZpSW5mb3MsICZmcmFnbWVudGF0aW9uSW5mbyk7CiAgICAgICAgIGlmIChyZXN1
bHQuZXJyb3IgIT0gd2VicnRjOjpFbmNvZGVkSW1hZ2VDYWxsYmFjazo6UmVzdWx0OjpPSykgewog
ICAgICAgICAgICAgR1NUX0VMRU1FTlRfRVJST1IobV9waXBlbGluZS5nZXQoKSwgTElCUkFSWSwg
RkFJTEVELCAobnVsbHB0ciksCiAgICAgICAgICAgICAgICAgKCJFbmNvZGUgY2FsbGJhY2sgZmFp
bGVkOiAlZCIsIHJlc3VsdC5lcnJvcikpOwpAQCAtMzQ5LDI2ICszNTksMjUgQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIFBvcHVsYXRlQ29kZWNTcGVjaWZpYyh3ZWJydGM6OkNvZGVjU3Bl
Y2lmaWNJbmZvKiwgR3N0QnVmZmVyKikgPSAwOwogCi0gICAgdmlydHVhbCB3ZWJydGM6OkVuY29k
ZWRJbWFnZSBGcmFnbWVudGl6ZShHc3RCdWZmZXIqIGJ1ZmZlciwgd2VicnRjOjpSVFBGcmFnbWVu
dGF0aW9uSGVhZGVyKiogb3V0RnJhZ21lbnRhdGlvbkluZm8pCisgICAgdmlydHVhbCB2b2lkIEZy
YWdtZW50aXplKHdlYnJ0Yzo6RW5jb2RlZEltYWdlKiBlbmNvZGVkSW1hZ2UsIHN0ZDo6dW5pcXVl
X3B0cjx1aW50OF90W10+KiBlbmNvZGVkX2ltYWdlX2J1ZmZlciwgR3N0QnVmZmVyKiBidWZmZXIs
CisgICAgICAgIHdlYnJ0Yzo6UlRQRnJhZ21lbnRhdGlvbkhlYWRlciogZnJhZ21lbnRhdGlvbklu
Zm8pCiAgICAgewogICAgICAgICBHc3RNYXBJbmZvIG1hcDsKIAogICAgICAgICBnc3RfYnVmZmVy
X21hcChidWZmZXIsICZtYXAsIEdTVF9NQVBfUkVBRCk7Ci0gICAgICAgIHdlYnJ0Yzo6RW5jb2Rl
ZEltYWdlIGZyYW1lKG1hcC5kYXRhLCBtYXAuc2l6ZSwgbWFwLnNpemUpOworICAgICAgICBpZiAo
ZW5jb2RlZEltYWdlLT5fc2l6ZSA8IG1hcC5zaXplKSB7CisgICAgICAgICAgICBlbmNvZGVkSW1h
Z2UtPl9zaXplID0gbWFwLnNpemU7CisgICAgICAgICAgICBlbmNvZGVkSW1hZ2UtPl9idWZmZXIg
PSBuZXcgdWludDhfdFtlbmNvZGVkSW1hZ2UtPl9zaXplXTsKKyAgICAgICAgICAgIGVuY29kZWRf
aW1hZ2VfYnVmZmVyLT5yZXNldChlbmNvZGVkSW1hZ2UtPl9idWZmZXIpOworICAgICAgICAgICAg
bWVtY3B5KGVuY29kZWRJbWFnZS0+X2J1ZmZlciwgbWFwLmRhdGEsIG1hcC5zaXplKTsKKyAgICAg
ICAgfQogICAgICAgICBnc3RfYnVmZmVyX3VubWFwKGJ1ZmZlciwgJm1hcCk7CiAKLSAgICAgICAg
Ly8gTm8gZnJhZ21lbnRhdGlvbiBieSBkZWZhdWx0LgotICAgICAgICB3ZWJydGM6OlJUUEZyYWdt
ZW50YXRpb25IZWFkZXIqIGZyYWdtZW50YXRpb25JbmZvID0gbmV3IHdlYnJ0Yzo6UlRQRnJhZ21l
bnRhdGlvbkhlYWRlcigpOwotCiAgICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5WZXJpZnlBbmRB
bGxvY2F0ZUZyYWdtZW50YXRpb25IZWFkZXIoMSk7CiAgICAgICAgIGZyYWdtZW50YXRpb25JbmZv
LT5mcmFnbWVudGF0aW9uT2Zmc2V0WzBdID0gMDsKICAgICAgICAgZnJhZ21lbnRhdGlvbkluZm8t
PmZyYWdtZW50YXRpb25MZW5ndGhbMF0gPSBnc3RfYnVmZmVyX2dldF9zaXplKGJ1ZmZlcik7CiAg
ICAgICAgIGZyYWdtZW50YXRpb25JbmZvLT5mcmFnbWVudGF0aW9uUGxUeXBlWzBdID0gMDsKICAg
ICAgICAgZnJhZ21lbnRhdGlvbkluZm8tPmZyYWdtZW50YXRpb25UaW1lRGlmZlswXSA9IDA7Ci0K
LSAgICAgICAgKm91dEZyYWdtZW50YXRpb25JbmZvID0gZnJhZ21lbnRhdGlvbkluZm87Ci0KLSAg
ICAgICAgcmV0dXJuIGZyYW1lOwogICAgIH0KIAogICAgIGNvbnN0IGNoYXIqIEltcGxlbWVudGF0
aW9uTmFtZSgpIGNvbnN0CkBAIC0zODAsOSArMzg5LDkgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBjb25zdCBnY2hhciogTmFtZSgpID0gMDsKIAotICAgIHZvaWQgU2V0UmVzdHJpY3Rpb25DYXBz
KEdzdENhcHMqIGNhcHMpCisgICAgdm9pZCBTZXRSZXN0cmljdGlvbkNhcHMoR1JlZlB0cjxHc3RD
YXBzPiBjYXBzKQogICAgIHsKLSAgICAgICAgaWYgKGNhcHMgJiYgbV9wcm9maWxlLmdldCgpICYm
IGdzdF9jYXBzX2lzX2VxdWFsKG1fcmVzdHJpY3Rpb25DYXBzLmdldCgpLCBjYXBzKSkKKyAgICAg
ICAgaWYgKGNhcHMgJiYgbV9wcm9maWxlLmdldCgpICYmIGdzdF9jYXBzX2lzX2VxdWFsKG1fcmVz
dHJpY3Rpb25DYXBzLmdldCgpLCBjYXBzLmdldCgpKSkKICAgICAgICAgICAgIGdfb2JqZWN0X3Nl
dChtX3Byb2ZpbGUuZ2V0KCksICJyZXN0cmljdGlvbi1jYXBzIiwgY2FwcywgbnVsbHB0cik7CiAK
ICAgICAgICAgbV9yZXN0cmljdGlvbkNhcHMgPSBjYXBzOwpAQCAtNDAzLDYgKzQxMiw4IEBAIHBy
aXZhdGU6CiAgICAgR1JlZlB0cjxHc3RDYXBzPiBtX3Jlc3RyaWN0aW9uQ2FwczsKICAgICBHUmVm
UHRyPEdzdEVuY29kaW5nUHJvZmlsZT4gbV9wcm9maWxlOwogICAgIEJpdHJhdGVTZXR0ZXIgbV9i
aXRyYXRlU2V0dGVyOworICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIG1fZW5jb2RlZEZyYW1lOwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjx1aW50OF90W10+IGVuY29kZWRfaW1hZ2VfYnVmZmVyXzsKIH07
CiAKIGNsYXNzIEgyNjRFbmNvZGVyIDogcHVibGljIEdTdHJlYW1lclZpZGVvRW5jb2RlciB7CkBA
IC00MjAsNyArNDMxLDggQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIEZJWE1FIC0gTVQuIHNh
ZmV0eSEKLSAgICB3ZWJydGM6OkVuY29kZWRJbWFnZSBGcmFnbWVudGl6ZShHc3RCdWZmZXIqIGdz
dGJ1ZmZlciwgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVhZGVyKiogb3V0RnJhZ21lbnRhdGlv
bkluZm8pIGZpbmFsCisgICAgdm9pZCBGcmFnbWVudGl6ZSh3ZWJydGM6OkVuY29kZWRJbWFnZSog
ZW5jb2RlZEltYWdlLCBzdGQ6OnVuaXF1ZV9wdHI8dWludDhfdFtdPiogZW5jb2RlZF9pbWFnZV9i
dWZmZXIsCisgICAgICAgIEdzdEJ1ZmZlciogZ3N0YnVmZmVyLCB3ZWJydGM6OlJUUEZyYWdtZW50
YXRpb25IZWFkZXIqIGZyYWdtZW50YXRpb25IZWFkZXIpIGZpbmFsCiAgICAgewogICAgICAgICBH
c3RNYXBJbmZvIG1hcDsKICAgICAgICAgR3N0SDI2NE5hbFVuaXQgbmFsdTsKQEAgLTQzMCw3ICs0
NDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHNpemVfdCByZXF1aXJlZFNpemUgPSAwOwogCiAgICAg
ICAgIHN0ZDo6dmVjdG9yPEdzdEgyNjROYWxVbml0PiBuYWxzOwotICAgICAgICB3ZWJydGM6OkVu
Y29kZWRJbWFnZSBlbmNvZGVkSW1hZ2U7CiAKICAgICAgICAgY29uc3QgdWludDhfdCBzdGFydENv
ZGVbNF0gPSB7IDAsIDAsIDAsIDEgfTsKICAgICAgICAgZ3N0X2J1ZmZlcl9tYXAoZ3N0YnVmZmVy
LCAmbWFwLCBHU1RfTUFQX1JFQUQpOwpAQCAtNDQ3LDEzICs0NTgsMTYgQEAgcHVibGljOgogICAg
ICAgICAgICAgb2Zmc2V0ID0gbmFsdS5vZmZzZXQgKyBuYWx1LnNpemU7CiAgICAgICAgIH0KIAot
ICAgICAgICBlbmNvZGVkSW1hZ2UuX3NpemUgPSByZXF1aXJlZFNpemU7Ci0gICAgICAgIGVuY29k
ZWRJbWFnZS5fYnVmZmVyID0gbmV3IHVpbnQ4X3RbZW5jb2RlZEltYWdlLl9zaXplXTsKKyAgICAg
ICAgaWYgKGVuY29kZWRJbWFnZS0+X3NpemUgPCByZXF1aXJlZFNpemUpIHsKKyAgICAgICAgICAg
IGVuY29kZWRJbWFnZS0+X3NpemUgPSByZXF1aXJlZFNpemU7CisgICAgICAgICAgICBlbmNvZGVk
SW1hZ2UtPl9idWZmZXIgPSBuZXcgdWludDhfdFtlbmNvZGVkSW1hZ2UtPl9zaXplXTsKKyAgICAg
ICAgICAgIGVuY29kZWRfaW1hZ2VfYnVmZmVyLT5yZXNldChlbmNvZGVkSW1hZ2UtPl9idWZmZXIp
OworICAgICAgICB9CisKICAgICAgICAgLy8gSXRlcmF0ZSBuYWwgdW5pdHMgYW5kIGZpbGwgdGhl
IEZyYWdtZW50YXRpb24gaW5mby4KLSAgICAgICAgd2VicnRjOjpSVFBGcmFnbWVudGF0aW9uSGVh
ZGVyKiBmcmFnbWVudGF0aW9uSGVhZGVyID0gbmV3IHdlYnJ0Yzo6UlRQRnJhZ21lbnRhdGlvbkhl
YWRlcigpOwogICAgICAgICBmcmFnbWVudGF0aW9uSGVhZGVyLT5WZXJpZnlBbmRBbGxvY2F0ZUZy
YWdtZW50YXRpb25IZWFkZXIobmFscy5zaXplKCkpOwogICAgICAgICBzaXplX3QgZnJhZ21lbnRJ
bmRleCA9IDA7Ci0gICAgICAgIGVuY29kZWRJbWFnZS5fbGVuZ3RoID0gMDsKKyAgICAgICAgZW5j
b2RlZEltYWdlLT5fbGVuZ3RoID0gMDsKICAgICAgICAgZm9yIChzdGQ6OnZlY3RvcjxHc3RIMjY0
TmFsVW5pdD46Oml0ZXJhdG9yIG5hbCA9IG5hbHMuYmVnaW4oKTsgbmFsICE9IG5hbHMuZW5kKCk7
ICsrbmFsLCBmcmFnbWVudEluZGV4KyspIHsKIAogICAgICAgICAgICAgQVNTRVJUKG1hcC5kYXRh
W25hbC0+c2Nfb2Zmc2V0ICsgMF0gPT0gc3RhcnRDb2RlWzBdKTsKQEAgLTQ2NCwxNCArNDc4LDEy
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGZyYWdtZW50YXRpb25IZWFkZXItPmZyYWdtZW50YXRp
b25PZmZzZXRbZnJhZ21lbnRJbmRleF0gPSBuYWwtPm9mZnNldDsKICAgICAgICAgICAgIGZyYWdt
ZW50YXRpb25IZWFkZXItPmZyYWdtZW50YXRpb25MZW5ndGhbZnJhZ21lbnRJbmRleF0gPSBuYWwt
PnNpemU7CiAKLSAgICAgICAgICAgIG1lbWNweShlbmNvZGVkSW1hZ2UuX2J1ZmZlciArIGVuY29k
ZWRJbWFnZS5fbGVuZ3RoLCAmbWFwLmRhdGFbbmFsLT5zY19vZmZzZXRdLAorICAgICAgICAgICAg
bWVtY3B5KGVuY29kZWRJbWFnZS0+X2J1ZmZlciArIGVuY29kZWRJbWFnZS0+X2xlbmd0aCwgJm1h
cC5kYXRhW25hbC0+c2Nfb2Zmc2V0XSwKICAgICAgICAgICAgICAgICBzaXplb2Yoc3RhcnRDb2Rl
KSArIG5hbC0+c2l6ZSk7Ci0gICAgICAgICAgICBlbmNvZGVkSW1hZ2UuX2xlbmd0aCArPSBuYWwt
PnNpemUgKyBzaXplb2Yoc3RhcnRDb2RlKTsKKyAgICAgICAgICAgIGVuY29kZWRJbWFnZS0+X2xl
bmd0aCArPSBuYWwtPnNpemUgKyBzaXplb2Yoc3RhcnRDb2RlKTsKICAgICAgICAgfQogCi0gICAg
ICAgICpvdXRGcmFnbWVudGF0aW9uSW5mbyA9IGZyYWdtZW50YXRpb25IZWFkZXI7CiAgICAgICAg
IGdzdF9idWZmZXJfdW5tYXAoZ3N0YnVmZmVyLCAmbWFwKTsKLSAgICAgICAgcmV0dXJuIGVuY29k
ZWRJbWFnZTsKICAgICB9CiAKICAgICBHc3RFbGVtZW50KiBDcmVhdGVGaWx0ZXIoKSBmaW5hbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>