<?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>183165</bug_id>
          
          <creation_ts>2018-02-27 10:24:43 -0800</creation_ts>
          <short_desc>Delete incorrect version of clampTo() function from SVGToOTFFontConversion.cpp</short_desc>
          <delta_ts>2018-03-05 16:48:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</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>
          
          <blocked>183017</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1402360</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-02-27 10:24:43 -0800</bug_when>
    <thetext>In SVGToOTFFontConversion.cpp, there many calls to the template function clampTo(). The first few of these calls, call the clampTo() from MathExtras.h. But the rest of these calls call the static clampTo() in SVGToOTFFontConversion.cpp:

// Assumption: T2 can hold every value that a T1 can hold.
template&lt;typename T1, typename T2&gt; static inline T1 clampTo(T2 x)
{
    x = std::min(x, static_cast&lt;T2&gt;(std::numeric_limits&lt;T1&gt;::max()));
    x = std::max(x, static_cast&lt;T2&gt;(std::numeric_limits&lt;T1&gt;::min()));
    return static_cast&lt;T1&gt;(x);
}

If we delete this function, all the calls in SVGToOTFFontConversion.cpp will be directed to the clampTo() in MathExtras.h. The results of the clampTo() in MathExtras.h will match the result of the deleted function expect one call which is the following:

append16(clampTo&lt;uint16_t&gt;(m_weight)); // Weight class

The reason is m_weight is char and the static clampTo() always returns 0 while the clampTo in MathExtras.h returns the m_weight casted to uint16_t. Here is the reason why the local clampTo() always returns 0.

1. std::numeric_limits&lt;uint16_t&gt;::min() is 0
2. std::numeric_limits&lt;uint16_t&gt;::max() is 65535
3. static_cast&lt;char&gt;(std::numeric_limits&lt;uint16_t&gt;::max()) is 255 or -1
4. std::min(x, static_cast&lt;char&gt;(std::numeric_limits&lt;uint16_t&gt;::max())) is -1 if x &gt;= 0, or x if x &lt; 0
5. std::max(x, static_cast&lt;char&gt;(std::numeric_limits&lt;uint16_t&gt;::min())) is 0 since x is always &lt; 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402363</commentid>
    <comment_count>1</comment_count>
      <attachid>334694</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-02-27 10:39:39 -0800</bug_when>
    <thetext>Created attachment 334694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402730</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-02-28 14:35:31 -0800</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #0)
&gt; append16(clampTo&lt;uint16_t&gt;(m_weight)); // Weight class
&gt; 
&gt; The reason is m_weight is char and the static clampTo() always returns 0
&gt; while the clampTo in MathExtras.h returns the m_weight casted to uint16_t.

If m_weight is char, then on most platforms we support it will be signed. So returning m_weight casted to uint16_t would be incorrect for negative numbers. Is that really an accurate description of what the MathExtras.h version of clampTo does? Casting to uint16_t would be fine for unsigned char, but not for signed char. And using &quot;char&quot; seems like a mistake.

Can we add unit test cases to make sure clampTo works correctly?

Can we fix the font code to not use &quot;char&quot; for a numeric value, since whether it is signed or not is platform-dependent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403516</commentid>
    <comment_count>3</comment_count>
      <attachid>334975</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-03-03 20:24:20 -0800</bug_when>
    <thetext>Created attachment 334975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403517</commentid>
    <comment_count>4</comment_count>
      <attachid>334975</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-03 21:19:17 -0800</bug_when>
    <thetext>Comment on attachment 334975
Patch

Clearing flags on attachment: 334975

