<?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>74286</bug_id>
          
          <creation_ts>2011-12-12 04:03:39 -0800</creation_ts>
          <short_desc>[Chromium] Use decoding swizzle only on libjpeg-turbo 1.1.90+</short_desc>
          <delta_ts>2012-01-30 22:41:31 -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>Images</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>76881</dependson>
          <blocked>59670</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hironori Bono">hbono</reporter>
          <assigned_to name="noel gordon">noel.gordon</assigned_to>
          <cc>dcommander</cc>
    
    <cc>floppymaster</cc>
    
    <cc>kbr</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>phajdan.jr</cc>
    
    <cc>pkasting</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>519127</commentid>
    <comment_count>0</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2011-12-12 04:03:39 -0800</bug_when>
    <thetext>(Copied from &lt;http://crbug.com/106954&gt;.)

Chrome Version       17.0.963.0 and 17.0.963.2 (Dev Channel)
URLs (if applicable) : all pages with contains images 
Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
Safari 5:
Firefox 4.x:
IE 7/8/9:

What steps will reproduce the problem?
1. open chromium in start page (all thumbails fail render)
2. go to all webpages (whatever, whichever is)
3. view images

What is the expected result?
render JPEG images in any pages

What happens instead?

this

http://wstaw.org/m/2011/12/09/plasma-desktopX20437.png
http://wstaw.org/m/2011/12/09/plasma-desktopOG6636.png http://wstaw.org/m/2011/12/09/plasma-desktopgO6636.png
http://wstaw.org/m/2011/12/09/plasma-desktopW20437.png
http://wstaw.org/m/2011/12/09/plasma-desktopp20437.png

Please provide any additional information below. Attach a screenshot if
possible.

system archlinux 64bits.

build with:

GYP_DEFINES=gcc_version=46 werror= no_strict_aliasing=1 linux_sandbox_path=/usr/lib/chromium-dev/chromium-sandbox linux_sandbox_chrome_path=/usr/lib/chromium-dev/chromium release_extra_cflags=-march=x86-64 -mtune=native -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 disable_nacl=1 use_system_ffmpeg=0 build_ffmpegsumo=1 proprietary_codecs=1 use_system_vpx=1 use_system_speex=1 use_system_libxslt=1 use_system_libxml=1 use_system_bzip2=1 use_system_zlib=1 use_system_libjpeg=1 use_system_libpng=1 use_system_yasm=1 use_system_libevent=1 use_system_icu=0 use_system_ssl=0 use_pulseaudio=1 use_gconf=0 use_gnome_keyring=0 linux_link_gnome_keyring=0 target_arch=x64  linux_strip_binary=1 remove_webcore_debug_symbols=1

libjpeg-turbo 1.1.1-3 (latest update: 2011-06-26) (install by the distro [extra] repository)

up to 17.0.963.0, work with external libjpeg libs

when use internal (use_system_libjpeg=0) with latest version of chromium Dev-Channel the render JPEG images works without problem

in compile time don&apos;t show any error

greetings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519129</commentid>
    <comment_count>1</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2011-12-12 04:06:25 -0800</bug_when>
    <thetext>Greetings Noel,

Unfortunately, the decoding swizzle code (introduced by WebKit r101286 &lt;http://trac.webkit.org/changeset/101286&gt;) works only on libjpeg-turbo 1.1.90 or later. Is it possible to avoid using your swizzle code when we build Chromium with a USE_SYSTEM_JPEG macro, i.e. OS(CHROMIUM) &amp;&amp; defined(USE_SYSTEM_JPEG)?

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519384</commentid>
    <comment_count>2</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-12-12 12:46:20 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Unfortunately, the decoding swizzle code (introduced by WebKit r101286 &lt;http://trac.webkit.org/changeset/101286&gt;) works only on libjpeg-turbo 1.1.90 or later. Is it possible to avoid using your swizzle code when we build Chromium with a USE_SYSTEM_JPEG macro, i.e. OS(CHROMIUM) &amp;&amp; defined(USE_SYSTEM_JPEG)?

Is there any way to query the libjpeg-turbo version, either via macros, or in some sort of package configure script that can then set the appropriate Chrome build options?

I kind of dislike turning this off for all &quot;use system libraries&quot; cases because then even systems with more recent libraries miss out on the optimization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519959</commentid>
    <comment_count>3</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2011-12-13 01:43:31 -0800</bug_when>
    <thetext>Greetings Peter,

Many thanks for your comments.

(In reply to comment #2)
&gt; Is there any way to query the libjpeg-turbo version, either via macros, or in some sort of package configure script that can then set the appropriate Chrome build options?

Unfortunately, I cannot find any macros representing the version in the (original) source code of libjpeg-turbo. I will file a feature request for it.

&gt; I kind of dislike turning this off for all &quot;use system libraries&quot; cases because then even systems with more recent libraries miss out on the optimization.

It makes sense. I have focused on the &quot;use_system_jpeg=1&quot; option too much even though this bug name is &quot;Use decoding swizzle only on libjpeg-turbo 1.1.90+&quot;.

Until libjpeg-turbo adds its version number, should we enable this swizzle code for performance or disable it for compatibility with existing libjpeg-turbo?

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519966</commentid>
    <comment_count>4</comment_count>
    <who name="Paweł Hajdan, Jr.">phajdan.jr</who>
    <bug_when>2011-12-13 02:08:03 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Is there any way to query the libjpeg-turbo version, either via macros,
&gt; or in some sort of package configure script that can then set the appropriate Chrome build options?

Note that it&apos;s not just about compile-time compatibility. It should be possible to compile against libjpeg-turbo and then use vanilla libjpeg at run-time without problems.

Currently it&apos;s not the case, see https://bugs.gentoo.org/show_bug.cgi?id=393471#c3 and the next comment on that bug.

The fix for this should allow the users to use any of libjpeg, libjpeg-turbo at run time and get correct rendering.

&gt; I kind of dislike turning this off for all &quot;use system libraries&quot; cases because then
&gt; even systems with more recent libraries miss out on the optimization.

Arguably correctness is more important than performance. I don&apos;t find fast and broken rendering very useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519988</commentid>
    <comment_count>5</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2011-12-13 02:45:09 -0800</bug_when>
    <thetext>Greetings,

I should have written the background of this issue in details.

(In reply to comment #4)
&gt; Arguably correctness is more important than performance. I don&apos;t find fast and broken rendering very useful.

I assume we all think correctness is important. I think Peter just likes to find possible options that we can provide the performance gain provided by libjpeg-turbo 1.1.90+ on all platforms that have it installed. (JPEGImageDecoder.cpp is used not only for Chromium but also for all WebKit-based browsers.)
Unfortunately, as written in my comment, we do not have good options to satisfy his request for now and we need to find good alternatives, such as:
* Disable the swizzle code on all platforms:
* Enable the swizzle code only when we compile WebKit with a USE() macro;
* Enable the swizzle code only when we compile WebKit with use_system_jpeg=0.
Since each option has both advantages and disadvantages, I would like to hear your thoughts.

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520183</commentid>
    <comment_count>6</comment_count>
    <who name="Mike Gilbert">floppymaster</who>
    <bug_when>2011-12-13 10:49:57 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; * Enable the swizzle code only when we compile WebKit with a USE() macro;

This seems like the most flexible option to me.

Over in Gentoo land, we could introduce a portage use flag that would translate into a gyp definition and enable or disable the &quot;swizzle&quot; code explicitly.

This would also allow us to add libjpeg-turbo as an optional dependency; if the user enables the use flag, we hard depend on libjpeg-turbo. If they disable it, we depend on either libjpeg or libjpeg-turbo.

Other distros could make the decision when they build packages.

Just my 2 cents as a user and a Gentoo dev. Hopefully Pawel agrees with me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520765</commentid>
    <comment_count>7</comment_count>
    <who name="Paweł Hajdan, Jr.">phajdan.jr</who>
    <bug_when>2011-12-14 00:52:43 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; JPEGImageDecoder.cpp is used not only for Chromium but also for all WebKit-based browsers.

Just wait for all those WebKit-based browsers used in the Linux land to hit the same problem. They just update WebKit much more rarely than Chromium does. I&apos;m pretty sure they&apos;d be affected in the same way.

&gt; Unfortunately, as written in my comment, we do not have good
&gt; options to satisfy his request for now and we need to find good alternatives, such as:
&gt; * Disable the swizzle code on all platforms:
&gt; * Enable the swizzle code only when we compile WebKit with a USE() macro;
&gt; * Enable the swizzle code only when we compile WebKit with use_system_jpeg=0.

Provided we get -DUSE_SYSTEM_LIBJPEG in that WebKit file when -Duse_system_jpeg=1 is passed (I haven&apos;t checked that, and it&apos;s obviously fixable by ensuring proper gyp dependencies are in place).

For me, all of those options are fine. You probably want something that&apos;d make it enabled for Google Chrome, so my best bet is a USE() macro, controlled by use_system_jpeg on the Chrome side.

(In reply to comment #6)
&gt; Over in Gentoo land, we could introduce a portage use flag
&gt; that would translate into a gyp definition and enable or disable the &quot;swizzle&quot; code explicitly.

Note: I&apos;m not enthusiastic about such a flag. IMO it&apos;s an unnecessary complication.

&gt; Other distros could make the decision when they build packages.

Sounds good. In Gentoo though I&apos;d _probably_ prefer to have the swizzle code off, until the vanilla libjpeg also supports it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529903</commentid>
    <comment_count>8</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2012-01-04 17:36:50 -0800</bug_when>
    <thetext>Greetings,

I&apos;m a little out-of-sync due to vacation.

(In reply to comment #7)
&gt; Provided we get -DUSE_SYSTEM_LIBJPEG in that WebKit file when -Duse_system_jpeg=1 is passed (I haven&apos;t checked that, and it&apos;s obviously fixable by ensuring proper gyp dependencies are in place).

Oops, I forgot describing about the USE(SYSTEM_LIBJPEG) macro. (I assumed everyone had knowledge about WebKit macros.) As listed in its definition (copied from Platform.h), USE(SYSTEM_LIBJPEG) becomes 1 when we have a &apos;-DWTF_USE_SYSTEM_LIBJPEG=1&apos; flag.

#define USE(WTF_FEATURE) (defined WTF_USE_##WTF_FEATURE &amp;&amp; WTF_USE_##WTF_FEATURE)

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532865</commentid>
    <comment_count>9</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2012-01-10 00:38:12 -0800</bug_when>
    <thetext>Greetings,

I have finally caught up with the discussion in &lt;https://bugs.gentoo.org/show_bug.cgi?id=393471&gt;. As written in this discussion libjpeg-turbo now adds new colorspace extensions (JCS_EXT_RGBA, JCS_EXT_ARGB, etc.) so we can check if libjpeg-turbo can fill alpha values with 0xFF. So, can we use these extensions and use swizzling only when we can use these new extensions?

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543788</commentid>
    <comment_count>10</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-26 20:47:35 -0800</bug_when>
    <thetext>Detecting JCS_ALPHA_EXTENSIONS should be enough to test for a modern libjpeg-turbo I believe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543818</commentid>
    <comment_count>11</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-26 21:35:01 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Detecting JCS_ALPHA_EXTENSIONS should be enough to test for a modern libjpeg-turbo I believe.

And that was added at r732
  http://libjpeg-turbo.svn.sourceforge.net/viewvc/libjpeg-turbo/trunk/jpeglib.h?r1=732&amp;r2=731&amp;pathrev=732

And bug 76881 updates libjpeg-turbo to r733.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543821</commentid>
    <comment_count>12</comment_count>
      <attachid>124255</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-26 21:44:25 -0800</bug_when>
    <thetext>Created attachment 124255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544156</commentid>
    <comment_count>13</comment_count>
      <attachid>124255</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-27 10:16:42 -0800</bug_when>
    <thetext>Comment on attachment 124255
Patch

Looks fine assuming it compiles and runs. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544764</commentid>
    <comment_count>14</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-29 14:23:50 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; Is there any way to query the libjpeg-turbo version, either via macros,
&gt; &gt; or in some sort of package configure script that can then set the appropriate Chrome build options?
&gt; 
&gt; Note that it&apos;s not just about compile-time compatibility. It should be possible to compile against libjpeg-turbo and then use vanilla libjpeg at run-time without problems.
&gt; 
&gt; Currently it&apos;s not the case, see https://bugs.gentoo.org/show_bug.cgi?id=393471#c3 and the next comment on that bug.
&gt; 
&gt; The fix for this should allow the users to use any of libjpeg, libjpeg-turbo at run time and get correct rendering.

Simple rule: if you build against libjpeg-x for any x including turbo, then you should run against libjpeg-x.  There is a cautionary note about this in the libjpeg.txt|.doc included in libjpeg distributions.
https://bugs.gentoo.org/show_bug.cgi?id=393471#c3 shows what happens when you ignore that cautionary note (broken rendering, or no jpeg at all).  The rule is not specific to libjpeg-turbo; it applies to all libjpeg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544765</commentid>
    <comment_count>15</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-29 14:25:55 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 124255 [details])
&gt; Looks fine assuming it compiles and runs. r=me

Compiles, runs, and the relevant tests look good to me.  Submitting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544768</commentid>
    <comment_count>16</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2012-01-29 15:19:36 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; Detecting JCS_ALPHA_EXTENSIONS should be enough to test for a modern libjpeg-turbo I believe.
&gt; 
&gt; And that was added at r732
&gt;   http://libjpeg-turbo.svn.sourceforge.net/viewvc/libjpeg-turbo/trunk/jpeglib.h?r1=732&amp;r2=731&amp;pathrev=732
&gt; 
&gt; And bug 76881 updates libjpeg-turbo to r733.

I note that the libjpeg-turbo GenToo currently uses is buggy and contains a security flaw.  Consider upgrading to r729+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544791</commentid>
    <comment_count>17</comment_count>
      <attachid>124255</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-29 16:00:02 -0800</bug_when>
    <thetext>Comment on attachment 124255
Patch

Clearing flags on attachment: 124255

Committed r106203: &lt;http://trac.webkit.org/changeset/106203&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544792</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-29 16:00:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545796</commentid>
    <comment_count>19</comment_count>
    <who name="DRC">dcommander</who>
    <bug_when>2012-01-30 22:41:31 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Simple rule: if you build against libjpeg-x for any x including turbo, then you should run against libjpeg-x.  There is a cautionary note about this in the libjpeg.txt|.doc included in libjpeg distributions.
&gt; https://bugs.gentoo.org/show_bug.cgi?id=393471#c3 shows what happens when you ignore that cautionary note (broken rendering, or no jpeg at all).  The rule is not specific to libjpeg-turbo; it applies to all libjpeg.

Even though it looks like you guys have resolved this issue, I wanted to add a general comment for posterity regarding API/ABI compatibility, which is basically what this issue boils down to.  The warning you parsed from libjpeg.txt is from the Thomas Lane days and has remained unchanged since at least jpeg-6b (1998.)  What it&apos;s basically saying is:  the libjpeg API/ABI exposes all of its configuration structures, and thus if the IJG has to add features to libjpeg, these new features may render the API/ABI backward-incompatible with previous releases.  That is exactly what happened with jpeg-7, and again with jpeg-8.

This is why libjpeg-turbo emulates all three of those API/ABIs.  If you are building libjpeg-turbo with (for instance) jpeg-6b emulation, it should effectively work as a drop-in replacement for jpeg-6b.  jpeg-7 and jpeg-8, similarly, except that a couple of features of jpeg-7 and jpeg-8 (DCT scaling and fancy downsampling in the compressor) are not supported, and those parameters are silently ignored if passed to libjpeg-turbo (irrelevant in your case, since you&apos;re using libjpeg-turbo in a web browser.)

When building as a shared library on Linux, all of the symbols are versioned, which should prevent an application from using a shared library that exports a different version of the libjpeg API/ABI from the one against which the application was linked.

In short, there should be no danger with interchanging libjpeg-turbo at run time with a version of libjpeg that exports the same API/ABI.  The only potential problem involves the colorspace extensions, and jcstest.c in the libjpeg-turbo source shows how to detect their presence at run time.  This allows applications that were built against libjpeg-turbo to safely fall back or to generate an error if the application dynamic links against libjpeg at run time.

Anyhow, the above scenario may be rare enough to not warrant consideration, but I mainly wanted to document that it is technically feasible to swap libjpeg with libjpeg-turbo and vice versa at run time, if the need ever arises.  That was one of the big reasons why we chose to build a SIMD-accelerated JPEG library around the libjpeg API instead of another one.  I never imagined it would become so popular 2 years later.  :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124255</attachid>
            <date>2012-01-26 21:44:25 -0800</date>
            <delta_ts>2012-01-29 16:00:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74286-20120127164423.patch</filename>
            <type>text/plain</type>
            <size>2383</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ4NmQzZWMxYWM5MWFl
MTY0NDViOWYwNDE1MjVlZGNiNzRhMTUyMi4uNzRiNjZiOTY0ZWI2YzJlODI0MDkwOWUxMWJjMDVm
ZWY5NGEwYjllYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAxLTI2ICBOb2Vs
IEdvcmRvbiAgPG5vZWwuZ29yZG9uQGdtYWlsLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIFVz
ZSBkZWNvZGluZyBzd2l6emxlIG9ubHkgb24gbGlianBlZy10dXJibyAxLjEuOTArCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gQ292
ZXJlZCBieSBtYW55IGV4aXN0aW5nIHRlc3RzOiBpbiBwYXJ0aWN1bGFyIAorICAgICAgICAgICAg
ZmFzdC9pbWFnZXMvKiwgZmFzdC9jYW52YXMvKiwKKyAgICAgICAgICAgIHRhYmxlcy9tb3ppbGxh
L2J1Z3MvYnVnMjkzMTQuaHRtbAorICAgICAgICAgICAgdGFibGVzL21vemlsbGEvYnVncy9idWcx
MzE2OS5odG1sCisgICAgICAgICAgICB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzEwNTY1Lmh0bWwK
KyAgICAgICAgICAgIHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTEwMjYuaHRtbAorICAgICAgICAg
ICAgZmFzdC9yZXBhaW50L2JhY2tncm91bmRTaXplUmVwYWludC5odG1sCisgICAgICAgICAgICBm
YXN0L3JlcGFpbnQvYmxvY2stbGF5b3V0LWlubGluZS1jaGlsZHJlbi1yZXBsYWNlZC5odG1sCisg
ICAgICAgICAgICBmYXN0L3JlcGFpbnQvY2xpcHBlZC1yZWxhdGl2ZS5odG1sCisgICAgICAgICAg
ICBmYXN0L3JlcGFpbnQvc2VsZWN0ZWQtcmVwbGFjZWQuaHRtbAorICAgICAgICAgICAgdGFibGVz
L21vemlsbGEvYnVncy9idWcxMjkwOC0xLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChyZ2JPdXRwdXRD
b2xvclNwYWNlKTogU3dpenpsZSBkZWNvZGUgaWZmIGxpYmpwZWctdHVyYm8gaXMgcjczMiBvciBh
Ym92ZS4KKwogMjAxMi0wMS0yNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFp
bC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEwNTQ4Ni4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0lt
YWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9q
cGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCmluZGV4IGU3MGIwYWY2ZWMzOTY2YWJmYjAxNDA3NTI4
MmI2MTcyYTYxYmEwYTQuLjViNDI0OTBhYmZhNTBiZDhhZjhkMDExOTgwODU0ZDg2YzRjMGU5MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcv
SlBFR0ltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcApAQCAtNjksMTIgKzY5LDEyIEBAIGV4
dGVybiAiQyIgewogI2RlZmluZSBBU1NVTUVfTElUVExFX0VORElBTiAxCiAjZW5kaWYKIAotI2lm
IGRlZmluZWQoSkNTX0VYVEVOU0lPTlMpICYmIEFTU1VNRV9MSVRUTEVfRU5ESUFOCisjaWYgZGVm
aW5lZChKQ1NfQUxQSEFfRVhURU5TSU9OUykgJiYgQVNTVU1FX0xJVFRMRV9FTkRJQU4KICNkZWZp
bmUgVFVSQk9fSlBFR19SR0JfU1dJWlpMRQogI2lmIFVTRShTS0lBKSAmJiAoIVNLX1IzMl9TSElG
VCAmJiBTS19HMzJfU0hJRlQgPT0gOCAmJiBTS19CMzJfU0hJRlQgPT0gMTYpCi1pbmxpbmUgSl9D
T0xPUl9TUEFDRSByZ2JPdXRwdXRDb2xvclNwYWNlKCkgeyByZXR1cm4gSkNTX0VYVF9SR0JYOyB9
CitpbmxpbmUgSl9DT0xPUl9TUEFDRSByZ2JPdXRwdXRDb2xvclNwYWNlKCkgeyByZXR1cm4gSkNT
X0VYVF9SR0JBOyB9CiAjZWxzZQotaW5saW5lIEpfQ09MT1JfU1BBQ0UgcmdiT3V0cHV0Q29sb3JT
cGFjZSgpIHsgcmV0dXJuIEpDU19FWFRfQkdSWDsgfQoraW5saW5lIEpfQ09MT1JfU1BBQ0Ugcmdi
T3V0cHV0Q29sb3JTcGFjZSgpIHsgcmV0dXJuIEpDU19FWFRfQkdSQTsgfQogI2VuZGlmCiBpbmxp
bmUgYm9vbCB0dXJib1N3aXp6bGVkKEpfQ09MT1JfU1BBQ0UgY29sb3JTcGFjZSkgeyByZXR1cm4g
Y29sb3JTcGFjZSA9PSByZ2JPdXRwdXRDb2xvclNwYWNlKCk7IH0KICNlbHNlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>