<?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>176432</bug_id>
          
          <creation_ts>2017-09-05 16:31:26 -0700</creation_ts>
          <short_desc>Vector should be able to easily create from a list of movable only items</short_desc>
          <delta_ts>2017-10-09 21:45:56 -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>InRadar</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>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>kling</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1345703</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-05 16:31:26 -0700</bug_when>
    <thetext>Vector should be able to easily create from a list of movable only items</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345705</commentid>
    <comment_count>1</comment_count>
      <attachid>319953</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-05 16:33:37 -0700</bug_when>
    <thetext>Created attachment 319953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345727</commentid>
    <comment_count>2</comment_count>
      <attachid>319953</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-09-05 17:14:04 -0700</bug_when>
    <thetext>Comment on attachment 319953
Patch

The code change  looks good. We just need to add unit tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345753</commentid>
    <comment_count>3</comment_count>
      <attachid>319953</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-09-05 18:37:06 -0700</bug_when>
    <thetext>Comment on attachment 319953
Patch

Why does this have to be a named function rather than a constructor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345754</commentid>
    <comment_count>4</comment_count>
      <attachid>319953</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-09-05 18:38:30 -0700</bug_when>
    <thetext>Comment on attachment 319953
Patch

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

&gt; Source/WTF/wtf/Vector.h:632
&gt; +        result.asanSetInitialBufferSizeTo(size);

I don’t understand why this is needed. The reserveInitialCapacity call should take care of this.

&gt; Source/WTF/wtf/Vector.h:810
&gt; +        uncheckedAppend(std::forward&lt;U&gt;(item));
&gt; +        uncheckedAppend(std::forward&lt;Items&gt;(items)...);

Seems like we miss an opportunity here to optimize so we bump the size only once. This is going to increment the size over and over again, I think. Need to look at the generated code I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345993</commentid>
    <comment_count>5</comment_count>
      <attachid>320037</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-06 10:27:14 -0700</bug_when>
    <thetext>Created attachment 320037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345996</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-06 10:31:20 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to Daniel Bates from comment #2)
&gt; Comment on attachment 319953 [details]
&gt; Patch
&gt; 
&gt; The code change  looks good. We just need to add unit tests.

Added some.

