<?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>168425</bug_id>
          
          <creation_ts>2017-02-16 05:58:15 -0800</creation_ts>
          <short_desc>REGRESSION(r205841): [GTK] Test fast/images/animated-png.html is failing since r205841</short_desc>
          <delta_ts>2017-04-10 00:39:24 -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>WebKitGTK</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=170499</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Miguel Gomez">magomez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>magomez</cc>
    
    <cc>maxstepin</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>sabouhallawa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1277633</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-02-16 05:58:15 -0800</bug_when>
    <thetext>The colors of the PNGs are not correct. It started to fail in r205841</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1291463</commentid>
    <comment_count>1</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-03-27 08:06:05 -0700</bug_when>
    <thetext>The test is running several animations and comparing the final frame of each animation to a reference one. This is failing because the png animations are not running at all, and what it&apos;s comparing is the first frame of the animation instead of the last one.

I&apos;ve debugged this and what happens is that BitmapImage::shouldAnimate() is false because PNGImageDecoder::repetitionCount() is returning 0, which means that it&apos;s not an animation.
The curious thing is that PNGImageDecoder reads 1 as the repetition value from the file, but it returns that value minus 1, making it 0. It has been that way since that code was added but I don&apos;t know why. Just removing that minus 1 and returning the gotten repetition value makes the animations work again.

This fixes the result in 9 of the 10 images used in the test. The failing one has some small differences in some pixels, probably due to small variations in the decoding result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1291470</commentid>
    <comment_count>2</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-03-27 08:29:40 -0700</bug_when>
    <thetext>&gt; I&apos;ve debugged this and what happens is that BitmapImage::shouldAnimate() is
&gt; false because PNGImageDecoder::repetitionCount() is returning 0, which means
&gt; that it&apos;s not an animation.
&gt; The curious thing is that PNGImageDecoder reads 1 as the repetition value
&gt; from the file, but it returns that value minus 1, making it 0. It has been
&gt; that way since that code was added but I don&apos;t know why. Just removing that
&gt; minus 1 and returning the gotten repetition value makes the animations work
&gt; again.

Ah, in the APNG format, 0 for the repetition count means repeat indefinitely, but in the webkit code we use -1 for that. That&apos;s probably the explanation for the minus 1... but that&apos;s not valid as the code is now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292353</commentid>
    <comment_count>3</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-03-29 03:40:54 -0700</bug_when>
    <thetext>Once I found the fix for the animation not running, I&apos;ve been debugging why one of the images of the test fails. The problem seems to be how alpha premultiplied components are calculated.

Before r205841, premultiplied alpha components were calculated in PNGImageDecoder::setPixelPremultipliedRGBA as

fastDivideBy255(colorComponent * alpha);

But after r205841 this was moved to Color::premultipliedChannel, where it&apos;s calculated as

fastDivideBy255(colorComponent * alpha + 254);

which is not producing the same result as before the changes. This seems to be causing problems with animations that blend frames into the previous ones.

I&apos;m not sure why 254 is added for the calculation. I&apos;ve always seen it as just colorComponent * alpha, so I may be missing something here. Said, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292526</commentid>
    <comment_count>4</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2017-03-29 12:37:54 -0700</bug_when>
    <thetext>Yes, you are right regarding the PNGImageDecoder::repetitionCount(). This function should return RepetitionCountInfinite if the loopCunt is zero. Otherwise it should return the loopCount.

Regarding calculating the premultiplied components, if you look at https://bugs.webkit.org/attachment.cgi?id=288626&amp;action=review you can see the old implementation of the following functions are using different methods for dividing by 255 and they handle the decimal part of the division differently.

premultipliedARGBFromColor()
ImageDecoder::setRGBA()
ImageDecoder::overRGBA()

premultipliedARGBFromColor() was getting the ceiling of the division and this is why there was 254 in the calculations. But ImageDecoder::setRGBA() and ImageDecoder::overRGBA() were just getting the floor of the division.

static_cast&lt;int&gt;((x + 254) / 255.0) will give the ceiling but static_cast&lt;int&gt;(x / 255.0) will get you the floor.

I was just trying to unify the code and remove the duplicates. But it is up to you, you can either change the expected results to match the new calculation. Or you can add an argument to premultipliedChannel(..., bool ceiling = true) and pass it all the way from ImageDecoder to this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1293118</commentid>
    <comment_count>5</comment_count>
      <attachid>305954</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-03-31 01:25:01 -0700</bug_when>
    <thetext>Created attachment 305954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294446</commentid>
    <comment_count>6</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-05 02:15:36 -0700</bug_when>
    <thetext>I&apos;m splitting this into 2 bugs. This one will handle the problem with the premultiply change and 170499 will handle the repetition count issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294858</commentid>
    <comment_count>7</comment_count>
      <attachid>306377</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-06 06:01:26 -0700</bug_when>
    <thetext>Created attachment 306377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294903</commentid>
    <comment_count>8</comment_count>
      <attachid>306377</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2017-04-06 09:22:17 -0700</bug_when>
    <thetext>Comment on attachment 306377
Patch

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

&gt; Source/WebCore/platform/graphics/Color.cpp:57
&gt; +    if (ceiling)
&gt; +        return fastDivideBy255(c * a + 254);
&gt; +
&gt; +    return fastDivideBy255(c * a);

Nit: This can still be written in one line:

return fastDivideBy255(ceiling ? c * a + 254 : c * a);

&gt; Source/WebCore/platform/graphics/ImageBackingStore.h:131
&gt; -    void setPixel(RGBA32* dest, unsigned r, unsigned g, unsigned b, unsigned a)
&gt; +    void setPixel(RGBA32* dest, unsigned r, unsigned g, unsigned b, unsigned a, bool ceilingIfPremultiplied = true)

Since the ImageBackingStore is used only the non-CG image decoder, I think we can make all the callers of makePremultipliedRGBA() in this file pass false for the ceiling argument. An there is no need to add the argument ceilingIfPremultiplied for any function in this file.

&gt; Source/WebCore/platform/image-decoders/png/PNGImageDecoder.cpp:527
&gt; -            buffer.backingStore()-&gt;setPixel(address, pixel[0], pixel[1], pixel[2], alpha);
&gt; +            buffer.backingStore()-&gt;setPixel(address, pixel[0], pixel[1], pixel[2], alpha, false);

If ceiling will be false always for the non-CG decoders, then there is no need for all the changes in this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295300</commentid>
    <comment_count>9</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-07 06:25:26 -0700</bug_when>
    <thetext>&gt; Since the ImageBackingStore is used only the non-CG image decoder, I think
&gt; we can make all the callers of makePremultipliedRGBA() in this file pass
&gt; false for the ceiling argument. An there is no need to add the argument
&gt; ceilingIfPremultiplied for any function in this file.

Ah, that&apos;s good to know. Indeed it makes the patch simpler. I&apos;ll fix it and resubmit. Thanks!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295313</commentid>
    <comment_count>10</comment_count>
      <attachid>306498</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-04-07 07:12:45 -0700</bug_when>
    <thetext>Created attachment 306498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295916</commentid>
    <comment_count>11</comment_count>
      <attachid>306498</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-10 00:39:22 -0700</bug_when>
    <thetext>Comment on attachment 306498
Patch

Clearing flags on attachment: 306498

Committed r215172: &lt;http://trac.webkit.org/changeset/215172&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295917</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-10 00:39:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305954</attachid>
            <date>2017-03-31 01:25:01 -0700</date>
            <delta_ts>2017-04-06 06:01:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168425-20170331102500.patch</filename>
            <type>text/plain</type>
            <size>13340</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0NjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDcxMTcwZjA1MGE1YTA5
