<?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>89867</bug_id>
          
          <creation_ts>2012-06-25 04:25:38 -0700</creation_ts>
          <short_desc>[Texmap] Remove platform specific code in BitmapImageGL::updateContents by using GraphicsContext3D::extractImageData.</short_desc>
          <delta_ts>2012-06-26 05:58:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>89866</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dongseong Hwang">dongseong.hwang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>hausmann</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
    
    <cc>philn</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>656473</commentid>
    <comment_count>0</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 04:25:38 -0700</bug_when>
    <thetext>[Texmap] Remove platform specific code in BitmapImageGL::updateContents by using GraphicsContext3D::extractImageData.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656474</commentid>
    <comment_count>1</comment_count>
      <attachid>149272</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 04:26:42 -0700</bug_when>
    <thetext>Created attachment 149272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656476</commentid>
    <comment_count>2</comment_count>
      <attachid>149273</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 04:31:38 -0700</bug_when>
    <thetext>Created attachment 149273
patch

[Texmap] Remove platform specific code in BitmapImageGL::updateContents by using GraphicsContext3D::extractImageData.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656478</commentid>
    <comment_count>3</comment_count>
      <attachid>149273</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-25 04:38:32 -0700</bug_when>
    <thetext>Comment on attachment 149273
patch

Attachment 149273 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13103029</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656479</commentid>
    <comment_count>4</comment_count>
      <attachid>149273</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-25 04:38:42 -0700</bug_when>
    <thetext>Comment on attachment 149273
patch

Attachment 149273 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13087142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656481</commentid>
    <comment_count>5</comment_count>
      <attachid>149273</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-06-25 04:39:06 -0700</bug_when>
    <thetext>Comment on attachment 149273
patch

Attachment 149273 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/13099052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656488</commentid>
    <comment_count>6</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 04:43:51 -0700</bug_when>
    <thetext>Oops, I made mistake.
This patch can be compiled after Bug 89866 is accepted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656513</commentid>
    <comment_count>7</comment_count>
      <attachid>149273</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-06-25 06:06:27 -0700</bug_when>
    <thetext>Comment on attachment 149273
patch

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

I&apos;d rather if we just moved TExtureMapperGL to use GC3D, see https://bugs.webkit.org/show_bug.cgi?id=78672.
Though this might be a good intermediate step. What do others think?

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:526
&gt; +    GraphicsContext3D::extractImageData(image, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, false, premultiplyAlpha, false, imageData);

Add comments near the &quot;false&quot; arguments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656582</commentid>
    <comment_count>8</comment_count>
      <attachid>149273</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-06-25 08:28:47 -0700</bug_when>
    <thetext>Comment on attachment 149273
patch

Please fix nitpick comment before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656966</commentid>
    <comment_count>9</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 16:08:24 -0700</bug_when>
    <thetext>Sorry, I recognized that nitpick in subway to go home in yesterday night.
I&apos;ll fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657016</commentid>
    <comment_count>10</comment_count>
      <attachid>149396</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 16:55:33 -0700</bug_when>
    <thetext>Created attachment 149396
patch v.3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657022</commentid>
    <comment_count>11</comment_count>
      <attachid>149398</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 17:00:08 -0700</bug_when>
    <thetext>Created attachment 149398
patch v.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657113</commentid>
    <comment_count>12</comment_count>
      <attachid>149398</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-06-25 18:20:13 -0700</bug_when>
    <thetext>Comment on attachment 149398
patch v.4

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:523
&gt; +    // The premultiplyAlpha is true, because the default value of alphaOption in ImageSource is AlphaPremultiplied.
&gt; +    bool premultiplyAlpha = true;
&gt; +    // The ignoreGammaAndColorProfile is false, because the default value of gammaAndColorProfileOption in ImageSource is GammaAndColorProfileApplied.
&gt; +    bool ignoreGammaAndColorProfile = false;
&gt; +    GraphicsContext3D::extractImageData(image, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, flipY, premultiplyAlpha, ignoreGammaAndColorProfile, imageData);

Not exactly what I meant...
something like: GraphicsContext3D::extractImageData(image, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, flipY, true /* premultiplyAlpha */, false /* ignoreGammaAndColorProfile */, imageData);
this way there are no magic &quot;false&quot; and &quot;true&quot; around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657159</commentid>
    <comment_count>13</comment_count>
      <attachid>149423</attachid>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 19:06:20 -0700</bug_when>
    <thetext>Created attachment 149423
patch v.5

Ok. I&apos;ll remember it. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657165</commentid>
    <comment_count>14</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-06-25 19:10:45 -0700</bug_when>
    <thetext>The other optimization we need to do, if we&apos;re to use this code, is to load the image directly to ARGB32_Premultiplied instead of to ARGB32 and then add a premultiply step.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657173</commentid>
    <comment_count>15</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 19:18:29 -0700</bug_when>
    <thetext>When I called GraphicsContext3D::extractImageData(image, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, flipY, false /* premultiplyAlpha */, false /* ignoreGammaAndColorProfile */, imageData);
I can not get proper pixel data.

Could you explain briefly how we can get unpremultiplyAlpha pixel using GC3D?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657176</commentid>
    <comment_count>16</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-06-25 19:20:41 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; When I called GraphicsContext3D::extractImageData(image, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, flipY, false /* premultiplyAlpha */, false /* ignoreGammaAndColorProfile */, imageData);
&gt; I can not get proper pixel data.
&gt; 
&gt; Could you explain briefly how we can get unpremultiplyAlpha pixel using GC3D?

Sorry, it&apos;s inside GRaphicsContext3D::extractImageData. This comment should have been for bug 89865.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657192</commentid>
    <comment_count>17</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 19:36:00 -0700</bug_when>
    <thetext>After this patch, if we run WebKit Leaves, you can see strange command message.
 libpng warning: Ignoring attempt to set cHRM RGB triangle with zero area

It is because of GraphicsContext3D::extractImageData.
I filed Bug 89938</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657245</commentid>
    <comment_count>18</comment_count>
      <attachid>149423</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-25 20:59:45 -0700</bug_when>
    <thetext>Comment on attachment 149423
patch v.5

Clearing flags on attachment: 149423