(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 319953 [details]
&gt; Patch
&gt; 
&gt; Why does this have to be a named function rather than a constructor?

It would be a bit nicer to use but it conflicts with other constructors.
There might be ways to disambiguate or restrict this constructor but I am not sure this is worth it.
I wonder whether latest C++ progress might help.

(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 319953 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=319953&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/Vector.h:632
&gt; &gt; +        result.asanSetInitialBufferSizeTo(size);
&gt; 
&gt; I don’t understand why this is needed. The reserveInitialCapacity call
&gt; should take care of this.

Right, changed here and in initializer list constructor.

&gt; 
&gt; &gt; Source/WTF/wtf/Vector.h:810
&gt; &gt; +        uncheckedAppend(std::forward&lt;U&gt;(item));
&gt; &gt; +        uncheckedAppend(std::forward&lt;Items&gt;(items)...);
&gt; 
&gt; Seems like we miss an opportunity here to optimize so we bump the size only
&gt; once. This is going to increment the size over and over again, I think. Need
&gt; to look at the generated code I guess.

Added the optimization</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346030</commentid>
    <comment_count>7</comment_count>
      <attachid>320037</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-09-06 11:54:34 -0700</bug_when>
    <thetext>Comment on attachment 320037
Patch

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

&gt; Tools/ChangeLog:8
&gt; +        fix-176432

This could be a better comment. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346104</commentid>
    <comment_count>8</comment_count>
      <attachid>320037</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-06 14:44:15 -0700</bug_when>
    <thetext>Comment on attachment 320037
Patch

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

&gt; Source/WTF/wtf/Vector.h:817
&gt; +        auto ptr = std::addressof(value);
&gt; +        new (NotNull, begin() + position) T(std::forward&lt;U&gt;(*ptr));

Why is this needed instead of just:
new (NotNull, begin() + position) T(std::forward&lt;U&gt;(value));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346147</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-06 16:33:00 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #8)
&gt; Comment on attachment 320037 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=320037&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/Vector.h:817
&gt; &gt; +        auto ptr = std::addressof(value);
&gt; &gt; +        new (NotNull, begin() + position) T(std::forward&lt;U&gt;(*ptr));
&gt; 
&gt; Why is this needed instead of just:
&gt; new (NotNull, begin() + position) T(std::forward&lt;U&gt;(value));

I am not sure WebKit is using Vector of classes with overloaded &amp;.
Anders might know more about this since he added it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346453</commentid>
    <comment_count>10</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-09-07 11:48:21 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #9)
&gt; (In reply to Saam Barati from comment #8)
&gt; &gt; Comment on attachment 320037 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=320037&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WTF/wtf/Vector.h:817
&gt; &gt; &gt; +        auto ptr = std::addressof(value);
&gt; &gt; &gt; +        new (NotNull, begin() + position) T(std::forward&lt;U&gt;(*ptr));
&gt; &gt; 
&gt; &gt; Why is this needed instead of just:
&gt; &gt; new (NotNull, begin() + position) T(std::forward&lt;U&gt;(value));
&gt; 
&gt; I am not sure WebKit is using Vector of classes with overloaded &amp;.
&gt; Anders might know more about this since he added it.

COMPtr has an overloaded &amp; operator, and I had planned to add one to RetainPtr as well, since a lot of the CF APIs use out-pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346592</commentid>
    <comment_count>11</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-07 15:29:37 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #9)
&gt; (In reply to Saam Barati from comment #8)
&gt; &gt; Comment on attachment 320037 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=320037&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WTF/wtf/Vector.h:817
&gt; &gt; &gt; +        auto ptr = std::addressof(value);
&gt; &gt; &gt; +        new (NotNull, begin() + position) T(std::forward&lt;U&gt;(*ptr));
&gt; &gt; 
&gt; &gt; Why is this needed instead of just:
&gt; &gt; new (NotNull, begin() + position) T(std::forward&lt;U&gt;(value));
&gt; 
&gt; I am not sure WebKit is using Vector of classes with overloaded &amp;.
&gt; Anders might know more about this since he added it.

Right, that makes sense. But why do we even bother getting the address then dereferencing it? Why can&apos;t we just forward it along? Maybe I&apos;m missing something</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347903</commentid>
    <comment_count>12</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-12 08:17:43 -0700</bug_when>
    <thetext>&gt; Right, that makes sense. But why do we even bother getting the address then
&gt; dereferencing it? Why can&apos;t we just forward it along? Maybe I&apos;m missing
&gt; something

I read too fast, you are right, I will simplify uncheckedAppend and uncheckedInitialize accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1347994</commentid>
    <comment_count>13</comment_count>
      <attachid>320563</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-12 12:44:34 -0700</bug_when>
    <thetext>Created attachment 320563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348595</commentid>
    <comment_count>14</comment_count>
      <attachid>320563</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-13 18:10:56 -0700</bug_when>
    <thetext>Comment on attachment 320563
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Vector should be able to easily create from a list of movable only items

I think the name of this bug is slightly misleading. At least I misread it in my head. I don&apos;t think you&apos;re not requiring things that are rvalue references here. It looks like you&apos;re just using normal forwarding semantics.

&gt; Source/WTF/wtf/Vector.h:1185
&gt; +    asanSetInitialBufferSizeTo(initialCapacity);

This seems wrong if the above branch is not taken.
Also, I think this would break asan finding bugs like:
```
Vector&lt;T, 0&gt; v;
v.reserveInitialCapacity(10);
v[0] = T();
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1348596</commentid>
    <comment_count>15</comment_count>
      <attachid>320563</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-13 18:11:31 -0700</bug_when>
    <thetext>Comment on attachment 320563
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WTF/Vector.cpp:111
&gt; +TEST(WTF_Vector, ConstructWithFromMoveOnly)

I think it&apos;s worth adding tests for non rvalue references.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1349515</commentid>
    <comment_count>16</comment_count>
      <attachid>320959</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-15 13:41:42 -0700</bug_when>
    <thetext>Created attachment 320959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1349518</commentid>
    <comment_count>17</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-09-15 13:44:22 -0700</bug_when>
    <thetext>Thanks Saam, I updated the patch according your comments.

As of the name of the bug, the issue was brought up for Movable only types although you are right this routine is applicable to more than that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355998</commentid>
    <comment_count>18</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-03 13:08:46 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #16)
&gt; Created attachment 320959 [details]
&gt; Patch

Did you want this patch reviewed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356362</commentid>
    <comment_count>19</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-10-04 05:41:30 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #18)
&gt; (In reply to youenn fablet from comment #16)
&gt; &gt; Created attachment 320959 [details]
&gt; &gt; Patch
&gt; 
&gt; Did you want this patch reviewed?

After some refactoring, I no longer need this.
It makes sense to have it in bugzilla if somebody in the future needs that but I am not sure we should land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358345</commentid>
    <comment_count>20</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-10-09 12:38:01 -0700</bug_when>
    <thetext>I have a use case for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358637</commentid>
    <comment_count>21</comment_count>
      <attachid>323282</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-10-09 21:01:36 -0700</bug_when>
    <thetext>Created attachment 323282
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358645</commentid>
    <comment_count>22</comment_count>
      <attachid>323282</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-09 21:44:54 -0700</bug_when>
    <thetext>Comment on attachment 323282
Patch for landing

Clearing flags on attachment: 323282

Committed r223122: &lt;http://trac.webkit.org/changeset/223122&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358646</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-09 21:44:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358647</commentid>
    <comment_count>24</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-09 21:45:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/34903219&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319953</attachid>
            <date>2017-09-05 16:33:37 -0700</date>
            <delta_ts>2017-09-06 10:27:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176432-20170905163336.patch</filename>
            <type>text/plain</type>
            <size>3737</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFmMjc4ZWU4MjljZDE4ODIwMTY4MjRh
YjMxYmI3NDMyYzI0MjViZTMuLjliMjVlNmY3ZDJhMzBkYTNkNjM0ZGUxODc3MWE0YjBjYzE3ODg5
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDktMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIFZlY3RvciBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkg
Y3JlYXRlIGZyb20gYSBsaXN0IG9mIG1vdmFibGUgb25seSBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDMyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIHN0YXRpYyBmcm9tSXRlbXMg
bWV0aG9kIHRvIGNvbnN0cnVjdCBhIFZlY3RvciBmcm9tIG1vdmFibGUtb25seSBpdGVtcy4KKwor
ICAgICAgICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAgICAgKFdURjo6VmVjdG9yOjpmcm9tSXRlbXMp
OgorICAgICAgICAoV1RGOjpWZWN0b3I6OnVuY2hlY2tlZEFwcGVuZCk6CisKIDIwMTctMDktMDUg
IFlvc2hpYWtpIEppdHN1a2F3YSAgPFlvc2hpYWtpLkppdHN1a2F3YUBzb255LmNvbT4KIAogICAg
ICAgICBbV2luXSBGaXggdGhlIHdpbmNhaXJvIGJ1aWxkIGFmdGVyIHIyMjE1NTggYW5kIHIyMjE1
ODMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggYzk5ZDI5ODI1NzJkNDMzM2ZhYWJkMTc0NGNmNGM1MDg4YzQ1YjQyMy4u
ZDVjNDMwY2U1ZDYyM2YwM2I4ZWE1ZmM5ZDE2ZmIyZmUxZDhkNTBkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNSBAQAogMjAxNy0wOS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKKyAgICAgICAgVmVjdG9yIHNob3VsZCBiZSBhYmxlIHRvIGVhc2lseSBjcmVhdGUgZnJvbSBh
IGxpc3Qgb2YgbW92YWJsZSBvbmx5IGl0ZW1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVu
Z2luZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZTo6YWRk
TmV3VVJMUmVjb3JkKToKKworMjAxNy0wOS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKICAgICAgICAgQWxsb3cgcmV0cmlldmluZyBDYWNoZSBTdG9yYWdlIHJlY29yZHMg
Zm9yIGEgZ2l2ZW4gVVJMIG9ubHkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NjIwMgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3Iu
aCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCmluZGV4IGNmOWM3ZmJhZjg4MjY1Mzc5MzU2Yjlk
ZTc3ZTg3ZDVjZDZkNTU4MTQuLmI2ZjE1NDdlYmE0ZTZhNGU3YTUwMDIxZmExYmIwOWVlYjY4NjMz
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1ZlY3Rvci5oCkBAIC02MjMsNiArNjIzLDE4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHVu
Y2hlY2tlZEFwcGVuZChlbGVtZW50KTsKICAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4u
LiBJdGVtcz4KKyAgICBzdGF0aWMgVmVjdG9yIGZyb21JdGVtcyhJdGVtcyYmLi4uIGl0ZW1zKQor
ICAgIHsKKyAgICAgICAgVmVjdG9yIHJlc3VsdDsKKyAgICAgICAgYXV0byBzaXplID0gc2l6ZW9m
Li4uKGl0ZW1zKTsKKyAgICAgICAgcmVzdWx0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6ZSk7
CisgICAgICAgIHJlc3VsdC5hc2FuU2V0SW5pdGlhbEJ1ZmZlclNpemVUbyhzaXplKTsKKworICAg
ICAgICByZXN1bHQudW5jaGVja2VkQXBwZW5kKHN0ZDo6Zm9yd2FyZDxJdGVtcz4oaXRlbXMpLi4u
KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKICAgICB+VmVjdG9yKCkKICAgICB7
CiAgICAgICAgIGlmIChtX3NpemUpCkBAIC03OTEsNiArODAzLDEzIEBAIHByaXZhdGU6CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gdm9pZCBjb25zdHJ1Y3RBbmRBcHBlbmRTbG93Q2Fz
ZShBcmdzJiYuLi4pOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IGJvb2wgdHJ5Q29u
c3RydWN0QW5kQXBwZW5kU2xvd0Nhc2UoQXJncyYmLi4uKTsKIAorICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFUsIHR5cGVuYW1lLi4uIEl0ZW1zPgorICAgIHZvaWQgdW5jaGVja2VkQXBwZW5kKFUmJiBp
dGVtLCBJdGVtcyYmLi4uIGl0ZW1zKQorICAgIHsKKyAgICAgICAgdW5jaGVja2VkQXBwZW5kKHN0
ZDo6Zm9yd2FyZDxVPihpdGVtKSk7CisgICAgICAgIHVuY2hlY2tlZEFwcGVuZChzdGQ6OmZvcndh
cmQ8SXRlbXM+KGl0ZW1zKS4uLik7CisgICAgfQorCiAgICAgdm9pZCBhc2FuU2V0SW5pdGlhbEJ1
ZmZlclNpemVUbyhzaXplX3QpOwogICAgIHZvaWQgYXNhblNldEJ1ZmZlclNpemVUb0Z1bGxDYXBh
Y2l0eShzaXplX3QpOwogICAgIHZvaWQgYXNhblNldEJ1ZmZlclNpemVUb0Z1bGxDYXBhY2l0eSgp
IHsgYXNhblNldEJ1ZmZlclNpemVUb0Z1bGxDYXBhY2l0eShzaXplKCkpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdl
RW5naW5lQ2FjaGUuY3BwCmluZGV4IDgzNWQ5NWIyNmRhZDk5YjE1MmYwNDhmNWUzNTczODlhODgz
YzZmN2UuLmM1Y2E0OWIyZGNjZTUyODliYTQ3N2U3NzE0ODI5NjY2YmYwY2RhOGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVT
dG9yYWdlRW5naW5lQ2FjaGUuY3BwCkBAIC0xMTAsMTAgKzExMCw3IEBAIFJlY29yZCYgQ2FjaGU6
OmFkZE5ld1VSTFJlY29yZChSZWNvcmQmJiByZWNvcmQpCiAgICAgYXV0byBrZXkgPSBjb21wdXRl
S2V5VVJMKHJlY29yZC5yZXF1ZXN0LnVybCgpKTsKICAgICBBU1NFUlQoIW1fcmVjb3Jkcy5jb250
YWlucyhrZXkpKTsKIAotICAgIFZlY3RvcjxSZWNvcmQ+IG5ld1JlY29yZHM7Ci0gICAgbmV3UmVj
b3Jkcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KDEpOwotICAgIG5ld1JlY29yZHMudW5jaGVja2Vk
QXBwZW5kKFdURk1vdmUocmVjb3JkKSk7Ci0gICAgcmV0dXJuIG1fcmVjb3Jkcy5zZXQoa2V5LCBX
VEZNb3ZlKG5ld1JlY29yZHMpKS5pdGVyYXRvci0+dmFsdWUubGFzdCgpOworICAgIHJldHVybiBt
X3JlY29yZHMuc2V0KGtleSwgVmVjdG9yPFJlY29yZD46OmZyb21JdGVtcyhXVEZNb3ZlKHJlY29y
ZCkpKS5pdGVyYXRvci0+dmFsdWUubGFzdCgpOwogfQogCiBWZWN0b3I8UmVjb3JkPiogQ2FjaGU6
OnJlY29yZHNGcm9tVVJMKGNvbnN0IFVSTCYgdXJsKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320037</attachid>
            <date>2017-09-06 10:27:14 -0700</date>
            <delta_ts>2017-09-12 12:44:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176432-20170906102713.patch</filename>
            <type>text/plain</type>
            <size>6865</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxNjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFmMjc4ZWU4MjljZDE4ODIwMTY4MjRh
YjMxYmI3NDMyYzI0MjViZTMuLjUzNjgwMzc1MjZiNDljZjE3YjA3NjE4NWI3OTRkZTExNzc2NDgw
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDktMDYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIFZlY3RvciBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkg
Y3JlYXRlIGZyb20gYSBsaXN0IG9mIG1vdmFibGUgb25seSBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDMyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIHN0YXRpYyBmcm9tIG1ldGhv
ZCB0byBjb25zdHJ1Y3QgYSBWZWN0b3IgZnJvbSBtb3ZhYmxlLW9ubHkgaXRlbXMuCisgICAgICAg
IFRoaXMgbWF5IGFsc28gYmUgdXNlZCBpbnN0ZWFkIG9mIGluaXRpYWxpemVyIGxpc3QgY29uc3Ry
dWN0b3IgZm9yIHR5cGVzIHRoYXQgd291bGQgYmVuZWZpdCBvZiBiZWluZyBtb3ZlZC4KKworICAg
ICAgICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAgICAgKFdURjo6VmVjdG9yOjpWZWN0b3IpOgorICAg
ICAgICAoV1RGOjpWZWN0b3I6OmZyb20pOgorICAgICAgICAoV1RGOjpWZWN0b3I6OnVuY2hlY2tl
ZEluaXRpYWxpemUpOiBJbnRyb2R1Y2VkIGFzIGFuIG9wdGltaXphdGlvbiB0byBzZXQgdGhlIHZl
Y3RvciBzaXplIG9uY2UuCisgICAgICAgIChXVEY6Ok1hbGxvYz46OnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkpOgorCiAyMDE3LTA5LTA1ICBZb3NoaWFraSBKaXRzdWthd2EgIDxZb3NoaWFraS5KaXRz
dWthd2FAc29ueS5jb20+CiAKICAgICAgICAgW1dpbl0gRml4IHRoZSB3aW5jYWlybyBidWlsZCBh
ZnRlciByMjIxNTU4IGFuZCByMjIxNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM5OWQyOTgyNTcyZDQzMzNmYWFi
ZDE3NDRjZjRjNTA4OGM0NWI0MjMuLmQ1YzQzMGNlNWQ2MjNmMDNiOGVhNWZjOWQxNmZiMmZlMWQ4
ZDUwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTctMDktMDUgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCisgICAgICAgIFZlY3RvciBzaG91bGQgYmUgYWJsZSB0
byBlYXNpbHkgY3JlYXRlIGZyb20gYSBsaXN0IG9mIG1vdmFibGUgb25seSBpdGVtcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDMyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNh
Y2hlU3RvcmFnZTo6Q2FjaGU6OmFkZE5ld1VSTFJlY29yZCk6CisKKzIwMTctMDktMDUgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCiAgICAgICAgIEFsbG93IHJldHJpZXZpbmcg
Q2FjaGUgU3RvcmFnZSByZWNvcmRzIGZvciBhIGdpdmVuIFVSTCBvbmx5CiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzYyMDIKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvVmVjdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAppbmRleCBj
ZjljN2ZiYWY4ODI2NTM3OTM1NmI5ZGU3N2U4N2Q1Y2Q2ZDU1ODE0Li5lYjFjZTAzMWZjZjcwOWQ0
N2YzNTExNzgzNTI5ZmFlOWE5YjEzMTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0
b3IuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaApAQCAtNjE3LDEyICs2MTcsMjMgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgcmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShpbml0aWFsaXpl
ckxpc3Quc2l6ZSgpKTsKIAotICAgICAgICBhc2FuU2V0SW5pdGlhbEJ1ZmZlclNpemVUbyhpbml0
aWFsaXplckxpc3Quc2l6ZSgpKTsKLQogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGVsZW1lbnQg
OiBpbml0aWFsaXplckxpc3QpCiAgICAgICAgICAgICB1bmNoZWNrZWRBcHBlbmQoZWxlbWVudCk7
CiAgICAgfQogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gSXRlbXM+CisgICAgc3RhdGljIFZl
Y3RvciBmcm9tKEl0ZW1zJiYuLi4gaXRlbXMpCisgICAgeworICAgICAgICBWZWN0b3IgcmVzdWx0
OworICAgICAgICBhdXRvIHNpemUgPSBzaXplb2YuLi4oaXRlbXMpOworCisgICAgICAgIHJlc3Vs
dC5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNpemUpOworICAgICAgICByZXN1bHQubV9zaXplID0g
c2l6ZTsKKworICAgICAgICByZXN1bHQudW5jaGVja2VkSW5pdGlhbGl6ZTwwPihzdGQ6OmZvcndh
cmQ8SXRlbXM+KGl0ZW1zKS4uLik7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCiAg
ICAgflZlY3RvcigpCiAgICAgewogICAgICAgICBpZiAobV9zaXplKQpAQCAtNzkxLDYgKzgwMiwy
MSBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IHZvaWQgY29uc3Ry
dWN0QW5kQXBwZW5kU2xvd0Nhc2UoQXJncyYmLi4uKTsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4u
LiBBcmdzPiBib29sIHRyeUNvbnN0cnVjdEFuZEFwcGVuZFNsb3dDYXNlKEFyZ3MmJi4uLik7CiAK
KyAgICB0ZW1wbGF0ZTxzaXplX3QgcG9zaXRpb24sIHR5cGVuYW1lIFUsIHR5cGVuYW1lLi4uIEl0
ZW1zPgorICAgIHZvaWQgdW5jaGVja2VkSW5pdGlhbGl6ZShVJiYgaXRlbSwgSXRlbXMmJi4uLiBp
dGVtcykKKyAgICB7CisgICAgICAgIHVuY2hlY2tlZEluaXRpYWxpemU8cG9zaXRpb24+KHN0ZDo6
Zm9yd2FyZDxVPihpdGVtKSk7CisgICAgICAgIHVuY2hlY2tlZEluaXRpYWxpemU8cG9zaXRpb24g
KyAxPihzdGQ6OmZvcndhcmQ8SXRlbXM+KGl0ZW1zKS4uLik7CisgICAgfQorICAgIHRlbXBsYXRl
PHNpemVfdCBwb3NpdGlvbiwgdHlwZW5hbWUgVT4KKyAgICB2b2lkIHVuY2hlY2tlZEluaXRpYWxp
emUoVSYmIHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHBvc2l0aW9uIDwgc2l6ZSgpKTsK
KyAgICAgICAgQVNTRVJUKHBvc2l0aW9uIDwgY2FwYWNpdHkoKSk7CisgICAgICAgIGF1dG8gcHRy
ID0gc3RkOjphZGRyZXNzb2YodmFsdWUpOworICAgICAgICBuZXcgKE5vdE51bGwsIGJlZ2luKCkg
KyBwb3NpdGlvbikgVChzdGQ6OmZvcndhcmQ8VT4oKnB0cikpOworICAgIH0KKwogICAgIHZvaWQg
YXNhblNldEluaXRpYWxCdWZmZXJTaXplVG8oc2l6ZV90KTsKICAgICB2b2lkIGFzYW5TZXRCdWZm
ZXJTaXplVG9GdWxsQ2FwYWNpdHkoc2l6ZV90KTsKICAgICB2b2lkIGFzYW5TZXRCdWZmZXJTaXpl
VG9GdWxsQ2FwYWNpdHkoKSB7IGFzYW5TZXRCdWZmZXJTaXplVG9GdWxsQ2FwYWNpdHkoc2l6ZSgp
KTsgfQpAQCAtMTE1Nyw2ICsxMTgzLDcgQEAgaW5saW5lIHZvaWQgVmVjdG9yPFQsIGlubGluZUNh
cGFjaXR5LCBPdmVyZmxvd0hhbmRsZXIsIG1pbkNhcGFjaXR5LCBNYWxsb2M+OjpyZXMKICAgICBB
U1NFUlQoY2FwYWNpdHkoKSA9PSBpbmxpbmVDYXBhY2l0eSk7CiAgICAgaWYgKGluaXRpYWxDYXBh
Y2l0eSA+IGlubGluZUNhcGFjaXR5KQogICAgICAgICBCYXNlOjphbGxvY2F0ZUJ1ZmZlcihpbml0
aWFsQ2FwYWNpdHkpOworICAgIGFzYW5TZXRJbml0aWFsQnVmZmVyU2l6ZVRvKGluaXRpYWxDYXBh
Y2l0eSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwg
dHlwZW5hbWUgT3ZlcmZsb3dIYW5kbGVyLCBzaXplX3QgbWluQ2FwYWNpdHksIHR5cGVuYW1lIE1h
bGxvYz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKaW5kZXggODM1ZDk1YjI2ZGFkOTliMTUy
ZjA0OGY1ZTM1NzM4OWE4ODNjNmY3ZS4uOTVlNDlhNzNjYzAxMjJkNTI5OGZhNDdjZDgyN2NhOWM4
MDNjZDdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKQEAgLTExMCwxMCArMTEwLDcg
QEAgUmVjb3JkJiBDYWNoZTo6YWRkTmV3VVJMUmVjb3JkKFJlY29yZCYmIHJlY29yZCkKICAgICBh
dXRvIGtleSA9IGNvbXB1dGVLZXlVUkwocmVjb3JkLnJlcXVlc3QudXJsKCkpOwogICAgIEFTU0VS
VCghbV9yZWNvcmRzLmNvbnRhaW5zKGtleSkpOwogCi0gICAgVmVjdG9yPFJlY29yZD4gbmV3UmVj
b3JkczsKLSAgICBuZXdSZWNvcmRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoMSk7Ci0gICAgbmV3
UmVjb3Jkcy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZShyZWNvcmQpKTsKLSAgICByZXR1cm4gbV9y
ZWNvcmRzLnNldChrZXksIFdURk1vdmUobmV3UmVjb3JkcykpLml0ZXJhdG9yLT52YWx1ZS5sYXN0
KCk7CisgICAgcmV0dXJuIG1fcmVjb3Jkcy5zZXQoa2V5LCBWZWN0b3I8UmVjb3JkPjo6ZnJvbShX
VEZNb3ZlKHJlY29yZCkpKS5pdGVyYXRvci0+dmFsdWUubGFzdCgpOwogfQogCiBWZWN0b3I8UmVj
b3JkPiogQ2FjaGU6OnJlY29yZHNGcm9tVVJMKGNvbnN0IFVSTCYgdXJsKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGVjNGRmZWU1NDYyNTM2MGIy
MGFlM2ZmMjdkNmNiZTI0NDMwYWFjYWYuLjQ2YjhjYmY2N2IxZjNkNTNiZjc1M2FiYjE4NDU3NTMx
MGFlNGYyNTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wOS0wNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgVmVjdG9yIHNob3VsZCBiZSBhYmxlIHRvIGVhc2lseSBjcmVh
dGUgZnJvbSBhIGxpc3Qgb2YgbW92YWJsZSBvbmx5IGl0ZW1zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY0MzIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBmaXgtMTc2NDMyCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3IuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
VEVTVCk6CisKIDIwMTctMDktMDUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdIFdyb25nIHVzZSBvZiBQTFVHSU5fQVJDSElURUNUVVJF
KFgxMSkgaW4gc2V2ZXJhbCBwbGFjZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1ZlY3Rvci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0
b3IuY3BwCmluZGV4IDRkYWJhMzAwNzZjODc2OTcwMjYxMTgyOGE2MzU1YzNkMTIyN2NkYzMuLjUy
ZmI0MTU0Y2QyODJhYmE3MTk4OTg1NDRlOTI2ZDFkOWU3OGY1NjggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3Rvci5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvVmVjdG9yLmNwcApAQCAtOTUsNiArOTUsMzYgQEAgVEVTVChXVEZfVmVj
dG9yLCBJbml0aWFsaXplckxpc3QpCiAgICAgRVhQRUNUX0VRKDQsIHZlY3RvclszXSk7CiB9CiAK
K1RFU1QoV1RGX1ZlY3RvciwgQ29uc3RydWN0V2l0aEZyb20pCit7CisgICAgYXV0byB2ZWN0b3Ig
PSBWZWN0b3I8aW50Pjo6ZnJvbSgxLCAyLCAzLCA0LCA1KTsKKyAgICBFWFBFQ1RfRVEoNVUsIHZl
Y3Rvci5zaXplKCkpOworICAgIEVYUEVDVF9FUSg1VSwgdmVjdG9yLmNhcGFjaXR5KCkpOworCisg
ICAgRVhQRUNUX0VRKDEsIHZlY3RvclswXSk7CisgICAgRVhQRUNUX0VRKDIsIHZlY3RvclsxXSk7
CisgICAgRVhQRUNUX0VRKDMsIHZlY3RvclsyXSk7CisgICAgRVhQRUNUX0VRKDQsIHZlY3Rvclsz
XSk7CisgICAgRVhQRUNUX0VRKDUsIHZlY3Rvcls0XSk7Cit9CisKK1RFU1QoV1RGX1ZlY3Rvciwg
Q29uc3RydWN0V2l0aEZyb21Nb3ZlT25seSkKK3sKKyAgICBhdXRvIHZlY3RvcjEgPSBWZWN0b3I8
TW92ZU9ubHk+Ojpmcm9tKE1vdmVPbmx5KDEpKTsKKyAgICBhdXRvIHZlY3RvcjMgPSBWZWN0b3I8
TW92ZU9ubHk+Ojpmcm9tKE1vdmVPbmx5KDEpLCBNb3ZlT25seSgyKSwgTW92ZU9ubHkoMykpOwor
CisgICAgRVhQRUNUX0VRKDFVLCB2ZWN0b3IxLnNpemUoKSk7CisgICAgRVhQRUNUX0VRKDFVLCB2
ZWN0b3IxLmNhcGFjaXR5KCkpOworCisgICAgRVhQRUNUX0VRKDNVLCB2ZWN0b3IzLnNpemUoKSk7
CisgICAgRVhQRUNUX0VRKDNVLCB2ZWN0b3IzLmNhcGFjaXR5KCkpOworCisgICAgRVhQRUNUX0VR
KDFVLCB2ZWN0b3IxWzBdLnZhbHVlKCkpOworICAgIEVYUEVDVF9FUSgxVSwgdmVjdG9yM1swXS52
YWx1ZSgpKTsKKyAgICBFWFBFQ1RfRVEoMlUsIHZlY3RvcjNbMV0udmFsdWUoKSk7CisgICAgRVhQ
RUNUX0VRKDNVLCB2ZWN0b3IzWzJdLnZhbHVlKCkpOworfQorCiBURVNUKFdURl9WZWN0b3IsIElu
aXRpYWxpemVGcm9tT3RoZXJJbml0aWFsQ2FwYWNpdHkpCiB7CiAgICAgVmVjdG9yPGludCwgMz4g
dmVjdG9yID0geyAxLCAzLCAyLCA0IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320563</attachid>
            <date>2017-09-12 12:44:34 -0700</date>
            <delta_ts>2017-09-15 13:41:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176432-20170912124433.patch</filename>
            <type>text/plain</type>
            <size>7039</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZkNmFmNThkMzY0OWM5YWJhNWMwZjA4
MGEyYzk5NWMyMmU3ZmUxM2YuLjgxYjU5YjY2MDFjZTc1NGY0NzA4NGExYWQ2YzM0N2MxMjAzNmMw
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDktMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIFZlY3RvciBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkg
Y3JlYXRlIGZyb20gYSBsaXN0IG9mIG1vdmFibGUgb25seSBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDMyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIHN0YXRpYyBmcm9tIG1ldGhv
ZCB0byBjb25zdHJ1Y3QgYSBWZWN0b3IgZnJvbSBtb3ZhYmxlLW9ubHkgaXRlbXMuCisgICAgICAg
IFRoaXMgbWF5IGFsc28gYmUgdXNlZCBpbnN0ZWFkIG9mIGluaXRpYWxpemVyIGxpc3QgY29uc3Ry
dWN0b3IgZm9yIHR5cGVzIHRoYXQgd291bGQgYmVuZWZpdCBvZiBiZWluZyBtb3ZlZC4KKworICAg
ICAgICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAgICAgKFdURjo6VmVjdG9yOjpWZWN0b3IpOgorICAg
ICAgICAoV1RGOjpWZWN0b3I6OmZyb20pOgorICAgICAgICAoV1RGOjpWZWN0b3I6OnVuY2hlY2tl
ZEluaXRpYWxpemUpOiBJbnRyb2R1Y2VkIGFzIGFuIG9wdGltaXphdGlvbiB0byBzZXQgdGhlIHZl
Y3RvciBzaXplIG9uY2UuCisgICAgICAgIChXVEY6Ok1hbGxvYz46OnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkpOgorCiAyMDE3LTA5LTEyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW0NsZWFudXBdIEZvbGxvdyB1cCBjbGVhbnVwIGZvciBET01Gb3JtRGF0YSBpbXBsZW1l
bnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCA3NjEwNTgwMTgyN2Q2YWFmNmQwOTBiZTQ1NjZhMTBkYmJhNDgw
Yjc0Li41ZWI2YTJlYmU0YWEzMzdhNWJlODViMGExMmU0YzMzNzcwMmQwMTVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDE3LTA5LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KKworICAgICAgICBWZWN0b3Igc2hvdWxkIGJlIGFibGUgdG8gZWFzaWx5IGNyZWF0ZSBm
cm9tIGEgbGlzdCBvZiBtb3ZhYmxlIG9ubHkgaXRlbXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjQzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9y
YWdlRW5naW5lQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hl
OjphZGROZXdVUkxSZWNvcmQpOgorCiAyMDE3LTA5LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgRG5EXSBTdXBwb3J0IERhdGFUcmFuc2Zl
ci5zZXREcmFnSW1hZ2Ugd2hlbiBzdGFydGluZyBhIGRyYWcgb24gaU9TCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCmluZGV4IGNm
OWM3ZmJhZjg4MjY1Mzc5MzU2YjlkZTc3ZTg3ZDVjZDZkNTU4MTQuLjUzOTFiMjM1OGViZjU0ZWQy
YThjOTBkMTExOWYzMTI4ZDBhMGY3OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rv
ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC02MTcsMTIgKzYxNywyMyBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICByZXNlcnZlSW5pdGlhbENhcGFjaXR5KGluaXRpYWxpemVy
TGlzdC5zaXplKCkpOwogCi0gICAgICAgIGFzYW5TZXRJbml0aWFsQnVmZmVyU2l6ZVRvKGluaXRp
YWxpemVyTGlzdC5zaXplKCkpOwotCiAgICAgICAgIGZvciAoY29uc3QgYXV0byYgZWxlbWVudCA6
IGluaXRpYWxpemVyTGlzdCkKICAgICAgICAgICAgIHVuY2hlY2tlZEFwcGVuZChlbGVtZW50KTsK
ICAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBJdGVtcz4KKyAgICBzdGF0aWMgVmVj
dG9yIGZyb20oSXRlbXMmJi4uLiBpdGVtcykKKyAgICB7CisgICAgICAgIFZlY3RvciByZXN1bHQ7
CisgICAgICAgIGF1dG8gc2l6ZSA9IHNpemVvZi4uLihpdGVtcyk7CisKKyAgICAgICAgcmVzdWx0
LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6ZSk7CisgICAgICAgIHJlc3VsdC5tX3NpemUgPSBz
aXplOworCisgICAgICAgIHJlc3VsdC51bmNoZWNrZWRJbml0aWFsaXplPDA+KHN0ZDo6Zm9yd2Fy
ZDxJdGVtcz4oaXRlbXMpLi4uKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKICAg
ICB+VmVjdG9yKCkKICAgICB7CiAgICAgICAgIGlmIChtX3NpemUpCkBAIC03OTEsNiArODAyLDIw
IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gdm9pZCBjb25zdHJ1
Y3RBbmRBcHBlbmRTbG93Q2FzZShBcmdzJiYuLi4pOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4u
IEFyZ3M+IGJvb2wgdHJ5Q29uc3RydWN0QW5kQXBwZW5kU2xvd0Nhc2UoQXJncyYmLi4uKTsKIAor
ICAgIHRlbXBsYXRlPHNpemVfdCBwb3NpdGlvbiwgdHlwZW5hbWUgVSwgdHlwZW5hbWUuLi4gSXRl
bXM+CisgICAgdm9pZCB1bmNoZWNrZWRJbml0aWFsaXplKFUmJiBpdGVtLCBJdGVtcyYmLi4uIGl0
ZW1zKQorICAgIHsKKyAgICAgICAgdW5jaGVja2VkSW5pdGlhbGl6ZTxwb3NpdGlvbj4oc3RkOjpm
b3J3YXJkPFU+KGl0ZW0pKTsKKyAgICAgICAgdW5jaGVja2VkSW5pdGlhbGl6ZTxwb3NpdGlvbiAr
IDE+KHN0ZDo6Zm9yd2FyZDxJdGVtcz4oaXRlbXMpLi4uKTsKKyAgICB9CisgICAgdGVtcGxhdGU8
c2l6ZV90IHBvc2l0aW9uLCB0eXBlbmFtZSBVPgorICAgIHZvaWQgdW5jaGVja2VkSW5pdGlhbGl6
ZShVJiYgdmFsdWUpCisgICAgeworICAgICAgICBBU1NFUlQocG9zaXRpb24gPCBzaXplKCkpOwor
ICAgICAgICBBU1NFUlQocG9zaXRpb24gPCBjYXBhY2l0eSgpKTsKKyAgICAgICAgbmV3IChOb3RO
dWxsLCBiZWdpbigpICsgcG9zaXRpb24pIFQoc3RkOjpmb3J3YXJkPFU+KHZhbHVlKSk7CisgICAg
fQorCiAgICAgdm9pZCBhc2FuU2V0SW5pdGlhbEJ1ZmZlclNpemVUbyhzaXplX3QpOwogICAgIHZv
aWQgYXNhblNldEJ1ZmZlclNpemVUb0Z1bGxDYXBhY2l0eShzaXplX3QpOwogICAgIHZvaWQgYXNh
blNldEJ1ZmZlclNpemVUb0Z1bGxDYXBhY2l0eSgpIHsgYXNhblNldEJ1ZmZlclNpemVUb0Z1bGxD
YXBhY2l0eShzaXplKCkpOyB9CkBAIC0xMTU3LDYgKzExODIsNyBAQCBpbmxpbmUgdm9pZCBWZWN0
b3I8VCwgaW5saW5lQ2FwYWNpdHksIE92ZXJmbG93SGFuZGxlciwgbWluQ2FwYWNpdHksIE1hbGxv
Yz46OnJlcwogICAgIEFTU0VSVChjYXBhY2l0eSgpID09IGlubGluZUNhcGFjaXR5KTsKICAgICBp
ZiAoaW5pdGlhbENhcGFjaXR5ID4gaW5saW5lQ2FwYWNpdHkpCiAgICAgICAgIEJhc2U6OmFsbG9j
YXRlQnVmZmVyKGluaXRpYWxDYXBhY2l0eSk7CisgICAgYXNhblNldEluaXRpYWxCdWZmZXJTaXpl
VG8oaW5pdGlhbENhcGFjaXR5KTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXIsIHNpemVfdCBtaW5DYXBhY2l0
eSwgdHlwZW5hbWUgTWFsbG9jPgpAQCAtMTMyNSw4ICsxMzUxLDcgQEAgQUxXQVlTX0lOTElORSB2
b2lkIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyLCBtaW5DYXBhY2l0
eSwgTWFsbG8KIAogICAgIGFzYW5CdWZmZXJTaXplV2lsbENoYW5nZVRvKG1fc2l6ZSArIDEpOwog
Ci0gICAgYXV0byBwdHIgPSBzdGQ6OmFkZHJlc3NvZih2YWx1ZSk7Ci0gICAgbmV3IChOb3ROdWxs
LCBlbmQoKSkgVChzdGQ6OmZvcndhcmQ8VT4oKnB0cikpOworICAgIG5ldyAoTm90TnVsbCwgZW5k
KCkpIFQoc3RkOjpmb3J3YXJkPFU+KHZhbHVlKSk7CiAgICAgKyttX3NpemU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5n
aW5lQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0
b3JhZ2VFbmdpbmVDYWNoZS5jcHAKaW5kZXggNjFhMDRjMDhhNDc0OTI2MGYzY2Y5MDBmMDgzMmRk
NjZiZGNiNjZiZi4uOGQ4YzQ1ZDgwNGFhMTllZGUyODgzMmEyNGQyOGM5NmE1ZDFjYjUxYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKQEAgLTE2NCwxMCArMTY0LDcgQEAgUmVjb3JkJiBD
YWNoZTo6YWRkTmV3VVJMUmVjb3JkKFJlY29yZCYmIHJlY29yZCkKICAgICBhdXRvIGtleSA9IGNv
bXB1dGVLZXlVUkwocmVjb3JkLnJlcXVlc3QudXJsKCkpOwogICAgIEFTU0VSVCghbV9yZWNvcmRz
LmNvbnRhaW5zKGtleSkpOwogCi0gICAgVmVjdG9yPFJlY29yZD4gbmV3UmVjb3JkczsKLSAgICBu
ZXdSZWNvcmRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoMSk7Ci0gICAgbmV3UmVjb3Jkcy51bmNo
ZWNrZWRBcHBlbmQoV1RGTW92ZShyZWNvcmQpKTsKLSAgICByZXR1cm4gbV9yZWNvcmRzLnNldChr
ZXksIFdURk1vdmUobmV3UmVjb3JkcykpLml0ZXJhdG9yLT52YWx1ZS5sYXN0KCk7CisgICAgcmV0
dXJuIG1fcmVjb3Jkcy5zZXQoa2V5LCBWZWN0b3I8UmVjb3JkPjo6ZnJvbShXVEZNb3ZlKHJlY29y
ZCkpKS5pdGVyYXRvci0+dmFsdWUubGFzdCgpOwogfQogCiBWZWN0b3I8UmVjb3JkPiogQ2FjaGU6
OnJlY29yZHNGcm9tVVJMKGNvbnN0IFVSTCYgdXJsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE2MTY2ZGVkNWM3NWM3NjRiMTRjMzFlZTg3YjI0
YWM0OTI5NjQxNGUuLmU5MTg5MTI0MzMxZTZiNzcyZThlNDFiMTc2YzE3ZTkzNTAxMmYxODEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxNy0wOS0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgVmVjdG9yIHNob3VsZCBiZSBhYmxlIHRvIGVhc2lseSBjcmVhdGUgZnJvbSBhIGxp
c3Qgb2YgbW92YWJsZSBvbmx5IGl0ZW1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzY0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3Rvci5jcHA6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wOS0xMiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0ZyZWV0eXBlXSBEb2Vz
bid0IHN1cHBvcnQgY29sb3VyZWQgZm9udHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1ZlY3Rvci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9W
ZWN0b3IuY3BwCmluZGV4IDRkYWJhMzAwNzZjODc2OTcwMjYxMTgyOGE2MzU1YzNkMTIyN2NkYzMu
LjUyZmI0MTU0Y2QyODJhYmE3MTk4OTg1NDRlOTI2ZDFkOWU3OGY1NjggMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3Rvci5jcHAKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yLmNwcApAQCAtOTUsNiArOTUsMzYgQEAgVEVTVChXVEZf
VmVjdG9yLCBJbml0aWFsaXplckxpc3QpCiAgICAgRVhQRUNUX0VRKDQsIHZlY3RvclszXSk7CiB9
CiAKK1RFU1QoV1RGX1ZlY3RvciwgQ29uc3RydWN0V2l0aEZyb20pCit7CisgICAgYXV0byB2ZWN0
b3IgPSBWZWN0b3I8aW50Pjo6ZnJvbSgxLCAyLCAzLCA0LCA1KTsKKyAgICBFWFBFQ1RfRVEoNVUs
IHZlY3Rvci5zaXplKCkpOworICAgIEVYUEVDVF9FUSg1VSwgdmVjdG9yLmNhcGFjaXR5KCkpOwor
CisgICAgRVhQRUNUX0VRKDEsIHZlY3RvclswXSk7CisgICAgRVhQRUNUX0VRKDIsIHZlY3Rvclsx
XSk7CisgICAgRVhQRUNUX0VRKDMsIHZlY3RvclsyXSk7CisgICAgRVhQRUNUX0VRKDQsIHZlY3Rv
clszXSk7CisgICAgRVhQRUNUX0VRKDUsIHZlY3Rvcls0XSk7Cit9CisKK1RFU1QoV1RGX1ZlY3Rv
ciwgQ29uc3RydWN0V2l0aEZyb21Nb3ZlT25seSkKK3sKKyAgICBhdXRvIHZlY3RvcjEgPSBWZWN0
b3I8TW92ZU9ubHk+Ojpmcm9tKE1vdmVPbmx5KDEpKTsKKyAgICBhdXRvIHZlY3RvcjMgPSBWZWN0
b3I8TW92ZU9ubHk+Ojpmcm9tKE1vdmVPbmx5KDEpLCBNb3ZlT25seSgyKSwgTW92ZU9ubHkoMykp
OworCisgICAgRVhQRUNUX0VRKDFVLCB2ZWN0b3IxLnNpemUoKSk7CisgICAgRVhQRUNUX0VRKDFV
LCB2ZWN0b3IxLmNhcGFjaXR5KCkpOworCisgICAgRVhQRUNUX0VRKDNVLCB2ZWN0b3IzLnNpemUo
KSk7CisgICAgRVhQRUNUX0VRKDNVLCB2ZWN0b3IzLmNhcGFjaXR5KCkpOworCisgICAgRVhQRUNU
X0VRKDFVLCB2ZWN0b3IxWzBdLnZhbHVlKCkpOworICAgIEVYUEVDVF9FUSgxVSwgdmVjdG9yM1sw
XS52YWx1ZSgpKTsKKyAgICBFWFBFQ1RfRVEoMlUsIHZlY3RvcjNbMV0udmFsdWUoKSk7CisgICAg
RVhQRUNUX0VRKDNVLCB2ZWN0b3IzWzJdLnZhbHVlKCkpOworfQorCiBURVNUKFdURl9WZWN0b3Is
IEluaXRpYWxpemVGcm9tT3RoZXJJbml0aWFsQ2FwYWNpdHkpCiB7CiAgICAgVmVjdG9yPGludCwg
Mz4gdmVjdG9yID0geyAxLCAzLCAyLCA0IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320959</attachid>
            <date>2017-09-15 13:41:42 -0700</date>
            <delta_ts>2017-10-09 21:01:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176432-20170915134141.patch</filename>
            <type>text/plain</type>
            <size>5520</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU0OTJjOGI5NDVmYjMwODkyMWJjNDYz
ODMyOWQ1YjcyNGM4YTYxODYuLjRiMTVjNGI1ZWZjYTY4NDcxYzk1NDQ4NDI5NDFmZDdlMTQ5MDQ3
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDktMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIFZlY3RvciBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkg
Y3JlYXRlIGZyb20gYSBsaXN0IG9mIG1vdmFibGUgb25seSBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDMyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIHN0YXRpYyBmcm9tIG1ldGhv
ZCB0byBjb25zdHJ1Y3QgYSBWZWN0b3IgZnJvbSBtb3ZhYmxlLW9ubHkgaXRlbXMuCisgICAgICAg
IFRoaXMgbWF5IGFsc28gYmUgdXNlZCBpbnN0ZWFkIG9mIGluaXRpYWxpemVyIGxpc3QgY29uc3Ry
dWN0b3IgZm9yIHR5cGVzIHRoYXQgd291bGQgYmVuZWZpdCBvZiBiZWluZyBtb3ZlZC4KKworICAg
ICAgICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAgICAgKFdURjo6VmVjdG9yOjpWZWN0b3IpOgorICAg
ICAgICAoV1RGOjpWZWN0b3I6OmZyb20pOgorICAgICAgICAoV1RGOjpWZWN0b3I6OnVuY2hlY2tl
ZEluaXRpYWxpemUpOiBJbnRyb2R1Y2VkIGFzIGFuIG9wdGltaXphdGlvbiB0byBzZXQgdGhlIHZl
Y3RvciBzaXplIG9uY2UuCisgICAgICAgIChXVEY6Ok1hbGxvYz46OnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkpOgorCiAyMDE3LTA5LTE0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgog
CiAgICAgICAgIFdlIHNob3VsZCBoYXZlIGEgd2F5IG9mIHByZXZlbnRpbmcgYSBjYWxsZXIgZnJv
bSBtYWtpbmcgYSB0YWlsIGNhbGwgYW5kIHdlIHNob3VsZCB1c2UgaXQgZm9yIFByb3h5T2JqZWN0
IGluc3RlYWQgb2YgdXNpbmcgYnVpbGQgZmxhZ3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1ZlY3Rvci5oIGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgKaW5kZXggOThkMjM3NGY5OWI0ZmIz
ZWJlMjlmYmZiNDMwYTNhZjY5MmI5MTFlZC4uZTdkYTFmNWRjZTQ4NzNhNWY1YTdmMzdmZGViYmNj
NmEzYWJmYmJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVmVjdG9yLmgKKysrIGIvU291
cmNlL1dURi93dGYvVmVjdG9yLmgKQEAgLTYyMyw2ICs2MjMsMjAgQEAgcHVibGljOgogICAgICAg
ICAgICAgdW5jaGVja2VkQXBwZW5kKGVsZW1lbnQpOwogICAgIH0KIAorICAgIHRlbXBsYXRlPHR5
cGVuYW1lLi4uIEl0ZW1zPgorICAgIHN0YXRpYyBWZWN0b3IgZnJvbShJdGVtcyYmLi4uIGl0ZW1z
KQorICAgIHsKKyAgICAgICAgVmVjdG9yIHJlc3VsdDsKKyAgICAgICAgYXV0byBzaXplID0gc2l6
ZW9mLi4uKGl0ZW1zKTsKKworICAgICAgICByZXN1bHQucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShz
aXplKTsKKyAgICAgICAgcmVzdWx0LmFzYW5TZXRJbml0aWFsQnVmZmVyU2l6ZVRvKHNpemUpOwor
ICAgICAgICByZXN1bHQubV9zaXplID0gc2l6ZTsKKworICAgICAgICByZXN1bHQudW5jaGVja2Vk
SW5pdGlhbGl6ZTwwPihzdGQ6OmZvcndhcmQ8SXRlbXM+KGl0ZW1zKS4uLik7CisgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgfQorCiAgICAgflZlY3RvcigpCiAgICAgewogICAgICAgICBpZiAo
bV9zaXplKQpAQCAtNzkxLDYgKzgwNSwyMCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3M+IHZvaWQgY29uc3RydWN0QW5kQXBwZW5kU2xvd0Nhc2UoQXJncyYmLi4uKTsK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdzPiBib29sIHRyeUNvbnN0cnVjdEFuZEFwcGVu
ZFNsb3dDYXNlKEFyZ3MmJi4uLik7CiAKKyAgICB0ZW1wbGF0ZTxzaXplX3QgcG9zaXRpb24sIHR5
cGVuYW1lIFUsIHR5cGVuYW1lLi4uIEl0ZW1zPgorICAgIHZvaWQgdW5jaGVja2VkSW5pdGlhbGl6
ZShVJiYgaXRlbSwgSXRlbXMmJi4uLiBpdGVtcykKKyAgICB7CisgICAgICAgIHVuY2hlY2tlZElu
aXRpYWxpemU8cG9zaXRpb24+KHN0ZDo6Zm9yd2FyZDxVPihpdGVtKSk7CisgICAgICAgIHVuY2hl
Y2tlZEluaXRpYWxpemU8cG9zaXRpb24gKyAxPihzdGQ6OmZvcndhcmQ8SXRlbXM+KGl0ZW1zKS4u
Lik7CisgICAgfQorICAgIHRlbXBsYXRlPHNpemVfdCBwb3NpdGlvbiwgdHlwZW5hbWUgVT4KKyAg
ICB2b2lkIHVuY2hlY2tlZEluaXRpYWxpemUoVSYmIHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKHBvc2l0aW9uIDwgc2l6ZSgpKTsKKyAgICAgICAgQVNTRVJUKHBvc2l0aW9uIDwgY2FwYWNp
dHkoKSk7CisgICAgICAgIG5ldyAoTm90TnVsbCwgYmVnaW4oKSArIHBvc2l0aW9uKSBUKHN0ZDo6
Zm9yd2FyZDxVPih2YWx1ZSkpOworICAgIH0KKwogICAgIHZvaWQgYXNhblNldEluaXRpYWxCdWZm
ZXJTaXplVG8oc2l6ZV90KTsKICAgICB2b2lkIGFzYW5TZXRCdWZmZXJTaXplVG9GdWxsQ2FwYWNp
dHkoc2l6ZV90KTsKICAgICB2b2lkIGFzYW5TZXRCdWZmZXJTaXplVG9GdWxsQ2FwYWNpdHkoKSB7
IGFzYW5TZXRCdWZmZXJTaXplVG9GdWxsQ2FwYWNpdHkoc2l6ZSgpKTsgfQpAQCAtMTMyNSw4ICsx
MzUzLDcgQEAgQUxXQVlTX0lOTElORSB2b2lkIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3Zl
cmZsb3dIYW5kbGVyLCBtaW5DYXBhY2l0eSwgTWFsbG8KIAogICAgIGFzYW5CdWZmZXJTaXplV2ls
bENoYW5nZVRvKG1fc2l6ZSArIDEpOwogCi0gICAgYXV0byBwdHIgPSBzdGQ6OmFkZHJlc3NvZih2
YWx1ZSk7Ci0gICAgbmV3IChOb3ROdWxsLCBlbmQoKSkgVChzdGQ6OmZvcndhcmQ8VT4oKnB0cikp
OworICAgIG5ldyAoTm90TnVsbCwgZW5kKCkpIFQoc3RkOjpmb3J3YXJkPFU+KHZhbHVlKSk7CiAg
ICAgKyttX3NpemU7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA4NzIwOGM2YmVkZTZlMDVlOTMzNjUxZmY0NDgwMDAxMjM1YzkwYzY0Li5i
MWFlM2UwMDQ4ZjBlNTkyN2NlMWJiMTkyOTI1ZWI5YTAwOTUyZWUzIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTct
MDktMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFZlY3Rv
ciBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkgY3JlYXRlIGZyb20gYSBsaXN0IG9mIG1vdmFibGUg
b25seSBpdGVtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc2NDMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3IuY3BwOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDktMTUgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBtZWNoYW5pc20gdG8gaW1tZWRpYXRlbHkgZW5k
IHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3Iu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yLmNwcAppbmRleCAyNzIw
MGRiMzFmMDJjY2QyM2E4NDkyZWIyYzg3ZjkyYjVlZjE2ODEwLi5jY2RmMGEyMDNmYWJlNzVkYzBk
ODM4MjFjY2M0YzBjZmUxYjZkMzYyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9WZWN0b3IuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1Zl
Y3Rvci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJNb3ZlT25seS5oIgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIApA
QCAtOTUsNiArOTYsNTEgQEAgVEVTVChXVEZfVmVjdG9yLCBJbml0aWFsaXplckxpc3QpCiAgICAg
RVhQRUNUX0VRKDQsIHZlY3RvclszXSk7CiB9CiAKK1RFU1QoV1RGX1ZlY3RvciwgQ29uc3RydWN0
V2l0aEZyb20pCit7CisgICAgYXV0byB2ZWN0b3IgPSBWZWN0b3I8aW50Pjo6ZnJvbSgxLCAyLCAz
LCA0LCA1KTsKKyAgICBFWFBFQ1RfRVEoNVUsIHZlY3Rvci5zaXplKCkpOworICAgIEVYUEVDVF9F
USg1VSwgdmVjdG9yLmNhcGFjaXR5KCkpOworCisgICAgRVhQRUNUX0VRKDEsIHZlY3RvclswXSk7
CisgICAgRVhQRUNUX0VRKDIsIHZlY3RvclsxXSk7CisgICAgRVhQRUNUX0VRKDMsIHZlY3Rvclsy
XSk7CisgICAgRVhQRUNUX0VRKDQsIHZlY3RvclszXSk7CisgICAgRVhQRUNUX0VRKDUsIHZlY3Rv
cls0XSk7Cit9CisKK1RFU1QoV1RGX1ZlY3RvciwgQ29uc3RydWN0V2l0aEZyb21TdHJpbmcpCit7
CisgICAgU3RyaW5nIHMxID0gInMxIjsKKyAgICBTdHJpbmcgczIgPSAiczIiOworICAgIFN0cmlu
ZyBzMyA9IHMxOworICAgIGF1dG8gdmVjdG9yID0gVmVjdG9yPFN0cmluZz46OmZyb20oczEsIHMy
LCBXVEZNb3ZlKHMzKSk7CisgICAgRVhQRUNUX0VRKDNVLCB2ZWN0b3Iuc2l6ZSgpKTsKKyAgICBF
WFBFQ1RfRVEoM1UsIHZlY3Rvci5jYXBhY2l0eSgpKTsKKworICAgIEVYUEVDVF9UUlVFKHMxID09
IHZlY3RvclswXSk7CisgICAgRVhQRUNUX1RSVUUoczIgPT0gdmVjdG9yWzFdKTsKKyAgICBFWFBF
Q1RfVFJVRShzMSA9PSB2ZWN0b3JbMl0pOworICAgIEVYUEVDVF9UUlVFKHMzLmlzTnVsbCgpKTsK
K30KKworVEVTVChXVEZfVmVjdG9yLCBDb25zdHJ1Y3RXaXRoRnJvbU1vdmVPbmx5KQoreworICAg
IGF1dG8gdmVjdG9yMSA9IFZlY3RvcjxNb3ZlT25seT46OmZyb20oTW92ZU9ubHkoMSkpOworICAg
IGF1dG8gdmVjdG9yMyA9IFZlY3RvcjxNb3ZlT25seT46OmZyb20oTW92ZU9ubHkoMSksIE1vdmVP
bmx5KDIpLCBNb3ZlT25seSgzKSk7CisKKyAgICBFWFBFQ1RfRVEoMVUsIHZlY3RvcjEuc2l6ZSgp
KTsKKyAgICBFWFBFQ1RfRVEoMVUsIHZlY3RvcjEuY2FwYWNpdHkoKSk7CisKKyAgICBFWFBFQ1Rf
RVEoM1UsIHZlY3RvcjMuc2l6ZSgpKTsKKyAgICBFWFBFQ1RfRVEoM1UsIHZlY3RvcjMuY2FwYWNp
dHkoKSk7CisKKyAgICBFWFBFQ1RfRVEoMVUsIHZlY3RvcjFbMF0udmFsdWUoKSk7CisgICAgRVhQ
RUNUX0VRKDFVLCB2ZWN0b3IzWzBdLnZhbHVlKCkpOworICAgIEVYUEVDVF9FUSgyVSwgdmVjdG9y
M1sxXS52YWx1ZSgpKTsKKyAgICBFWFBFQ1RfRVEoM1UsIHZlY3RvcjNbMl0udmFsdWUoKSk7Cit9
CisKIFRFU1QoV1RGX1ZlY3RvciwgSW5pdGlhbGl6ZUZyb21PdGhlckluaXRpYWxDYXBhY2l0eSkK
IHsKICAgICBWZWN0b3I8aW50LCAzPiB2ZWN0b3IgPSB7IDEsIDMsIDIsIDQgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323282</attachid>
            <date>2017-10-09 21:01:36 -0700</date>
            <delta_ts>2017-10-09 21:44:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-176432-20171009210135.patch</filename>
            <type>text/plain</type>
            <size>6592</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyOTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM3ZThkODdkYTRmN2M4ZmYwNTU2NDc1
MDVmOGI0ZmE3NDZmOGVmMmEuLjU4OWIwYTY4NDU2ZDFjYjY3ZGQ5OTAxZTI2YjA1NjNkMzZlMmZj
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMTAtMDkgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIFZlY3RvciBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkg
Y3JlYXRlIGZyb20gYSBsaXN0IG9mIG1vdmFibGUgb25seSBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2NDMyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkaW5nIHN0YXRpYyBmcm9tIG1ldGhvZCB0
byBjb25zdHJ1Y3QgYSBWZWN0b3IgZnJvbSBtb3ZhYmxlLW9ubHkgaXRlbXMuCisgICAgICAgIFRo
aXMgbWF5IGFsc28gYmUgdXNlZCBpbnN0ZWFkIG9mIGluaXRpYWxpemVyIGxpc3QgY29uc3RydWN0
b3IgZm9yIHR5cGVzIHRoYXQgd291bGQgYmVuZWZpdCBvZiBiZWluZyBtb3ZlZC4KKworICAgICAg
ICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAgICAgKFdURjo6VmVjdG9yOjpWZWN0b3IpOgorICAgICAg
ICAoV1RGOjpWZWN0b3I6OmZyb20pOgorICAgICAgICAoV1RGOjpWZWN0b3I6OnVuY2hlY2tlZElu
aXRpYWxpemUpOiBJbnRyb2R1Y2VkIGFzIGFuIG9wdGltaXphdGlvbiB0byBzZXQgdGhlIHZlY3Rv
ciBzaXplIG9uY2UuCisgICAgICAgIChXVEY6Ok1hbGxvYz46OnJlc2VydmVJbml0aWFsQ2FwYWNp
dHkpOgorCiAyMDE3LTEwLTA2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNaW5vciBXZWFrUHRyIGltcHJvdmVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvVmVjdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAppbmRleCA0ODc1MDUxOTFi
ZDkzZWM4MjliNmM3MzQyYzI4Y2EyODM5YTI4OGRlLi43MDM1NzFmMzIyZWQ5MTQzNTkzZDk1NGRm
ODQ0MzZiNTIyMjE1MWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaApAQCAtNjI1LDYgKzYyNSwyMCBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICB1bmNoZWNrZWRBcHBlbmQoZWxlbWVudCk7CiAgICAgfQogCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUuLi4gSXRlbXM+CisgICAgc3RhdGljIFZlY3RvciBmcm9tKEl0ZW1zJiYuLi4g
aXRlbXMpCisgICAgeworICAgICAgICBWZWN0b3IgcmVzdWx0OworICAgICAgICBhdXRvIHNpemUg
PSBzaXplb2YuLi4oaXRlbXMpOworCisgICAgICAgIHJlc3VsdC5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KHNpemUpOworICAgICAgICByZXN1bHQuYXNhblNldEluaXRpYWxCdWZmZXJTaXplVG8oc2l6
ZSk7CisgICAgICAgIHJlc3VsdC5tX3NpemUgPSBzaXplOworCisgICAgICAgIHJlc3VsdC51bmNo
ZWNrZWRJbml0aWFsaXplPDA+KHN0ZDo6Zm9yd2FyZDxJdGVtcz4oaXRlbXMpLi4uKTsKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKICAgICB+VmVjdG9yKCkKICAgICB7CiAgICAgICAg
IGlmIChtX3NpemUpCkBAIC03OTMsNiArODA3LDIwIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUuLi4gQXJncz4gdm9pZCBjb25zdHJ1Y3RBbmRBcHBlbmRTbG93Q2FzZShBcmdzJiYu
Li4pOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IGJvb2wgdHJ5Q29uc3RydWN0QW5k
QXBwZW5kU2xvd0Nhc2UoQXJncyYmLi4uKTsKIAorICAgIHRlbXBsYXRlPHNpemVfdCBwb3NpdGlv
biwgdHlwZW5hbWUgVSwgdHlwZW5hbWUuLi4gSXRlbXM+CisgICAgdm9pZCB1bmNoZWNrZWRJbml0
aWFsaXplKFUmJiBpdGVtLCBJdGVtcyYmLi4uIGl0ZW1zKQorICAgIHsKKyAgICAgICAgdW5jaGVj
a2VkSW5pdGlhbGl6ZTxwb3NpdGlvbj4oc3RkOjpmb3J3YXJkPFU+KGl0ZW0pKTsKKyAgICAgICAg
dW5jaGVja2VkSW5pdGlhbGl6ZTxwb3NpdGlvbiArIDE+KHN0ZDo6Zm9yd2FyZDxJdGVtcz4oaXRl
bXMpLi4uKTsKKyAgICB9CisgICAgdGVtcGxhdGU8c2l6ZV90IHBvc2l0aW9uLCB0eXBlbmFtZSBV
PgorICAgIHZvaWQgdW5jaGVja2VkSW5pdGlhbGl6ZShVJiYgdmFsdWUpCisgICAgeworICAgICAg
ICBBU1NFUlQocG9zaXRpb24gPCBzaXplKCkpOworICAgICAgICBBU1NFUlQocG9zaXRpb24gPCBj
YXBhY2l0eSgpKTsKKyAgICAgICAgbmV3IChOb3ROdWxsLCBiZWdpbigpICsgcG9zaXRpb24pIFQo
c3RkOjpmb3J3YXJkPFU+KHZhbHVlKSk7CisgICAgfQorCiAgICAgdm9pZCBhc2FuU2V0SW5pdGlh
bEJ1ZmZlclNpemVUbyhzaXplX3QpOwogICAgIHZvaWQgYXNhblNldEJ1ZmZlclNpemVUb0Z1bGxD
YXBhY2l0eShzaXplX3QpOwogICAgIHZvaWQgYXNhblNldEJ1ZmZlclNpemVUb0Z1bGxDYXBhY2l0
eSgpIHsgYXNhblNldEJ1ZmZlclNpemVUb0Z1bGxDYXBhY2l0eShzaXplKCkpOyB9CkBAIC0xMzI3
LDggKzEzNTUsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5
LCBPdmVyZmxvd0hhbmRsZXIsIG1pbkNhcGFjaXR5LCBNYWxsbwogCiAgICAgYXNhbkJ1ZmZlclNp
emVXaWxsQ2hhbmdlVG8obV9zaXplICsgMSk7CiAKLSAgICBhdXRvIHB0ciA9IHN0ZDo6YWRkcmVz
c29mKHZhbHVlKTsKLSAgICBuZXcgKE5vdE51bGwsIGVuZCgpKSBUKHN0ZDo6Zm9yd2FyZDxVPigq
cHRyKSk7CisgICAgbmV3IChOb3ROdWxsLCBlbmQoKSkgVChzdGQ6OmZvcndhcmQ8VT4odmFsdWUp
KTsKICAgICArK21fc2l6ZTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDBhY2JmZGU4MDMzNjg2Yjk2NmNkZTI2N2M3MTA5ZDQwMGY1MjM0
NTEuLmIyYWMzNTIwODMwNjI0MGVlZTBiMDVjMDU4NGM5MWYzOGU4MmQ2Y2YgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxNy0xMC0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
VmVjdG9yIHNob3VsZCBiZSBhYmxlIHRvIGVhc2lseSBjcmVhdGUgZnJvbSBhIGxpc3Qgb2YgbW92
YWJsZSBvbmx5IGl0ZW1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzY0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3Rvci5jcHA6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0xMC0wNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgV2Vha1B0ciBpbXByb3ZlbWVudHMKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3Rvci5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3IuY3BwCmluZGV4IGJjMzUyNWIzYWZlYjdiNGQwYTE5
MjdmMTI4OWZlOWI3ZjI0NWNiODIuLjk0YTNlYzI2NjFkNjAwZTg2YWFmOThjOWQ5ZmViOTdmYTY4
YTY1ZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1ZlY3Rvci5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yLmNwcApAQCAtOTcs
NiArOTcsNTEgQEAgVEVTVChXVEZfVmVjdG9yLCBJbml0aWFsaXplckxpc3QpCiAgICAgRVhQRUNU
X0VRKDQsIHZlY3RvclszXSk7CiB9CiAKK1RFU1QoV1RGX1ZlY3RvciwgQ29uc3RydWN0V2l0aEZy
b20pCit7CisgICAgYXV0byB2ZWN0b3IgPSBWZWN0b3I8aW50Pjo6ZnJvbSgxLCAyLCAzLCA0LCA1
KTsKKyAgICBFWFBFQ1RfRVEoNVUsIHZlY3Rvci5zaXplKCkpOworICAgIEVYUEVDVF9FUSg1VSwg
dmVjdG9yLmNhcGFjaXR5KCkpOworCisgICAgRVhQRUNUX0VRKDEsIHZlY3RvclswXSk7CisgICAg
RVhQRUNUX0VRKDIsIHZlY3RvclsxXSk7CisgICAgRVhQRUNUX0VRKDMsIHZlY3RvclsyXSk7Cisg
ICAgRVhQRUNUX0VRKDQsIHZlY3RvclszXSk7CisgICAgRVhQRUNUX0VRKDUsIHZlY3Rvcls0XSk7
Cit9CisKK1RFU1QoV1RGX1ZlY3RvciwgQ29uc3RydWN0V2l0aEZyb21TdHJpbmcpCit7CisgICAg
U3RyaW5nIHMxID0gInMxIjsKKyAgICBTdHJpbmcgczIgPSAiczIiOworICAgIFN0cmluZyBzMyA9
IHMxOworICAgIGF1dG8gdmVjdG9yID0gVmVjdG9yPFN0cmluZz46OmZyb20oczEsIHMyLCBXVEZN
b3ZlKHMzKSk7CisgICAgRVhQRUNUX0VRKDNVLCB2ZWN0b3Iuc2l6ZSgpKTsKKyAgICBFWFBFQ1Rf
RVEoM1UsIHZlY3Rvci5jYXBhY2l0eSgpKTsKKworICAgIEVYUEVDVF9UUlVFKHMxID09IHZlY3Rv
clswXSk7CisgICAgRVhQRUNUX1RSVUUoczIgPT0gdmVjdG9yWzFdKTsKKyAgICBFWFBFQ1RfVFJV
RShzMSA9PSB2ZWN0b3JbMl0pOworICAgIEVYUEVDVF9UUlVFKHMzLmlzTnVsbCgpKTsKK30KKwor
VEVTVChXVEZfVmVjdG9yLCBDb25zdHJ1Y3RXaXRoRnJvbU1vdmVPbmx5KQoreworICAgIGF1dG8g
dmVjdG9yMSA9IFZlY3RvcjxNb3ZlT25seT46OmZyb20oTW92ZU9ubHkoMSkpOworICAgIGF1dG8g
dmVjdG9yMyA9IFZlY3RvcjxNb3ZlT25seT46OmZyb20oTW92ZU9ubHkoMSksIE1vdmVPbmx5KDIp
LCBNb3ZlT25seSgzKSk7CisKKyAgICBFWFBFQ1RfRVEoMVUsIHZlY3RvcjEuc2l6ZSgpKTsKKyAg
ICBFWFBFQ1RfRVEoMVUsIHZlY3RvcjEuY2FwYWNpdHkoKSk7CisKKyAgICBFWFBFQ1RfRVEoM1Us
IHZlY3RvcjMuc2l6ZSgpKTsKKyAgICBFWFBFQ1RfRVEoM1UsIHZlY3RvcjMuY2FwYWNpdHkoKSk7
CisKKyAgICBFWFBFQ1RfRVEoMVUsIHZlY3RvcjFbMF0udmFsdWUoKSk7CisgICAgRVhQRUNUX0VR
KDFVLCB2ZWN0b3IzWzBdLnZhbHVlKCkpOworICAgIEVYUEVDVF9FUSgyVSwgdmVjdG9yM1sxXS52
YWx1ZSgpKTsKKyAgICBFWFBFQ1RfRVEoM1UsIHZlY3RvcjNbMl0udmFsdWUoKSk7Cit9CisKIFRF
U1QoV1RGX1ZlY3RvciwgSW5pdGlhbGl6ZUZyb21PdGhlckluaXRpYWxDYXBhY2l0eSkKIHsKICAg
ICBWZWN0b3I8aW50LCAzPiB2ZWN0b3IgPSB7IDEsIDMsIDIsIDQgfTsKQEAgLTM0OCwxNiArMzkz
LDE2IEBAIFRFU1QoV1RGX1ZlY3RvciwgVmVjdG9yT2ZWZWN0b3JzT2ZWZWN0b3JzSW5saW5lQ2Fw
YWNpdHlTd2FwKQogCiAgICAgRVhQRUNUX0VRKDFVLCB4LnNpemUoKSk7CiAgICAgRVhQRUNUX0VR
KDQyLCB4WzBdKTsKLSAgICAKKwogICAgIFZlY3RvcjxWZWN0b3I8aW50LCAxPiwgMT4geTsKICAg
ICB5LmFwcGVuZCh4KTsKLSAgICAKKwogICAgIEVYUEVDVF9FUSgxVSwgeC5zaXplKCkpOwogICAg
IEVYUEVDVF9FUSg0MiwgeFswXSk7CiAgICAgRVhQRUNUX0VRKDFVLCB5LnNpemUoKSk7CiAgICAg
RVhQRUNUX0VRKDFVLCB5WzBdLnNpemUoKSk7CiAgICAgRVhQRUNUX0VRKDQyLCB5WzBdWzBdKTsK
LSAgICAKKwogICAgIGEuYXBwZW5kKHkpOwogCiAgICAgRVhQRUNUX0VRKDFVLCB4LnNpemUoKSk7
CkBAIC0zNjksNyArNDE0LDcgQEAgVEVTVChXVEZfVmVjdG9yLCBWZWN0b3JPZlZlY3RvcnNPZlZl
Y3RvcnNJbmxpbmVDYXBhY2l0eVN3YXApCiAgICAgRVhQRUNUX0VRKDFVLCBhWzBdLnNpemUoKSk7
CiAgICAgRVhQRUNUX0VRKDFVLCBhWzBdWzBdLnNpemUoKSk7CiAgICAgRVhQRUNUX0VRKDQyLCBh
WzBdWzBdWzBdKTsKLSAgICAKKwogICAgIGEuc3dhcChiKTsKIAogICAgIEVYUEVDVF9FUSgwVSwg
YS5zaXplKCkpOwpAQCAtMzgyLDcgKzQyNyw3IEBAIFRFU1QoV1RGX1ZlY3RvciwgVmVjdG9yT2ZW
ZWN0b3JzT2ZWZWN0b3JzSW5saW5lQ2FwYWNpdHlTd2FwKQogICAgIEVYUEVDVF9FUSgxVSwgYlsw
XS5zaXplKCkpOwogICAgIEVYUEVDVF9FUSgxVSwgYlswXVswXS5zaXplKCkpOwogICAgIEVYUEVD
VF9FUSg0MiwgYlswXVswXVswXSk7Ci0gICAgCisKICAgICBiLnN3YXAoYyk7CiAKICAgICBFWFBF
Q1RfRVEoMFUsIGEuc2l6ZSgpKTsKQEAgLTM5Niw3ICs0NDEsNyBAQCBURVNUKFdURl9WZWN0b3Is
IFZlY3Rvck9mVmVjdG9yc09mVmVjdG9yc0lubGluZUNhcGFjaXR5U3dhcCkKICAgICBFWFBFQ1Rf
RVEoMVUsIGNbMF0uc2l6ZSgpKTsKICAgICBFWFBFQ1RfRVEoMVUsIGNbMF1bMF0uc2l6ZSgpKTsK
ICAgICBFWFBFQ1RfRVEoNDIsIGNbMF1bMF1bMF0pOwotICAgIAorCiAgICAgeVswXVswXSA9IDI0
OwogCiAgICAgRVhQRUNUX0VRKDFVLCB4LnNpemUoKSk7CkBAIC00MDQsNyArNDQ5LDcgQEAgVEVT
VChXVEZfVmVjdG9yLCBWZWN0b3JPZlZlY3RvcnNPZlZlY3RvcnNJbmxpbmVDYXBhY2l0eVN3YXAp
CiAgICAgRVhQRUNUX0VRKDFVLCB5LnNpemUoKSk7CiAgICAgRVhQRUNUX0VRKDFVLCB5WzBdLnNp
emUoKSk7CiAgICAgRVhQRUNUX0VRKDI0LCB5WzBdWzBdKTsKLSAgICAKKwogICAgIGEuYXBwZW5k
KHkpOwogCiAgICAgRVhQRUNUX0VRKDFVLCB4LnNpemUoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>