Y2QzOTUzMGU2NGZmZWNiMTFjNDdkYWNkYi4uODg3ZDNmZmYxYjE5NTRlNmNlOWViYmE5NjI5ODM3
M2JkZWI4M2FmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE3LTAzLTMwICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjA1
ODQxKTogW0dUS10gVGVzdCBmYXN0L2ltYWdlcy9hbmltYXRlZC1wbmcuaHRtbCBpcyBmYWlsaW5n
IHNpbmNlIHIyMDU4NDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2ODQyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoZXJlIHdlcmUgdHdvIGlzc3VlcyBicmVha2luZyBhbmltYXRlZCBQTkdzOiBhbmlt
YXRpb25zIHRoYXQgc2hvdWxkIGJlIHBsYXllZCBvbmNlIHdlcmVuJ3QgcGxheWVkIGF0CisgICAg
ICAgIGFsbCwgYW5kIHRoZSBibGVuZGluZyBvZiBzb21lIGZyYW1lcyB3YXNuJ3QgcHJvZHVjaW5n
IHRoZSBleHBlY3RlZCByZXN1bHQuCisKKyAgICAgICAgVGhlIGZpcnN0IHByb2JsZW0gd2FzIHJl
bGF0ZWQgdG8gdGhlIHJlcGV0aXRpb24gY291bnQuIFRoZSBkZWNvZGVyIHNob3VsZCByZXR1cm4g
LTEgdG8gcGxheSBpbmRlZmluaXRlbHkKKyAgICAgICAgb3IgYSBudW1iZXIgb2YgcmVwZXRpdGlv
bnMgdG8gcGVyZm9ybSwgYnV0IGl0IHdhcyBqdXN0IHJlcG9ydGluZyB0aGUgdmFsdWUgcmVhZCBm
cm9tIHRoZSBmaWxlIG1pbnVzIG9uZS4gVGhpcworICAgICAgICBjYXVzZWQgdGhhdCB0aGUgYW5p
bWF0aW9ucyB0aGF0IGhhZCB0byBiZSBwbGF5ZWQgb25jZSB3b3VsZG4ndCBiZSBwbGF5ZWQgYXQg
YWxsLiBUaGUgcGF0Y2ggY2hhbmdlcyB0aGlzIHRvCisgICAgICAgIHJldHVybiB0aGUgYXBwcm9w
cmlhdGUgdmFsdWUuCisKKyAgICAgICAgVGhlIHNlY29uZCBvbmUgd2FzIGEgcHJvYmxlbSB3aXRo
IGFuaW1hdGlvbnMgdGhhdCB3ZXJlIGJsZW5kaW5nIHRoZWlyIGZyYW1lcyBpbnRvIHRoZSBwcmV2
aW91cyBmcmFtZS4KKyAgICAgICAgRHVlIHRvIGEgY2hhbmdlIGluIGhvdyBwaXhlbCBjb21wb25l
bnRzIGFyZSBwcmVtdWx0aXBsaWVkICh0aGUgcmVzdWx0IGlzIG5vdyByb3VuZGVkIHVwKSwgdGhl
IHBhcmFtZXRlcnMKKyAgICAgICAgdG8gdGhlIGJsZW5kaW5nIG9wZXJhdGlvbiBtYXkgdmFyeSBp
biBvbmUgdW5pdCwgY2F1c2luZyB0aGUgcmVzdWx0IG9mIHRoZSBibGVuZGluZyB0byBiZSBkaWZm
ZXJlbnQgZnJvbQorICAgICAgICB0aGUgZXhwZWN0ZWQgcmVzdWx0LiBJbiBvcmRlciB0byBmaXgg
dGhpcywgYSBuZXcgcGFyYW1ldGVyIGhhcyBiZWVuIGFkZGVkIHRvIGluZGljYXRlIHdoZXRoZXIg
d2Ugd2FudCB0bworICAgICAgICB1c2Ugcm91bmRpbmcgdXAgd2hlbiBwcmVtdWx0aXBseWluZyBv
ciBub3QsIGFuZCBQTkdJbWFnZURlY29kZXIgdXNlcyB0aGF0IHBhcmFtZXRlciB0byBkaXNhYmxl
IHJvdW5kaW5nIHVwLgorCisgICAgICAgIEFkanVzdGVkIHRoZSBleHBlY3RhdGlvbiBmb3IgZmFz
dC9pbWFnZXMvYW5pbWF0ZWQtcG5nLmh0bWwsIGFzIGl0IG11c3QgcGFzcyBub3cuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHA6IEFkZCBhIHBhcmFtZXRlciB0byBpbmRp
Y2F0ZSB3aGV0aGVyIHdlIHdhbnQgcm91bmRpbmcgdXAgd2hlbiBwcmVtdWx0aXBseWluZy4KKyAg
ICAgICAgKFdlYkNvcmU6OnByZW11bHRpcGxpZWRDaGFubmVsKToKKyAgICAgICAgKFdlYkNvcmU6
Om1ha2VQcmVtdWx0aXBsaWVkUkdCQSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3IuaDogQWRkIGEgcGFyYW1ldGVyIHRvIGluZGljYXRlIHdoZXRoZXIgd2Ugd2FudCByb3VuZGlu
ZyB1cCB3aGVuIHByZW11bHRpcGx5aW5nLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlQmFja2luZ1N0b3JlLmg6IEFkZCBhIHBhcmFtZXRlciB0byBpbmRpY2F0ZSB3aGV0aGVyIHdl
IHdhbnQgcm91bmRpbmcgdXAgd2hlbiBwcmVtdWx0aXBseWluZy4KKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlQmFja2luZ1N0b3JlOjpzZXRQaXhlbCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJh
Y2tpbmdTdG9yZTo6YmxlbmRQaXhlbCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdT
dG9yZTo6cGl4ZWxWYWx1ZSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5n
L1BOR0ltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQTkdJbWFnZURlY29kZXI6
OnJlcGV0aXRpb25Db3VudCk6IFJldHVybiB0aGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIG9yIC0x
IHRvIHBsYXkgaW5kZWZpbml0ZWx5LgorICAgICAgICAoV2ViQ29yZTo6UE5HSW1hZ2VEZWNvZGVy
Ojpyb3dBdmFpbGFibGUpOiBEb24ndCB1c2Ugcm91bmRpbmcgdXAgd2hlbiBwcmVtdWx0aXBseWlu
Zy4KKyAgICAgICAgKFdlYkNvcmU6OlBOR0ltYWdlRGVjb2Rlcjo6ZnJhbWVDb21wbGV0ZSk6IERv
bid0IHVzZSByb3VuZGluZyB1cCB3aGVuIHByZW11bHRpcGx5aW5nLgorICAgICAgICAqIHBsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuaDoKKwogMjAxNy0wMy0zMCAg
WmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBHVEsrIGJ1aWxkIGZpeC4gQWRkIG1pc3NpbmcgQU5HTEUgYnVpbGQgdGFyZ2V0cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCmluZGV4IDRjODcwNWUwYTAzYjU2
N2Q5N2I2NzNhNjFkNmZmZjE2NGYyYTg0NjIuLjVlY2RlMWIzZmY1YjYwMDBjNzQwZDI3ZjRhZTFh
ZDEzYjE3MmViMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5j
cHAKQEAgLTQ5LDkgKzQ5LDEyIEBAIGNvbnN0IFJHQkEzMiBDb2xvcjo6dHJhbnNwYXJlbnQ7CiBz
dGF0aWMgY29uc3QgUkdCQTMyIGxpZ2h0ZW5lZEJsYWNrID0gMHhGRjU0NTQ1NDsKIHN0YXRpYyBj
b25zdCBSR0JBMzIgZGFya2VuZWRXaGl0ZSA9IDB4RkZBQkFCQUI7CiAKLXN0YXRpYyBpbmxpbmUg
dW5zaWduZWQgcHJlbXVsdGlwbGllZENoYW5uZWwodW5zaWduZWQgYywgdW5zaWduZWQgYSkKK3N0
YXRpYyBpbmxpbmUgdW5zaWduZWQgcHJlbXVsdGlwbGllZENoYW5uZWwodW5zaWduZWQgYywgdW5z
aWduZWQgYSwgYm9vbCBjZWlsaW5nID0gdHJ1ZSkKIHsKLSAgICByZXR1cm4gZmFzdERpdmlkZUJ5
MjU1KGMgKiBhICsgMjU0KTsKKyAgICBpZiAoY2VpbGluZykKKyAgICAgICAgcmV0dXJuIGZhc3RE
aXZpZGVCeTI1NShjICogYSArIDI1NCk7CisKKyAgICByZXR1cm4gZmFzdERpdmlkZUJ5MjU1KGMg
KiBhKTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCB1bnByZW11bHRpcGxpZWRDaGFubmVs
KHVuc2lnbmVkIGMsIHVuc2lnbmVkIGEpCkBAIC02OSw5ICs3Miw5IEBAIFJHQkEzMiBtYWtlUkdC
QShpbnQgciwgaW50IGcsIGludCBiLCBpbnQgYSkKICAgICByZXR1cm4gc3RkOjptYXgoMCwgc3Rk
OjptaW4oYSwgMjU1KSkgPDwgMjQgfCBzdGQ6Om1heCgwLCBzdGQ6Om1pbihyLCAyNTUpKSA8PCAx
NiB8IHN0ZDo6bWF4KDAsIHN0ZDo6bWluKGcsIDI1NSkpIDw8IDggfCBzdGQ6Om1heCgwLCBzdGQ6
Om1pbihiLCAyNTUpKTsKIH0KIAotUkdCQTMyIG1ha2VQcmVtdWx0aXBsaWVkUkdCQShpbnQgciwg
aW50IGcsIGludCBiLCBpbnQgYSkKK1JHQkEzMiBtYWtlUHJlbXVsdGlwbGllZFJHQkEoaW50IHIs
IGludCBnLCBpbnQgYiwgaW50IGEsIGJvb2wgY2VpbGluZykKIHsKLSAgICByZXR1cm4gbWFrZVJH
QkEocHJlbXVsdGlwbGllZENoYW5uZWwociwgYSksIHByZW11bHRpcGxpZWRDaGFubmVsKGcsIGEp
LCBwcmVtdWx0aXBsaWVkQ2hhbm5lbChiLCBhKSwgYSk7CisgICAgcmV0dXJuIG1ha2VSR0JBKHBy
ZW11bHRpcGxpZWRDaGFubmVsKHIsIGEsIGNlaWxpbmcpLCBwcmVtdWx0aXBsaWVkQ2hhbm5lbChn
LCBhLCBjZWlsaW5nKSwgcHJlbXVsdGlwbGllZENoYW5uZWwoYiwgYSwgY2VpbGluZyksIGEpOwog
fQogCiBSR0JBMzIgbWFrZVVuUHJlbXVsdGlwbGllZFJHQkEoaW50IHIsIGludCBnLCBpbnQgYiwg
aW50IGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xv
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCAyOTY4
Nzk2MWVkMWU0YTc2MmMwMzFjMTU3NjFlYWRhYjdmZmRjNjRiLi44M2IyYTM5NDU1YzliOTE1OWE5
M2JkMWEyYjA4OTk1ZDZiMmE5MzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Db2xvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yLmgKQEAgLTY1LDcgKzY1LDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBSR0JBMzI7IC8vIERl
cHJlY2F0ZWQ6IFR5cGUgZm9yIGFuIFJHQkEgcXVhZHJ1cGxldC4gVXNlIFJHQkEgY2wKIFdFQkNP
UkVfRVhQT1JUIFJHQkEzMiBtYWtlUkdCKGludCByLCBpbnQgZywgaW50IGIpOwogV0VCQ09SRV9F
WFBPUlQgUkdCQTMyIG1ha2VSR0JBKGludCByLCBpbnQgZywgaW50IGIsIGludCBhKTsKIAotUkdC
QTMyIG1ha2VQcmVtdWx0aXBsaWVkUkdCQShpbnQgciwgaW50IGcsIGludCBiLCBpbnQgYSk7CitS
R0JBMzIgbWFrZVByZW11bHRpcGxpZWRSR0JBKGludCByLCBpbnQgZywgaW50IGIsIGludCBhLCBi
b29sIGNlaWxpbmcgPSB0cnVlKTsKIFJHQkEzMiBtYWtlVW5QcmVtdWx0aXBsaWVkUkdCQShpbnQg
ciwgaW50IGcsIGludCBiLCBpbnQgYSk7CiAKIFdFQkNPUkVfRVhQT1JUIFJHQkEzMiBjb2xvcldp
dGhPdmVycmlkZUFscGhhKFJHQkEzMiBjb2xvciwgZmxvYXQgb3ZlcnJpZGVBbHBoYSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJhY2tpbmdTdG9y
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCYWNraW5nU3RvcmUu
aAppbmRleCA5OWY2ODQ3YjZjNDdhYTBhYWI5M2FkNTM5ZDZiMDJmYTYzYjdjMzg5Li43MTI1YTc5
MmY3MTg1MzU1ZDIzYWMwNjQxOWQ5NGM0MGFkODVhMzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3JlLmgKQEAgLTEyOCwzMCAr
MTI4LDMwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fcGl4ZWxzUHRyICsgeSAqIG1fc2l6
ZS53aWR0aCgpICsgeDsKICAgICB9CiAKLSAgICB2b2lkIHNldFBpeGVsKFJHQkEzMiogZGVzdCwg
dW5zaWduZWQgciwgdW5zaWduZWQgZywgdW5zaWduZWQgYiwgdW5zaWduZWQgYSkKKyAgICB2b2lk
IHNldFBpeGVsKFJHQkEzMiogZGVzdCwgdW5zaWduZWQgciwgdW5zaWduZWQgZywgdW5zaWduZWQg
YiwgdW5zaWduZWQgYSwgYm9vbCBjZWlsaW5nSWZQcmVtdWx0aXBsaWVkID0gdHJ1ZSkKICAgICB7
CiAgICAgICAgIEFTU0VSVChkZXN0KTsKLSAgICAgICAgKmRlc3QgPSBwaXhlbFZhbHVlKHIsIGcs
IGIsIGEpOworICAgICAgICAqZGVzdCA9IHBpeGVsVmFsdWUociwgZywgYiwgYSwgY2VpbGluZ0lm
UHJlbXVsdGlwbGllZCk7CiAgICAgfQogCi0gICAgdm9pZCBzZXRQaXhlbChpbnQgeCwgaW50IHks
IHVuc2lnbmVkIHIsIHVuc2lnbmVkIGcsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGEpCisgICAgdm9p
ZCBzZXRQaXhlbChpbnQgeCwgaW50IHksIHVuc2lnbmVkIHIsIHVuc2lnbmVkIGcsIHVuc2lnbmVk
IGIsIHVuc2lnbmVkIGEsIGJvb2wgY2VpbGluZ0lmUHJlbXVsdGlwbGllZCA9IHRydWUpCiAgICAg
ewotICAgICAgICBzZXRQaXhlbChwaXhlbEF0KHgsIHkpLCByLCBnLCBiLCBhKTsKKyAgICAgICAg
c2V0UGl4ZWwocGl4ZWxBdCh4LCB5KSwgciwgZywgYiwgYSwgY2VpbGluZ0lmUHJlbXVsdGlwbGll
ZCk7CiAgICAgfQogCiAjaWYgRU5BQkxFKEFQTkcpCi0gICAgdm9pZCBibGVuZFBpeGVsKFJHQkEz
MiogZGVzdCwgdW5zaWduZWQgciwgdW5zaWduZWQgZywgdW5zaWduZWQgYiwgdW5zaWduZWQgYSkK
KyAgICB2b2lkIGJsZW5kUGl4ZWwoUkdCQTMyKiBkZXN0LCB1bnNpZ25lZCByLCB1bnNpZ25lZCBn
LCB1bnNpZ25lZCBiLCB1bnNpZ25lZCBhLCBib29sIGNlaWxpbmdJZlByZW11bHRpcGxpZWQgPSB0
cnVlKQogICAgIHsKICAgICAgICAgaWYgKCFhKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAg
ICAgIGlmIChhID49IDI1NSB8fCAhYWxwaGFDaGFubmVsKCpkZXN0KSkgewotICAgICAgICAgICAg
c2V0UGl4ZWwoZGVzdCwgciwgZywgYiwgYSk7CisgICAgICAgICAgICBzZXRQaXhlbChkZXN0LCBy
LCBnLCBiLCBhLCBjZWlsaW5nSWZQcmVtdWx0aXBsaWVkKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQogCiAgICAgICAgIGlmICghbV9wcmVtdWx0aXBseUFscGhhKQotICAgICAgICAg
ICAgKmRlc3QgPSBtYWtlUHJlbXVsdGlwbGllZFJHQkEocmVkQ2hhbm5lbCgqZGVzdCksIGdyZWVu
Q2hhbm5lbCgqZGVzdCksIGJsdWVDaGFubmVsKCpkZXN0KSwgYWxwaGFDaGFubmVsKCpkZXN0KSk7
CisgICAgICAgICAgICAqZGVzdCA9IG1ha2VQcmVtdWx0aXBsaWVkUkdCQShyZWRDaGFubmVsKCpk
ZXN0KSwgZ3JlZW5DaGFubmVsKCpkZXN0KSwgYmx1ZUNoYW5uZWwoKmRlc3QpLCBhbHBoYUNoYW5u
ZWwoKmRlc3QpLCBjZWlsaW5nSWZQcmVtdWx0aXBsaWVkKTsKIAogICAgICAgICB1bnNpZ25lZCBk
ID0gMjU1IC0gYTsKIApAQCAtMjAxLDEzICsyMDEsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0
dXJuIEludFJlY3QoSW50UG9pbnQoKSwgbV9zaXplKS5jb250YWlucyhyZWN0KTsKICAgICB9CiAK
LSAgICBSR0JBMzIgcGl4ZWxWYWx1ZSh1bnNpZ25lZCByLCB1bnNpZ25lZCBnLCB1bnNpZ25lZCBi
LCB1bnNpZ25lZCBhKSBjb25zdAorICAgIFJHQkEzMiBwaXhlbFZhbHVlKHVuc2lnbmVkIHIsIHVu
c2lnbmVkIGcsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGEsIGJvb2wgY2VpbGluZ0lmUHJlbXVsdGlw
bGllZCA9IHRydWUpIGNvbnN0CiAgICAgewogICAgICAgICBpZiAobV9wcmVtdWx0aXBseUFscGhh
ICYmICFhKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAgICAgaWYgKG1fcHJlbXVsdGlw
bHlBbHBoYSAmJiBhIDwgMjU1KQotICAgICAgICAgICAgcmV0dXJuIG1ha2VQcmVtdWx0aXBsaWVk
UkdCQShyLCBnLCBiLCBhKTsKKyAgICAgICAgICAgIHJldHVybiBtYWtlUHJlbXVsdGlwbGllZFJH
QkEociwgZywgYiwgYSwgY2VpbGluZ0lmUHJlbXVsdGlwbGllZCk7CiAKICAgICAgICAgcmV0dXJu
IG1ha2VSR0JBKHIsIGcsIGIsIGEpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAK
aW5kZXggMWM1M2IyZDViODYyNTYxN2Y1N2UxYzE0YWJlMTIyNjJhZWQzZjQ2YS4uY2IyZTgyZTEx
YThiZDk4YjMzOTk3Y2RhMmUxMjg3YmE5Nzg5NzNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rl
ci5jcHAKQEAgLTIyNyw2ICsyMjcsMTUgQEAgUE5HSW1hZ2VEZWNvZGVyOjp+UE5HSW1hZ2VEZWNv
ZGVyKCkKIHsKIH0KIAorI2lmIEVOQUJMRShBUE5HKQorUmVwZXRpdGlvbkNvdW50IFBOR0ltYWdl
RGVjb2Rlcjo6cmVwZXRpdGlvbkNvdW50KCkgY29uc3QKK3sKKyAgICAvLyBBUE5HIGZvcm1hdCB1
c2VzIDAgdG8gaW5kaWNhdGUgdGhhdCBhbiBhbmltYXRpb24gbXVzdCBwbGF5IGluZGVmaW5pdGVs
eS4gQnV0CisgICAgLy8gdGhlIFJlcGV0aXRpb25Db3VudCBlbnVtZXJhdGlvbiB1c2VzIC0xLCBz
byB3ZSBuZWVkIHRvIGFkYXB0IHRoaXMuCisgICAgcmV0dXJuIG1fcGxheUNvdW50ID8gbV9wbGF5
Q291bnQgOiAtMTsKK30KKyNlbmRpZgorCiBib29sIFBOR0ltYWdlRGVjb2Rlcjo6aXNTaXplQXZh
aWxhYmxlKCkKIHsKICAgICBpZiAoIUltYWdlRGVjb2Rlcjo6aXNTaXplQXZhaWxhYmxlKCkpCkBA
IC01MTIsNyArNTIxLDcgQEAgdm9pZCBQTkdJbWFnZURlY29kZXI6OnJvd0F2YWlsYWJsZSh1bnNp
Z25lZCBjaGFyKiByb3dCdWZmZXIsIHVuc2lnbmVkIHJvd0luZGV4LAogICAgICAgICBmb3IgKGlu
dCB4ID0gMDsgeCA8IHdpZHRoOyArK3gsICsrYWRkcmVzcykgewogICAgICAgICAgICAgcG5nX2J5
dGVwIHBpeGVsID0gcm93ICsgbV9zY2FsZWRDb2x1bW5zW3hdICogY29sb3JDaGFubmVsczsKICAg
ICAgICAgICAgIHVuc2lnbmVkIGFscGhhID0gaGFzQWxwaGEgPyBwaXhlbFszXSA6IDI1NTsKLSAg
ICAgICAgICAgIGJ1ZmZlci5iYWNraW5nU3RvcmUoKS0+c2V0UGl4ZWwoYWRkcmVzcywgcGl4ZWxb
MF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEpOworICAgICAgICAgICAgYnVmZmVyLmJhY2tp
bmdTdG9yZSgpLT5zZXRQaXhlbChhZGRyZXNzLCBwaXhlbFswXSwgcGl4ZWxbMV0sIHBpeGVsWzJd
LCBhbHBoYSwgZmFsc2UpOwogICAgICAgICAgICAgbm9uVHJpdmlhbEFscGhhTWFzayB8PSAoMjU1
IC0gYWxwaGEpOwogICAgICAgICB9CiAgICAgfSBlbHNlCkBAIC01MjIsNyArNTMxLDcgQEAgdm9p
ZCBQTkdJbWFnZURlY29kZXI6OnJvd0F2YWlsYWJsZSh1bnNpZ25lZCBjaGFyKiByb3dCdWZmZXIs
IHVuc2lnbmVkIHJvd0luZGV4LAogICAgICAgICBpZiAoaGFzQWxwaGEpIHsKICAgICAgICAgICAg
IGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7ICsreCwgcGl4ZWwgKz0gNCwgKythZGRyZXNzKSB7
CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgYWxwaGEgPSBwaXhlbFszXTsKLSAgICAgICAgICAg
ICAgICBidWZmZXIuYmFja2luZ1N0b3JlKCktPnNldFBpeGVsKGFkZHJlc3MsIHBpeGVsWzBdLCBw
aXhlbFsxXSwgcGl4ZWxbMl0sIGFscGhhKTsKKyAgICAgICAgICAgICAgICBidWZmZXIuYmFja2lu
Z1N0b3JlKCktPnNldFBpeGVsKGFkZHJlc3MsIHBpeGVsWzBdLCBwaXhlbFsxXSwgcGl4ZWxbMl0s
IGFscGhhLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgbm9uVHJpdmlhbEFscGhhTWFzayB8PSAo
MjU1IC0gYWxwaGEpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewpAQCAtODM0LDkg
Kzg0Myw5IEBAIHZvaWQgUE5HSW1hZ2VEZWNvZGVyOjpmcmFtZUNvbXBsZXRlKCkKICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBhbHBoYSA9IGhhc0FscGhhID8gcGl4ZWxbM10gOiAyNTU7CiAgICAg
ICAgICAgICAgICAgbm9uVHJpdmlhbEFscGhhIHw9IGFscGhhIDwgMjU1OwogICAgICAgICAgICAg
ICAgIGlmICghbV9ibGVuZCkKLSAgICAgICAgICAgICAgICAgICAgYnVmZmVyLmJhY2tpbmdTdG9y
ZSgpLT5zZXRQaXhlbChhZGRyZXNzKyssIHBpeGVsWzBdLCBwaXhlbFsxXSwgcGl4ZWxbMl0sIGFs
cGhhKTsKKyAgICAgICAgICAgICAgICAgICAgYnVmZmVyLmJhY2tpbmdTdG9yZSgpLT5zZXRQaXhl
bChhZGRyZXNzKyssIHBpeGVsWzBdLCBwaXhlbFsxXSwgcGl4ZWxbMl0sIGFscGhhLCBmYWxzZSk7
CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBidWZmZXIuYmFja2lu
Z1N0b3JlKCktPmJsZW5kUGl4ZWwoYWRkcmVzcysrLCBwaXhlbFswXSwgcGl4ZWxbMV0sIHBpeGVs
WzJdLCBhbHBoYSk7CisgICAgICAgICAgICAgICAgICAgIGJ1ZmZlci5iYWNraW5nU3RvcmUoKS0+
YmxlbmRQaXhlbChhZGRyZXNzKyssIHBpeGVsWzBdLCBwaXhlbFsxXSwgcGl4ZWxbMl0sIGFscGhh
LCBmYWxzZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICNlbHNlCkBAIC04NDksOSArODU4
LDkgQEAgdm9pZCBQTkdJbWFnZURlY29kZXI6OmZyYW1lQ29tcGxldGUoKQogICAgICAgICAgICAg
ICAgIHVuc2lnbmVkIGFscGhhID0gaGFzQWxwaGEgPyBwaXhlbFszXSA6IDI1NTsKICAgICAgICAg
ICAgICAgICBub25Ucml2aWFsQWxwaGEgfD0gYWxwaGEgPCAyNTU7CiAgICAgICAgICAgICAgICAg
aWYgKCFtX2JsZW5kKQotICAgICAgICAgICAgICAgICAgICBidWZmZXIuYmFja2luZ1N0b3JlKCkt
PnNldFBpeGVsKGFkZHJlc3MrKywgcGl4ZWxbMF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEp
OworICAgICAgICAgICAgICAgICAgICBidWZmZXIuYmFja2luZ1N0b3JlKCktPnNldFBpeGVsKGFk
ZHJlc3MrKywgcGl4ZWxbMF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEsIGZhbHNlKTsKICAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGJ1ZmZlci5iYWNraW5nU3Rv
cmUoKS0+YmxlbmRQaXhlbChhZGRyZXNzKyssIHBpeGVsWzBdLCBwaXhlbFsxXSwgcGl4ZWxbMl0s
IGFscGhhKTsKKyAgICAgICAgICAgICAgICAgICAgYnVmZmVyLmJhY2tpbmdTdG9yZSgpLT5ibGVu
ZFBpeGVsKGFkZHJlc3MrKywgcGl4ZWxbMF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEsIGZh
bHNlKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNv
ZGVyLmgKaW5kZXggMTEzZmYyZTNiN2EzY2UzMjQwMDA0NjRmYWFmM2E0MTI2ZjM0YTVlYi4uZmVl
MDhmNWIzNWVlYWUwNzY2ZDA0MmRiNTllMTk1YzUzNjBlN2JhMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURl
Y29kZXIuaApAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0
cmluZyBmaWxlbmFtZUV4dGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJwbmciOyB9
CiAjaWYgRU5BQkxFKEFQTkcpCiAgICAgICAgIHNpemVfdCBmcmFtZUNvdW50KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV9mcmFtZUNvdW50OyB9Ci0gICAgICAgIFJlcGV0aXRpb25Db3VudCBy
ZXBldGl0aW9uQ291bnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3BsYXlDb3VudC0xOyB9
CisgICAgICAgIFJlcGV0aXRpb25Db3VudCByZXBldGl0aW9uQ291bnQoKSBjb25zdCBvdmVycmlk
ZTsKICNlbmRpZgogICAgICAgICBib29sIGlzU2l6ZUF2YWlsYWJsZSgpIG92ZXJyaWRlOwogICAg
ICAgICBib29sIHNldFNpemUoY29uc3QgSW50U2l6ZSYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFmYjRm
MzE1OTc2ZjUzYWJhZDVhM2RlODQ3N2U3MWE2ZGM3OWVmMGEuLmY1YjNmMjkwMGM0YWUzNDNhMWJh
Y2VkN2NhNzMwOGE3NThhYzI2ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wMy0zMCAg
TWlndWVsIEdvbWV6ICA8bWFnb21lekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04o
cjIwNTg0MSk6IFtHVEtdIFRlc3QgZmFzdC9pbWFnZXMvYW5pbWF0ZWQtcG5nLmh0bWwgaXMgZmFp
bGluZyBzaW5jZSByMjA1ODQxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjg0MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGp1c3RlZCBleHBlY3RhdGlvbiBmb3IgZmFzdC9pbWFnZXMvYW5pbWF0ZWQt
cG5nLmh0bWwuIEl0IG11c3QgcGFzcyBub3cuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9uczoKKwogMjAxNy0wMy0zMCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFm
dGVyIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzAyNzkuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQyNTc3NjFhYzZiMjM5
YzY4ZDJlYzNmMmQwMzZjMzVlNjg0NzhjN2IuLmE1NDk3NThlYjdlZGJkYzA4YWYwMzcxZjJhMjVj
ZTY0MjI5ZGYzOTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CkBAIC0zNDMyLDggKzM0MzIsNiBAQCB3ZWJraXQub3JnL2IvMTM2MTA5IGZhc3QvbXVsdGljb2wv
bWl4ZWQtb3BhY2l0eS1maXhlZC10ZXN0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdQogd2Via2l0Lm9y
Zy9iLzE2ODQyNyBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNjg0MjcgZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
Ci13ZWJraXQub3JnL2IvMTY4NDI1IGZhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi0KIHdlYmtpdC5vcmcvYi8xNjg0MjggaW1wb3J0ZWQvYmxpbmsvY3Nz
My9ibGVuZGluZy9taXgtYmxlbmQtbW9kZS1tdWx0aXBseS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiAKIHdlYmtpdC5vcmcvYi8xNjg0MjkgZmFzdC90ZXh0L3NpbXBsZS1saW5lLWxheW91dC1z
aW1wbGUtdGV4dC1idXQtY29tcGxleC1mb250LXBhdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306377</attachid>
            <date>2017-04-06 06:01:26 -0700</date>
            <delta_ts>2017-04-07 07:12:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168425-20170406150125.patch</filename>
            <type>text/plain</type>
            <size>11031</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODYyNTg0MTc2Y2U3Y2Nm