Committed r229202: &lt;https://trac.webkit.org/changeset/229202&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403518</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-03 21:19:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403519</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-03 21:20:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/38111171&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403685</commentid>
    <comment_count>7</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-03-05 11:21:09 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; (In reply to Said Abou-Hallawa from comment #0)
&gt; &gt; append16(clampTo&lt;uint16_t&gt;(m_weight)); // Weight class
&gt; &gt; 
&gt; &gt; The reason is m_weight is char and the static clampTo() always returns 0
&gt; &gt; while the clampTo in MathExtras.h returns the m_weight casted to uint16_t.
&gt; 
&gt; If m_weight is char, then on most platforms we support it will be signed. So
&gt; returning m_weight casted to uint16_t would be incorrect for negative
&gt; numbers. Is that really an accurate description of what the MathExtras.h
&gt; version of clampTo does? Casting to uint16_t would be fine for unsigned
&gt; char, but not for signed char. And using &quot;char&quot; seems like a mistake.
&gt; 

I agree.

-- I think the deleted version of clampTo() does not work correctly when clamping from a shorter signed integer to a longer unsigned integer e.g. char to uint16_t.

-- The version of clampTo() in MathExtras.h does not work correctly when clamping from shorter signed integer to longer unsigned integer but only if the integer is negative.

&gt; Can we add unit test cases to make sure clampTo works correctly?
&gt; 

I think both the deleted version and the existing versions of clampTo() will work correctly if they are used for clamping and not for casting. I found this statement really difficult to read 

append16(clampTo&lt;uint16_t&gt;(m_weight));

I could not figure out the intent of the clamping here when I found out m_weight is char. But most likely this code is for casting. We want to cast from signed char to uint16_t. I think it is better off if we wrote this statement like this:

append16(static_cast&lt;uint16_t&gt;(m_weight));

Which also will do the wrong casting if m_weight is negative. So I think the problem is not in clampTo(). The problem is in the code in the statement above and the code in SVGToOTFFontConverter::appendOS2Table().

&gt; Can we fix the font code to not use &quot;char&quot; for a numeric value, since
&gt; whether it is signed or not is platform-dependent?

I am not very familiar with the SVG font conversion. My purpose of this patch was to overcome a compilation error I got when I deleted the file svg/SVGAnimatedType.cpp in https://bugs.webkit.org/show_bug.cgi?id=183017. Deleting this files caused SVGToOTFFontConversion.cpp to be moved with a unified source file which has MathExtras.h included. I am filed this bug https://bugs.webkit.org/show_bug.cgi?id=183339 but I do not know the right way to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403811</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-03-05 16:48:26 -0800</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #7)
&gt; -- The version of clampTo() in MathExtras.h does not work correctly when
&gt; clamping from shorter signed integer to longer unsigned integer but only if
&gt; the integer is negative.

Let’s add the test case for this to the unit tests.

&gt; I found this statement really difficult to read 
&gt; 
&gt; append16(clampTo&lt;uint16_t&gt;(m_weight));
&gt; 
&gt; I could not figure out the intent of the clamping here when I found out
&gt; m_weight is char. But most likely this code is for casting. We want to cast
&gt; from signed char to uint16_t.

That’s wrong.

The clampTo function is supposed to convert out of range values to minimum and maximum values as appropriate. So it should make negative values zero. 

We could also make it fail to compile at all if no clamping is needed, like “clamping” from uint8_t to uint16_t, but I think it would be less useful for template programming if we did that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334694</attachid>
            <date>2018-02-27 10:39:39 -0800</date>
            <delta_ts>2018-03-03 20:24:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183165-20180227103939.patch</filename>
            <type>text/plain</type>
            <size>8913</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTA2NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE4LTAyLTI3ICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsZXRlIGlu
Y29ycmVjdCB2ZXJzaW9uIG9mIGNsYW1wVG8oKSBmdW5jdGlvbiBmcm9tIFNWR1RvT1RGRm9udENv
bnZlcnNpb24uY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODMxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTb21lIG9mIHRoZSBjYWxscyBpbiBTVkdUb09URkZvbnRDb252ZXJzaW9uLmNwcCB3ZXJl
IGRpcmVjdGVkIHRvIHRoZSBmdW5jdGlvbgorICAgICAgICBpbiBNYXRoRXh0cmFzLmggd2hpbGUg
dGhlIHJlc3Qgd2VyZSBkaXJlY3RlZCB0byB0aGlzIGxvY2FsIHN0YXRpYyBmdW5jdGlvbi4KKyAg
ICAgICAgVGhlcmUgc2hvdWxkIG5vdCBiZSB0d28gdmVyc2lvbnMgd2l0aCB0aGUgc2FtZSBuYW1l
IHdoaWxlIHRoZXkgYXJlIHN1cHBvc2VkCisgICAgICAgIHRvIGRvIHRoZSBzYW1lIHRoaW5nLiBC
ZXNpZGVzLCB0aGUgbG9jYWwgdmVyc2lvbiBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseQorICAgICAg
ICBpZiB0aGUgdHlwZSBvZiB0aGUgYXJndW1lbnQncyBtYXggbGltaXQgaXMgbGVzcyB0aGUgbWF4
IGxpbWl0IG9mIHRoZSByZXR1cm5lZAorICAgICAgICB0eXBlLCBlLmcuIGNoYXIgLT4gdWludDE2
X3QuCisKKyAgICAgICAgKiBzdmcvU1ZHVG9PVEZGb250Q29udmVyc2lvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjbGFtcFRvKTogRGVsZXRlZC4KKwogMjAxOC0wMi0yNyAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbRXh0cmEgem9vbSBtb2RlXSBJ
bXBsZW1lbnQgYWRkaXRpb25hbCBTUEkgZm9yIGFkanVzdGluZyB2aWV3cG9ydCBzaHJpbmstdG8t
Zml0IGJlaGF2aW9yCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVG9PVEZGb250Q29udmVy
c2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RvT1RGRm9udENv
bnZlcnNpb24uY3BwCShyZXZpc2lvbiAyMjkwMzEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VG9PVEZGb250Q29udmVyc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyMSwxNCArNDIxLDYg
QEAgdm9pZCBTVkdUb09URkZvbnRDb252ZXJ0ZXI6OmFwcGVuZEhFQURUYQogICAgIGFwcGVuZDE2
KDApOyAvLyBHbHlwaCBkYXRhIGZvcm1hdAogfQogCi0vLyBBc3N1bXB0aW9uOiBUMiBjYW4gaG9s
ZCBldmVyeSB2YWx1ZSB0aGF0IGEgVDEgY2FuIGhvbGQuCi10ZW1wbGF0ZTx0eXBlbmFtZSBUMSwg
dHlwZW5hbWUgVDI+IHN0YXRpYyBpbmxpbmUgVDEgY2xhbXBUbyhUMiB4KQotewotICAgIHggPSBz
dGQ6Om1pbih4LCBzdGF0aWNfY2FzdDxUMj4oc3RkOjpudW1lcmljX2xpbWl0czxUMT46Om1heCgp
KSk7Ci0gICAgeCA9IHN0ZDo6bWF4KHgsIHN0YXRpY19jYXN0PFQyPihzdGQ6Om51bWVyaWNfbGlt
aXRzPFQxPjo6bWluKCkpKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VDE+KHgpOwotfQotCiB2
b2lkIFNWR1RvT1RGRm9udENvbnZlcnRlcjo6YXBwZW5kSEhFQVRhYmxlKCkKIHsKICAgICBhcHBl
bmQzMigweDAwMDEwMDAwKTsgLy8gVmVyc2lvbgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjI5MDMxKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTgtMDItMjcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4K
KworICAgICAgICBEZWxldGUgaW5jb3JyZWN0IHZlcnNpb24gb2YgY2xhbXBUbygpIGZ1bmN0aW9u
IGZyb20gU1ZHVG9PVEZGb250Q29udmVyc2lvbi5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlLWJhc2VsaW5lIHRoZSByZXN1bHRzIG9mIHRoZXNl
IHR3byB0ZXN0cyBzaW5jZSB0aGUgbG9jYWwgdmVyc2lvbiBvZgorICAgICAgICBjbGFtcFRvKCkg
d2FzIG5vdCByZXR1cm5pbmcgdGhlIGV4cGVjdGVkIHJlc3VsdHMgYWx3YXlzLgorCisgICAgICAg
ICogcGxhdGZvcm0vaW9zL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LWFsdGdseXBoLTAxLWItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9zdmcvdGV4dC90ZXh0LWFsdGdseXBoLTAx
LWItZXhwZWN0ZWQudHh0OgorCiAyMDE4LTAyLTI2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjI2NzQ1
LgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LWFs
dGdseXBoLTAxLWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9zdmcvVzNDLVNWRy0xLjEvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjI5MDMxKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9XM0MtU1ZH
LTEuMS90ZXh0LWFsdGdseXBoLTAxLWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
MSwyNiArMTEsMjYgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAxIGF0ICg1LjAwLDkwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAz
MiB3aWR0aCA0NjAuMjE6ICJhbmQgbWFueS10by1tYW55IGNoYXJzIHRvIGdseXBocyIKICAgICAg
IFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ1LDEyNSkgc2l6ZSA0Mjh4MTY1Ci0gICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxNDAsMTMwKSBzaXplIDE5Mng3NSBjb250YWlucyAx
IGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxNDAsMTMwKSBzaXpl
IDE5OXg3NSBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge2Fs
dEdseXBofSBhdCAoMCwwKSBzaXplIDQ0eDc1CiAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NHg3NQotICAgICAgICAgICAgICBjaHVuayAxIHRl
eHQgcnVuIDEgYXQgKDE0MC4wMCwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lk
dGggNDMuMzI6ICJIIgorICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDE0MC4w
MCwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggNDMuMzM6ICJIIgogICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAg
ICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSAzOHg3NQogICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0MywwKSBzaXplIDM4eDc1
Ci0gICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTgzLjMyLDE5MC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAzNy41MDogIkEiCisgICAgICAgICAgICAgIGNo
dW5rIDEgdGV4dCBydW4gMSBhdCAoMTgzLjMzLDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZz
ZXQgMSB3aWR0aCAzNy41MDogIkEiCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEdseXBo
fSBhdCAoMCwwKSBzaXplIDM4eDc1Ci0gICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDgwLDApIHNpemUgMzd4NzUKLSAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1
biAxIGF0ICgyMjAuODIsMTkwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDM2
LjY2OiAiUCIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7YWx0R2x5cGh9IGF0ICgwLDApIHNp
emUgNDF4NzUKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODAs
MCkgc2l6ZSA0MXg3NQorICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIyMC44
MywxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggNDAuMDI6ICJQIgogICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSAzOHg3NQotICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMTcsMCkgc2l6ZSAzN3g3
NQotICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI1Ny40OCwxOTAuMDApIHN0
YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzYuNjY6ICJQIgorICAgICAgICAgIFJlbmRl
clNWR1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSA0MXg3NQorICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMjAsMCkgc2l6ZSA0MXg3NQorICAgICAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI2MC44NSwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDEgd2lkdGggNDAuMDI6ICJQIgogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHth
bHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSAzOHg3NQotICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgxNTQsMCkgc2l6ZSAzOHg3NQotICAgICAgICAgICAgICBjaHVuayAx
IHRleHQgcnVuIDEgYXQgKDI5NC4xNCwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEg
d2lkdGggMzcuNTA6ICJZIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQg
KDAsMCkgc2l6ZSAzOXg3NQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgxNjAsMCkgc2l6ZSAzOHg3NQorICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEg
YXQgKDMwMC44NywxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzcuNTA6
ICJZIgogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsMjEwKSBzaXplIDExM3g3
NSBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEdseXBo
fSBhdCAoMCwwKSBzaXplIDM4eDc1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3Zn
L3RleHQvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL3RleHQvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjI5MDMxKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy90
ZXh0L3RleHQtYWx0Z2x5cGgtMDEtYi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEx
LDI2ICsxMSwyNiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDUuMDAsOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMy
IHdpZHRoIDQ2MC4yMTogImFuZCBtYW55LXRvLW1hbnkgY2hhcnMgdG8gZ2x5cGhzIgogICAgICAg
UmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNzUsMjA4KSBzaXplIDcxM3gyNzYKLSAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDE0MCwxMzApIHNpemUgMTkyeDc1IGNvbnRhaW5zIDEg
Y2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDE0MCwxMzApIHNpemUg
MTk5eDc1IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7YWx0
R2x5cGh9IGF0ICgwLDApIHNpemUgNDR4NzUKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ0eDc1Ci0gICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMTQwLjAwLDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0
aCA0My4zMjogIkgiCisgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTQwLjAw
LDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCA0My4zMzogIkgiCiAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAg
ICAgICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDM4eDc1CiAgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQzLDApIHNpemUgMzh4NzUK
LSAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxODMuMzIsMTkwLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDM3LjUwOiAiQSIKKyAgICAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAxIGF0ICgxODMuMzMsMTkwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNl
dCAxIHdpZHRoIDM3LjUwOiAiQSIKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7YWx0R2x5cGh9
IGF0ICgwLDApIHNpemUgMzh4NzUKLSAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoODAsMCkgc2l6ZSAzN3g3NQotICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVu
IDEgYXQgKDIyMC44MiwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzYu
NjY6ICJQIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6
ZSA0MXg3NQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4MCww
KSBzaXplIDQxeDc1CisgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjIwLjgz
LDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCA0MC4wMjogIlAiCiAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAg
ICAgICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDM4eDc1Ci0gICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDExNywwKSBzaXplIDM3eDc1
Ci0gICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjU3LjQ4LDE5MC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAzNi42NjogIlAiCisgICAgICAgICAgUmVuZGVy
U1ZHVFNwYW4ge2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDQxeDc1CisgICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEyMCwwKSBzaXplIDQxeDc1CisgICAgICAgICAg
ICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjYwLjg1LDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMSB3aWR0aCA0MC4wMjogIlAiCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge2Fs
dEdseXBofSBhdCAoMCwwKSBzaXplIDM4eDc1Ci0gICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDE1NCwwKSBzaXplIDM4eDc1Ci0gICAgICAgICAgICAgIGNodW5rIDEg
dGV4dCBydW4gMSBhdCAoMjk0LjE0LDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3
aWR0aCAzNy41MDogIlkiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEdseXBofSBhdCAo
MCwwKSBzaXplIDM5eDc1CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDE2MCwwKSBzaXplIDM4eDc1CisgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMzAwLjg3LDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAzNy41MDog
IlkiCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1MCwyMTApIHNpemUgMTEzeDc1
IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7YWx0R2x5cGh9
IGF0ICgwLDApIHNpemUgMzh4NzUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334975</attachid>
            <date>2018-03-03 20:24:20 -0800</date>
            <delta_ts>2018-03-03 21:19:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183165-20180303202419.patch</filename>
            <type>text/plain</type>
            <size>8922</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTIwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE4LTAzLTAzICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsZXRlIGlu
Y29ycmVjdCB2ZXJzaW9uIG9mIGNsYW1wVG8oKSBmdW5jdGlvbiBmcm9tIFNWR1RvT1RGRm9udENv
bnZlcnNpb24uY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODMxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBTb21lIG9mIHRoZSBjYWxscyBpbiBTVkdUb09URkZvbnRDb252ZXJzaW9uLmNwcCB3ZXJlIGRp
cmVjdGVkIHRvIHRoZSBmdW5jdGlvbgorICAgICAgICBpbiBNYXRoRXh0cmFzLmggd2hpbGUgdGhl
IHJlc3Qgd2VyZSBkaXJlY3RlZCB0byB0aGlzIGxvY2FsIHN0YXRpYyBmdW5jdGlvbi4KKyAgICAg
ICAgVGhlcmUgc2hvdWxkIG5vdCBiZSB0d28gdmVyc2lvbnMgd2l0aCB0aGUgc2FtZSBuYW1lIHdo
aWxlIHRoZXkgYXJlIHN1cHBvc2VkCisgICAgICAgIHRvIGRvIHRoZSBzYW1lIHRoaW5nLiBCZXNp
ZGVzLCB0aGUgbG9jYWwgdmVyc2lvbiBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseQorICAgICAgICBp
ZiB0aGUgdHlwZSBvZiB0aGUgYXJndW1lbnQncyBtYXggbGltaXQgaXMgbGVzcyB0aGUgbWF4IGxp
bWl0IG9mIHRoZSByZXR1cm5lZAorICAgICAgICB0eXBlLCBlLmcuIGNoYXIgLT4gdWludDE2X3Qu
CisKKyAgICAgICAgKiBzdmcvU1ZHVG9PVEZGb250Q29udmVyc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjbGFtcFRvKTogRGVsZXRlZC4KKwogMjAxOC0wMy0wMyAgWmFsYW4gQnVqdGFzICA8
emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVpbGRlcl0gTW92ZSBzdHls
ZURpZENoYW5nZSBtdXRhdGlvbiBsb2dpYyB0byBSZW5kZXJUcmVlVXBkYXRlcgpJbmRleDogU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RvT1RGRm9udENvbnZlcnNpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUb09URkZvbnRDb252ZXJzaW9uLmNwcAkocmV2aXNpb24g
MjI5MjAxKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RvT1RGRm9udENvbnZlcnNpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MjEsMTQgKzQyMSw2IEBAIHZvaWQgU1ZHVG9PVEZGb250Q29u
dmVydGVyOjphcHBlbmRIRUFEVGEKICAgICBhcHBlbmQxNigwKTsgLy8gR2x5cGggZGF0YSBmb3Jt
YXQKIH0KIAotLy8gQXNzdW1wdGlvbjogVDIgY2FuIGhvbGQgZXZlcnkgdmFsdWUgdGhhdCBhIFQx
IGNhbiBob2xkLgotdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyPiBzdGF0aWMgaW5s
aW5lIFQxIGNsYW1wVG8oVDIgeCkKLXsKLSAgICB4ID0gc3RkOjptaW4oeCwgc3RhdGljX2Nhc3Q8
VDI+KHN0ZDo6bnVtZXJpY19saW1pdHM8VDE+OjptYXgoKSkpOwotICAgIHggPSBzdGQ6Om1heCh4
LCBzdGF0aWNfY2FzdDxUMj4oc3RkOjpudW1lcmljX2xpbWl0czxUMT46Om1pbigpKSk7Ci0gICAg
cmV0dXJuIHN0YXRpY19jYXN0PFQxPih4KTsKLX0KLQogdm9pZCBTVkdUb09URkZvbnRDb252ZXJ0
ZXI6OmFwcGVuZEhIRUFUYWJsZSgpCiB7CiAgICAgYXBwZW5kMzIoMHgwMDAxMDAwMCk7IC8vIFZl
cnNpb24KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTIwMSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE4LTAzLTAzICBTYWlkIEFib3Ut
SGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsZXRlIGluY29y
cmVjdCB2ZXJzaW9uIG9mIGNsYW1wVG8oKSBmdW5jdGlvbiBmcm9tIFNWR1RvT1RGRm9udENvbnZl
cnNpb24uY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODMxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBS
ZS1iYXNlbGluZSB0aGUgcmVzdWx0cyBvZiB0aGVzZSB0d28gdGVzdHMgc2luY2UgdGhlIGxvY2Fs
IHZlcnNpb24gb2YKKyAgICAgICAgY2xhbXBUbygpIHdhcyBub3QgcmV0dXJuaW5nIHRoZSBleHBl
Y3RlZCByZXN1bHRzIGFsd2F5cy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9zdmcvVzNDLVNW
Ry0xLjEvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mvc3ZnL3RleHQvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnR4dDoKKwogMjAxOC0w
My0wMyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZW5kZXJU
cmVlQnVpbGRlcl0gTW92ZSBzdHlsZURpZENoYW5nZSBtdXRhdGlvbiBsb2dpYyB0byBSZW5kZXJU
cmVlVXBkYXRlcgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2Zy9XM0MtU1ZHLTEu
MS90ZXh0LWFsdGdseXBoLTAxLWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9zdmcvVzNDLVNWRy0xLjEvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMjI5MjAxKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL3N2
Zy9XM0MtU1ZHLTEuMS90ZXh0LWFsdGdseXBoLTAxLWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xMSwyNiArMTEsMjYgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg1LjAwLDkwLjAwKSBzdGFydE9mZnNldCAwIGVu
ZE9mZnNldCAzMiB3aWR0aCA0NjAuMjE6ICJhbmQgbWFueS10by1tYW55IGNoYXJzIHRvIGdseXBo
cyIKICAgICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAw
eDAKICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ1LDEyNSkgc2l6ZSA0Mjh4MTY1
Ci0gICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxNDAsMTMwKSBzaXplIDE5Mng3NSBj
b250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxNDAs
MTMwKSBzaXplIDE5OXg3NSBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZH
VFNwYW4ge2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDQ0eDc1CiAgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NHg3NQotICAgICAgICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDEgYXQgKDE0MC4wMCwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDEgd2lkdGggNDMuMzI6ICJIIgorICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEg
YXQgKDE0MC4wMCwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggNDMuMzM6
ICJIIgogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAogICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSAz
OHg3NQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg0MywwKSBz
aXplIDM4eDc1Ci0gICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTgzLjMyLDE5
MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAzNy41MDogIkEiCisgICAgICAg
ICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTgzLjMzLDE5MC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMSB3aWR0aCAzNy41MDogIkEiCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZHVFNwYW4g
e2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDM4eDc1Ci0gICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDgwLDApIHNpemUgMzd4NzUKLSAgICAgICAgICAgICAgY2h1bmsg
MSB0ZXh0IHJ1biAxIGF0ICgyMjAuODIsMTkwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAx
IHdpZHRoIDM2LjY2OiAiUCIKKyAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7YWx0R2x5cGh9IGF0
ICgwLDApIHNpemUgNDF4NzUKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoODAsMCkgc2l6ZSA0MXg3NQorICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEg
YXQgKDIyMC44MywxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggNDAuMDI6
ICJQIgogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAotICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSAz
OHg3NQotICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMTcsMCkg
c2l6ZSAzN3g3NQotICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI1Ny40OCwx
OTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzYuNjY6ICJQIgorICAgICAg
ICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSA0MXg3NQorICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxMjAsMCkgc2l6ZSA0MXg3NQor
ICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI2MC44NSwxOTAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggNDAuMDI6ICJQIgogICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgICAgIFJlbmRlclNW
R1RTcGFuIHthbHRHbHlwaH0gYXQgKDAsMCkgc2l6ZSAzOHg3NQotICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxNTQsMCkgc2l6ZSAzOHg3NQotICAgICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI5NC4xNCwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDEgd2lkdGggMzcuNTA6ICJZIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRH
bHlwaH0gYXQgKDAsMCkgc2l6ZSAzOXg3NQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgxNjAsMCkgc2l6ZSAzOHg3NQorICAgICAgICAgICAgICBjaHVuayAxIHRl
eHQgcnVuIDEgYXQgKDMwMC44NywxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lk
dGggMzcuNTA6ICJZIgogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsMjEwKSBz
aXplIDExM3g3NSBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4g
e2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDM4eDc1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mvc3ZnL3RleHQvdGV4dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mvc3ZnL3RleHQvdGV4dC1hbHRnbHlwaC0wMS1i
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjI5MjAxKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL3N2Zy90ZXh0L3RleHQtYWx0Z2x5cGgtMDEtYi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTExLDI2ICsxMSwyNiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDUuMDAsOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDMyIHdpZHRoIDQ2MC4yMTogImFuZCBtYW55LXRvLW1hbnkgY2hhcnMgdG8gZ2x5cGhz
IgogICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4
MAogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNzUsMjA4KSBzaXplIDcxM3gyNzYK
LSAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDE0MCwxMzApIHNpemUgMTkyeDc1IGNv
bnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDE0MCwx
MzApIHNpemUgMTk5eDc1IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdU
U3BhbiB7YWx0R2x5cGh9IGF0ICgwLDApIHNpemUgNDR4NzUKICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ0eDc1Ci0gICAgICAgICAgICAgIGNo
dW5rIDEgdGV4dCBydW4gMSBhdCAoMTQwLjAwLDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZz
ZXQgMSB3aWR0aCA0My4zMjogIkgiCisgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMTQwLjAwLDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCA0My4zMzog
IkgiCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiAgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDM4
eDc1CiAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDQzLDApIHNp
emUgMzh4NzUKLSAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxODMuMzIsMTkw
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDM3LjUwOiAiQSIKKyAgICAgICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxODMuMzMsMTkwLjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAxIHdpZHRoIDM3LjUwOiAiQSIKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7
YWx0R2x5cGh9IGF0ICgwLDApIHNpemUgMzh4NzUKLSAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoODAsMCkgc2l6ZSAzN3g3NQotICAgICAgICAgICAgICBjaHVuayAx
IHRleHQgcnVuIDEgYXQgKDIyMC44MiwxOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEg
d2lkdGggMzYuNjY6ICJQIgorICAgICAgICAgIFJlbmRlclNWR1RTcGFuIHthbHRHbHlwaH0gYXQg
KDAsMCkgc2l6ZSA0MXg3NQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICg4MCwwKSBzaXplIDQxeDc1CisgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMjIwLjgzLDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCA0MC4wMjog
IlAiCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCi0gICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDM4
eDc1Ci0gICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDExNywwKSBz
aXplIDM3eDc1Ci0gICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjU3LjQ4LDE5
MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAzNi42NjogIlAiCisgICAgICAg
ICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDQxeDc1CisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDEyMCwwKSBzaXplIDQxeDc1Cisg
ICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjYwLjg1LDE5MC4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCA0MC4wMjogIlAiCiAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICAgICAgUmVuZGVyU1ZH
VFNwYW4ge2FsdEdseXBofSBhdCAoMCwwKSBzaXplIDM4eDc1Ci0gICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE1NCwwKSBzaXplIDM4eDc1Ci0gICAgICAgICAgICAg
IGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjk0LjE0LDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMSB3aWR0aCAzNy41MDogIlkiCisgICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge2FsdEds
eXBofSBhdCAoMCwwKSBzaXplIDM5eDc1CisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDE2MCwwKSBzaXplIDM4eDc1CisgICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMzAwLjg3LDE5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0
aCAzNy41MDogIlkiCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1MCwyMTApIHNp
emUgMTEzeDc1IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdUU3BhbiB7
YWx0R2x5cGh9IGF0ICgwLDApIHNpemUgMzh4NzUK
</data>

          </attachment>
      

    </bug>

</bugzilla>