Committed r121223: &lt;http://trac.webkit.org/changeset/121223&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657246</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-25 20:59:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657254</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-06-25 21:21:10 -0700</bug_when>
    <thetext>This patch broke the minimal Qt build bot ;( 


/usr/bin/gold: /ramdisk/qt-linux-release-minimal/build/WebKitBuild/Release/Source/WebCore/release/libWebCore.a(TextureMapperGL.o): in function WebCore::BitmapTextureGL::updateContents(WebCore::Image*, WebCore::IntRect const&amp;, WebCore::IntPoint const&amp;):TextureMapperGL.cpp(.text._ZN7WebCore15BitmapTextureGL14updateContentsEPNS_5ImageERKNS_7IntRectERKNS_8IntPointE+0x6a): error: undefined reference to &apos;WebCore::GraphicsContext3D::extractImageData(WebCore::Image*, unsigned int, unsigned int, bool, bool, bool, WTF::Vector&lt;unsigned char, 0u&gt;&amp;)&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657262</commentid>
    <comment_count>21</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-06-25 21:33:27 -0700</bug_when>
    <thetext>I&apos;ll try to fix the build. Essentially TextureMapperGL now requires WebGL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657268</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-06-25 21:44:08 -0700</bug_when>
    <thetext>Minimal build fixed in http://trac.webkit.org/changeset/121226 . The bot however needs a clean rebuild now though, because the DEFINES in WebCore&apos;s Target.pri changed and TextureMapperGL.cpp should not be compiled anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657285</commentid>
    <comment_count>23</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-06-25 22:20:35 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; I&apos;ll try to fix the build. Essentially TextureMapperGL now requires WebGL.

It doesn&apos;t require WebGL, it requires GraphicsContext3D (which is a low-level part of WebGL). We should still be able to use TextureMapperGL without WebGL - should we create a separate bug to support this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657296</commentid>
    <comment_count>24</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-06-25 22:30:20 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #21)
&gt; &gt; I&apos;ll try to fix the build. Essentially TextureMapperGL now requires WebGL.
&gt; 
&gt; It doesn&apos;t require WebGL, it requires GraphicsContext3D (which is a low-level part of WebGL). We should still be able to use TextureMapperGL without WebGL - should we create a separate bug to support this?

Yes, because GraphicsContext3D.cpp has a big #if ENABLE(WEBGL) at the top :)

I have the feeling that what&apos;s missing are some lower level convenience APIs for OpenGL that don&apos;t pull in the entire WebGL stuff, i.e. an OpenGL context abstraction and like in this case convenience for getting data out of a texture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657307</commentid>
    <comment_count>25</comment_count>
    <who name="Dongseong Hwang">dongseong.hwang</who>
    <bug_when>2012-06-25 23:05:24 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Minimal build fixed in http://trac.webkit.org/changeset/121226 . The bot however needs a clean rebuild now though, because the DEFINES in WebCore&apos;s Target.pri changed and TextureMapperGL.cpp should not be compiled anymore.

Thanks for your favor.
I should be more careful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657324</commentid>
    <comment_count>26</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-25 23:35:32 -0700</bug_when>
    <thetext>It&apos;s still broken :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657334</commentid>
    <comment_count>27</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-06-26 00:06:31 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; It&apos;s still broken :(

Yeah, but that&apos;s an issue on the bot. I built it locally and it works. The bot needs a nudge or somebody touching config.h ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657370</commentid>
    <comment_count>28</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-06-26 00:51:38 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #26)
&gt; &gt; It&apos;s still broken :(
&gt; 
&gt; Yeah, but that&apos;s an issue on the bot. I built it locally and it works. The bot needs a nudge or somebody touching config.h ;)

rgabor triggered a clean build on the bot, it&apos;s green again. ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657549</commentid>
    <comment_count>29</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-06-26 05:58:05 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; (In reply to comment #21)
&gt; &gt; &gt; I&apos;ll try to fix the build. Essentially TextureMapperGL now requires WebGL.
&gt; &gt; 
&gt; &gt; It doesn&apos;t require WebGL, it requires GraphicsContext3D (which is a low-level part of WebGL). We should still be able to use TextureMapperGL without WebGL - should we create a separate bug to support this?
&gt; 
&gt; Yes, because GraphicsContext3D.cpp has a big #if ENABLE(WEBGL) at the top :)
&gt; 
&gt; I have the feeling that what&apos;s missing are some lower level convenience APIs for OpenGL that don&apos;t pull in the entire WebGL stuff, i.e. an OpenGL context abstraction and like in this case convenience for getting data out of a texture.

We&apos;re not missing it. GraphicsContext3D is it - we just need to change that ENABLE flag at the top :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149272</attachid>
            <date>2012-06-25 04:26:42 -0700</date>
            <delta_ts>2012-06-25 04:31:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89867-20120625202628.patch</filename>
            <type>text/plain</type>
            <size>6338</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IDZl
MTc2ZTg2NTAyM2YyMGM4NWYzNDliNGJlN2QwODFlYjdhZTY4MTUuLjg5OWRiZjIwYTA0Mzg2NDM4
OTQyZjE3NjI4ODk5NWY2N2U1OTE4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0yMiw2
ICsyMiw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckdMLmgiCiAKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQzRC5oIgogI2luY2x1ZGUg
IkltYWdlLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlclNoYWRlck1hbmFnZXIuaCIKICNpbmNs
dWRlICJUaW1lci5oIgpAQCAtMzYsOSArMzcsOCBAQAogI2VuZGlmCiAKICNpZiBQTEFURk9STShR
VCkKLSNpZiBRVF9WRVJTSU9OID49IDB4MDUwMDAwCisjaWYgSEFWRShRVDUpCiAjaW5jbHVkZSA8
UU9wZW5HTENvbnRleHQ+Ci0jaW5jbHVkZSA8cXBhL3FwbGF0Zm9ybXBpeG1hcC5oPgogI2Vsc2UK
ICNpbmNsdWRlIDxRR0xDb250ZXh0PgogI2VuZGlmIC8vIFFUX1ZFUlNJT04KQEAgLTQ0NywyNiAr
NDQ3LDYgQEAgYm9vbCBCaXRtYXBUZXh0dXJlR0w6OmNhblJldXNlV2l0aChjb25zdCBJbnRTaXpl
JiBjb250ZW50c1NpemUsIEZsYWdzKQogI2RlZmluZSBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJB
TlNGRVJfVFlQRSBHTF9VTlNJR05FRF9CWVRFCiAjZW5kaWYKIAotc3RhdGljIHZvaWQgc3dpenps
ZUJHUkFUb1JHQkEodWludDMyX3QqIGRhdGEsIGNvbnN0IEludFJlY3QmIHJlY3QsIGludCBzdHJp
ZGUgPSAwKQotewotICAgIHN0cmlkZSA9IHN0cmlkZSA/IHN0cmlkZSA6IHJlY3Qud2lkdGgoKTsK
LSAgICBmb3IgKGludCB5ID0gcmVjdC55KCk7IHkgPCByZWN0Lm1heFkoKTsgKyt5KSB7Ci0gICAg
ICAgIHVpbnQzMl90KiBwID0gZGF0YSArIHkgKiBzdHJpZGU7Ci0gICAgICAgIGZvciAoaW50IHgg
PSByZWN0LngoKTsgeCA8IHJlY3QubWF4WCgpOyArK3gpCi0gICAgICAgICAgICBwW3hdID0gKChw
W3hdIDw8IDE2KSAmIDB4ZmYwMDAwKSB8ICgocFt4XSA+PiAxNikgJiAweGZmKSB8IChwW3hdICYg
MHhmZjAwZmYwMCk7Ci0gICAgfQotfQotCi1zdGF0aWMgYm9vbCBkcml2ZXJTdXBwb3J0c0JHUkFT
d2l6emxpbmcoKQotewotI2lmIGRlZmluZWQoVEVYTUFQX09QRU5HTF9FU18yKQotICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQgcmVsaWFibGUgZGV0ZWN0aW9uLiBTZWUgYWxzbyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODExMDMuCi0gICAgcmV0dXJuIGZhbHNlOwotI2Vs
c2UKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgotfQotCiBzdGF0aWMgYm9vbCBkcml2ZXJTdXBw
b3J0c1N1YkltYWdlKCkKIHsKICNpZiBkZWZpbmVkKFRFWE1BUF9PUEVOR0xfRVNfMikKQEAgLTQ4
NiwzMCArNDY2LDIyIEBAIHZvaWQgQml0bWFwVGV4dHVyZUdMOjpkaWRSZXNldCgpCiAgICAgaWYg
KG1fdGV4dHVyZVNpemUgPT0gY29udGVudFNpemUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
R0x1aW50IGZvcm1hdCA9IGRyaXZlclN1cHBvcnRzQkdSQVN3aXp6bGluZygpID8gR0xfQkdSQSA6
IEdMX1JHQkE7Ci0KICAgICBtX3RleHR1cmVTaXplID0gY29udGVudFNpemUoKTsKICAgICBHTF9D
TUQoZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCBtX2lkKSk7CiAgICAgR0xfQ01EKGdsVGV4
UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01JTl9GSUxURVIsIEdMX0xJTkVB
UikpOwogICAgIEdMX0NNRChnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVS
RV9NQUdfRklMVEVSLCBHTF9MSU5FQVIpKTsKICAgICBHTF9DTUQoZ2xUZXhQYXJhbWV0ZXJpKEdM
X1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9TLCBHTF9DTEFNUF9UT19FREdFKSk7CiAgICAg
R0xfQ01EKGdsVGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX1dSQVBfVCwg
R0xfQ0xBTVBfVE9fRURHRSkpOwotICAgIEdMX0NNRChnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8y
RCwgMCwgR0xfUkdCQSwgbV90ZXh0dXJlU2l6ZS53aWR0aCgpLCBtX3RleHR1cmVTaXplLmhlaWdo
dCgpLCAwLCBmb3JtYXQsIERFRkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAwKSk7
CisgICAgR0xfQ01EKGdsVGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0JBLCBtX3Rl
eHR1cmVTaXplLndpZHRoKCksIG1fdGV4dHVyZVNpemUuaGVpZ2h0KCksIDAsIEdMX1JHQkEsIERF
RkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAwKSk7CiB9CiAKIAogdm9pZCBCaXRt
YXBUZXh0dXJlR0w6OnVwZGF0ZUNvbnRlbnRzKGNvbnN0IHZvaWQqIGRhdGEsIGNvbnN0IEludFJl
Y3QmIHRhcmdldFJlY3QsIGNvbnN0IEludFBvaW50JiBzb3VyY2VPZmZzZXQsIGludCBieXRlc1Bl
ckxpbmUpCiB7Ci0gICAgR0x1aW50IGdsRm9ybWF0ID0gR0xfUkdCQTsKICAgICBHTF9DTUQoZ2xC
aW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCBtX2lkKSk7CiAKLSAgICBpZiAoZHJpdmVyU3VwcG9y
dHNCR1JBU3dpenpsaW5nKCkpCi0gICAgICAgIGdsRm9ybWF0ID0gR0xfQkdSQTsKLSAgICBlbHNl
Ci0gICAgICAgIHN3aXp6bGVCR1JBVG9SR0JBKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPihj
b25zdF9jYXN0PHZvaWQqPihkYXRhKSksIEludFJlY3Qoc291cmNlT2Zmc2V0LCB0YXJnZXRSZWN0
LnNpemUoKSksIGJ5dGVzUGVyTGluZSAvIDQpOwotCiAgICAgaWYgKGJ5dGVzUGVyTGluZSA9PSB0
YXJnZXRSZWN0LndpZHRoKCkgLyA0ICYmIHNvdXJjZU9mZnNldCA9PSBJbnRQb2ludDo6emVybygp
KSB7Ci0gICAgICAgIEdMX0NNRChnbFRleFN1YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgdGFy
Z2V0UmVjdC54KCksIHRhcmdldFJlY3QueSgpLCB0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdldFJl
Y3QuaGVpZ2h0KCksIGdsRm9ybWF0LCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQ
RSwgKGNvbnN0IGNoYXIqKWRhdGEpKTsKKyAgICAgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChH
TF9URVhUVVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdldFJl
Y3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgR0xfUkdCQSwgREVGQVVMVF9URVhUVVJF
X1BJWEVMX1RSQU5TRkVSX1RZUEUsIChjb25zdCBjaGFyKilkYXRhKSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKQEAgLTUyNyw3ICs0OTksNyBAQCB2b2lkIEJpdG1hcFRleHR1cmVHTDo6dXBk
YXRlQ29udGVudHMoY29uc3Qgdm9pZCogZGF0YSwgY29uc3QgSW50UmVjdCYgdGFyZ2V0UmVjdAog
ICAgICAgICAgICAgZHN0ICs9IHRhcmdldEJ5dGVzUGVyTGluZTsKICAgICAgICAgfQogCi0gICAg
ICAgIEdMX0NNRChnbFRleFN1YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgdGFyZ2V0UmVjdC54
KCksIHRhcmdldFJlY3QueSgpLCB0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdldFJlY3QuaGVpZ2h0
KCksIGdsRm9ybWF0LCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgdGVtcG9y
YXJ5RGF0YS5kYXRhKCkpKTsKKyAgICAgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhU
VVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdldFJlY3Qud2lk
dGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgR0xfUkdCQSwgREVGQVVMVF9URVhUVVJFX1BJWEVM
X1RSQU5TRkVSX1RZUEUsIHRlbXBvcmFyeURhdGEuZGF0YSgpKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTUzNiw3ICs1MDgsNyBAQCB2b2lkIEJpdG1hcFRleHR1cmVHTDo6dXBkYXRl
Q29udGVudHMoY29uc3Qgdm9pZCogZGF0YSwgY29uc3QgSW50UmVjdCYgdGFyZ2V0UmVjdAogICAg
IEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VOUEFDS19ST1dfTEVOR1RILCBieXRlc1BlckxpbmUg
LyA0KSk7CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNLX1NLSVBfUk9XUywgc291
cmNlT2Zmc2V0LnkoKSkpOwogICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VOUEFDS19TS0lQ
X1BJWEVMUywgc291cmNlT2Zmc2V0LngoKSkpOwotICAgIEdMX0NNRChnbFRleFN1YkltYWdlMkQo
R0xfVEVYVFVSRV8yRCwgMCwgdGFyZ2V0UmVjdC54KCksIHRhcmdldFJlY3QueSgpLCB0YXJnZXRS
ZWN0LndpZHRoKCksIHRhcmdldFJlY3QuaGVpZ2h0KCksIGdsRm9ybWF0LCBERUZBVUxUX1RFWFRV
UkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgKGNvbnN0IGNoYXIqKWRhdGEpKTsKKyAgICBHTF9DTUQo
Z2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0YXJnZXRS
ZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBHTF9SR0JB
LCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgKGNvbnN0IGNoYXIqKWRhdGEp
KTsKICAgICBHTF9DTUQoZ2xQaXhlbFN0b3JlaShHTF9VTlBBQ0tfUk9XX0xFTkdUSCwgMCkpOwog
ICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VOUEFDS19TS0lQX1JPV1MsIDApKTsKICAgICBH
TF9DTUQoZ2xQaXhlbFN0b3JlaShHTF9VTlBBQ0tfU0tJUF9QSVhFTFMsIDApKTsKQEAgLTU0Nywz
MSArNTE5LDEyIEBAIHZvaWQgQml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhJbWFnZSog
aW1hZ2UsIGNvbnN0IEludFJlY3QmIHRhcmdldFJlY3QsIGNvCiB7CiAgICAgaWYgKCFpbWFnZSkK
ICAgICAgICAgcmV0dXJuOwotICAgIE5hdGl2ZUltYWdlUHRyIGZyYW1lSW1hZ2UgPSBpbWFnZS0+
bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lSW1hZ2UpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGludCBieXRlc1BlckxpbmU7Ci0gICAgY29uc3QgY2hhciogaW1h
Z2VEYXRhOwotCi0jaWYgUExBVEZPUk0oUVQpCi0gICAgUUltYWdlIHF0SW1hZ2U7Ci0jaWYgSEFW
RShRVDUpCi0gICAgLy8gV2l0aCBRUEEsIHdlIGNhbiBhdm9pZCBhIGRlZXAgY29weS4KLSAgICBx
dEltYWdlID0gKmZyYW1lSW1hZ2UtPmhhbmRsZSgpLT5idWZmZXIoKTsKLSNlbHNlCi0gICAgLy8g
VGhpcyBtaWdodCBiZSBhIGRlZXAgY29weSwgZGVwZW5kaW5nIG9uIG90aGVyIHJlZmVyZW5jZXMg
dG8gdGhlIHBpeG1hcC4KLSAgICBxdEltYWdlID0gZnJhbWVJbWFnZS0+dG9JbWFnZSgpOwotI2Vu
ZGlmCi0gICAgaW1hZ2VEYXRhID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4ocXRJbWFn
ZS5jb25zdEJpdHMoKSk7Ci0gICAgYnl0ZXNQZXJMaW5lID0gcXRJbWFnZS5ieXRlc1BlckxpbmUo
KTsKLSNlbGlmIFVTRShDQUlSTykKLSAgICBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBmcmFt
ZUltYWdlLT5zdXJmYWNlKCk7Ci0gICAgaW1hZ2VEYXRhID0gcmVpbnRlcnByZXRfY2FzdDxjb25z
dCBjaGFyKj4oY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfZGF0YShzdXJmYWNlKSk7Ci0gICAgYnl0
ZXNQZXJMaW5lID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfc3RyaWRlKHN1cmZhY2UpOwotI2Vu
ZGlmCiAKLSAgICB1cGRhdGVDb250ZW50cyhpbWFnZURhdGEsIHRhcmdldFJlY3QsIG9mZnNldCwg
Ynl0ZXNQZXJMaW5lKTsKKyAgICAvLyBGSVhNRSA6IFdlIGNhbiBub3QgZXhwZWN0IHByZW11bHRp
cGx5QWxwaGEgaXMgYWx3YXlzIHRydWUuIEhvd2V2ZXIsIEltYWdlIGRvZXMgbm90IGhhdmUgQVBJ
IHRvIGdldCBwcmVtdWx0aXBseUFscGhhLgorICAgIGJvb2wgcHJlbXVsdGlwbHlBbHBoYSA9IHRy
dWU7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IGltYWdlRGF0YTsKKyAgICBHcmFwaGljc0NvbnRleHQz
RDo6ZXh0cmFjdEltYWdlRGF0YShpbWFnZSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEsIEdyYXBo
aWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFLCBmYWxzZSwgcHJlbXVsdGlwbHlBbHBoYSwgZmFs
c2UsIGltYWdlRGF0YSk7CisgICAgdXBkYXRlQ29udGVudHMoaW1hZ2VEYXRhLmRhdGEoKSwgdGFy
Z2V0UmVjdCwgb2Zmc2V0LCBpbWFnZS0+d2lkdGgoKSAqIDQpOwogfQogCiAjaWYgRU5BQkxFKENT
U19GSUxURVJTKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149273</attachid>
            <date>2012-06-25 04:31:38 -0700</date>
            <delta_ts>2012-06-25 16:55:33 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Texmap-Remove-platform-specific-code-in-BitmapImageG.patch</filename>
            <type>text/plain</type>
            <size>7678</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSAyODQ0NjI2NWFkMDkyYzIzM2ZiZGM0Yzk5YWU3Njc2NmY4MWMxOTZkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IE1vbiwgMjUgSnVuIDIwMTIgMTc6NTI6MTYgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBbVGV4bWFwXSBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpbgogQml0bWFwSW1hZ2VH
TDo6dXBkYXRlQ29udGVudHMgYnkgdXNpbmcKIEdyYXBoaWNzQ29udGV4dDNEOjpleHRyYWN0SW1h
Z2VEYXRhLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODY3Cgot
LS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxNSArKysrKwogLi4uL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wu
Y3BwICAgfCAgIDY5ICsrKystLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI2IGlu
c2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZjFlMDAyLi5hMGYy
NDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTItMDYtMjUgIEh1YW5nIERvbmdz
dW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CiAKKyAgICAgICAgW1RleG1hcF0gUmVtb3Zl
IHBsYXRmb3JtIHNwZWNpZmljIGNvZGUgaW4gQml0bWFwSW1hZ2VHTDo6dXBkYXRlQ29udGVudHMg
YnkgdXNpbmcKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0M0Q6OmV4dHJhY3RJbWFnZURhdGEuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg2NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpCaXRtYXBUZXh0dXJlR0w6OmRpZFJlc2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkJpdG1hcFRleHR1cmVHTDo6dXBkYXRlQ29udGVudHMpOgorCisyMDEyLTA2LTI1ICBIdWFu
ZyBEb25nc3VuZyAgPGx1eHRlbGxhQGNvbXBhbnkxMDAubmV0PgorCiAgICAgICAgIEFkZCBzdGF0
aWMgcXVhbGlmaWVyIHRvIEdyYXBoaWNzQ29udGV4dDNEOjpleHRyYWN0SW1hZ2VEYXRhLgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk4NjYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlckdMLmNwcAppbmRleCA2ZTE3NmU4Li44OTlkYmYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckdMLmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJHTC5oIgog
CiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
M0QuaCIKICNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJTaGFkZXJN
YW5hZ2VyLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKQEAgLTM2LDkgKzM3LDggQEAKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oUVQpCi0jaWYgUVRfVkVSU0lPTiA+PSAweDA1MDAwMAorI2lmIEhBVkUo
UVQ1KQogI2luY2x1ZGUgPFFPcGVuR0xDb250ZXh0PgotI2luY2x1ZGUgPHFwYS9xcGxhdGZvcm1w
aXhtYXAuaD4KICNlbHNlCiAjaW5jbHVkZSA8UUdMQ29udGV4dD4KICNlbmRpZiAvLyBRVF9WRVJT
SU9OCkBAIC00NDcsMjYgKzQ0Nyw2IEBAIGJvb2wgQml0bWFwVGV4dHVyZUdMOjpjYW5SZXVzZVdp
dGgoY29uc3QgSW50U2l6ZSYgY29udGVudHNTaXplLCBGbGFncykKICNkZWZpbmUgREVGQVVMVF9U
RVhUVVJFX1BJWEVMX1RSQU5TRkVSX1RZUEUgR0xfVU5TSUdORURfQllURQogI2VuZGlmCiAKLXN0
YXRpYyB2b2lkIHN3aXp6bGVCR1JBVG9SR0JBKHVpbnQzMl90KiBkYXRhLCBjb25zdCBJbnRSZWN0
JiByZWN0LCBpbnQgc3RyaWRlID0gMCkKLXsKLSAgICBzdHJpZGUgPSBzdHJpZGUgPyBzdHJpZGUg
OiByZWN0LndpZHRoKCk7Ci0gICAgZm9yIChpbnQgeSA9IHJlY3QueSgpOyB5IDwgcmVjdC5tYXhZ
KCk7ICsreSkgewotICAgICAgICB1aW50MzJfdCogcCA9IGRhdGEgKyB5ICogc3RyaWRlOwotICAg
ICAgICBmb3IgKGludCB4ID0gcmVjdC54KCk7IHggPCByZWN0Lm1heFgoKTsgKyt4KQotICAgICAg
ICAgICAgcFt4XSA9ICgocFt4XSA8PCAxNikgJiAweGZmMDAwMCkgfCAoKHBbeF0gPj4gMTYpICYg
MHhmZikgfCAocFt4XSAmIDB4ZmYwMGZmMDApOwotICAgIH0KLX0KLQotc3RhdGljIGJvb2wgZHJp
dmVyU3VwcG9ydHNCR1JBU3dpenpsaW5nKCkKLXsKLSNpZiBkZWZpbmVkKFRFWE1BUF9PUEVOR0xf
RVNfMikKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHJlbGlhYmxlIGRldGVjdGlvbi4gU2VlIGFs
c28gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAzLgotICAgIHJl
dHVybiBmYWxzZTsKLSNlbHNlCi0gICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKLX0KLQogc3RhdGlj
IGJvb2wgZHJpdmVyU3VwcG9ydHNTdWJJbWFnZSgpCiB7CiAjaWYgZGVmaW5lZChURVhNQVBfT1BF
TkdMX0VTXzIpCkBAIC00ODYsMzAgKzQ2NiwyMiBAQCB2b2lkIEJpdG1hcFRleHR1cmVHTDo6ZGlk
UmVzZXQoKQogICAgIGlmIChtX3RleHR1cmVTaXplID09IGNvbnRlbnRTaXplKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIEdMdWludCBmb3JtYXQgPSBkcml2ZXJTdXBwb3J0c0JHUkFTd2l6emxp
bmcoKSA/IEdMX0JHUkEgOiBHTF9SR0JBOwotCiAgICAgbV90ZXh0dXJlU2l6ZSA9IGNvbnRlbnRT
aXplKCk7CiAgICAgR0xfQ01EKGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgbV9pZCkpOwog
ICAgIEdMX0NNRChnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9NSU5f
RklMVEVSLCBHTF9MSU5FQVIpKTsKICAgICBHTF9DTUQoZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRV
UkVfMkQsIEdMX1RFWFRVUkVfTUFHX0ZJTFRFUiwgR0xfTElORUFSKSk7CiAgICAgR0xfQ01EKGds
VGV4UGFyYW1ldGVyaShHTF9URVhUVVJFXzJELCBHTF9URVhUVVJFX1dSQVBfUywgR0xfQ0xBTVBf
VE9fRURHRSkpOwogICAgIEdMX0NNRChnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xf
VEVYVFVSRV9XUkFQX1QsIEdMX0NMQU1QX1RPX0VER0UpKTsKLSAgICBHTF9DTUQoZ2xUZXhJbWFn
ZTJEKEdMX1RFWFRVUkVfMkQsIDAsIEdMX1JHQkEsIG1fdGV4dHVyZVNpemUud2lkdGgoKSwgbV90
ZXh0dXJlU2l6ZS5oZWlnaHQoKSwgMCwgZm9ybWF0LCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJB
TlNGRVJfVFlQRSwgMCkpOworICAgIEdMX0NNRChnbFRleEltYWdlMkQoR0xfVEVYVFVSRV8yRCwg
MCwgR0xfUkdCQSwgbV90ZXh0dXJlU2l6ZS53aWR0aCgpLCBtX3RleHR1cmVTaXplLmhlaWdodCgp
LCAwLCBHTF9SR0JBLCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgMCkpOwog
fQogCiAKIHZvaWQgQml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhjb25zdCB2b2lkKiBk
YXRhLCBjb25zdCBJbnRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBJbnRQb2ludCYgc291cmNlT2Zm
c2V0LCBpbnQgYnl0ZXNQZXJMaW5lKQogewotICAgIEdMdWludCBnbEZvcm1hdCA9IEdMX1JHQkE7
CiAgICAgR0xfQ01EKGdsQmluZFRleHR1cmUoR0xfVEVYVFVSRV8yRCwgbV9pZCkpOwogCi0gICAg
aWYgKGRyaXZlclN1cHBvcnRzQkdSQVN3aXp6bGluZygpKQotICAgICAgICBnbEZvcm1hdCA9IEdM
X0JHUkE7Ci0gICAgZWxzZQotICAgICAgICBzd2l6emxlQkdSQVRvUkdCQShyZWludGVycHJldF9j
YXN0PHVpbnQzMl90Kj4oY29uc3RfY2FzdDx2b2lkKj4oZGF0YSkpLCBJbnRSZWN0KHNvdXJjZU9m
ZnNldCwgdGFyZ2V0UmVjdC5zaXplKCkpLCBieXRlc1BlckxpbmUgLyA0KTsKLQogICAgIGlmIChi
eXRlc1BlckxpbmUgPT0gdGFyZ2V0UmVjdC53aWR0aCgpIC8gNCAmJiBzb3VyY2VPZmZzZXQgPT0g
SW50UG9pbnQ6Onplcm8oKSkgewotICAgICAgICBHTF9DTUQoZ2xUZXhTdWJJbWFnZTJEKEdMX1RF
WFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0YXJnZXRSZWN0LnkoKSwgdGFyZ2V0UmVjdC53
aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBnbEZvcm1hdCwgREVGQVVMVF9URVhUVVJFX1BJ
WEVMX1RSQU5TRkVSX1RZUEUsIChjb25zdCBjaGFyKilkYXRhKSk7CisgICAgICAgIEdMX0NNRChn
bFRleFN1YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgdGFyZ2V0UmVjdC54KCksIHRhcmdldFJl
Y3QueSgpLCB0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdldFJlY3QuaGVpZ2h0KCksIEdMX1JHQkEs
IERFRkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAoY29uc3QgY2hhciopZGF0YSkp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC01MjcsNyArNDk5LDcgQEAgdm9pZCBCaXRt
YXBUZXh0dXJlR0w6OnVwZGF0ZUNvbnRlbnRzKGNvbnN0IHZvaWQqIGRhdGEsIGNvbnN0IEludFJl
Y3QmIHRhcmdldFJlY3QKICAgICAgICAgICAgIGRzdCArPSB0YXJnZXRCeXRlc1BlckxpbmU7CiAg
ICAgICAgIH0KIAotICAgICAgICBHTF9DTUQoZ2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQs
IDAsIHRhcmdldFJlY3QueCgpLCB0YXJnZXRSZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0
YXJnZXRSZWN0LmhlaWdodCgpLCBnbEZvcm1hdCwgREVGQVVMVF9URVhUVVJFX1BJWEVMX1RSQU5T
RkVSX1RZUEUsIHRlbXBvcmFyeURhdGEuZGF0YSgpKSk7CisgICAgICAgIEdMX0NNRChnbFRleFN1
YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwgdGFyZ2V0UmVjdC54KCksIHRhcmdldFJlY3QueSgp
LCB0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdldFJlY3QuaGVpZ2h0KCksIEdMX1JHQkEsIERFRkFV
TFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCB0ZW1wb3JhcnlEYXRhLmRhdGEoKSkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC01MzYsNyArNTA4LDcgQEAgdm9pZCBCaXRtYXBU
ZXh0dXJlR0w6OnVwZGF0ZUNvbnRlbnRzKGNvbnN0IHZvaWQqIGRhdGEsIGNvbnN0IEludFJlY3Qm
IHRhcmdldFJlY3QKICAgICBHTF9DTUQoZ2xQaXhlbFN0b3JlaShHTF9VTlBBQ0tfUk9XX0xFTkdU
SCwgYnl0ZXNQZXJMaW5lIC8gNCkpOwogICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VOUEFD
S19TS0lQX1JPV1MsIHNvdXJjZU9mZnNldC55KCkpKTsKICAgICBHTF9DTUQoZ2xQaXhlbFN0b3Jl
aShHTF9VTlBBQ0tfU0tJUF9QSVhFTFMsIHNvdXJjZU9mZnNldC54KCkpKTsKLSAgICBHTF9DTUQo
Z2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0YXJnZXRS
ZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBnbEZvcm1h
dCwgREVGQVVMVF9URVhUVVJFX1BJWEVMX1RSQU5TRkVSX1RZUEUsIChjb25zdCBjaGFyKilkYXRh
KSk7CisgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCB0YXJnZXRS
ZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdldFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5o
ZWlnaHQoKSwgR0xfUkdCQSwgREVGQVVMVF9URVhUVVJFX1BJWEVMX1RSQU5TRkVSX1RZUEUsIChj
b25zdCBjaGFyKilkYXRhKSk7CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNLX1JP
V19MRU5HVEgsIDApKTsKICAgICBHTF9DTUQoZ2xQaXhlbFN0b3JlaShHTF9VTlBBQ0tfU0tJUF9S
T1dTLCAwKSk7CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNLX1NLSVBfUElYRUxT
LCAwKSk7CkBAIC01NDcsMzEgKzUxOSwxMiBAQCB2b2lkIEJpdG1hcFRleHR1cmVHTDo6dXBkYXRl
Q29udGVudHMoSW1hZ2UqIGltYWdlLCBjb25zdCBJbnRSZWN0JiB0YXJnZXRSZWN0LCBjbwogewog
ICAgIGlmICghaW1hZ2UpCiAgICAgICAgIHJldHVybjsKLSAgICBOYXRpdmVJbWFnZVB0ciBmcmFt
ZUltYWdlID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7Ci0gICAgaWYgKCFm
cmFtZUltYWdlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpbnQgYnl0ZXNQZXJMaW5lOwotICAg
IGNvbnN0IGNoYXIqIGltYWdlRGF0YTsKLQotI2lmIFBMQVRGT1JNKFFUKQotICAgIFFJbWFnZSBx
dEltYWdlOwotI2lmIEhBVkUoUVQ1KQotICAgIC8vIFdpdGggUVBBLCB3ZSBjYW4gYXZvaWQgYSBk
ZWVwIGNvcHkuCi0gICAgcXRJbWFnZSA9ICpmcmFtZUltYWdlLT5oYW5kbGUoKS0+YnVmZmVyKCk7
Ci0jZWxzZQotICAgIC8vIFRoaXMgbWlnaHQgYmUgYSBkZWVwIGNvcHksIGRlcGVuZGluZyBvbiBv
dGhlciByZWZlcmVuY2VzIHRvIHRoZSBwaXhtYXAuCi0gICAgcXRJbWFnZSA9IGZyYW1lSW1hZ2Ut
PnRvSW1hZ2UoKTsKLSNlbmRpZgotICAgIGltYWdlRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgY2hhcio+KHF0SW1hZ2UuY29uc3RCaXRzKCkpOwotICAgIGJ5dGVzUGVyTGluZSA9IHF0SW1h
Z2UuYnl0ZXNQZXJMaW5lKCk7Ci0jZWxpZiBVU0UoQ0FJUk8pCi0gICAgY2Fpcm9fc3VyZmFjZV90
KiBzdXJmYWNlID0gZnJhbWVJbWFnZS0+c3VyZmFjZSgpOwotICAgIGltYWdlRGF0YSA9IHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X2RhdGEoc3Vy
ZmFjZSkpOwotICAgIGJ5dGVzUGVyTGluZSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfZ2V0X3N0cmlk
ZShzdXJmYWNlKTsKLSNlbmRpZgogCi0gICAgdXBkYXRlQ29udGVudHMoaW1hZ2VEYXRhLCB0YXJn
ZXRSZWN0LCBvZmZzZXQsIGJ5dGVzUGVyTGluZSk7CisgICAgLy8gRklYTUUgOiBXZSBjYW4gbm90
IGV4cGVjdCBwcmVtdWx0aXBseUFscGhhIGlzIGFsd2F5cyB0cnVlLiBIb3dldmVyLCBJbWFnZSBk
b2VzIG5vdCBoYXZlIEFQSSB0byBnZXQgcHJlbXVsdGlwbHlBbHBoYS4KKyAgICBib29sIHByZW11
bHRpcGx5QWxwaGEgPSB0cnVlOworICAgIFZlY3Rvcjx1aW50OF90PiBpbWFnZURhdGE7CisgICAg
R3JhcGhpY3NDb250ZXh0M0Q6OmV4dHJhY3RJbWFnZURhdGEoaW1hZ2UsIEdyYXBoaWNzQ29udGV4
dDNEOjpSR0JBLCBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSwgZmFsc2UsIHByZW11
bHRpcGx5QWxwaGEsIGZhbHNlLCBpbWFnZURhdGEpOworICAgIHVwZGF0ZUNvbnRlbnRzKGltYWdl
RGF0YS5kYXRhKCksIHRhcmdldFJlY3QsIG9mZnNldCwgaW1hZ2UtPndpZHRoKCkgKiA0KTsKIH0K
IAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKLS0gCjEuNy45LjUKCg==
</data>
<flag name="review"
          id="157243"
          type_id="1"
          status="+"
          setter="noam"
    />
    <flag name="commit-queue"
          id="157244"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149396</attachid>
            <date>2012-06-25 16:55:33 -0700</date>
            <delta_ts>2012-06-25 17:00:08 -0700</delta_ts>
            <desc>patch v.3</desc>
            <filename>0001-Texmap-Remove-platform-specific-code-in-BitmapImageG.patch</filename>
            <type>text/plain</type>
            <size>8206</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSBmNTJkN2Y4MDY5YTFlOTgwMGY0YjBiNTk5MjA0YWJjMWViMTI2ODU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IE1vbiwgMjUgSnVuIDIwMTIgMTc6NTI6MTYgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBbVGV4bWFwXSBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpbgogQml0bWFwSW1hZ2VH
TDo6dXBkYXRlQ29udGVudHMgYnkgdXNpbmcKIEdyYXBoaWNzQ29udGV4dDNEOjpleHRyYWN0SW1h
Z2VEYXRhLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODY3Cgot
LS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxNSArKysrCiAuLi4vcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5j
cHAgICB8ICAgNzggKysrKy0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5z
ZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJmMWUwMDIuLmEwZjI0
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxMi0wNi0yNSAgSHVhbmcgRG9uZ3N1
bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAorICAgICAgICBbVGV4bWFwXSBSZW1vdmUg
cGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpbiBCaXRtYXBJbWFnZUdMOjp1cGRhdGVDb250ZW50cyBi
eSB1c2luZworICAgICAgICBHcmFwaGljc0NvbnRleHQzRDo6ZXh0cmFjdEltYWdlRGF0YS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODY3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVHTDo6ZGlkUmVzZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyk6CisKKzIwMTItMDYtMjUgIEh1YW5n
IERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgQWRkIHN0YXRp
YyBxdWFsaWZpZXIgdG8gR3JhcGhpY3NDb250ZXh0M0Q6OmV4dHJhY3RJbWFnZURhdGEuCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg2NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyR0wuY3BwCmluZGV4IDZlMTc2ZTguLjllM2EzNDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
R0wuY3BwCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckdMLmgiCiAK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQz
RC5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlclNoYWRlck1h
bmFnZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgpAQCAtMzYsOSArMzcsOCBAQAogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShRVCkKLSNpZiBRVF9WRVJTSU9OID49IDB4MDUwMDAwCisjaWYgSEFWRShR
VDUpCiAjaW5jbHVkZSA8UU9wZW5HTENvbnRleHQ+Ci0jaW5jbHVkZSA8cXBhL3FwbGF0Zm9ybXBp
eG1hcC5oPgogI2Vsc2UKICNpbmNsdWRlIDxRR0xDb250ZXh0PgogI2VuZGlmIC8vIFFUX1ZFUlNJ
T04KQEAgLTUwLDEyICs1MCw2IEBACiAjaW5jbHVkZSA8R0wvZ2x4Lmg+CiAjZW5kaWYKIAotI2lm
IFVTRShDQUlSTykKLSNpbmNsdWRlICJDYWlyb1V0aWxpdGllcy5oIgotI2luY2x1ZGUgIlJlZlB0
ckNhaXJvLmgiCi0jaW5jbHVkZSA8Y2Fpcm8uaD4KLSNlbmRpZgotCiAjZGVmaW5lIEdMX0NNRCgu
Li4pIGRvIHsgX19WQV9BUkdTX187IEFTU0VSVF9BUkcoX19WQV9BUkdTX18sICFnbEdldEVycm9y
KCkpOyB9IHdoaWxlICgwKQogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IFRleHR1cmVNYXBw
ZXJHTERhdGEgewpAQCAtNDQ3LDI2ICs0NDEsNiBAQCBib29sIEJpdG1hcFRleHR1cmVHTDo6Y2Fu
UmV1c2VXaXRoKGNvbnN0IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgRmxhZ3MpCiAjZGVmaW5lIERF
RkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFIEdMX1VOU0lHTkVEX0JZVEUKICNlbmRp
ZgogCi1zdGF0aWMgdm9pZCBzd2l6emxlQkdSQVRvUkdCQSh1aW50MzJfdCogZGF0YSwgY29uc3Qg
SW50UmVjdCYgcmVjdCwgaW50IHN0cmlkZSA9IDApCi17Ci0gICAgc3RyaWRlID0gc3RyaWRlID8g
c3RyaWRlIDogcmVjdC53aWR0aCgpOwotICAgIGZvciAoaW50IHkgPSByZWN0LnkoKTsgeSA8IHJl
Y3QubWF4WSgpOyArK3kpIHsKLSAgICAgICAgdWludDMyX3QqIHAgPSBkYXRhICsgeSAqIHN0cmlk
ZTsKLSAgICAgICAgZm9yIChpbnQgeCA9IHJlY3QueCgpOyB4IDwgcmVjdC5tYXhYKCk7ICsreCkK
LSAgICAgICAgICAgIHBbeF0gPSAoKHBbeF0gPDwgMTYpICYgMHhmZjAwMDApIHwgKChwW3hdID4+
IDE2KSAmIDB4ZmYpIHwgKHBbeF0gJiAweGZmMDBmZjAwKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBi
b29sIGRyaXZlclN1cHBvcnRzQkdSQVN3aXp6bGluZygpCi17Ci0jaWYgZGVmaW5lZChURVhNQVBf
T1BFTkdMX0VTXzIpCi0gICAgLy8gRklYTUU6IEltcGxlbWVudCByZWxpYWJsZSBkZXRlY3Rpb24u
IFNlZSBhbHNvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTEwMy4K
LSAgICByZXR1cm4gZmFsc2U7Ci0jZWxzZQotICAgIHJldHVybiB0cnVlOwotI2VuZGlmCi19Ci0K
IHN0YXRpYyBib29sIGRyaXZlclN1cHBvcnRzU3ViSW1hZ2UoKQogewogI2lmIGRlZmluZWQoVEVY
TUFQX09QRU5HTF9FU18yKQpAQCAtNDg2LDMwICs0NjAsMjIgQEAgdm9pZCBCaXRtYXBUZXh0dXJl
R0w6OmRpZFJlc2V0KCkKICAgICBpZiAobV90ZXh0dXJlU2l6ZSA9PSBjb250ZW50U2l6ZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBHTHVpbnQgZm9ybWF0ID0gZHJpdmVyU3VwcG9ydHNCR1JB
U3dpenpsaW5nKCkgPyBHTF9CR1JBIDogR0xfUkdCQTsKLQogICAgIG1fdGV4dHVyZVNpemUgPSBj
b250ZW50U2l6ZSgpOwogICAgIEdMX0NNRChnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1f
aWQpKTsKICAgICBHTF9DTUQoZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRV
UkVfTUlOX0ZJTFRFUiwgR0xfTElORUFSKSk7CiAgICAgR0xfQ01EKGdsVGV4UGFyYW1ldGVyaShH
TF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUikpOwogICAgIEdM
X0NNRChnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9XUkFQX1MsIEdM
X0NMQU1QX1RPX0VER0UpKTsKICAgICBHTF9DTUQoZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVf
MkQsIEdMX1RFWFRVUkVfV1JBUF9ULCBHTF9DTEFNUF9UT19FREdFKSk7Ci0gICAgR0xfQ01EKGds
VGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0JBLCBtX3RleHR1cmVTaXplLndpZHRo
KCksIG1fdGV4dHVyZVNpemUuaGVpZ2h0KCksIDAsIGZvcm1hdCwgREVGQVVMVF9URVhUVVJFX1BJ
WEVMX1RSQU5TRkVSX1RZUEUsIDApKTsKKyAgICBHTF9DTUQoZ2xUZXhJbWFnZTJEKEdMX1RFWFRV
UkVfMkQsIDAsIEdMX1JHQkEsIG1fdGV4dHVyZVNpemUud2lkdGgoKSwgbV90ZXh0dXJlU2l6ZS5o
ZWlnaHQoKSwgMCwgR0xfUkdCQSwgREVGQVVMVF9URVhUVVJFX1BJWEVMX1RSQU5TRkVSX1RZUEUs
IDApKTsKIH0KIAogCiB2b2lkIEJpdG1hcFRleHR1cmVHTDo6dXBkYXRlQ29udGVudHMoY29uc3Qg
dm9pZCogZGF0YSwgY29uc3QgSW50UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgSW50UG9pbnQmIHNv
dXJjZU9mZnNldCwgaW50IGJ5dGVzUGVyTGluZSkKIHsKLSAgICBHTHVpbnQgZ2xGb3JtYXQgPSBH
TF9SR0JBOwogICAgIEdMX0NNRChnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1faWQpKTsK
IAotICAgIGlmIChkcml2ZXJTdXBwb3J0c0JHUkFTd2l6emxpbmcoKSkKLSAgICAgICAgZ2xGb3Jt
YXQgPSBHTF9CR1JBOwotICAgIGVsc2UKLSAgICAgICAgc3dpenpsZUJHUkFUb1JHQkEocmVpbnRl
cnByZXRfY2FzdDx1aW50MzJfdCo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGRhdGEpKSwgSW50UmVjdChz
b3VyY2VPZmZzZXQsIHRhcmdldFJlY3Quc2l6ZSgpKSwgYnl0ZXNQZXJMaW5lIC8gNCk7Ci0KICAg
ICBpZiAoYnl0ZXNQZXJMaW5lID09IHRhcmdldFJlY3Qud2lkdGgoKSAvIDQgJiYgc291cmNlT2Zm
c2V0ID09IEludFBvaW50Ojp6ZXJvKCkpIHsKLSAgICAgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2Uy
RChHTF9URVhUVVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdl
dFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgZ2xGb3JtYXQsIERFRkFVTFRfVEVY
VFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAoY29uc3QgY2hhciopZGF0YSkpOworICAgICAgICBH
TF9DTUQoZ2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0
YXJnZXRSZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBH
TF9SR0JBLCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgKGNvbnN0IGNoYXIq
KWRhdGEpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTI3LDcgKzQ5Myw3IEBAIHZv
aWQgQml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhjb25zdCB2b2lkKiBkYXRhLCBjb25z
dCBJbnRSZWN0JiB0YXJnZXRSZWN0CiAgICAgICAgICAgICBkc3QgKz0gdGFyZ2V0Qnl0ZXNQZXJM
aW5lOwogICAgICAgICB9CiAKLSAgICAgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhU
VVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdldFJlY3Qud2lk
dGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgZ2xGb3JtYXQsIERFRkFVTFRfVEVYVFVSRV9QSVhF
TF9UUkFOU0ZFUl9UWVBFLCB0ZW1wb3JhcnlEYXRhLmRhdGEoKSkpOworICAgICAgICBHTF9DTUQo
Z2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0YXJnZXRS
ZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBHTF9SR0JB
LCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgdGVtcG9yYXJ5RGF0YS5kYXRh
KCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTM2LDcgKzUwMiw3IEBAIHZvaWQg
Qml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhjb25zdCB2b2lkKiBkYXRhLCBjb25zdCBJ
bnRSZWN0JiB0YXJnZXRSZWN0CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNLX1JP
V19MRU5HVEgsIGJ5dGVzUGVyTGluZSAvIDQpKTsKICAgICBHTF9DTUQoZ2xQaXhlbFN0b3JlaShH
TF9VTlBBQ0tfU0tJUF9ST1dTLCBzb3VyY2VPZmZzZXQueSgpKSk7CiAgICAgR0xfQ01EKGdsUGl4
ZWxTdG9yZWkoR0xfVU5QQUNLX1NLSVBfUElYRUxTLCBzb3VyY2VPZmZzZXQueCgpKSk7Ci0gICAg
R0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwg
dGFyZ2V0UmVjdC55KCksIHRhcmdldFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwg
Z2xGb3JtYXQsIERFRkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAoY29uc3QgY2hh
ciopZGF0YSkpOworICAgIEdMX0NNRChnbFRleFN1YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwg
dGFyZ2V0UmVjdC54KCksIHRhcmdldFJlY3QueSgpLCB0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdl
dFJlY3QuaGVpZ2h0KCksIEdMX1JHQkEsIERFRkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9U
WVBFLCAoY29uc3QgY2hhciopZGF0YSkpOwogICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VO
UEFDS19ST1dfTEVOR1RILCAwKSk7CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNL
X1NLSVBfUk9XUywgMCkpOwogICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VOUEFDS19TS0lQ
X1BJWEVMUywgMCkpOwpAQCAtNTQ3LDMxICs1MTMsMTUgQEAgdm9pZCBCaXRtYXBUZXh0dXJlR0w6
OnVwZGF0ZUNvbnRlbnRzKEltYWdlKiBpbWFnZSwgY29uc3QgSW50UmVjdCYgdGFyZ2V0UmVjdCwg
Y28KIHsKICAgICBpZiAoIWltYWdlKQogICAgICAgICByZXR1cm47Ci0gICAgTmF0aXZlSW1hZ2VQ
dHIgZnJhbWVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOwotICAg
IGlmICghZnJhbWVJbWFnZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaW50IGJ5dGVzUGVyTGlu
ZTsKLSAgICBjb25zdCBjaGFyKiBpbWFnZURhdGE7Ci0KLSNpZiBQTEFURk9STShRVCkKLSAgICBR
SW1hZ2UgcXRJbWFnZTsKLSNpZiBIQVZFKFFUNSkKLSAgICAvLyBXaXRoIFFQQSwgd2UgY2FuIGF2
b2lkIGEgZGVlcCBjb3B5LgotICAgIHF0SW1hZ2UgPSAqZnJhbWVJbWFnZS0+aGFuZGxlKCktPmJ1
ZmZlcigpOwotI2Vsc2UKLSAgICAvLyBUaGlzIG1pZ2h0IGJlIGEgZGVlcCBjb3B5LCBkZXBlbmRp
bmcgb24gb3RoZXIgcmVmZXJlbmNlcyB0byB0aGUgcGl4bWFwLgotICAgIHF0SW1hZ2UgPSBmcmFt
ZUltYWdlLT50b0ltYWdlKCk7Ci0jZW5kaWYKLSAgICBpbWFnZURhdGEgPSByZWludGVycHJldF9j
YXN0PGNvbnN0IGNoYXIqPihxdEltYWdlLmNvbnN0Qml0cygpKTsKLSAgICBieXRlc1BlckxpbmUg
PSBxdEltYWdlLmJ5dGVzUGVyTGluZSgpOwotI2VsaWYgVVNFKENBSVJPKQotICAgIGNhaXJvX3N1
cmZhY2VfdCogc3VyZmFjZSA9IGZyYW1lSW1hZ2UtPnN1cmZhY2UoKTsKLSAgICBpbWFnZURhdGEg
PSByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9k
YXRhKHN1cmZhY2UpKTsKLSAgICBieXRlc1BlckxpbmUgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dl
dF9zdHJpZGUoc3VyZmFjZSk7Ci0jZW5kaWYKIAotICAgIHVwZGF0ZUNvbnRlbnRzKGltYWdlRGF0
YSwgdGFyZ2V0UmVjdCwgb2Zmc2V0LCBieXRlc1BlckxpbmUpOworICAgIFZlY3Rvcjx1aW50OF90
PiBpbWFnZURhdGE7CisgICAgYm9vbCBmbGlwWSA9IGZhbHNlOworICAgIC8vIFRoZSBwcmVtdWx0
aXBseUFscGhhIGlzIHRydWUsIGJlY2F1c2UgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYWxwaGFPcHRp
b24gaW4gSW1hZ2VTb3VyY2UgaXMgQWxwaGFQcmVtdWx0aXBsaWVkLgorICAgIGJvb2wgcHJlbXVs
dGlwbHlBbHBoYSA9IHRydWU7CisgICAgLy8gVGhlIGlnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxl
IGlzIGZhbHNlLCBiZWNhdXNlIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGdhbW1hQW5kQ29sb3JQcm9m
aWxlT3B0aW9uIGluIEltYWdlU291cmNlIGlzIEdhbW1hQW5kQ29sb3JQcm9maWxlQXBwbGllZC4K
KyAgICBib29sIGlnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlID0gZmFsc2U7CisgICAgR3JhcGhp
Y3NDb250ZXh0M0Q6OmV4dHJhY3RJbWFnZURhdGEoaW1hZ2UsIEdyYXBoaWNzQ29udGV4dDNEOjpS
R0JBLCBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSwgZmxpcFksIHByZW11bHRpcGx5
QWxwaGEsIGlnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlLCBpbWFnZURhdGEpOworICAgIHVwZGF0
ZUNvbnRlbnRzKGltYWdlRGF0YS5kYXRhKCksIHRhcmdldFJlY3QsIG9mZnNldCwgaW1hZ2UtPndp
ZHRoKCkgKiA0KTsKIH0KIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKLS0gCjEuNy45LjUKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149398</attachid>
            <date>2012-06-25 17:00:08 -0700</date>
            <delta_ts>2012-06-25 19:06:20 -0700</delta_ts>
            <desc>patch v.4</desc>
            <filename>0001-Texmap-Remove-platform-specific-code-in-BitmapImageG.patch</filename>
            <type>text/plain</type>
            <size>8257</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSAwMmZkZjhmYjIyYjlkZDZlMTVlNjRmNWIwZjA2OWRmNTllNjcwODQyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IE1vbiwgMjUgSnVuIDIwMTIgMTc6NTI6MTYgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBbVGV4bWFwXSBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpbgogQml0bWFwSW1hZ2VH
TDo6dXBkYXRlQ29udGVudHMgYnkgdXNpbmcKIEdyYXBoaWNzQ29udGV4dDNEOjpleHRyYWN0SW1h
Z2VEYXRhLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODY3Cgot
LS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxNSArKysrCiAuLi4vcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5j
cHAgICB8ICAgNzggKysrKy0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzAgaW5z
ZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJmMWUwMDIuLmEwZjI0
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxMi0wNi0yNSAgSHVhbmcgRG9uZ3N1
bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAorICAgICAgICBbVGV4bWFwXSBSZW1vdmUg
cGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpbiBCaXRtYXBJbWFnZUdMOjp1cGRhdGVDb250ZW50cyBi
eSB1c2luZworICAgICAgICBHcmFwaGljc0NvbnRleHQzRDo6ZXh0cmFjdEltYWdlRGF0YS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODY3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVHTDo6ZGlkUmVzZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyk6CisKKzIwMTItMDYtMjUgIEh1YW5n
IERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgQWRkIHN0YXRp
YyBxdWFsaWZpZXIgdG8gR3JhcGhpY3NDb250ZXh0M0Q6OmV4dHJhY3RJbWFnZURhdGEuCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg2NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyR0wuY3BwCmluZGV4IDZlMTc2ZTguLmFhMjE5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
R0wuY3BwCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckdMLmgiCiAK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQz
RC5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlclNoYWRlck1h
bmFnZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgpAQCAtMzYsOSArMzcsOCBAQAogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShRVCkKLSNpZiBRVF9WRVJTSU9OID49IDB4MDUwMDAwCisjaWYgSEFWRShR
VDUpCiAjaW5jbHVkZSA8UU9wZW5HTENvbnRleHQ+Ci0jaW5jbHVkZSA8cXBhL3FwbGF0Zm9ybXBp
eG1hcC5oPgogI2Vsc2UKICNpbmNsdWRlIDxRR0xDb250ZXh0PgogI2VuZGlmIC8vIFFUX1ZFUlNJ
T04KQEAgLTUwLDEyICs1MCw2IEBACiAjaW5jbHVkZSA8R0wvZ2x4Lmg+CiAjZW5kaWYKIAotI2lm
IFVTRShDQUlSTykKLSNpbmNsdWRlICJDYWlyb1V0aWxpdGllcy5oIgotI2luY2x1ZGUgIlJlZlB0
ckNhaXJvLmgiCi0jaW5jbHVkZSA8Y2Fpcm8uaD4KLSNlbmRpZgotCiAjZGVmaW5lIEdMX0NNRCgu
Li4pIGRvIHsgX19WQV9BUkdTX187IEFTU0VSVF9BUkcoX19WQV9BUkdTX18sICFnbEdldEVycm9y
KCkpOyB9IHdoaWxlICgwKQogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IFRleHR1cmVNYXBw
ZXJHTERhdGEgewpAQCAtNDQ3LDI2ICs0NDEsNiBAQCBib29sIEJpdG1hcFRleHR1cmVHTDo6Y2Fu
UmV1c2VXaXRoKGNvbnN0IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgRmxhZ3MpCiAjZGVmaW5lIERF
RkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFIEdMX1VOU0lHTkVEX0JZVEUKICNlbmRp
ZgogCi1zdGF0aWMgdm9pZCBzd2l6emxlQkdSQVRvUkdCQSh1aW50MzJfdCogZGF0YSwgY29uc3Qg
SW50UmVjdCYgcmVjdCwgaW50IHN0cmlkZSA9IDApCi17Ci0gICAgc3RyaWRlID0gc3RyaWRlID8g
c3RyaWRlIDogcmVjdC53aWR0aCgpOwotICAgIGZvciAoaW50IHkgPSByZWN0LnkoKTsgeSA8IHJl
Y3QubWF4WSgpOyArK3kpIHsKLSAgICAgICAgdWludDMyX3QqIHAgPSBkYXRhICsgeSAqIHN0cmlk
ZTsKLSAgICAgICAgZm9yIChpbnQgeCA9IHJlY3QueCgpOyB4IDwgcmVjdC5tYXhYKCk7ICsreCkK
LSAgICAgICAgICAgIHBbeF0gPSAoKHBbeF0gPDwgMTYpICYgMHhmZjAwMDApIHwgKChwW3hdID4+
IDE2KSAmIDB4ZmYpIHwgKHBbeF0gJiAweGZmMDBmZjAwKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBi
b29sIGRyaXZlclN1cHBvcnRzQkdSQVN3aXp6bGluZygpCi17Ci0jaWYgZGVmaW5lZChURVhNQVBf
T1BFTkdMX0VTXzIpCi0gICAgLy8gRklYTUU6IEltcGxlbWVudCByZWxpYWJsZSBkZXRlY3Rpb24u
IFNlZSBhbHNvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTEwMy4K
LSAgICByZXR1cm4gZmFsc2U7Ci0jZWxzZQotICAgIHJldHVybiB0cnVlOwotI2VuZGlmCi19Ci0K
IHN0YXRpYyBib29sIGRyaXZlclN1cHBvcnRzU3ViSW1hZ2UoKQogewogI2lmIGRlZmluZWQoVEVY
TUFQX09QRU5HTF9FU18yKQpAQCAtNDg2LDMwICs0NjAsMjIgQEAgdm9pZCBCaXRtYXBUZXh0dXJl
R0w6OmRpZFJlc2V0KCkKICAgICBpZiAobV90ZXh0dXJlU2l6ZSA9PSBjb250ZW50U2l6ZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBHTHVpbnQgZm9ybWF0ID0gZHJpdmVyU3VwcG9ydHNCR1JB
U3dpenpsaW5nKCkgPyBHTF9CR1JBIDogR0xfUkdCQTsKLQogICAgIG1fdGV4dHVyZVNpemUgPSBj
b250ZW50U2l6ZSgpOwogICAgIEdMX0NNRChnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1f
aWQpKTsKICAgICBHTF9DTUQoZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRV
UkVfTUlOX0ZJTFRFUiwgR0xfTElORUFSKSk7CiAgICAgR0xfQ01EKGdsVGV4UGFyYW1ldGVyaShH
TF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUikpOwogICAgIEdM
X0NNRChnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9XUkFQX1MsIEdM
X0NMQU1QX1RPX0VER0UpKTsKICAgICBHTF9DTUQoZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVf
MkQsIEdMX1RFWFRVUkVfV1JBUF9ULCBHTF9DTEFNUF9UT19FREdFKSk7Ci0gICAgR0xfQ01EKGds
VGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0JBLCBtX3RleHR1cmVTaXplLndpZHRo
KCksIG1fdGV4dHVyZVNpemUuaGVpZ2h0KCksIDAsIGZvcm1hdCwgREVGQVVMVF9URVhUVVJFX1BJ
WEVMX1RSQU5TRkVSX1RZUEUsIDApKTsKKyAgICBHTF9DTUQoZ2xUZXhJbWFnZTJEKEdMX1RFWFRV
UkVfMkQsIDAsIEdMX1JHQkEsIG1fdGV4dHVyZVNpemUud2lkdGgoKSwgbV90ZXh0dXJlU2l6ZS5o
ZWlnaHQoKSwgMCwgR0xfUkdCQSwgREVGQVVMVF9URVhUVVJFX1BJWEVMX1RSQU5TRkVSX1RZUEUs
IDApKTsKIH0KIAogCiB2b2lkIEJpdG1hcFRleHR1cmVHTDo6dXBkYXRlQ29udGVudHMoY29uc3Qg
dm9pZCogZGF0YSwgY29uc3QgSW50UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgSW50UG9pbnQmIHNv
dXJjZU9mZnNldCwgaW50IGJ5dGVzUGVyTGluZSkKIHsKLSAgICBHTHVpbnQgZ2xGb3JtYXQgPSBH
TF9SR0JBOwogICAgIEdMX0NNRChnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1faWQpKTsK
IAotICAgIGlmIChkcml2ZXJTdXBwb3J0c0JHUkFTd2l6emxpbmcoKSkKLSAgICAgICAgZ2xGb3Jt
YXQgPSBHTF9CR1JBOwotICAgIGVsc2UKLSAgICAgICAgc3dpenpsZUJHUkFUb1JHQkEocmVpbnRl
cnByZXRfY2FzdDx1aW50MzJfdCo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGRhdGEpKSwgSW50UmVjdChz
b3VyY2VPZmZzZXQsIHRhcmdldFJlY3Quc2l6ZSgpKSwgYnl0ZXNQZXJMaW5lIC8gNCk7Ci0KICAg
ICBpZiAoYnl0ZXNQZXJMaW5lID09IHRhcmdldFJlY3Qud2lkdGgoKSAvIDQgJiYgc291cmNlT2Zm
c2V0ID09IEludFBvaW50Ojp6ZXJvKCkpIHsKLSAgICAgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2Uy
RChHTF9URVhUVVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdl
dFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgZ2xGb3JtYXQsIERFRkFVTFRfVEVY
VFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAoY29uc3QgY2hhciopZGF0YSkpOworICAgICAgICBH
TF9DTUQoZ2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0
YXJnZXRSZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBH
TF9SR0JBLCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgKGNvbnN0IGNoYXIq
KWRhdGEpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTI3LDcgKzQ5Myw3IEBAIHZv
aWQgQml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhjb25zdCB2b2lkKiBkYXRhLCBjb25z
dCBJbnRSZWN0JiB0YXJnZXRSZWN0CiAgICAgICAgICAgICBkc3QgKz0gdGFyZ2V0Qnl0ZXNQZXJM
aW5lOwogICAgICAgICB9CiAKLSAgICAgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhU
VVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdldFJlY3Qud2lk
dGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgZ2xGb3JtYXQsIERFRkFVTFRfVEVYVFVSRV9QSVhF
TF9UUkFOU0ZFUl9UWVBFLCB0ZW1wb3JhcnlEYXRhLmRhdGEoKSkpOworICAgICAgICBHTF9DTUQo
Z2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0YXJnZXRS
ZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBHTF9SR0JB
LCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgdGVtcG9yYXJ5RGF0YS5kYXRh
KCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTM2LDcgKzUwMiw3IEBAIHZvaWQg
Qml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhjb25zdCB2b2lkKiBkYXRhLCBjb25zdCBJ
bnRSZWN0JiB0YXJnZXRSZWN0CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNLX1JP
V19MRU5HVEgsIGJ5dGVzUGVyTGluZSAvIDQpKTsKICAgICBHTF9DTUQoZ2xQaXhlbFN0b3JlaShH
TF9VTlBBQ0tfU0tJUF9ST1dTLCBzb3VyY2VPZmZzZXQueSgpKSk7CiAgICAgR0xfQ01EKGdsUGl4
ZWxTdG9yZWkoR0xfVU5QQUNLX1NLSVBfUElYRUxTLCBzb3VyY2VPZmZzZXQueCgpKSk7Ci0gICAg
R0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwg
dGFyZ2V0UmVjdC55KCksIHRhcmdldFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwg
Z2xGb3JtYXQsIERFRkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAoY29uc3QgY2hh
ciopZGF0YSkpOworICAgIEdMX0NNRChnbFRleFN1YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwg
dGFyZ2V0UmVjdC54KCksIHRhcmdldFJlY3QueSgpLCB0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdl
dFJlY3QuaGVpZ2h0KCksIEdMX1JHQkEsIERFRkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9U
WVBFLCAoY29uc3QgY2hhciopZGF0YSkpOwogICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VO
UEFDS19ST1dfTEVOR1RILCAwKSk7CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNL
X1NLSVBfUk9XUywgMCkpOwogICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VOUEFDS19TS0lQ
X1BJWEVMUywgMCkpOwpAQCAtNTQ3LDMxICs1MTMsMTcgQEAgdm9pZCBCaXRtYXBUZXh0dXJlR0w6
OnVwZGF0ZUNvbnRlbnRzKEltYWdlKiBpbWFnZSwgY29uc3QgSW50UmVjdCYgdGFyZ2V0UmVjdCwg
Y28KIHsKICAgICBpZiAoIWltYWdlKQogICAgICAgICByZXR1cm47Ci0gICAgTmF0aXZlSW1hZ2VQ
dHIgZnJhbWVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOwotICAg
IGlmICghZnJhbWVJbWFnZSkKLSAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IGJ5dGVzUGVyTGlu
ZTsKLSAgICBjb25zdCBjaGFyKiBpbWFnZURhdGE7Ci0KLSNpZiBQTEFURk9STShRVCkKLSAgICBR
SW1hZ2UgcXRJbWFnZTsKLSNpZiBIQVZFKFFUNSkKLSAgICAvLyBXaXRoIFFQQSwgd2UgY2FuIGF2
b2lkIGEgZGVlcCBjb3B5LgotICAgIHF0SW1hZ2UgPSAqZnJhbWVJbWFnZS0+aGFuZGxlKCktPmJ1
ZmZlcigpOwotI2Vsc2UKLSAgICAvLyBUaGlzIG1pZ2h0IGJlIGEgZGVlcCBjb3B5LCBkZXBlbmRp
bmcgb24gb3RoZXIgcmVmZXJlbmNlcyB0byB0aGUgcGl4bWFwLgotICAgIHF0SW1hZ2UgPSBmcmFt
ZUltYWdlLT50b0ltYWdlKCk7Ci0jZW5kaWYKLSAgICBpbWFnZURhdGEgPSByZWludGVycHJldF9j
YXN0PGNvbnN0IGNoYXIqPihxdEltYWdlLmNvbnN0Qml0cygpKTsKLSAgICBieXRlc1BlckxpbmUg
PSBxdEltYWdlLmJ5dGVzUGVyTGluZSgpOwotI2VsaWYgVVNFKENBSVJPKQotICAgIGNhaXJvX3N1
cmZhY2VfdCogc3VyZmFjZSA9IGZyYW1lSW1hZ2UtPnN1cmZhY2UoKTsKLSAgICBpbWFnZURhdGEg
PSByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9k
YXRhKHN1cmZhY2UpKTsKLSAgICBieXRlc1BlckxpbmUgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dl
dF9zdHJpZGUoc3VyZmFjZSk7Ci0jZW5kaWYKKyAgICBWZWN0b3I8dWludDhfdD4gaW1hZ2VEYXRh
OworICAgIGJvb2wgZmxpcFkgPSBmYWxzZTsKKyAgICAvLyBUaGUgcHJlbXVsdGlwbHlBbHBoYSBp
cyB0cnVlLCBiZWNhdXNlIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGFscGhhT3B0aW9uIGluIEltYWdl
U291cmNlIGlzIEFscGhhUHJlbXVsdGlwbGllZC4KKyAgICBib29sIHByZW11bHRpcGx5QWxwaGEg
PSB0cnVlOworICAgIC8vIFRoZSBpZ25vcmVHYW1tYUFuZENvbG9yUHJvZmlsZSBpcyBmYWxzZSwg
YmVjYXVzZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBnYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbiBp
biBJbWFnZVNvdXJjZSBpcyBHYW1tYUFuZENvbG9yUHJvZmlsZUFwcGxpZWQuCisgICAgYm9vbCBp
Z25vcmVHYW1tYUFuZENvbG9yUHJvZmlsZSA9IGZhbHNlOworICAgIEdyYXBoaWNzQ29udGV4dDNE
OjpleHRyYWN0SW1hZ2VEYXRhKGltYWdlLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSwgR3JhcGhp
Y3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUsIGZsaXBZLCBwcmVtdWx0aXBseUFscGhhLCBpZ25v
cmVHYW1tYUFuZENvbG9yUHJvZmlsZSwgaW1hZ2VEYXRhKTsKIAotICAgIHVwZGF0ZUNvbnRlbnRz
KGltYWdlRGF0YSwgdGFyZ2V0UmVjdCwgb2Zmc2V0LCBieXRlc1BlckxpbmUpOworICAgIGNvbnN0
IHVuc2lnbmVkIGJ5dGVzUGVyUGl4ZWwgPSA0OworICAgIHVwZGF0ZUNvbnRlbnRzKGltYWdlRGF0
YS5kYXRhKCksIHRhcmdldFJlY3QsIG9mZnNldCwgaW1hZ2UtPndpZHRoKCkgKiBieXRlc1BlclBp
eGVsKTsKIH0KIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKLS0gCjEuNy45LjUKCg==
</data>
<flag name="review"
          id="157415"
          type_id="1"
          status="-"
          setter="noam"
    />
    <flag name="commit-queue"
          id="157416"
          type_id="3"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149423</attachid>
            <date>2012-06-25 19:06:20 -0700</date>
            <delta_ts>2012-06-25 20:59:45 -0700</delta_ts>
            <desc>patch v.5</desc>
            <filename>0001-Texmap-Remove-platform-specific-code-in-BitmapImageG.patch</filename>
            <type>text/plain</type>
            <size>7917</size>
            <attacher name="Dongseong Hwang">dongseong.hwang</attacher>
            
              <data encoding="base64">RnJvbSBmMjY1MTJhYzljNTdiNmRkZjFjZGQ5MmQ2ZWIyNWIzYzRkODdlNDc3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIdWFuZyBEb25nc3VuZyA8bHV4dGVsbGFAY29tcGFueTEwMC5u
ZXQ+CkRhdGU6IE1vbiwgMjUgSnVuIDIwMTIgMTc6NTI6MTYgKzA5MDAKU3ViamVjdDogW1BBVENI
XSBbVGV4bWFwXSBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpbgogQml0bWFwSW1hZ2VH
TDo6dXBkYXRlQ29udGVudHMgYnkgdXNpbmcKIEdyYXBoaWNzQ29udGV4dDNEOjpleHRyYWN0SW1h
Z2VEYXRhLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODY3Cgot
LS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxNSArKysrCiAuLi4vcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5j
cHAgICB8ICAgNzMgKysrLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5z
ZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJmMWUwMDIuLmEwZjI0
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxMi0wNi0yNSAgSHVhbmcgRG9uZ3N1
bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAorICAgICAgICBbVGV4bWFwXSBSZW1vdmUg
cGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpbiBCaXRtYXBJbWFnZUdMOjp1cGRhdGVDb250ZW50cyBi
eSB1c2luZworICAgICAgICBHcmFwaGljc0NvbnRleHQzRDo6ZXh0cmFjdEltYWdlRGF0YS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODY3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkJpdG1hcFRleHR1cmVHTDo6ZGlkUmVzZXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Qml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyk6CisKKzIwMTItMDYtMjUgIEh1YW5n
IERvbmdzdW5nICA8bHV4dGVsbGFAY29tcGFueTEwMC5uZXQ+CisKICAgICAgICAgQWRkIHN0YXRp
YyBxdWFsaWZpZXIgdG8gR3JhcGhpY3NDb250ZXh0M0Q6OmV4dHJhY3RJbWFnZURhdGEuCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg2NgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyR0wuY3BwCmluZGV4IDZlMTc2ZTguLjhkZjI3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
R0wuY3BwCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckdMLmgiCiAK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQz
RC5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlclNoYWRlck1h
bmFnZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgpAQCAtMzYsOSArMzcsOCBAQAogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShRVCkKLSNpZiBRVF9WRVJTSU9OID49IDB4MDUwMDAwCisjaWYgSEFWRShR
VDUpCiAjaW5jbHVkZSA8UU9wZW5HTENvbnRleHQ+Ci0jaW5jbHVkZSA8cXBhL3FwbGF0Zm9ybXBp
eG1hcC5oPgogI2Vsc2UKICNpbmNsdWRlIDxRR0xDb250ZXh0PgogI2VuZGlmIC8vIFFUX1ZFUlNJ
T04KQEAgLTUwLDEyICs1MCw2IEBACiAjaW5jbHVkZSA8R0wvZ2x4Lmg+CiAjZW5kaWYKIAotI2lm
IFVTRShDQUlSTykKLSNpbmNsdWRlICJDYWlyb1V0aWxpdGllcy5oIgotI2luY2x1ZGUgIlJlZlB0
ckNhaXJvLmgiCi0jaW5jbHVkZSA8Y2Fpcm8uaD4KLSNlbmRpZgotCiAjZGVmaW5lIEdMX0NNRCgu
Li4pIGRvIHsgX19WQV9BUkdTX187IEFTU0VSVF9BUkcoX19WQV9BUkdTX18sICFnbEdldEVycm9y
KCkpOyB9IHdoaWxlICgwKQogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IFRleHR1cmVNYXBw
ZXJHTERhdGEgewpAQCAtNDQ3LDI2ICs0NDEsNiBAQCBib29sIEJpdG1hcFRleHR1cmVHTDo6Y2Fu
UmV1c2VXaXRoKGNvbnN0IEludFNpemUmIGNvbnRlbnRzU2l6ZSwgRmxhZ3MpCiAjZGVmaW5lIERF
RkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFIEdMX1VOU0lHTkVEX0JZVEUKICNlbmRp
ZgogCi1zdGF0aWMgdm9pZCBzd2l6emxlQkdSQVRvUkdCQSh1aW50MzJfdCogZGF0YSwgY29uc3Qg
SW50UmVjdCYgcmVjdCwgaW50IHN0cmlkZSA9IDApCi17Ci0gICAgc3RyaWRlID0gc3RyaWRlID8g
c3RyaWRlIDogcmVjdC53aWR0aCgpOwotICAgIGZvciAoaW50IHkgPSByZWN0LnkoKTsgeSA8IHJl
Y3QubWF4WSgpOyArK3kpIHsKLSAgICAgICAgdWludDMyX3QqIHAgPSBkYXRhICsgeSAqIHN0cmlk
ZTsKLSAgICAgICAgZm9yIChpbnQgeCA9IHJlY3QueCgpOyB4IDwgcmVjdC5tYXhYKCk7ICsreCkK
LSAgICAgICAgICAgIHBbeF0gPSAoKHBbeF0gPDwgMTYpICYgMHhmZjAwMDApIHwgKChwW3hdID4+
IDE2KSAmIDB4ZmYpIHwgKHBbeF0gJiAweGZmMDBmZjAwKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBi
b29sIGRyaXZlclN1cHBvcnRzQkdSQVN3aXp6bGluZygpCi17Ci0jaWYgZGVmaW5lZChURVhNQVBf
T1BFTkdMX0VTXzIpCi0gICAgLy8gRklYTUU6IEltcGxlbWVudCByZWxpYWJsZSBkZXRlY3Rpb24u
IFNlZSBhbHNvIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTEwMy4K
LSAgICByZXR1cm4gZmFsc2U7Ci0jZWxzZQotICAgIHJldHVybiB0cnVlOwotI2VuZGlmCi19Ci0K
IHN0YXRpYyBib29sIGRyaXZlclN1cHBvcnRzU3ViSW1hZ2UoKQogewogI2lmIGRlZmluZWQoVEVY
TUFQX09QRU5HTF9FU18yKQpAQCAtNDg2LDMwICs0NjAsMjIgQEAgdm9pZCBCaXRtYXBUZXh0dXJl
R0w6OmRpZFJlc2V0KCkKICAgICBpZiAobV90ZXh0dXJlU2l6ZSA9PSBjb250ZW50U2l6ZSgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBHTHVpbnQgZm9ybWF0ID0gZHJpdmVyU3VwcG9ydHNCR1JB
U3dpenpsaW5nKCkgPyBHTF9CR1JBIDogR0xfUkdCQTsKLQogICAgIG1fdGV4dHVyZVNpemUgPSBj
b250ZW50U2l6ZSgpOwogICAgIEdMX0NNRChnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1f
aWQpKTsKICAgICBHTF9DTUQoZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRV
UkVfTUlOX0ZJTFRFUiwgR0xfTElORUFSKSk7CiAgICAgR0xfQ01EKGdsVGV4UGFyYW1ldGVyaShH
TF9URVhUVVJFXzJELCBHTF9URVhUVVJFX01BR19GSUxURVIsIEdMX0xJTkVBUikpOwogICAgIEdM
X0NNRChnbFRleFBhcmFtZXRlcmkoR0xfVEVYVFVSRV8yRCwgR0xfVEVYVFVSRV9XUkFQX1MsIEdM
X0NMQU1QX1RPX0VER0UpKTsKICAgICBHTF9DTUQoZ2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVf
MkQsIEdMX1RFWFRVUkVfV1JBUF9ULCBHTF9DTEFNUF9UT19FREdFKSk7Ci0gICAgR0xfQ01EKGds
VGV4SW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCBHTF9SR0JBLCBtX3RleHR1cmVTaXplLndpZHRo
KCksIG1fdGV4dHVyZVNpemUuaGVpZ2h0KCksIDAsIGZvcm1hdCwgREVGQVVMVF9URVhUVVJFX1BJ
WEVMX1RSQU5TRkVSX1RZUEUsIDApKTsKKyAgICBHTF9DTUQoZ2xUZXhJbWFnZTJEKEdMX1RFWFRV
UkVfMkQsIDAsIEdMX1JHQkEsIG1fdGV4dHVyZVNpemUud2lkdGgoKSwgbV90ZXh0dXJlU2l6ZS5o
ZWlnaHQoKSwgMCwgR0xfUkdCQSwgREVGQVVMVF9URVhUVVJFX1BJWEVMX1RSQU5TRkVSX1RZUEUs
IDApKTsKIH0KIAogCiB2b2lkIEJpdG1hcFRleHR1cmVHTDo6dXBkYXRlQ29udGVudHMoY29uc3Qg
dm9pZCogZGF0YSwgY29uc3QgSW50UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgSW50UG9pbnQmIHNv
dXJjZU9mZnNldCwgaW50IGJ5dGVzUGVyTGluZSkKIHsKLSAgICBHTHVpbnQgZ2xGb3JtYXQgPSBH
TF9SR0JBOwogICAgIEdMX0NNRChnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIG1faWQpKTsK
IAotICAgIGlmIChkcml2ZXJTdXBwb3J0c0JHUkFTd2l6emxpbmcoKSkKLSAgICAgICAgZ2xGb3Jt
YXQgPSBHTF9CR1JBOwotICAgIGVsc2UKLSAgICAgICAgc3dpenpsZUJHUkFUb1JHQkEocmVpbnRl
cnByZXRfY2FzdDx1aW50MzJfdCo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGRhdGEpKSwgSW50UmVjdChz
b3VyY2VPZmZzZXQsIHRhcmdldFJlY3Quc2l6ZSgpKSwgYnl0ZXNQZXJMaW5lIC8gNCk7Ci0KICAg
ICBpZiAoYnl0ZXNQZXJMaW5lID09IHRhcmdldFJlY3Qud2lkdGgoKSAvIDQgJiYgc291cmNlT2Zm
c2V0ID09IEludFBvaW50Ojp6ZXJvKCkpIHsKLSAgICAgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2Uy
RChHTF9URVhUVVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdl
dFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgZ2xGb3JtYXQsIERFRkFVTFRfVEVY
VFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAoY29uc3QgY2hhciopZGF0YSkpOworICAgICAgICBH
TF9DTUQoZ2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0
YXJnZXRSZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBH
TF9SR0JBLCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgKGNvbnN0IGNoYXIq
KWRhdGEpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTI3LDcgKzQ5Myw3IEBAIHZv
aWQgQml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhjb25zdCB2b2lkKiBkYXRhLCBjb25z
dCBJbnRSZWN0JiB0YXJnZXRSZWN0CiAgICAgICAgICAgICBkc3QgKz0gdGFyZ2V0Qnl0ZXNQZXJM
aW5lOwogICAgICAgICB9CiAKLSAgICAgICAgR0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhU
VVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCksIHRhcmdldFJlY3Qud2lk
dGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwgZ2xGb3JtYXQsIERFRkFVTFRfVEVYVFVSRV9QSVhF
TF9UUkFOU0ZFUl9UWVBFLCB0ZW1wb3JhcnlEYXRhLmRhdGEoKSkpOworICAgICAgICBHTF9DTUQo
Z2xUZXhTdWJJbWFnZTJEKEdMX1RFWFRVUkVfMkQsIDAsIHRhcmdldFJlY3QueCgpLCB0YXJnZXRS
ZWN0LnkoKSwgdGFyZ2V0UmVjdC53aWR0aCgpLCB0YXJnZXRSZWN0LmhlaWdodCgpLCBHTF9SR0JB
LCBERUZBVUxUX1RFWFRVUkVfUElYRUxfVFJBTlNGRVJfVFlQRSwgdGVtcG9yYXJ5RGF0YS5kYXRh
KCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNTM2LDcgKzUwMiw3IEBAIHZvaWQg
Qml0bWFwVGV4dHVyZUdMOjp1cGRhdGVDb250ZW50cyhjb25zdCB2b2lkKiBkYXRhLCBjb25zdCBJ
bnRSZWN0JiB0YXJnZXRSZWN0CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNLX1JP
V19MRU5HVEgsIGJ5dGVzUGVyTGluZSAvIDQpKTsKICAgICBHTF9DTUQoZ2xQaXhlbFN0b3JlaShH
TF9VTlBBQ0tfU0tJUF9ST1dTLCBzb3VyY2VPZmZzZXQueSgpKSk7CiAgICAgR0xfQ01EKGdsUGl4
ZWxTdG9yZWkoR0xfVU5QQUNLX1NLSVBfUElYRUxTLCBzb3VyY2VPZmZzZXQueCgpKSk7Ci0gICAg
R0xfQ01EKGdsVGV4U3ViSW1hZ2UyRChHTF9URVhUVVJFXzJELCAwLCB0YXJnZXRSZWN0LngoKSwg
dGFyZ2V0UmVjdC55KCksIHRhcmdldFJlY3Qud2lkdGgoKSwgdGFyZ2V0UmVjdC5oZWlnaHQoKSwg
Z2xGb3JtYXQsIERFRkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9UWVBFLCAoY29uc3QgY2hh
ciopZGF0YSkpOworICAgIEdMX0NNRChnbFRleFN1YkltYWdlMkQoR0xfVEVYVFVSRV8yRCwgMCwg
dGFyZ2V0UmVjdC54KCksIHRhcmdldFJlY3QueSgpLCB0YXJnZXRSZWN0LndpZHRoKCksIHRhcmdl
dFJlY3QuaGVpZ2h0KCksIEdMX1JHQkEsIERFRkFVTFRfVEVYVFVSRV9QSVhFTF9UUkFOU0ZFUl9U
WVBFLCAoY29uc3QgY2hhciopZGF0YSkpOwogICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VO
UEFDS19ST1dfTEVOR1RILCAwKSk7CiAgICAgR0xfQ01EKGdsUGl4ZWxTdG9yZWkoR0xfVU5QQUNL
X1NLSVBfUk9XUywgMCkpOwogICAgIEdMX0NNRChnbFBpeGVsU3RvcmVpKEdMX1VOUEFDS19TS0lQ
X1BJWEVMUywgMCkpOwpAQCAtNTQ3LDMxICs1MTMsMTIgQEAgdm9pZCBCaXRtYXBUZXh0dXJlR0w6
OnVwZGF0ZUNvbnRlbnRzKEltYWdlKiBpbWFnZSwgY29uc3QgSW50UmVjdCYgdGFyZ2V0UmVjdCwg
Y28KIHsKICAgICBpZiAoIWltYWdlKQogICAgICAgICByZXR1cm47Ci0gICAgTmF0aXZlSW1hZ2VQ
dHIgZnJhbWVJbWFnZSA9IGltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpOwotICAg
IGlmICghZnJhbWVJbWFnZSkKLSAgICAgICAgcmV0dXJuOwogCi0gICAgaW50IGJ5dGVzUGVyTGlu
ZTsKLSAgICBjb25zdCBjaGFyKiBpbWFnZURhdGE7Ci0KLSNpZiBQTEFURk9STShRVCkKLSAgICBR
SW1hZ2UgcXRJbWFnZTsKLSNpZiBIQVZFKFFUNSkKLSAgICAvLyBXaXRoIFFQQSwgd2UgY2FuIGF2
b2lkIGEgZGVlcCBjb3B5LgotICAgIHF0SW1hZ2UgPSAqZnJhbWVJbWFnZS0+aGFuZGxlKCktPmJ1
ZmZlcigpOwotI2Vsc2UKLSAgICAvLyBUaGlzIG1pZ2h0IGJlIGEgZGVlcCBjb3B5LCBkZXBlbmRp
bmcgb24gb3RoZXIgcmVmZXJlbmNlcyB0byB0aGUgcGl4bWFwLgotICAgIHF0SW1hZ2UgPSBmcmFt
ZUltYWdlLT50b0ltYWdlKCk7Ci0jZW5kaWYKLSAgICBpbWFnZURhdGEgPSByZWludGVycHJldF9j
YXN0PGNvbnN0IGNoYXIqPihxdEltYWdlLmNvbnN0Qml0cygpKTsKLSAgICBieXRlc1BlckxpbmUg
PSBxdEltYWdlLmJ5dGVzUGVyTGluZSgpOwotI2VsaWYgVVNFKENBSVJPKQotICAgIGNhaXJvX3N1
cmZhY2VfdCogc3VyZmFjZSA9IGZyYW1lSW1hZ2UtPnN1cmZhY2UoKTsKLSAgICBpbWFnZURhdGEg
PSByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihjYWlyb19pbWFnZV9zdXJmYWNlX2dldF9k
YXRhKHN1cmZhY2UpKTsKLSAgICBieXRlc1BlckxpbmUgPSBjYWlyb19pbWFnZV9zdXJmYWNlX2dl
dF9zdHJpZGUoc3VyZmFjZSk7Ci0jZW5kaWYKKyAgICBWZWN0b3I8dWludDhfdD4gaW1hZ2VEYXRh
OworICAgIEdyYXBoaWNzQ29udGV4dDNEOjpleHRyYWN0SW1hZ2VEYXRhKGltYWdlLCBHcmFwaGlj
c0NvbnRleHQzRDo6UkdCQSwgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUsIGZhbHNl
IC8qIGZsaXBZICovLCB0cnVlIC8qIHByZW11bHRpcGx5QWxwaGEgKi8sIGZhbHNlIC8qIGlnbm9y
ZUdhbW1hQW5kQ29sb3JQcm9maWxlICovLCBpbWFnZURhdGEpOwogCi0gICAgdXBkYXRlQ29udGVu
dHMoaW1hZ2VEYXRhLCB0YXJnZXRSZWN0LCBvZmZzZXQsIGJ5dGVzUGVyTGluZSk7CisgICAgY29u
c3QgdW5zaWduZWQgYnl0ZXNQZXJQaXhlbCA9IDQ7CisgICAgdXBkYXRlQ29udGVudHMoaW1hZ2VE
YXRhLmRhdGEoKSwgdGFyZ2V0UmVjdCwgb2Zmc2V0LCBpbWFnZS0+d2lkdGgoKSAqIGJ5dGVzUGVy
UGl4ZWwpOwogfQogCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQotLSAKMS43LjkuNQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>