ZmUzNmFhNGJkZWNjOTFhNGRiMDM4OTRiNS4uMDdkNTAxMTExNGM3YjE5MmY1ODU0ZDk0MTBiYzZl
NDE4ZGNmZDcxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3LTA0LTA2ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjA1
ODQxKTogW0dUS10gVGVzdCBmYXN0L2ltYWdlcy9hbmltYXRlZC1wbmcuaHRtbCBpcyBmYWlsaW5n
IHNpbmNlIHIyMDU4NDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2ODQyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIGFuaW1hdGlvbnMgdGhhdCBhcmUgYmxlbmRp
bmcgdGhlaXIgZnJhbWVzIGludG8gdGhlIHByZXZpb3VzIGZyYW1lLiBEdWUgdG8gYSBjaGFuZ2UK
KyAgICAgICAgaW4gaG93IHBpeGVsIGNvbXBvbmVudHMgYXJlIHByZW11bHRpcGxpZWQgKHRoZSBy
ZXN1bHQgaXMgbm93IHJvdW5kZWQgdXApLCB0aGUgcGFyYW1ldGVycyB0byB0aGUgYmxlbmRpbmcK
KyAgICAgICAgb3BlcmF0aW9uIG1heSB2YXJ5IGluIG9uZSB1bml0LCBjYXVzaW5nIHRoZSByZXN1
bHQgb2YgdGhlIGJsZW5kaW5nIHRvIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBleHBlY3RlZCByZXN1
bHQuCisgICAgICAgIEluIG9yZGVyIHRvIGZpeCB0aGlzLCBhIG5ldyBwYXJhbWV0ZXIgaXMgYWRk
ZWQgdG8gaW5kaWNhdGUgd2hldGhlciB3ZSB3YW50IHRvIHVzZSByb3VuZGluZyB1cCB3aGVuCisg
ICAgICAgIHByZW11bHRpcGx5aW5nIG9yIG5vdCwgYW5kIFBOR0ltYWdlRGVjb2RlciB1c2VzIHRo
YXQgcGFyYW1ldGVyIHRvIGRpc2FibGUgcm91bmRpbmcgdXAuCisKKyAgICAgICAgQWRqdXN0ZWQg
dGhlIGV4cGVjdGF0aW9uIGZvciBmYXN0L2ltYWdlcy9hbmltYXRlZC1wbmcuaHRtbCwgYXMgaXQg
bXVzdCBwYXNzIG5vdy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnByZW11bHRpcGxpZWRDaGFubmVsKToKKyAgICAgICAgKFdlYkNv
cmU6Om1ha2VQcmVtdWx0aXBsaWVkUkdCQSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29sb3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJhY2tpbmdTdG9yZS5o
OgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCYWNraW5nU3RvcmU6OnNldFBpeGVsKToKKyAgICAg
ICAgKFdlYkNvcmU6OkltYWdlQmFja2luZ1N0b3JlOjpibGVuZFBpeGVsKToKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlQmFja2luZ1N0b3JlOjpwaXhlbFZhbHVlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9wbmcvUE5HSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBOR0ltYWdlRGVjb2Rlcjo6cm93QXZhaWxhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OlBO
R0ltYWdlRGVjb2Rlcjo6ZnJhbWVDb21wbGV0ZSk6CisKIDIwMTctMDQtMDUgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2V0IGxhc3RIYW5kbGVkVXNl
ckdlc3R1cmVUaW1lc3RhbXAgb24gYWxsIGFuY2VzdG9yIGRvY3VtZW50cywgbm90IGp1c3QgdGhl
IHRvcCBkb2N1bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3Bw
CmluZGV4IDRjODcwNWUwYTAzYjU2N2Q5N2I2NzNhNjFkNmZmZjE2NGYyYTg0NjIuLjVlY2RlMWIz
ZmY1YjYwMDBjNzQwZDI3ZjRhZTFhZDEzYjE3MmViMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAKQEAgLTQ5LDkgKzQ5LDEyIEBAIGNvbnN0IFJHQkEzMiBD
b2xvcjo6dHJhbnNwYXJlbnQ7CiBzdGF0aWMgY29uc3QgUkdCQTMyIGxpZ2h0ZW5lZEJsYWNrID0g
MHhGRjU0NTQ1NDsKIHN0YXRpYyBjb25zdCBSR0JBMzIgZGFya2VuZWRXaGl0ZSA9IDB4RkZBQkFC
QUI7CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgcHJlbXVsdGlwbGllZENoYW5uZWwodW5zaWdu
ZWQgYywgdW5zaWduZWQgYSkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgcHJlbXVsdGlwbGllZENo
YW5uZWwodW5zaWduZWQgYywgdW5zaWduZWQgYSwgYm9vbCBjZWlsaW5nID0gdHJ1ZSkKIHsKLSAg
ICByZXR1cm4gZmFzdERpdmlkZUJ5MjU1KGMgKiBhICsgMjU0KTsKKyAgICBpZiAoY2VpbGluZykK
KyAgICAgICAgcmV0dXJuIGZhc3REaXZpZGVCeTI1NShjICogYSArIDI1NCk7CisKKyAgICByZXR1
cm4gZmFzdERpdmlkZUJ5MjU1KGMgKiBhKTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCB1
bnByZW11bHRpcGxpZWRDaGFubmVsKHVuc2lnbmVkIGMsIHVuc2lnbmVkIGEpCkBAIC02OSw5ICs3
Miw5IEBAIFJHQkEzMiBtYWtlUkdCQShpbnQgciwgaW50IGcsIGludCBiLCBpbnQgYSkKICAgICBy
ZXR1cm4gc3RkOjptYXgoMCwgc3RkOjptaW4oYSwgMjU1KSkgPDwgMjQgfCBzdGQ6Om1heCgwLCBz
dGQ6Om1pbihyLCAyNTUpKSA8PCAxNiB8IHN0ZDo6bWF4KDAsIHN0ZDo6bWluKGcsIDI1NSkpIDw8
IDggfCBzdGQ6Om1heCgwLCBzdGQ6Om1pbihiLCAyNTUpKTsKIH0KIAotUkdCQTMyIG1ha2VQcmVt
dWx0aXBsaWVkUkdCQShpbnQgciwgaW50IGcsIGludCBiLCBpbnQgYSkKK1JHQkEzMiBtYWtlUHJl
bXVsdGlwbGllZFJHQkEoaW50IHIsIGludCBnLCBpbnQgYiwgaW50IGEsIGJvb2wgY2VpbGluZykK
IHsKLSAgICByZXR1cm4gbWFrZVJHQkEocHJlbXVsdGlwbGllZENoYW5uZWwociwgYSksIHByZW11
bHRpcGxpZWRDaGFubmVsKGcsIGEpLCBwcmVtdWx0aXBsaWVkQ2hhbm5lbChiLCBhKSwgYSk7Cisg
ICAgcmV0dXJuIG1ha2VSR0JBKHByZW11bHRpcGxpZWRDaGFubmVsKHIsIGEsIGNlaWxpbmcpLCBw
cmVtdWx0aXBsaWVkQ2hhbm5lbChnLCBhLCBjZWlsaW5nKSwgcHJlbXVsdGlwbGllZENoYW5uZWwo
YiwgYSwgY2VpbGluZyksIGEpOwogfQogCiBSR0JBMzIgbWFrZVVuUHJlbXVsdGlwbGllZFJHQkEo
aW50IHIsIGludCBnLCBpbnQgYiwgaW50IGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3IuaAppbmRleCAyOTY4Nzk2MWVkMWU0YTc2MmMwMzFjMTU3NjFlYWRhYjdmZmRjNjRi
Li44M2IyYTM5NDU1YzliOTE1OWE5M2JkMWEyYjA4OTk1ZDZiMmE5MzU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKQEAgLTY1LDcgKzY1LDcgQEAgdHlwZWRlZiB1
bnNpZ25lZCBSR0JBMzI7IC8vIERlcHJlY2F0ZWQ6IFR5cGUgZm9yIGFuIFJHQkEgcXVhZHJ1cGxl
dC4gVXNlIFJHQkEgY2wKIFdFQkNPUkVfRVhQT1JUIFJHQkEzMiBtYWtlUkdCKGludCByLCBpbnQg
ZywgaW50IGIpOwogV0VCQ09SRV9FWFBPUlQgUkdCQTMyIG1ha2VSR0JBKGludCByLCBpbnQgZywg
aW50IGIsIGludCBhKTsKIAotUkdCQTMyIG1ha2VQcmVtdWx0aXBsaWVkUkdCQShpbnQgciwgaW50
IGcsIGludCBiLCBpbnQgYSk7CitSR0JBMzIgbWFrZVByZW11bHRpcGxpZWRSR0JBKGludCByLCBp
bnQgZywgaW50IGIsIGludCBhLCBib29sIGNlaWxpbmcgPSB0cnVlKTsKIFJHQkEzMiBtYWtlVW5Q
cmVtdWx0aXBsaWVkUkdCQShpbnQgciwgaW50IGcsIGludCBiLCBpbnQgYSk7CiAKIFdFQkNPUkVf
RVhQT1JUIFJHQkEzMiBjb2xvcldpdGhPdmVycmlkZUFscGhhKFJHQkEzMiBjb2xvciwgZmxvYXQg
b3ZlcnJpZGVBbHBoYSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VCYWNraW5nU3RvcmUuaAppbmRleCA5OWY2ODQ3YjZjNDdhYTBhYWI5M2FkNTM5ZDZi
MDJmYTYzYjdjMzg5Li43MTI1YTc5MmY3MTg1MzU1ZDIzYWMwNjQxOWQ5NGM0MGFkODVhMzgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJhY2tpbmdT
dG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2lu
Z1N0b3JlLmgKQEAgLTEyOCwzMCArMTI4LDMwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1f
cGl4ZWxzUHRyICsgeSAqIG1fc2l6ZS53aWR0aCgpICsgeDsKICAgICB9CiAKLSAgICB2b2lkIHNl
dFBpeGVsKFJHQkEzMiogZGVzdCwgdW5zaWduZWQgciwgdW5zaWduZWQgZywgdW5zaWduZWQgYiwg
dW5zaWduZWQgYSkKKyAgICB2b2lkIHNldFBpeGVsKFJHQkEzMiogZGVzdCwgdW5zaWduZWQgciwg
dW5zaWduZWQgZywgdW5zaWduZWQgYiwgdW5zaWduZWQgYSwgYm9vbCBjZWlsaW5nSWZQcmVtdWx0
aXBsaWVkID0gdHJ1ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChkZXN0KTsKLSAgICAgICAgKmRl
c3QgPSBwaXhlbFZhbHVlKHIsIGcsIGIsIGEpOworICAgICAgICAqZGVzdCA9IHBpeGVsVmFsdWUo
ciwgZywgYiwgYSwgY2VpbGluZ0lmUHJlbXVsdGlwbGllZCk7CiAgICAgfQogCi0gICAgdm9pZCBz
ZXRQaXhlbChpbnQgeCwgaW50IHksIHVuc2lnbmVkIHIsIHVuc2lnbmVkIGcsIHVuc2lnbmVkIGIs
IHVuc2lnbmVkIGEpCisgICAgdm9pZCBzZXRQaXhlbChpbnQgeCwgaW50IHksIHVuc2lnbmVkIHIs
IHVuc2lnbmVkIGcsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGEsIGJvb2wgY2VpbGluZ0lmUHJlbXVs
dGlwbGllZCA9IHRydWUpCiAgICAgewotICAgICAgICBzZXRQaXhlbChwaXhlbEF0KHgsIHkpLCBy
LCBnLCBiLCBhKTsKKyAgICAgICAgc2V0UGl4ZWwocGl4ZWxBdCh4LCB5KSwgciwgZywgYiwgYSwg
Y2VpbGluZ0lmUHJlbXVsdGlwbGllZCk7CiAgICAgfQogCiAjaWYgRU5BQkxFKEFQTkcpCi0gICAg
dm9pZCBibGVuZFBpeGVsKFJHQkEzMiogZGVzdCwgdW5zaWduZWQgciwgdW5zaWduZWQgZywgdW5z
aWduZWQgYiwgdW5zaWduZWQgYSkKKyAgICB2b2lkIGJsZW5kUGl4ZWwoUkdCQTMyKiBkZXN0LCB1
bnNpZ25lZCByLCB1bnNpZ25lZCBnLCB1bnNpZ25lZCBiLCB1bnNpZ25lZCBhLCBib29sIGNlaWxp
bmdJZlByZW11bHRpcGxpZWQgPSB0cnVlKQogICAgIHsKICAgICAgICAgaWYgKCFhKQogICAgICAg
ICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmIChhID49IDI1NSB8fCAhYWxwaGFDaGFubmVsKCpk
ZXN0KSkgewotICAgICAgICAgICAgc2V0UGl4ZWwoZGVzdCwgciwgZywgYiwgYSk7CisgICAgICAg
ICAgICBzZXRQaXhlbChkZXN0LCByLCBnLCBiLCBhLCBjZWlsaW5nSWZQcmVtdWx0aXBsaWVkKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGlmICghbV9wcmVtdWx0
aXBseUFscGhhKQotICAgICAgICAgICAgKmRlc3QgPSBtYWtlUHJlbXVsdGlwbGllZFJHQkEocmVk
Q2hhbm5lbCgqZGVzdCksIGdyZWVuQ2hhbm5lbCgqZGVzdCksIGJsdWVDaGFubmVsKCpkZXN0KSwg
YWxwaGFDaGFubmVsKCpkZXN0KSk7CisgICAgICAgICAgICAqZGVzdCA9IG1ha2VQcmVtdWx0aXBs
aWVkUkdCQShyZWRDaGFubmVsKCpkZXN0KSwgZ3JlZW5DaGFubmVsKCpkZXN0KSwgYmx1ZUNoYW5u
ZWwoKmRlc3QpLCBhbHBoYUNoYW5uZWwoKmRlc3QpLCBjZWlsaW5nSWZQcmVtdWx0aXBsaWVkKTsK
IAogICAgICAgICB1bnNpZ25lZCBkID0gMjU1IC0gYTsKIApAQCAtMjAxLDEzICsyMDEsMTMgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQoKSwgbV9zaXplKS5jb250
YWlucyhyZWN0KTsKICAgICB9CiAKLSAgICBSR0JBMzIgcGl4ZWxWYWx1ZSh1bnNpZ25lZCByLCB1
bnNpZ25lZCBnLCB1bnNpZ25lZCBiLCB1bnNpZ25lZCBhKSBjb25zdAorICAgIFJHQkEzMiBwaXhl
bFZhbHVlKHVuc2lnbmVkIHIsIHVuc2lnbmVkIGcsIHVuc2lnbmVkIGIsIHVuc2lnbmVkIGEsIGJv
b2wgY2VpbGluZ0lmUHJlbXVsdGlwbGllZCA9IHRydWUpIGNvbnN0CiAgICAgewogICAgICAgICBp
ZiAobV9wcmVtdWx0aXBseUFscGhhICYmICFhKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAKICAg
ICAgICAgaWYgKG1fcHJlbXVsdGlwbHlBbHBoYSAmJiBhIDwgMjU1KQotICAgICAgICAgICAgcmV0
dXJuIG1ha2VQcmVtdWx0aXBsaWVkUkdCQShyLCBnLCBiLCBhKTsKKyAgICAgICAgICAgIHJldHVy
biBtYWtlUHJlbXVsdGlwbGllZFJHQkEociwgZywgYiwgYSwgY2VpbGluZ0lmUHJlbXVsdGlwbGll
ZCk7CiAKICAgICAgICAgcmV0dXJuIG1ha2VSR0JBKHIsIGcsIGIsIGEpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFn
ZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5n
L1BOR0ltYWdlRGVjb2Rlci5jcHAKaW5kZXggMGFiY2FmMmJkMjYzMWM2N2I0NjQ4OTYyOGU2YzY5
OTkyMWI3ODk2Mi4uZDEyOWZhMTlhZjJmZjE3NTk5YjlhNjYzNDEwY2VkYzI2MWNlZGM4NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0lt
YWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTUyNCw3ICs1MjQsNyBAQCB2b2lkIFBOR0lt
YWdlRGVjb2Rlcjo6cm93QXZhaWxhYmxlKHVuc2lnbmVkIGNoYXIqIHJvd0J1ZmZlciwgdW5zaWdu
ZWQgcm93SW5kZXgsCiAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7ICsreCwgKyth
ZGRyZXNzKSB7CiAgICAgICAgICAgICBwbmdfYnl0ZXAgcGl4ZWwgPSByb3cgKyBtX3NjYWxlZENv
bHVtbnNbeF0gKiBjb2xvckNoYW5uZWxzOwogICAgICAgICAgICAgdW5zaWduZWQgYWxwaGEgPSBo
YXNBbHBoYSA/IHBpeGVsWzNdIDogMjU1OwotICAgICAgICAgICAgYnVmZmVyLmJhY2tpbmdTdG9y
ZSgpLT5zZXRQaXhlbChhZGRyZXNzLCBwaXhlbFswXSwgcGl4ZWxbMV0sIHBpeGVsWzJdLCBhbHBo
YSk7CisgICAgICAgICAgICBidWZmZXIuYmFja2luZ1N0b3JlKCktPnNldFBpeGVsKGFkZHJlc3Ms
IHBpeGVsWzBdLCBwaXhlbFsxXSwgcGl4ZWxbMl0sIGFscGhhLCBmYWxzZSk7CiAgICAgICAgICAg
ICBub25Ucml2aWFsQWxwaGFNYXNrIHw9ICgyNTUgLSBhbHBoYSk7CiAgICAgICAgIH0KICAgICB9
IGVsc2UKQEAgLTUzNCw3ICs1MzQsNyBAQCB2b2lkIFBOR0ltYWdlRGVjb2Rlcjo6cm93QXZhaWxh
YmxlKHVuc2lnbmVkIGNoYXIqIHJvd0J1ZmZlciwgdW5zaWduZWQgcm93SW5kZXgsCiAgICAgICAg
IGlmIChoYXNBbHBoYSkgewogICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3aWR0aDsg
Kyt4LCBwaXhlbCArPSA0LCArK2FkZHJlc3MpIHsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBh
bHBoYSA9IHBpeGVsWzNdOwotICAgICAgICAgICAgICAgIGJ1ZmZlci5iYWNraW5nU3RvcmUoKS0+
c2V0UGl4ZWwoYWRkcmVzcywgcGl4ZWxbMF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEpOwor
ICAgICAgICAgICAgICAgIGJ1ZmZlci5iYWNraW5nU3RvcmUoKS0+c2V0UGl4ZWwoYWRkcmVzcywg
cGl4ZWxbMF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEsIGZhbHNlKTsKICAgICAgICAgICAg
ICAgICBub25Ucml2aWFsQWxwaGFNYXNrIHw9ICgyNTUgLSBhbHBoYSk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0gZWxzZSB7CkBAIC04NDYsOSArODQ2LDkgQEAgdm9pZCBQTkdJbWFnZURlY29k
ZXI6OmZyYW1lQ29tcGxldGUoKQogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGFscGhhID0gaGFz
QWxwaGEgPyBwaXhlbFszXSA6IDI1NTsKICAgICAgICAgICAgICAgICBub25Ucml2aWFsQWxwaGEg
fD0gYWxwaGEgPCAyNTU7CiAgICAgICAgICAgICAgICAgaWYgKCFtX2JsZW5kKQotICAgICAgICAg
ICAgICAgICAgICBidWZmZXIuYmFja2luZ1N0b3JlKCktPnNldFBpeGVsKGFkZHJlc3MrKywgcGl4
ZWxbMF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEpOworICAgICAgICAgICAgICAgICAgICBi
dWZmZXIuYmFja2luZ1N0b3JlKCktPnNldFBpeGVsKGFkZHJlc3MrKywgcGl4ZWxbMF0sIHBpeGVs
WzFdLCBwaXhlbFsyXSwgYWxwaGEsIGZhbHNlKTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgIGJ1ZmZlci5iYWNraW5nU3RvcmUoKS0+YmxlbmRQaXhlbChhZGRyZXNz
KyssIHBpeGVsWzBdLCBwaXhlbFsxXSwgcGl4ZWxbMl0sIGFscGhhKTsKKyAgICAgICAgICAgICAg
ICAgICAgYnVmZmVyLmJhY2tpbmdTdG9yZSgpLT5ibGVuZFBpeGVsKGFkZHJlc3MrKywgcGl4ZWxb
MF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEsIGZhbHNlKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogI2Vsc2UKQEAgLTg2MSw5ICs4NjEsOSBAQCB2b2lkIFBOR0ltYWdlRGVjb2Rlcjo6
ZnJhbWVDb21wbGV0ZSgpCiAgICAgICAgICAgICAgICAgdW5zaWduZWQgYWxwaGEgPSBoYXNBbHBo
YSA/IHBpeGVsWzNdIDogMjU1OwogICAgICAgICAgICAgICAgIG5vblRyaXZpYWxBbHBoYSB8PSBh
bHBoYSA8IDI1NTsKICAgICAgICAgICAgICAgICBpZiAoIW1fYmxlbmQpCi0gICAgICAgICAgICAg
ICAgICAgIGJ1ZmZlci5iYWNraW5nU3RvcmUoKS0+c2V0UGl4ZWwoYWRkcmVzcysrLCBwaXhlbFsw
XSwgcGl4ZWxbMV0sIHBpeGVsWzJdLCBhbHBoYSk7CisgICAgICAgICAgICAgICAgICAgIGJ1ZmZl
ci5iYWNraW5nU3RvcmUoKS0+c2V0UGl4ZWwoYWRkcmVzcysrLCBwaXhlbFswXSwgcGl4ZWxbMV0s
IHBpeGVsWzJdLCBhbHBoYSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICAgICAgYnVmZmVyLmJhY2tpbmdTdG9yZSgpLT5ibGVuZFBpeGVsKGFkZHJlc3MrKywg
cGl4ZWxbMF0sIHBpeGVsWzFdLCBwaXhlbFsyXSwgYWxwaGEpOworICAgICAgICAgICAgICAgICAg
ICBidWZmZXIuYmFja2luZ1N0b3JlKCktPmJsZW5kUGl4ZWwoYWRkcmVzcysrLCBwaXhlbFswXSwg
cGl4ZWxbMV0sIHBpeGVsWzJdLCBhbHBoYSwgZmFsc2UpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA5Njk4ZTIwNjIyNWVjNjQyNzlmODY5ODk2NzNhZGFjMjk1ODE1
NWFhLi5iNTgzOWU5ZjBiNmZlOTljNTczYjg5MjIxMzhlNTMzMGEyOWU5MGEyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTctMDQtMDYgIE1pZ3VlbCBHb21leiAgPG1hZ29tZXpAaWdhbGlhLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyMDU4NDEpOiBbR1RLXSBUZXN0IGZhc3QvaW1hZ2Vz
L2FuaW1hdGVkLXBuZy5odG1sIGlzIGZhaWxpbmcgc2luY2UgcjIwNTg0MQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NDI1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRqdXN0ZWQgZXhwZWN0YXRpb24g
Zm9yIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy5odG1sLiBJdCBtdXN0IHBhc3Mgbm93LgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTctMDQtMDUgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2V0IGxhc3RI
YW5kbGVkVXNlckdlc3R1cmVUaW1lc3RhbXAgb24gYWxsIGFuY2VzdG9yIGRvY3VtZW50cywgbm90
IGp1c3QgdGhlIHRvcCBkb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCAxOTY4MWI3MDI1YjE2NTRiMWY3Mzk1ZjFjM2FmZTZhNTAyNDg1NjZjLi4w
ZDJmZTNjZGE2ZTBlODBlM2EzMzY3NDQzZWZjYzE0YjkxOWY3MmRhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQzNiw4ICszNDM2LDYgQEAgd2Via2l0
Lm9yZy9iLzEzNjEwOSBmYXN0L211bHRpY29sL21peGVkLW9wYWNpdHktZml4ZWQtdGVzdC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHUKIHdlYmtpdC5vcmcvYi8xNjg0MjcgZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTY4NDI3IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE2ODQyNSBmYXN0L2lt
YWdlcy9hbmltYXRlZC1wbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotCiB3ZWJraXQub3Jn
L2IvMTY4NDI4IGltcG9ydGVkL2JsaW5rL2NzczMvYmxlbmRpbmcvbWl4LWJsZW5kLW1vZGUtbXVs
dGlwbHkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTY4NDI5IGZh
c3QvdGV4dC9zaW1wbGUtbGluZS1sYXlvdXQtc2ltcGxlLXRleHQtYnV0LWNvbXBsZXgtZm9udC1w
YXRoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306498</attachid>
            <date>2017-04-07 07:12:45 -0700</date>
            <delta_ts>2017-04-10 00:39:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168425-20170407161243.patch</filename>
            <type>text/plain</type>
            <size>6434</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDM0MzZiYzBjY2JlNzdh
YTM1NTU0NWQ0M2M2NzliMTQ4NmI2NWExMi4uNWRjMjhkYzAzMTg4NmYxNTU1N2IzNmNlNzdmNGIy
YTUzZTM5MjgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4IEBACiAyMDE3LTA0LTA3ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKKyAgICAgICAgUkVHUkVTU0lPTihyMjA1
ODQxKTogW0dUS10gVGVzdCBmYXN0L2ltYWdlcy9hbmltYXRlZC1wbmcuaHRtbCBpcyBmYWlsaW5n
IHNpbmNlIHIyMDU4NDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2ODQyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIGFuaW1hdGlvbnMgdGhhdCBhcmUgYmxlbmRp
bmcgdGhlaXIgZnJhbWVzIGludG8gdGhlIHByZXZpb3VzIGZyYW1lLiBEdWUgdG8gYSBjaGFuZ2UK
KyAgICAgICAgaW4gaG93IHBpeGVsIGNvbXBvbmVudHMgYXJlIHByZW11bHRpcGxpZWQgKHRoZSBy
ZXN1bHQgaXMgbm93IHJvdW5kZWQgdXApLCB0aGUgcGFyYW1ldGVycyB0byB0aGUgYmxlbmRpbmcK
KyAgICAgICAgb3BlcmF0aW9uIG1heSB2YXJ5IGluIG9uZSB1bml0LCBjYXVzaW5nIHRoZSByZXN1
bHQgb2YgdGhlIGJsZW5kaW5nIHRvIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBleHBlY3RlZCByZXN1
bHQuCisgICAgICAgIEluIG9yZGVyIHRvIGZpeCB0aGlzLCBhIG5ldyBwYXJhbWV0ZXIgaXMgYWRk
ZWQgdG8gaW5kaWNhdGUgd2hldGhlciB3ZSB3YW50IHRvIHVzZSByb3VuZGluZyB1cCB3aGVuCisg
ICAgICAgIHByZW11bHRpcGx5aW5nIG9yIG5vdCwgYW5kIEltYWdlQmFja2luZ1N0b3JlIHVzZXMg
dGhhdCBwYXJhbWV0ZXIgdG8gZGlzYWJsZSByb3VuZGluZyB1cC4KKworICAgICAgICBBZGp1c3Rl
ZCB0aGUgZXhwZWN0YXRpb24gZm9yIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy5odG1sLCBhcyBp
dCBtdXN0IHBhc3Mgbm93LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cHJlbXVsdGlwbGllZENoYW5uZWwpOgorICAgICAgICAoV2Vi
Q29yZTo6bWFrZVByZW11bHRpcGxpZWRSR0JBKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Db2xvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3Jl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdTdG9yZTo6YmxlbmRQaXhlbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdTdG9yZTo6cGl4ZWxWYWx1ZSk6CisKKzIwMTct
MDQtMDcgIE1pZ3VlbCBHb21leiAgPG1hZ29tZXpAaWdhbGlhLmNvbT4KKwogICAgICAgICBbR1RL
K10gQW5pbWF0aW9ucyBub3QgcGxheWVkIHByb3Blcmx5IHdoZW4gdXNpbmcgc3luY2hyb25vdXMg
ZGVjb2RpbmcKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MDU5MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b2xvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAKaW5k
ZXggNGM4NzA1ZTBhMDNiNTY3ZDk3YjY3M2E2MWQ2ZmZmMTY0ZjJhODQ2Mi4uNGMwZDE1NjA2ZjU5
YTg3M2IzZmRiY2U4YmZlYjgyMmFiNzI5MmY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbG9yLmNwcApAQCAtNDksOSArNDksOSBAQCBjb25zdCBSR0JBMzIgQ29sb3I6
OnRyYW5zcGFyZW50Owogc3RhdGljIGNvbnN0IFJHQkEzMiBsaWdodGVuZWRCbGFjayA9IDB4RkY1
NDU0NTQ7CiBzdGF0aWMgY29uc3QgUkdCQTMyIGRhcmtlbmVkV2hpdGUgPSAweEZGQUJBQkFCOwog
Ci1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIHByZW11bHRpcGxpZWRDaGFubmVsKHVuc2lnbmVkIGMs
IHVuc2lnbmVkIGEpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHByZW11bHRpcGxpZWRDaGFubmVs
KHVuc2lnbmVkIGMsIHVuc2lnbmVkIGEsIGJvb2wgY2VpbGluZyA9IHRydWUpCiB7Ci0gICAgcmV0
dXJuIGZhc3REaXZpZGVCeTI1NShjICogYSArIDI1NCk7CisgICAgcmV0dXJuIGZhc3REaXZpZGVC
eTI1NShjZWlsaW5nID8gYyAqIGEgKyAyNTQgOiBjICogYSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUg
dW5zaWduZWQgdW5wcmVtdWx0aXBsaWVkQ2hhbm5lbCh1bnNpZ25lZCBjLCB1bnNpZ25lZCBhKQpA
QCAtNjksOSArNjksOSBAQCBSR0JBMzIgbWFrZVJHQkEoaW50IHIsIGludCBnLCBpbnQgYiwgaW50
IGEpCiAgICAgcmV0dXJuIHN0ZDo6bWF4KDAsIHN0ZDo6bWluKGEsIDI1NSkpIDw8IDI0IHwgc3Rk
OjptYXgoMCwgc3RkOjptaW4ociwgMjU1KSkgPDwgMTYgfCBzdGQ6Om1heCgwLCBzdGQ6Om1pbihn
LCAyNTUpKSA8PCA4IHwgc3RkOjptYXgoMCwgc3RkOjptaW4oYiwgMjU1KSk7CiB9CiAKLVJHQkEz
MiBtYWtlUHJlbXVsdGlwbGllZFJHQkEoaW50IHIsIGludCBnLCBpbnQgYiwgaW50IGEpCitSR0JB
MzIgbWFrZVByZW11bHRpcGxpZWRSR0JBKGludCByLCBpbnQgZywgaW50IGIsIGludCBhLCBib29s
IGNlaWxpbmcpCiB7Ci0gICAgcmV0dXJuIG1ha2VSR0JBKHByZW11bHRpcGxpZWRDaGFubmVsKHIs
IGEpLCBwcmVtdWx0aXBsaWVkQ2hhbm5lbChnLCBhKSwgcHJlbXVsdGlwbGllZENoYW5uZWwoYiwg
YSksIGEpOworICAgIHJldHVybiBtYWtlUkdCQShwcmVtdWx0aXBsaWVkQ2hhbm5lbChyLCBhLCBj
ZWlsaW5nKSwgcHJlbXVsdGlwbGllZENoYW5uZWwoZywgYSwgY2VpbGluZyksIHByZW11bHRpcGxp
ZWRDaGFubmVsKGIsIGEsIGNlaWxpbmcpLCBhKTsKIH0KIAogUkdCQTMyIG1ha2VVblByZW11bHRp
cGxpZWRSR0JBKGludCByLCBpbnQgZywgaW50IGIsIGludCBhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yLmgKaW5kZXggMjk2ODc5NjFlZDFlNGE3NjJjMDMxYzE1NzYxZWFk
YWI3ZmZkYzY0Yi4uODNiMmEzOTQ1NWM5YjkxNTlhOTNiZDFhMmIwODk5NWQ2YjJhOTM1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC02NSw3ICs2NSw3IEBA
IHR5cGVkZWYgdW5zaWduZWQgUkdCQTMyOyAvLyBEZXByZWNhdGVkOiBUeXBlIGZvciBhbiBSR0JB
IHF1YWRydXBsZXQuIFVzZSBSR0JBIGNsCiBXRUJDT1JFX0VYUE9SVCBSR0JBMzIgbWFrZVJHQihp
bnQgciwgaW50IGcsIGludCBiKTsKIFdFQkNPUkVfRVhQT1JUIFJHQkEzMiBtYWtlUkdCQShpbnQg
ciwgaW50IGcsIGludCBiLCBpbnQgYSk7CiAKLVJHQkEzMiBtYWtlUHJlbXVsdGlwbGllZFJHQkEo
aW50IHIsIGludCBnLCBpbnQgYiwgaW50IGEpOworUkdCQTMyIG1ha2VQcmVtdWx0aXBsaWVkUkdC
QShpbnQgciwgaW50IGcsIGludCBiLCBpbnQgYSwgYm9vbCBjZWlsaW5nID0gdHJ1ZSk7CiBSR0JB
MzIgbWFrZVVuUHJlbXVsdGlwbGllZFJHQkEoaW50IHIsIGludCBnLCBpbnQgYiwgaW50IGEpOwog
CiBXRUJDT1JFX0VYUE9SVCBSR0JBMzIgY29sb3JXaXRoT3ZlcnJpZGVBbHBoYShSR0JBMzIgY29s
b3IsIGZsb2F0IG92ZXJyaWRlQWxwaGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3JlLmgKaW5kZXggOTlmNjg0N2I2YzQ3YWEwYWFi
OTNhZDUzOWQ2YjAyZmE2M2I3YzM4OS4uODgwOTFlMTdjYTg3OWY4YjNkYzk5MWU3NmE1MDU0ZmZl
OTQzODNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZUJhY2tpbmdTdG9yZS5oCkBAIC0xNTEsNyArMTUxLDcgQEAgcHVibGljOgogICAgICAgICB9
CiAKICAgICAgICAgaWYgKCFtX3ByZW11bHRpcGx5QWxwaGEpCi0gICAgICAgICAgICAqZGVzdCA9
IG1ha2VQcmVtdWx0aXBsaWVkUkdCQShyZWRDaGFubmVsKCpkZXN0KSwgZ3JlZW5DaGFubmVsKCpk
ZXN0KSwgYmx1ZUNoYW5uZWwoKmRlc3QpLCBhbHBoYUNoYW5uZWwoKmRlc3QpKTsKKyAgICAgICAg
ICAgICpkZXN0ID0gbWFrZVByZW11bHRpcGxpZWRSR0JBKHJlZENoYW5uZWwoKmRlc3QpLCBncmVl
bkNoYW5uZWwoKmRlc3QpLCBibHVlQ2hhbm5lbCgqZGVzdCksIGFscGhhQ2hhbm5lbCgqZGVzdCks
IGZhbHNlKTsKIAogICAgICAgICB1bnNpZ25lZCBkID0gMjU1IC0gYTsKIApAQCAtMjA3LDcgKzIw
Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICByZXR1cm4gMDsKIAogICAgICAgICBpZiAobV9w
cmVtdWx0aXBseUFscGhhICYmIGEgPCAyNTUpCi0gICAgICAgICAgICByZXR1cm4gbWFrZVByZW11
bHRpcGxpZWRSR0JBKHIsIGcsIGIsIGEpOworICAgICAgICAgICAgcmV0dXJuIG1ha2VQcmVtdWx0
aXBsaWVkUkdCQShyLCBnLCBiLCBhLCBmYWxzZSk7CiAKICAgICAgICAgcmV0dXJuIG1ha2VSR0JB
KHIsIGcsIGIsIGEpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3OGUyMWE5N2MyZTY3Mzc0ZWZlYWJiZWM4Y2Q4
NDE1NThhNzFlYzE4Li42YmFlYmI2MTNkNTUxYjM1NDFmYzk1MTA1ODRhMTAyYzIxNmFhMjA4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDQtMDcgIE1pZ3VlbCBHb21leiAgPG1hZ29tZXpA
aWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyMDU4NDEpOiBbR1RLXSBUZXN0IGZh
c3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy5odG1sIGlzIGZhaWxpbmcgc2luY2UgcjIwNTg0MQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NDI1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRqdXN0ZWQgZXhw
ZWN0YXRpb24gZm9yIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy5odG1sLiBJdCBtdXN0IHBhc3Mg
bm93LgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTct
MDQtMDYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNYWtlIEZvbnRXaXRoRmVhdHVyZXMgdGVzdCBmb250IHBhc3MgT1RTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE5NjgxYjcwMjViMTY1NGIxZjczOTVm
MWMzYWZlNmE1MDI0ODU2NmMuLjBkMmZlM2NkYTZlMGU4MGUzYTMzNjc0NDNlZmNjMTRiOTE5Zjcy
ZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNDM2
LDggKzM0MzYsNiBAQCB3ZWJraXQub3JnL2IvMTM2MTA5IGZhc3QvbXVsdGljb2wvbWl4ZWQtb3Bh
Y2l0eS1maXhlZC10ZXN0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdQogd2Via2l0Lm9yZy9iLzE2ODQy
NyBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNjg0MjcgZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCi13ZWJraXQu
b3JnL2IvMTY4NDI1IGZhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi0KIHdlYmtpdC5vcmcvYi8xNjg0MjggaW1wb3J0ZWQvYmxpbmsvY3NzMy9ibGVuZGlu
Zy9taXgtYmxlbmQtbW9kZS1tdWx0aXBseS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKIHdl
YmtpdC5vcmcvYi8xNjg0MjkgZmFzdC90ZXh0L3NpbXBsZS1saW5lLWxheW91dC1zaW1wbGUtdGV4
dC1idXQtY29tcGxleC1mb250LXBhdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>