<?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>74993</bug_id>
          
          <creation_ts>2011-12-20 22:40:27 -0800</creation_ts>
          <short_desc>[EFL] Refactor the way using cairo in ewk_tiled_backing_store.</short_desc>
          <delta_ts>2012-01-04 01:26:35 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="KwangHyuk">hyuki.kim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>t.morawski</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>525108</commentid>
    <comment_count>0</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-20 22:40:27 -0800</bug_when>
    <thetext>For now there are cairo related code scattered around the ewk_tiled_backing_store.
From the point of code complexity view, it doesn&apos;t look good and I couldn&apos;t notice any benefit of it.
So, this patch will let cairo related code be used only for painting operation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527302</commentid>
    <comment_count>1</comment_count>
      <attachid>120570</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-27 00:56:57 -0800</bug_when>
    <thetext>Created attachment 120570
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527303</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-27 00:59:03 -0800</bug_when>
    <thetext>Attachment 120570 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/efl/ChangeLog&apos;, u&apos;Source/Web...&quot; exit_code: 1

Source/WebKit/efl/ewk/ewk_view_tiled.cpp:31:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527306</commentid>
    <comment_count>3</comment_count>
      <attachid>120570</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-27 01:03:58 -0800</bug_when>
    <thetext>Comment on attachment 120570
Patch.

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

&gt; Source/WebKit/efl/ewk/ewk_tiled_model.cpp:249
&gt;      if (colorSpace == EVAS_COLORSPACE_ARGB8888) {
&gt;          bytes = area * 4;
&gt; -        stride = width * 4;
&gt; -        format = CAIRO_FORMAT_ARGB32;
&gt;      } else if (colorSpace == EVAS_COLORSPACE_RGB565_A5P) {
&gt;          bytes = area * 2;
&gt; -        stride = width * 2;
&gt; -        format = CAIRO_FORMAT_RGB16_565;
&gt;      } else {

remove brace for one statement.

&gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:31
&gt;  
&gt; +#include &lt;RefPtrCairo.h&gt;

please fix order and remove empty line.

&gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:45
&gt; +    Eina_Bool ret = false;
&gt; +
&gt; +    RefPtr&lt;cairo_t&gt; cairo;
&gt; +    RefPtr&lt;cairo_surface_t&gt; surface;
&gt; +    int stride;
&gt; +    cairo_format_t format;
&gt; +    cairo_status_t status;

IMO, C++ can declare variable when it is required.

&gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:76
&gt; +    ret = ewk_view_paint_contents(priv, cairo.get(), &amp;rect);
&gt;  
&gt; -    return ewk_view_paint_contents(priv, tile-&gt;cairo, &amp;rect);
&gt; +    return ret;

ret is not necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527307</commentid>
    <comment_count>4</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-12-27 01:11:02 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=120570) [details]
&gt; Patch.

It seems that this is not good idea to move code from ewk_tile_new function to _ewk_view_tiled_render_cb. Initialization of cairo surface should be done only once per tile. Initialization of new cairo surface on every _ewk_view_tiled_render_cb function call seems to be performance lost. Do you have any test result how performance will be changed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527308</commentid>
    <comment_count>5</comment_count>
      <attachid>120571</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-27 01:19:32 -0800</bug_when>
    <thetext>Created attachment 120571
Patch fixed style error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527309</commentid>
    <comment_count>6</comment_count>
      <attachid>120572</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-27 01:23:49 -0800</bug_when>
    <thetext>Created attachment 120572
Comment applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527310</commentid>
    <comment_count>7</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-27 01:24:54 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 120570 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120570&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_tiled_model.cpp:249
&gt; &gt;      if (colorSpace == EVAS_COLORSPACE_ARGB8888) {
&gt; &gt;          bytes = area * 4;
&gt; &gt; -        stride = width * 4;
&gt; &gt; -        format = CAIRO_FORMAT_ARGB32;
&gt; &gt;      } else if (colorSpace == EVAS_COLORSPACE_RGB565_A5P) {
&gt; &gt;          bytes = area * 2;
&gt; &gt; -        stride = width * 2;
&gt; &gt; -        format = CAIRO_FORMAT_RGB16_565;
&gt; &gt;      } else {
&gt; 
&gt; remove brace for one statement.
&gt; 
Ok, thank you. :)
I have just used style check script for the patch file.
I don&apos;t know why it couldn&apos;t detect this error.

&gt; &gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:31
&gt; &gt;  
&gt; &gt; +#include &lt;RefPtrCairo.h&gt;
&gt; 
&gt; please fix order and remove empty line.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:45
&gt; &gt; +    Eina_Bool ret = false;
&gt; &gt; +
&gt; &gt; +    RefPtr&lt;cairo_t&gt; cairo;
&gt; &gt; +    RefPtr&lt;cairo_surface_t&gt; surface;
&gt; &gt; +    int stride;
&gt; &gt; +    cairo_format_t format;
&gt; &gt; +    cairo_status_t status;
&gt; 
&gt; IMO, C++ can declare variable when it is required.
&gt; 
Done.

&gt; &gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:76
&gt; &gt; +    ret = ewk_view_paint_contents(priv, cairo.get(), &amp;rect);
&gt; &gt;  
&gt; &gt; -    return ewk_view_paint_contents(priv, tile-&gt;cairo, &amp;rect);
&gt; &gt; +    return ret;
&gt; 
&gt; ret is not necessary.
Finally done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527311</commentid>
    <comment_count>8</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-27 01:26:02 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #1)
&gt; &gt; Created an attachment (id=120570) [details] [details]
&gt; &gt; Patch.
&gt; 
&gt; It seems that this is not good idea to move code from ewk_tile_new function to _ewk_view_tiled_render_cb. Initialization of cairo surface should be done only once per tile. Initialization of new cairo surface on every _ewk_view_tiled_render_cb function call seems to be performance lost. Do you have any test result how performance will be changed?

I&apos;m not sure. Does it really have performance issue?

IIRC, It is not expensive and WebKit/Gtk+ and firefox doesn&apos;t keep cairo surface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527312</commentid>
    <comment_count>9</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-27 01:31:10 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; Created an attachment (id=120570) [details] [details] [details]
&gt; &gt; &gt; Patch.
&gt; &gt; 
&gt; &gt; It seems that this is not good idea to move code from ewk_tile_new function to _ewk_view_tiled_render_cb. Initialization of cairo surface should be done only once per tile. Initialization of new cairo surface on every _ewk_view_tiled_render_cb function call seems to be performance lost. Do you have any test result how performance will be changed?
&gt; 
&gt; I&apos;m not sure. Does it really have performance issue?
&gt; 
&gt; IIRC, It is not expensive and WebKit/Gtk+ and firefox doesn&apos;t keep cairo surface.

I am now agreeing with Ryuan.

According to my measurement, only one big burden occurs when it brings pixel data from image object for the first time when image object is created. :)

I couldn&apos;t notice the performance loss when it creates cairo surface and context yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527315</commentid>
    <comment_count>10</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2011-12-27 01:38:15 -0800</bug_when>
    <thetext>&gt; &gt; I&apos;m not sure. Does it really have performance issue?
&gt; &gt; 
&gt; &gt; IIRC, It is not expensive and WebKit/Gtk+ and firefox doesn&apos;t keep cairo surface.
&gt; 
&gt; I am now agreeing with Ryuan.
&gt; 
&gt; According to my measurement, only one big burden occurs when it brings pixel data from image object for the first time when image object is created. :)
&gt; 
&gt; I couldn&apos;t notice the performance loss when it creates cairo surface and context yet.

Thank you, but for curiosity. According to your measurement, could you tell how much time take cairo_image_surface_create_for_data and cairo_create call in each _ewk_view_tiled_render_cb function call?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527317</commentid>
    <comment_count>11</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-27 02:09:00 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; &gt; I&apos;m not sure. Does it really have performance issue?
&gt; &gt; &gt; 
&gt; &gt; &gt; IIRC, It is not expensive and WebKit/Gtk+ and firefox doesn&apos;t keep cairo surface.
&gt; &gt; 
&gt; &gt; I am now agreeing with Ryuan.
&gt; &gt; 
&gt; &gt; According to my measurement, only one big burden occurs when it brings pixel data from image object for the first time when image object is created. :)
&gt; &gt; 
&gt; &gt; I couldn&apos;t notice the performance loss when it creates cairo surface and context yet.
&gt; 
&gt; Thank you, but for curiosity. According to your measurement, could you tell how much time take cairo_image_surface_create_for_data 

According to my measurement, it was 0.013 msec.


&gt; and cairo_create call in each _ewk_view_tiled_render_cb function call?
It was 0.0036 msec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527327</commentid>
    <comment_count>12</comment_count>
      <attachid>120572</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-27 04:21:59 -0800</bug_when>
    <thetext>Comment on attachment 120572
Comment applied.

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

&gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:28
&gt; +#include &lt;RefPtrCairo.h&gt;

Awesome, I love seeing smart pointers being used :) I don&apos;t think you need reference counting in this case, though. Isn&apos;t an OwnPtr enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527333</commentid>
    <comment_count>13</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2011-12-27 05:33:18 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 120572 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120572&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:28
&gt; &gt; +#include &lt;RefPtrCairo.h&gt;
&gt; 
&gt; Awesome, I love seeing smart pointers being used :) I don&apos;t think you need reference counting in this case, though. Isn&apos;t an OwnPtr enough?

Hi, Kubo.

I am glad that you review my patch. :)
Let me check your idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528392</commentid>
    <comment_count>14</comment_count>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2012-01-01 18:39:44 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (From update of attachment 120572 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120572&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:28
&gt; &gt; &gt; +#include &lt;RefPtrCairo.h&gt;
&gt; &gt; 
&gt; &gt; Awesome, I love seeing smart pointers being used :) I don&apos;t think you need reference counting in this case, though. Isn&apos;t an OwnPtr enough?
&gt; 
&gt; Hi, Kubo.
&gt; 
&gt; I am glad that you review my patch. :)
&gt; Let me check your idea.

Kubo,

Unfortunately, OwnPtrCairo doesn&apos;t seem to support cairo_t and cairo_surface_t.
Fortunately, One of my colleague (Tomasz) is wanting to add new code into OwnPtrCairo.
After Tomasz&apos;s new patch will be applied, I will replace RefPtr with OwnPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528401</commentid>
    <comment_count>15</comment_count>
      <attachid>120855</attachid>
    <who name="KwangHyuk">hyuki.kim</who>
    <bug_when>2012-01-01 20:07:47 -0800</bug_when>
    <thetext>Created attachment 120855
Patch rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528483</commentid>
    <comment_count>16</comment_count>
    <who name="Tomasz Morawski">t.morawski</who>
    <bug_when>2012-01-02 05:51:11 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; (From update of attachment 120572 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120572&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view_tiled.cpp:28
&gt; &gt; &gt; &gt; +#include &lt;RefPtrCairo.h&gt;
&gt; &gt; &gt; 
&gt; &gt; &gt; Awesome, I love seeing smart pointers being used :) I don&apos;t think you need reference counting in this case, though. Isn&apos;t an OwnPtr enough?
&gt; &gt; 
&gt; &gt; Hi, Kubo.
&gt; &gt; 
&gt; &gt; I am glad that you review my patch. :)
&gt; &gt; Let me check your idea.
&gt; 
&gt; Kubo,
&gt; 
&gt; Unfortunately, OwnPtrCairo doesn&apos;t seem to support cairo_t and cairo_surface_t.
&gt; Fortunately, One of my colleague (Tomasz) is wanting to add new code into OwnPtrCairo.
&gt; After Tomasz&apos;s new patch will be applied, I will replace RefPtr with OwnPtr.
Hi,
Finally. All cairo object should not be wrapped in an OwnPtr because it&apos;s reference counted internally. This is way there is no implementation for basic cairo_t object in OwnPtr. We should stay with RefPtr version of Kwang&apos;s patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528486</commentid>
    <comment_count>17</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-01-02 05:56:27 -0800</bug_when>
    <thetext>OK then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529390</commentid>
    <comment_count>18</comment_count>
      <attachid>120855</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-01-04 00:38:26 -0800</bug_when>
    <thetext>Comment on attachment 120855
Patch rebased.

Rubberstamping this. I had worries about the RefPtr&lt;&gt; now being obsolete (that was already commented here, why its ok) as well as the needless recreation of the surfaces, but I was told its no measurable difference, and eg. FF wouldn&apos;t cache cairo_t/cairo_surface_t objects as well, so r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529413</commentid>
    <comment_count>19</comment_count>
      <attachid>120855</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-04 01:26:30 -0800</bug_when>
    <thetext>Comment on attachment 120855
Patch rebased.

Clearing flags on attachment: 120855

Committed r104021: &lt;http://trac.webkit.org/changeset/104021&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529414</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-04 01:26:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120570</attachid>
            <date>2011-12-27 00:56:57 -0800</date>
            <delta_ts>2011-12-27 01:19:32 -0800</delta_ts>
            <desc>Patch.</desc>
            <filename>1227_cairo_ondemand.patch</filename>
            <type>text/plain</type>
            <size>6858</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA0NTRhNjk5Li4yY2M1OTA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTEtMTItMjcgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gUmVmYWN0b3IgdGhlIHdheSB1c2luZyBjYWlybyBp
biBld2tfdGlsZWRfYmFja2luZ19zdG9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc0OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRm9yIG5vdyB0aGVyZSBhcmUgY2Fpcm8gcmVsYXRlZCBjb2RlIHNj
YXR0ZXJlZCBhcm91bmQgdGhlIGV3a190aWxlZF9iYWNraW5nX3N0b3JlLgorICAgICAgICBGcm9t
IHRoZSBwb2ludCBvZiBjb2RlIGNvbXBsZXhpdHkgdmlldywgaXQgZG9lc24ndCBsb29rIGdvb2Qg
YW5kIEkgY291bGRuJ3Qgbm90aWNlIGFueSBiZW5lZml0IG9mIGl0LgorICAgICAgICBTbywgdGhp
cyBwYXRjaCB3aWxsIGxldCBjYWlybyByZWxhdGVkIGNvZGUgYmUgdXNlZCBvbmx5IGZvciBwYWlu
dGluZyBvcGVyYXRpb24uCisKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUu
aDoKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX21hdHJpeC5jcHA6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGlsZWRfbW9kZWwuY3BwOgor
ICAgICAgICAoZXdrX3RpbGVfbmV3KToKKyAgICAgICAgKGV3a190aWxlX2ZyZWUpOgorICAgICAg
ICAqIGV3ay9ld2tfdmlld190aWxlZC5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfdGlsZWRfcmVu
ZGVyX2NiKToKKwogMjAxMS0xMi0yNiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF0gTGFzdCBwYXJhbWV0ZXIgb2YgZXdrX3ZpZXdfc2Nyb2xsIGlz
IGFsd2F5cyB0cnVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tp
bmdfc3RvcmUuaAppbmRleCAwZTUwYjg3Li5lOTExOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuaApAQCAtNjcsMTAgKzY3LDYgQEAgc3Ry
dWN0IF9Fd2tfVGlsZSB7CiAgICAgdW5zaWduZWQgbG9uZyBjb2wsIHJvdzsgLyoqPCB0aWxlIHRp
bGUgcG9zaXRpb24gKi8KICAgICBFdmFzX0Nvb3JkIHgsIHk7ICAgICAgICAvKio8IHRpbGUgY29v
cmRpbmF0ZSBwb3NpdGlvbiAqLwogCi0gICAgLyogVE9ETzogZG9lcyBpdCB3b3J0aCB0byBrZWVw
IHRob3NlIG9yIGNyZWF0ZSBvbiBkZW1hbmQ/ICovCi0gICAgY2Fpcm9fc3VyZmFjZV90KiBzdXJm
YWNlOwotICAgIGNhaXJvX3QqIGNhaXJvOwotCiAgICAgLyoqIE5ldmVyIGV2ZXIgY2hhbmdlIHRo
b3NlIGFmdGVyIHRpbGUgaXMgY3JlYXRlZCAocmVzcGVjdCBjb25zdCEpICovCiAgICAgY29uc3Qg
RXZhc19Db29yZCB3aWR0aCwgaGVpZ2h0OyAgICAgICAgLyoqPCB0aWxlIHNpemUgKHNlZSBUSUxF
X1NJWkVfQVRfWk9PTSgpKSAqLwogICAgIGNvbnN0IEV2YXNfQ29sb3JzcGFjZSBjc3BhY2U7IC8q
KjwgY29sb3JzcGFjZSAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190
aWxlZF9tYXRyaXguY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXgu
Y3BwCmluZGV4IDY5MjM2YjUuLjRlNjIyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3RpbGVkX21hdHJpeC5jcHAKQEAgLTQ2NCw5ICs0NjQsNiBAQCBFd2tfVGlsZSogZXdrX3RpbGVf
bWF0cml4X3RpbGVfbmV3KEV3a19UaWxlX01hdHJpeCogdGlsZU1hdHJpeCwgRXZhcyogY2FudmFz
LCB1bgogICAgIHRpbGUtPnJvdyA9IHJvdzsKICAgICB0aWxlLT54ID0gY29sdW1uICogdGlsZVdp
ZHRoOwogICAgIHRpbGUtPnkgPSByb3cgKiB0aWxlSGVpZ2h0OwotCi0gICAgY2Fpcm9fdHJhbnNs
YXRlKHRpbGUtPmNhaXJvLCAtdGlsZS0+eCwgLXRpbGUtPnkpOwotCiAgICAgdGlsZS0+c3RhdHMu
ZnVsbF91cGRhdGUgPSB0cnVlOwogICAgIHRpbGVNYXRyaXgtPnVwZGF0ZXMgPSBlaW5hX2xpc3Rf
YXBwZW5kKHRpbGVNYXRyaXgtPnVwZGF0ZXMsIHRpbGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21vZGVsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfbW9kZWwuY3BwCmluZGV4IDIyYmYzMmUuLmFiZDExNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9kZWwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9kZWwuY3BwCkBAIC0yMzcsOSArMjM3LDYgQEAgRXdr
X1RpbGUqIGV3a190aWxlX25ldyhFdmFzKiBldmFzLCBFdmFzX0Nvb3JkIHdpZHRoLCBFdmFzX0Nv
b3JkIGhlaWdodCwgZmxvYXQgem8KICAgICBFd2tfVGlsZSogdGlsZTsKICAgICB1bnNpZ25lZCBp
bnQgYXJlYTsKICAgICBzaXplX3QgYnl0ZXM7Ci0gICAgY2Fpcm9fZm9ybWF0X3QgZm9ybWF0Owot
ICAgIGNhaXJvX3N0YXR1c190IHN0YXR1czsKLSAgICBpbnQgc3RyaWRlOwogICAgIEVjb3JlX0V2
YXMqIGVjb3JlRXZhczsKICAgICBjb25zdCBjaGFyKiBlbmdpbmU7CiAKQEAgLTI0NywxMiArMjQ0
LDggQEAgRXdrX1RpbGUqIGV3a190aWxlX25ldyhFdmFzKiBldmFzLCBFdmFzX0Nvb3JkIHdpZHRo
LCBFdmFzX0Nvb3JkIGhlaWdodCwgZmxvYXQgem8KIAogICAgIGlmIChjb2xvclNwYWNlID09IEVW
QVNfQ09MT1JTUEFDRV9BUkdCODg4OCkgewogICAgICAgICBieXRlcyA9IGFyZWEgKiA0OwotICAg
ICAgICBzdHJpZGUgPSB3aWR0aCAqIDQ7Ci0gICAgICAgIGZvcm1hdCA9IENBSVJPX0ZPUk1BVF9B
UkdCMzI7CiAgICAgfSBlbHNlIGlmIChjb2xvclNwYWNlID09IEVWQVNfQ09MT1JTUEFDRV9SR0I1
NjVfQTVQKSB7CiAgICAgICAgIGJ5dGVzID0gYXJlYSAqIDI7Ci0gICAgICAgIHN0cmlkZSA9IHdp
ZHRoICogMjsKLSAgICAgICAgZm9ybWF0ID0gQ0FJUk9fRk9STUFUX1JHQjE2XzU2NTsKICAgICB9
IGVsc2UgewogICAgICAgICBFUlIoInVua25vd24gY29sb3Igc3BhY2U6ICVkIiwgY29sb3JTcGFj
ZSk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMjk2LDI1ICsyODksNiBAQCBFd2tfVGlsZSogZXdr
X3RpbGVfbmV3KEV2YXMqIGV2YXMsIEV2YXNfQ29vcmQgd2lkdGgsIEV2YXNfQ29vcmQgaGVpZ2h0
LCBmbG9hdCB6bwogICAgIGV2YXNfb2JqZWN0X2ltYWdlX3NpemVfc2V0KHRpbGUtPmltYWdlLCB0
aWxlLT53aWR0aCwgdGlsZS0+aGVpZ2h0KTsKICAgICBldmFzX29iamVjdF9pbWFnZV9jb2xvcnNw
YWNlX3NldCh0aWxlLT5pbWFnZSwgdGlsZS0+Y3NwYWNlKTsKICAgICB0aWxlLT5waXhlbHMgPSBz
dGF0aWNfY2FzdDx1aW50OF90Kj4oZXZhc19vYmplY3RfaW1hZ2VfZGF0YV9nZXQodGlsZS0+aW1h
Z2UsIHRydWUpKTsKLSAgICB0aWxlLT5zdXJmYWNlID0gY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVh
dGVfZm9yX2RhdGEodGlsZS0+cGl4ZWxzLCBmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIHN0cmlkZSk7
Ci0gICAgc3RhdHVzID0gY2Fpcm9fc3VyZmFjZV9zdGF0dXModGlsZS0+c3VyZmFjZSk7Ci0gICAg
aWYgKHN0YXR1cyAhPSBDQUlST19TVEFUVVNfU1VDQ0VTUykgewotICAgICAgICBFUlIoImZhaWxl
ZCB0byBjcmVhdGUgY2Fpcm8gc3VyZmFjZTogJXMiLAotICAgICAgICAgICAgY2Fpcm9fc3RhdHVz
X3RvX3N0cmluZyhzdGF0dXMpKTsKLSAgICAgICAgZnJlZSh0aWxlKTsKLSAgICAgICAgcmV0dXJu
IDA7Ci0gICAgfQotCi0gICAgdGlsZS0+Y2Fpcm8gPSBjYWlyb19jcmVhdGUodGlsZS0+c3VyZmFj
ZSk7Ci0gICAgc3RhdHVzID0gY2Fpcm9fc3RhdHVzKHRpbGUtPmNhaXJvKTsKLSAgICBpZiAoc3Rh
dHVzICE9IENBSVJPX1NUQVRVU19TVUNDRVNTKSB7Ci0gICAgICAgIEVSUigiZmFpbGVkIHRvIGNy
ZWF0ZSBjYWlybzogJXMiLCBjYWlyb19zdGF0dXNfdG9fc3RyaW5nKHN0YXR1cykpOwotICAgICAg
ICBjYWlyb19zdXJmYWNlX2Rlc3Ryb3kodGlsZS0+c3VyZmFjZSk7Ci0gICAgICAgIGV2YXNfb2Jq
ZWN0X2RlbCh0aWxlLT5pbWFnZSk7Ci0gICAgICAgIGZyZWUodGlsZSk7Ci0gICAgICAgIHJldHVy
biAwOwotICAgIH0KLQogICAgIF9ld2tfdGlsZV9hY2NvdW50X2FsbG9jYXRlZCh0aWxlKTsKIAog
ICAgIHJldHVybiB0aWxlOwpAQCAtMzMwLDggKzMwNCw2IEBAIHZvaWQgZXdrX3RpbGVfZnJlZShF
d2tfVGlsZSogdGlsZSkKICAgICBpZiAodGlsZS0+dXBkYXRlcykKICAgICAgICAgZWluYV90aWxl
cl9mcmVlKHRpbGUtPnVwZGF0ZXMpOwogCi0gICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KHRpbGUt
PnN1cmZhY2UpOwotICAgIGNhaXJvX2Rlc3Ryb3kodGlsZS0+Y2Fpcm8pOwogICAgIGV2YXNfb2Jq
ZWN0X2RlbCh0aWxlLT5pbWFnZSk7CiAgICAgZnJlZSh0aWxlKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld190aWxlZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXdfdGlsZWQuY3BwCmluZGV4IGUzNzY5NTQuLjBmZThkZTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld190aWxlZC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3RpbGVkLmNwcApAQCAtMjgsMTQgKzI4LDUyIEBACiAj
aW5jbHVkZSA8ZWluYV9zYWZldHlfY2hlY2tzLmg+CiAjaW5jbHVkZSA8ZXdrX3RpbGVkX2JhY2tp
bmdfc3RvcmUuaD4KIAorI2luY2x1ZGUgPFJlZlB0ckNhaXJvLmg+CisKIHN0YXRpYyBFd2tfVmll
d19TbWFydF9DbGFzcyBfcGFyZW50X3NjID0gRVdLX1ZJRVdfU01BUlRfQ0xBU1NfSU5JVF9OVUxM
OwogCiBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld190aWxlZF9yZW5kZXJfY2Iodm9pZCogZGF0
YSwgRXdrX1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiBhcmVhKQogewogICAgIEV3
a19WaWV3X1ByaXZhdGVfRGF0YSogcHJpdiA9IHN0YXRpY19jYXN0PEV3a19WaWV3X1ByaXZhdGVf
RGF0YSo+KGRhdGEpOwogICAgIEVpbmFfUmVjdGFuZ2xlIHJlY3QgPSB7YXJlYS0+eCArIHRpbGUt
PngsIGFyZWEtPnkgKyB0aWxlLT55LCBhcmVhLT53LCBhcmVhLT5ofTsKKyAgICBFaW5hX0Jvb2wg
cmV0ID0gZmFsc2U7CisKKyAgICBSZWZQdHI8Y2Fpcm9fdD4gY2Fpcm87CisgICAgUmVmUHRyPGNh
aXJvX3N1cmZhY2VfdD4gc3VyZmFjZTsKKyAgICBpbnQgc3RyaWRlOworICAgIGNhaXJvX2Zvcm1h
dF90IGZvcm1hdDsKKyAgICBjYWlyb19zdGF0dXNfdCBzdGF0dXM7CisKKyAgICBpZiAodGlsZS0+
Y3NwYWNlID09IEVWQVNfQ09MT1JTUEFDRV9BUkdCODg4OCkgeworICAgICAgICBzdHJpZGUgPSB0
aWxlLT53aWR0aCAqIDQ7CisgICAgICAgIGZvcm1hdCA9IENBSVJPX0ZPUk1BVF9BUkdCMzI7Cisg
ICAgfSBlbHNlIGlmICh0aWxlLT5jc3BhY2UgPT0gRVZBU19DT0xPUlNQQUNFX1JHQjU2NV9BNVAp
IHsKKyAgICAgICAgc3RyaWRlID0gdGlsZS0+d2lkdGggKiAyOworICAgICAgICBmb3JtYXQgPSBD
QUlST19GT1JNQVRfUkdCMTZfNTY1OworICAgIH0gZWxzZSB7CisgICAgICAgIEVSUigidW5rbm93
biBjb2xvciBzcGFjZTogJWQiLCB0aWxlLT5jc3BhY2UpOworICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorCisgICAgc3VyZmFjZSA9IGFkb3B0UmVmKGNhaXJvX2ltYWdlX3N1cmZhY2VfY3Jl
YXRlX2Zvcl9kYXRhKHRpbGUtPnBpeGVscywgZm9ybWF0LCB0aWxlLT53aWR0aCwgdGlsZS0+aGVp
Z2h0LCBzdHJpZGUpKTsKKyAgICBzdGF0dXMgPSBjYWlyb19zdXJmYWNlX3N0YXR1cyhzdXJmYWNl
LmdldCgpKTsKKyAgICBpZiAoc3RhdHVzICE9IENBSVJPX1NUQVRVU19TVUNDRVNTKSB7CisgICAg
ICAgIEVSUigiZmFpbGVkIHRvIGNyZWF0ZSBjYWlybyBzdXJmYWNlOiAlcyIsIGNhaXJvX3N0YXR1
c190b19zdHJpbmcoc3RhdHVzKSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICBjYWlybyA9IGFkb3B0UmVmKGNhaXJvX2NyZWF0ZShzdXJmYWNlLmdldCgpKSk7CisgICAgc3Rh
dHVzID0gY2Fpcm9fc3RhdHVzKGNhaXJvLmdldCgpKTsKKyAgICBpZiAoc3RhdHVzICE9IENBSVJP
X1NUQVRVU19TVUNDRVNTKSB7CisgICAgICAgIEVSUigiZmFpbGVkIHRvIGNyZWF0ZSBjYWlybzog
JXMiLCBjYWlyb19zdGF0dXNfdG9fc3RyaW5nKHN0YXR1cykpOworICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgY2Fpcm9fdHJhbnNsYXRlKGNhaXJvLmdldCgpLCAtdGlsZS0+eCwg
LXRpbGUtPnkpOworCisgICAgcmV0ID0gZXdrX3ZpZXdfcGFpbnRfY29udGVudHMocHJpdiwgY2Fp
cm8uZ2V0KCksICZyZWN0KTsKIAotICAgIHJldHVybiBld2tfdmlld19wYWludF9jb250ZW50cyhw
cml2LCB0aWxlLT5jYWlybywgJnJlY3QpOworICAgIHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2
b2lkKiBfZXdrX3ZpZXdfdGlsZWRfdXBkYXRlc19wcm9jZXNzX3ByZSh2b2lkKiBkYXRhLCBFdmFz
X09iamVjdCogZXdrVmlldykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120571</attachid>
            <date>2011-12-27 01:19:32 -0800</date>
            <delta_ts>2011-12-27 01:23:49 -0800</delta_ts>
            <desc>Patch fixed style error.</desc>
            <filename>1227_cairo_ondemand_2.patch</filename>
            <type>text/plain</type>
            <size>6999</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA0NTRhNjk5Li4yY2M1OTA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTEtMTItMjcgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gUmVmYWN0b3IgdGhlIHdheSB1c2luZyBjYWlybyBp
biBld2tfdGlsZWRfYmFja2luZ19zdG9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc0OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRm9yIG5vdyB0aGVyZSBhcmUgY2Fpcm8gcmVsYXRlZCBjb2RlIHNj
YXR0ZXJlZCBhcm91bmQgdGhlIGV3a190aWxlZF9iYWNraW5nX3N0b3JlLgorICAgICAgICBGcm9t
IHRoZSBwb2ludCBvZiBjb2RlIGNvbXBsZXhpdHkgdmlldywgaXQgZG9lc24ndCBsb29rIGdvb2Qg
YW5kIEkgY291bGRuJ3Qgbm90aWNlIGFueSBiZW5lZml0IG9mIGl0LgorICAgICAgICBTbywgdGhp
cyBwYXRjaCB3aWxsIGxldCBjYWlybyByZWxhdGVkIGNvZGUgYmUgdXNlZCBvbmx5IGZvciBwYWlu
dGluZyBvcGVyYXRpb24uCisKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUu
aDoKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX21hdHJpeC5jcHA6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGlsZWRfbW9kZWwuY3BwOgor
ICAgICAgICAoZXdrX3RpbGVfbmV3KToKKyAgICAgICAgKGV3a190aWxlX2ZyZWUpOgorICAgICAg
ICAqIGV3ay9ld2tfdmlld190aWxlZC5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfdGlsZWRfcmVu
ZGVyX2NiKToKKwogMjAxMS0xMi0yNiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF0gTGFzdCBwYXJhbWV0ZXIgb2YgZXdrX3ZpZXdfc2Nyb2xsIGlz
IGFsd2F5cyB0cnVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tp
bmdfc3RvcmUuaAppbmRleCAwZTUwYjg3Li5lOTExOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuaApAQCAtNjcsMTAgKzY3LDYgQEAgc3Ry
dWN0IF9Fd2tfVGlsZSB7CiAgICAgdW5zaWduZWQgbG9uZyBjb2wsIHJvdzsgLyoqPCB0aWxlIHRp
bGUgcG9zaXRpb24gKi8KICAgICBFdmFzX0Nvb3JkIHgsIHk7ICAgICAgICAvKio8IHRpbGUgY29v
cmRpbmF0ZSBwb3NpdGlvbiAqLwogCi0gICAgLyogVE9ETzogZG9lcyBpdCB3b3J0aCB0byBrZWVw
IHRob3NlIG9yIGNyZWF0ZSBvbiBkZW1hbmQ/ICovCi0gICAgY2Fpcm9fc3VyZmFjZV90KiBzdXJm
YWNlOwotICAgIGNhaXJvX3QqIGNhaXJvOwotCiAgICAgLyoqIE5ldmVyIGV2ZXIgY2hhbmdlIHRo
b3NlIGFmdGVyIHRpbGUgaXMgY3JlYXRlZCAocmVzcGVjdCBjb25zdCEpICovCiAgICAgY29uc3Qg
RXZhc19Db29yZCB3aWR0aCwgaGVpZ2h0OyAgICAgICAgLyoqPCB0aWxlIHNpemUgKHNlZSBUSUxF
X1NJWkVfQVRfWk9PTSgpKSAqLwogICAgIGNvbnN0IEV2YXNfQ29sb3JzcGFjZSBjc3BhY2U7IC8q
KjwgY29sb3JzcGFjZSAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190
aWxlZF9tYXRyaXguY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXgu
Y3BwCmluZGV4IDY5MjM2YjUuLjRlNjIyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3RpbGVkX21hdHJpeC5jcHAKQEAgLTQ2NCw5ICs0NjQsNiBAQCBFd2tfVGlsZSogZXdrX3RpbGVf
bWF0cml4X3RpbGVfbmV3KEV3a19UaWxlX01hdHJpeCogdGlsZU1hdHJpeCwgRXZhcyogY2FudmFz
LCB1bgogICAgIHRpbGUtPnJvdyA9IHJvdzsKICAgICB0aWxlLT54ID0gY29sdW1uICogdGlsZVdp
ZHRoOwogICAgIHRpbGUtPnkgPSByb3cgKiB0aWxlSGVpZ2h0OwotCi0gICAgY2Fpcm9fdHJhbnNs
YXRlKHRpbGUtPmNhaXJvLCAtdGlsZS0+eCwgLXRpbGUtPnkpOwotCiAgICAgdGlsZS0+c3RhdHMu
ZnVsbF91cGRhdGUgPSB0cnVlOwogICAgIHRpbGVNYXRyaXgtPnVwZGF0ZXMgPSBlaW5hX2xpc3Rf
YXBwZW5kKHRpbGVNYXRyaXgtPnVwZGF0ZXMsIHRpbGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21vZGVsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfbW9kZWwuY3BwCmluZGV4IDIyYmYzMmUuLjBlZjI4YjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9kZWwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9kZWwuY3BwCkBAIC0yMzcsMjMgKzIzNywxNiBAQCBF
d2tfVGlsZSogZXdrX3RpbGVfbmV3KEV2YXMqIGV2YXMsIEV2YXNfQ29vcmQgd2lkdGgsIEV2YXNf
Q29vcmQgaGVpZ2h0LCBmbG9hdCB6bwogICAgIEV3a19UaWxlKiB0aWxlOwogICAgIHVuc2lnbmVk
IGludCBhcmVhOwogICAgIHNpemVfdCBieXRlczsKLSAgICBjYWlyb19mb3JtYXRfdCBmb3JtYXQ7
Ci0gICAgY2Fpcm9fc3RhdHVzX3Qgc3RhdHVzOwotICAgIGludCBzdHJpZGU7CiAgICAgRWNvcmVf
RXZhcyogZWNvcmVFdmFzOwogICAgIGNvbnN0IGNoYXIqIGVuZ2luZTsKIAogICAgIGFyZWEgPSB3
aWR0aCAqIGhlaWdodDsKIAotICAgIGlmIChjb2xvclNwYWNlID09IEVWQVNfQ09MT1JTUEFDRV9B
UkdCODg4OCkgeworICAgIGlmIChjb2xvclNwYWNlID09IEVWQVNfQ09MT1JTUEFDRV9BUkdCODg4
OCkKICAgICAgICAgYnl0ZXMgPSBhcmVhICogNDsKLSAgICAgICAgc3RyaWRlID0gd2lkdGggKiA0
OwotICAgICAgICBmb3JtYXQgPSBDQUlST19GT1JNQVRfQVJHQjMyOwotICAgIH0gZWxzZSBpZiAo
Y29sb3JTcGFjZSA9PSBFVkFTX0NPTE9SU1BBQ0VfUkdCNTY1X0E1UCkgeworICAgIGVsc2UgaWYg
KGNvbG9yU3BhY2UgPT0gRVZBU19DT0xPUlNQQUNFX1JHQjU2NV9BNVApCiAgICAgICAgIGJ5dGVz
ID0gYXJlYSAqIDI7Ci0gICAgICAgIHN0cmlkZSA9IHdpZHRoICogMjsKLSAgICAgICAgZm9ybWF0
ID0gQ0FJUk9fRk9STUFUX1JHQjE2XzU2NTsKLSAgICB9IGVsc2UgeworICAgIGVsc2UgewogICAg
ICAgICBFUlIoInVua25vd24gY29sb3Igc3BhY2U6ICVkIiwgY29sb3JTcGFjZSk7CiAgICAgICAg
IHJldHVybiAwOwogICAgIH0KQEAgLTI5NiwyNSArMjg5LDYgQEAgRXdrX1RpbGUqIGV3a190aWxl
X25ldyhFdmFzKiBldmFzLCBFdmFzX0Nvb3JkIHdpZHRoLCBFdmFzX0Nvb3JkIGhlaWdodCwgZmxv
YXQgem8KICAgICBldmFzX29iamVjdF9pbWFnZV9zaXplX3NldCh0aWxlLT5pbWFnZSwgdGlsZS0+
d2lkdGgsIHRpbGUtPmhlaWdodCk7CiAgICAgZXZhc19vYmplY3RfaW1hZ2VfY29sb3JzcGFjZV9z
ZXQodGlsZS0+aW1hZ2UsIHRpbGUtPmNzcGFjZSk7CiAgICAgdGlsZS0+cGl4ZWxzID0gc3RhdGlj
X2Nhc3Q8dWludDhfdCo+KGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfZ2V0KHRpbGUtPmltYWdlLCB0
cnVlKSk7Ci0gICAgdGlsZS0+c3VyZmFjZSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zv
cl9kYXRhKHRpbGUtPnBpeGVscywgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBzdHJpZGUpOwotICAg
IHN0YXR1cyA9IGNhaXJvX3N1cmZhY2Vfc3RhdHVzKHRpbGUtPnN1cmZhY2UpOwotICAgIGlmIChz
dGF0dXMgIT0gQ0FJUk9fU1RBVFVTX1NVQ0NFU1MpIHsKLSAgICAgICAgRVJSKCJmYWlsZWQgdG8g
Y3JlYXRlIGNhaXJvIHN1cmZhY2U6ICVzIiwKLSAgICAgICAgICAgIGNhaXJvX3N0YXR1c190b19z
dHJpbmcoc3RhdHVzKSk7Ci0gICAgICAgIGZyZWUodGlsZSk7Ci0gICAgICAgIHJldHVybiAwOwot
ICAgIH0KLQotICAgIHRpbGUtPmNhaXJvID0gY2Fpcm9fY3JlYXRlKHRpbGUtPnN1cmZhY2UpOwot
ICAgIHN0YXR1cyA9IGNhaXJvX3N0YXR1cyh0aWxlLT5jYWlybyk7Ci0gICAgaWYgKHN0YXR1cyAh
PSBDQUlST19TVEFUVVNfU1VDQ0VTUykgewotICAgICAgICBFUlIoImZhaWxlZCB0byBjcmVhdGUg
Y2Fpcm86ICVzIiwgY2Fpcm9fc3RhdHVzX3RvX3N0cmluZyhzdGF0dXMpKTsKLSAgICAgICAgY2Fp
cm9fc3VyZmFjZV9kZXN0cm95KHRpbGUtPnN1cmZhY2UpOwotICAgICAgICBldmFzX29iamVjdF9k
ZWwodGlsZS0+aW1hZ2UpOwotICAgICAgICBmcmVlKHRpbGUpOwotICAgICAgICByZXR1cm4gMDsK
LSAgICB9Ci0KICAgICBfZXdrX3RpbGVfYWNjb3VudF9hbGxvY2F0ZWQodGlsZSk7CiAKICAgICBy
ZXR1cm4gdGlsZTsKQEAgLTMzMCw4ICszMDQsNiBAQCB2b2lkIGV3a190aWxlX2ZyZWUoRXdrX1Rp
bGUqIHRpbGUpCiAgICAgaWYgKHRpbGUtPnVwZGF0ZXMpCiAgICAgICAgIGVpbmFfdGlsZXJfZnJl
ZSh0aWxlLT51cGRhdGVzKTsKIAotICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveSh0aWxlLT5zdXJm
YWNlKTsKLSAgICBjYWlyb19kZXN0cm95KHRpbGUtPmNhaXJvKTsKICAgICBldmFzX29iamVjdF9k
ZWwodGlsZS0+aW1hZ2UpOwogICAgIGZyZWUodGlsZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfdGlsZWQuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a192aWV3X3RpbGVkLmNwcAppbmRleCBlMzc2OTU0Li45MzVkYjBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfdGlsZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdmlld190aWxlZC5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRl
ICJld2tfcHJpdmF0ZS5oIgogCiAjaW5jbHVkZSA8RXZhcy5oPgorI2luY2x1ZGUgPFJlZlB0ckNh
aXJvLmg+CiAjaW5jbHVkZSA8ZWluYV9zYWZldHlfY2hlY2tzLmg+CiAjaW5jbHVkZSA8ZXdrX3Rp
bGVkX2JhY2tpbmdfc3RvcmUuaD4KIApAQCAtMzMsOSArMzQsNDAgQEAgc3RhdGljIEV3a19WaWV3
X1NtYXJ0X0NsYXNzIF9wYXJlbnRfc2MgPSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUX05VTEw7
CiBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld190aWxlZF9yZW5kZXJfY2Iodm9pZCogZGF0YSwg
RXdrX1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiBhcmVhKQogewogICAgIEV3a19W
aWV3X1ByaXZhdGVfRGF0YSogcHJpdiA9IHN0YXRpY19jYXN0PEV3a19WaWV3X1ByaXZhdGVfRGF0
YSo+KGRhdGEpOwotICAgIEVpbmFfUmVjdGFuZ2xlIHJlY3QgPSB7YXJlYS0+eCArIHRpbGUtPngs
IGFyZWEtPnkgKyB0aWxlLT55LCBhcmVhLT53LCBhcmVhLT5ofTsKKyAgICBFaW5hX1JlY3Rhbmds
ZSByZWN0ID0ge2FyZWEtPnggKyB0aWxlLT54LCBhcmVhLT55ICsgdGlsZS0+eSwgYXJlYS0+dywg
YXJlYS0+aH07ICAgIAorICAgIGludCBzdHJpZGU7CisgICAgY2Fpcm9fZm9ybWF0X3QgZm9ybWF0
OworCisgICAgaWYgKHRpbGUtPmNzcGFjZSA9PSBFVkFTX0NPTE9SU1BBQ0VfQVJHQjg4ODgpIHsK
KyAgICAgICAgc3RyaWRlID0gdGlsZS0+d2lkdGggKiA0OworICAgICAgICBmb3JtYXQgPSBDQUlS
T19GT1JNQVRfQVJHQjMyOworICAgIH0gZWxzZSBpZiAodGlsZS0+Y3NwYWNlID09IEVWQVNfQ09M
T1JTUEFDRV9SR0I1NjVfQTVQKSB7CisgICAgICAgIHN0cmlkZSA9IHRpbGUtPndpZHRoICogMjsK
KyAgICAgICAgZm9ybWF0ID0gQ0FJUk9fRk9STUFUX1JHQjE2XzU2NTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBFUlIoInVua25vd24gY29sb3Igc3BhY2U6ICVkIiwgdGlsZS0+Y3NwYWNlKTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+
IHN1cmZhY2UgPSBhZG9wdFJlZihjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YSh0
aWxlLT5waXhlbHMsIGZvcm1hdCwgdGlsZS0+d2lkdGgsIHRpbGUtPmhlaWdodCwgc3RyaWRlKSk7
CisgICAgY2Fpcm9fc3RhdHVzX3Qgc3RhdHVzID0gY2Fpcm9fc3VyZmFjZV9zdGF0dXMoc3VyZmFj
ZS5nZXQoKSk7CisgICAgaWYgKHN0YXR1cyAhPSBDQUlST19TVEFUVVNfU1VDQ0VTUykgeworICAg
ICAgICBFUlIoImZhaWxlZCB0byBjcmVhdGUgY2Fpcm8gc3VyZmFjZTogJXMiLCBjYWlyb19zdGF0
dXNfdG9fc3RyaW5nKHN0YXR1cykpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgUmVmUHRyPGNhaXJvX3Q+IGNhaXJvID0gYWRvcHRSZWYoY2Fpcm9fY3JlYXRlKHN1cmZhY2Uu
Z2V0KCkpKTsKKyAgICBzdGF0dXMgPSBjYWlyb19zdGF0dXMoY2Fpcm8uZ2V0KCkpOworICAgIGlm
IChzdGF0dXMgIT0gQ0FJUk9fU1RBVFVTX1NVQ0NFU1MpIHsKKyAgICAgICAgRVJSKCJmYWlsZWQg
dG8gY3JlYXRlIGNhaXJvOiAlcyIsIGNhaXJvX3N0YXR1c190b19zdHJpbmcoc3RhdHVzKSk7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBjYWlyb190cmFuc2xhdGUoY2Fpcm8u
Z2V0KCksIC10aWxlLT54LCAtdGlsZS0+eSk7CisKKyAgICBFaW5hX0Jvb2wgcmV0ID0gZXdrX3Zp
ZXdfcGFpbnRfY29udGVudHMocHJpdiwgY2Fpcm8uZ2V0KCksICZyZWN0KTsKIAotICAgIHJldHVy
biBld2tfdmlld19wYWludF9jb250ZW50cyhwcml2LCB0aWxlLT5jYWlybywgJnJlY3QpOworICAg
IHJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkKiBfZXdrX3ZpZXdfdGlsZWRfdXBkYXRlc19w
cm9jZXNzX3ByZSh2b2lkKiBkYXRhLCBFdmFzX09iamVjdCogZXdrVmlldykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120572</attachid>
            <date>2011-12-27 01:23:49 -0800</date>
            <delta_ts>2012-01-01 20:07:47 -0800</delta_ts>
            <desc>Comment applied.</desc>
            <filename>1227_cairo_ondemand_3.patch</filename>
            <type>text/plain</type>
            <size>6971</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA0NTRhNjk5Li4yY2M1OTA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTEtMTItMjcgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gUmVmYWN0b3IgdGhlIHdheSB1c2luZyBjYWlybyBp
biBld2tfdGlsZWRfYmFja2luZ19zdG9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc0OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRm9yIG5vdyB0aGVyZSBhcmUgY2Fpcm8gcmVsYXRlZCBjb2RlIHNj
YXR0ZXJlZCBhcm91bmQgdGhlIGV3a190aWxlZF9iYWNraW5nX3N0b3JlLgorICAgICAgICBGcm9t
IHRoZSBwb2ludCBvZiBjb2RlIGNvbXBsZXhpdHkgdmlldywgaXQgZG9lc24ndCBsb29rIGdvb2Qg
YW5kIEkgY291bGRuJ3Qgbm90aWNlIGFueSBiZW5lZml0IG9mIGl0LgorICAgICAgICBTbywgdGhp
cyBwYXRjaCB3aWxsIGxldCBjYWlybyByZWxhdGVkIGNvZGUgYmUgdXNlZCBvbmx5IGZvciBwYWlu
dGluZyBvcGVyYXRpb24uCisKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUu
aDoKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX21hdHJpeC5jcHA6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGlsZWRfbW9kZWwuY3BwOgor
ICAgICAgICAoZXdrX3RpbGVfbmV3KToKKyAgICAgICAgKGV3a190aWxlX2ZyZWUpOgorICAgICAg
ICAqIGV3ay9ld2tfdmlld190aWxlZC5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfdGlsZWRfcmVu
ZGVyX2NiKToKKwogMjAxMS0xMi0yNiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF0gTGFzdCBwYXJhbWV0ZXIgb2YgZXdrX3ZpZXdfc2Nyb2xsIGlz
IGFsd2F5cyB0cnVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxl
ZF9iYWNraW5nX3N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tp
bmdfc3RvcmUuaAppbmRleCAwZTUwYjg3Li5lOTExOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuaApAQCAtNjcsMTAgKzY3LDYgQEAgc3Ry
dWN0IF9Fd2tfVGlsZSB7CiAgICAgdW5zaWduZWQgbG9uZyBjb2wsIHJvdzsgLyoqPCB0aWxlIHRp
bGUgcG9zaXRpb24gKi8KICAgICBFdmFzX0Nvb3JkIHgsIHk7ICAgICAgICAvKio8IHRpbGUgY29v
cmRpbmF0ZSBwb3NpdGlvbiAqLwogCi0gICAgLyogVE9ETzogZG9lcyBpdCB3b3J0aCB0byBrZWVw
IHRob3NlIG9yIGNyZWF0ZSBvbiBkZW1hbmQ/ICovCi0gICAgY2Fpcm9fc3VyZmFjZV90KiBzdXJm
YWNlOwotICAgIGNhaXJvX3QqIGNhaXJvOwotCiAgICAgLyoqIE5ldmVyIGV2ZXIgY2hhbmdlIHRo
b3NlIGFmdGVyIHRpbGUgaXMgY3JlYXRlZCAocmVzcGVjdCBjb25zdCEpICovCiAgICAgY29uc3Qg
RXZhc19Db29yZCB3aWR0aCwgaGVpZ2h0OyAgICAgICAgLyoqPCB0aWxlIHNpemUgKHNlZSBUSUxF
X1NJWkVfQVRfWk9PTSgpKSAqLwogICAgIGNvbnN0IEV2YXNfQ29sb3JzcGFjZSBjc3BhY2U7IC8q
KjwgY29sb3JzcGFjZSAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190
aWxlZF9tYXRyaXguY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXgu
Y3BwCmluZGV4IDY5MjM2YjUuLjRlNjIyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3RpbGVkX21hdHJpeC5jcHAKQEAgLTQ2NCw5ICs0NjQsNiBAQCBFd2tfVGlsZSogZXdrX3RpbGVf
bWF0cml4X3RpbGVfbmV3KEV3a19UaWxlX01hdHJpeCogdGlsZU1hdHJpeCwgRXZhcyogY2FudmFz
LCB1bgogICAgIHRpbGUtPnJvdyA9IHJvdzsKICAgICB0aWxlLT54ID0gY29sdW1uICogdGlsZVdp
ZHRoOwogICAgIHRpbGUtPnkgPSByb3cgKiB0aWxlSGVpZ2h0OwotCi0gICAgY2Fpcm9fdHJhbnNs
YXRlKHRpbGUtPmNhaXJvLCAtdGlsZS0+eCwgLXRpbGUtPnkpOwotCiAgICAgdGlsZS0+c3RhdHMu
ZnVsbF91cGRhdGUgPSB0cnVlOwogICAgIHRpbGVNYXRyaXgtPnVwZGF0ZXMgPSBlaW5hX2xpc3Rf
YXBwZW5kKHRpbGVNYXRyaXgtPnVwZGF0ZXMsIHRpbGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21vZGVsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfbW9kZWwuY3BwCmluZGV4IDIyYmYzMmUuLjBlZjI4YjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9kZWwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9kZWwuY3BwCkBAIC0yMzcsMjMgKzIzNywxNiBAQCBF
d2tfVGlsZSogZXdrX3RpbGVfbmV3KEV2YXMqIGV2YXMsIEV2YXNfQ29vcmQgd2lkdGgsIEV2YXNf
Q29vcmQgaGVpZ2h0LCBmbG9hdCB6bwogICAgIEV3a19UaWxlKiB0aWxlOwogICAgIHVuc2lnbmVk
IGludCBhcmVhOwogICAgIHNpemVfdCBieXRlczsKLSAgICBjYWlyb19mb3JtYXRfdCBmb3JtYXQ7
Ci0gICAgY2Fpcm9fc3RhdHVzX3Qgc3RhdHVzOwotICAgIGludCBzdHJpZGU7CiAgICAgRWNvcmVf
RXZhcyogZWNvcmVFdmFzOwogICAgIGNvbnN0IGNoYXIqIGVuZ2luZTsKIAogICAgIGFyZWEgPSB3
aWR0aCAqIGhlaWdodDsKIAotICAgIGlmIChjb2xvclNwYWNlID09IEVWQVNfQ09MT1JTUEFDRV9B
UkdCODg4OCkgeworICAgIGlmIChjb2xvclNwYWNlID09IEVWQVNfQ09MT1JTUEFDRV9BUkdCODg4
OCkKICAgICAgICAgYnl0ZXMgPSBhcmVhICogNDsKLSAgICAgICAgc3RyaWRlID0gd2lkdGggKiA0
OwotICAgICAgICBmb3JtYXQgPSBDQUlST19GT1JNQVRfQVJHQjMyOwotICAgIH0gZWxzZSBpZiAo
Y29sb3JTcGFjZSA9PSBFVkFTX0NPTE9SU1BBQ0VfUkdCNTY1X0E1UCkgeworICAgIGVsc2UgaWYg
KGNvbG9yU3BhY2UgPT0gRVZBU19DT0xPUlNQQUNFX1JHQjU2NV9BNVApCiAgICAgICAgIGJ5dGVz
ID0gYXJlYSAqIDI7Ci0gICAgICAgIHN0cmlkZSA9IHdpZHRoICogMjsKLSAgICAgICAgZm9ybWF0
ID0gQ0FJUk9fRk9STUFUX1JHQjE2XzU2NTsKLSAgICB9IGVsc2UgeworICAgIGVsc2UgewogICAg
ICAgICBFUlIoInVua25vd24gY29sb3Igc3BhY2U6ICVkIiwgY29sb3JTcGFjZSk7CiAgICAgICAg
IHJldHVybiAwOwogICAgIH0KQEAgLTI5NiwyNSArMjg5LDYgQEAgRXdrX1RpbGUqIGV3a190aWxl
X25ldyhFdmFzKiBldmFzLCBFdmFzX0Nvb3JkIHdpZHRoLCBFdmFzX0Nvb3JkIGhlaWdodCwgZmxv
YXQgem8KICAgICBldmFzX29iamVjdF9pbWFnZV9zaXplX3NldCh0aWxlLT5pbWFnZSwgdGlsZS0+
d2lkdGgsIHRpbGUtPmhlaWdodCk7CiAgICAgZXZhc19vYmplY3RfaW1hZ2VfY29sb3JzcGFjZV9z
ZXQodGlsZS0+aW1hZ2UsIHRpbGUtPmNzcGFjZSk7CiAgICAgdGlsZS0+cGl4ZWxzID0gc3RhdGlj
X2Nhc3Q8dWludDhfdCo+KGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfZ2V0KHRpbGUtPmltYWdlLCB0
cnVlKSk7Ci0gICAgdGlsZS0+c3VyZmFjZSA9IGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zv
cl9kYXRhKHRpbGUtPnBpeGVscywgZm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBzdHJpZGUpOwotICAg
IHN0YXR1cyA9IGNhaXJvX3N1cmZhY2Vfc3RhdHVzKHRpbGUtPnN1cmZhY2UpOwotICAgIGlmIChz
dGF0dXMgIT0gQ0FJUk9fU1RBVFVTX1NVQ0NFU1MpIHsKLSAgICAgICAgRVJSKCJmYWlsZWQgdG8g
Y3JlYXRlIGNhaXJvIHN1cmZhY2U6ICVzIiwKLSAgICAgICAgICAgIGNhaXJvX3N0YXR1c190b19z
dHJpbmcoc3RhdHVzKSk7Ci0gICAgICAgIGZyZWUodGlsZSk7Ci0gICAgICAgIHJldHVybiAwOwot
ICAgIH0KLQotICAgIHRpbGUtPmNhaXJvID0gY2Fpcm9fY3JlYXRlKHRpbGUtPnN1cmZhY2UpOwot
ICAgIHN0YXR1cyA9IGNhaXJvX3N0YXR1cyh0aWxlLT5jYWlybyk7Ci0gICAgaWYgKHN0YXR1cyAh
PSBDQUlST19TVEFUVVNfU1VDQ0VTUykgewotICAgICAgICBFUlIoImZhaWxlZCB0byBjcmVhdGUg
Y2Fpcm86ICVzIiwgY2Fpcm9fc3RhdHVzX3RvX3N0cmluZyhzdGF0dXMpKTsKLSAgICAgICAgY2Fp
cm9fc3VyZmFjZV9kZXN0cm95KHRpbGUtPnN1cmZhY2UpOwotICAgICAgICBldmFzX29iamVjdF9k
ZWwodGlsZS0+aW1hZ2UpOwotICAgICAgICBmcmVlKHRpbGUpOwotICAgICAgICByZXR1cm4gMDsK
LSAgICB9Ci0KICAgICBfZXdrX3RpbGVfYWNjb3VudF9hbGxvY2F0ZWQodGlsZSk7CiAKICAgICBy
ZXR1cm4gdGlsZTsKQEAgLTMzMCw4ICszMDQsNiBAQCB2b2lkIGV3a190aWxlX2ZyZWUoRXdrX1Rp
bGUqIHRpbGUpCiAgICAgaWYgKHRpbGUtPnVwZGF0ZXMpCiAgICAgICAgIGVpbmFfdGlsZXJfZnJl
ZSh0aWxlLT51cGRhdGVzKTsKIAotICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveSh0aWxlLT5zdXJm
YWNlKTsKLSAgICBjYWlyb19kZXN0cm95KHRpbGUtPmNhaXJvKTsKICAgICBldmFzX29iamVjdF9k
ZWwodGlsZS0+aW1hZ2UpOwogICAgIGZyZWUodGlsZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfdGlsZWQuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a192aWV3X3RpbGVkLmNwcAppbmRleCBlMzc2OTU0Li4yNDFmYzE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfdGlsZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdmlld190aWxlZC5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRl
ICJld2tfcHJpdmF0ZS5oIgogCiAjaW5jbHVkZSA8RXZhcy5oPgorI2luY2x1ZGUgPFJlZlB0ckNh
aXJvLmg+CiAjaW5jbHVkZSA8ZWluYV9zYWZldHlfY2hlY2tzLmg+CiAjaW5jbHVkZSA8ZXdrX3Rp
bGVkX2JhY2tpbmdfc3RvcmUuaD4KIApAQCAtMzMsOSArMzQsMzggQEAgc3RhdGljIEV3a19WaWV3
X1NtYXJ0X0NsYXNzIF9wYXJlbnRfc2MgPSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUX05VTEw7
CiBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld190aWxlZF9yZW5kZXJfY2Iodm9pZCogZGF0YSwg
RXdrX1RpbGUqIHRpbGUsIGNvbnN0IEVpbmFfUmVjdGFuZ2xlKiBhcmVhKQogewogICAgIEV3a19W
aWV3X1ByaXZhdGVfRGF0YSogcHJpdiA9IHN0YXRpY19jYXN0PEV3a19WaWV3X1ByaXZhdGVfRGF0
YSo+KGRhdGEpOwotICAgIEVpbmFfUmVjdGFuZ2xlIHJlY3QgPSB7YXJlYS0+eCArIHRpbGUtPngs
IGFyZWEtPnkgKyB0aWxlLT55LCBhcmVhLT53LCBhcmVhLT5ofTsKKyAgICBFaW5hX1JlY3Rhbmds
ZSByZWN0ID0ge2FyZWEtPnggKyB0aWxlLT54LCBhcmVhLT55ICsgdGlsZS0+eSwgYXJlYS0+dywg
YXJlYS0+aH07ICAgIAorICAgIGludCBzdHJpZGU7CisgICAgY2Fpcm9fZm9ybWF0X3QgZm9ybWF0
OworCisgICAgaWYgKHRpbGUtPmNzcGFjZSA9PSBFVkFTX0NPTE9SU1BBQ0VfQVJHQjg4ODgpIHsK
KyAgICAgICAgc3RyaWRlID0gdGlsZS0+d2lkdGggKiA0OworICAgICAgICBmb3JtYXQgPSBDQUlS
T19GT1JNQVRfQVJHQjMyOworICAgIH0gZWxzZSBpZiAodGlsZS0+Y3NwYWNlID09IEVWQVNfQ09M
T1JTUEFDRV9SR0I1NjVfQTVQKSB7CisgICAgICAgIHN0cmlkZSA9IHRpbGUtPndpZHRoICogMjsK
KyAgICAgICAgZm9ybWF0ID0gQ0FJUk9fRk9STUFUX1JHQjE2XzU2NTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBFUlIoInVua25vd24gY29sb3Igc3BhY2U6ICVkIiwgdGlsZS0+Y3NwYWNlKTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+
IHN1cmZhY2UgPSBhZG9wdFJlZihjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YSh0
aWxlLT5waXhlbHMsIGZvcm1hdCwgdGlsZS0+d2lkdGgsIHRpbGUtPmhlaWdodCwgc3RyaWRlKSk7
CisgICAgY2Fpcm9fc3RhdHVzX3Qgc3RhdHVzID0gY2Fpcm9fc3VyZmFjZV9zdGF0dXMoc3VyZmFj
ZS5nZXQoKSk7CisgICAgaWYgKHN0YXR1cyAhPSBDQUlST19TVEFUVVNfU1VDQ0VTUykgeworICAg
ICAgICBFUlIoImZhaWxlZCB0byBjcmVhdGUgY2Fpcm8gc3VyZmFjZTogJXMiLCBjYWlyb19zdGF0
dXNfdG9fc3RyaW5nKHN0YXR1cykpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgUmVmUHRyPGNhaXJvX3Q+IGNhaXJvID0gYWRvcHRSZWYoY2Fpcm9fY3JlYXRlKHN1cmZhY2Uu
Z2V0KCkpKTsKKyAgICBzdGF0dXMgPSBjYWlyb19zdGF0dXMoY2Fpcm8uZ2V0KCkpOworICAgIGlm
IChzdGF0dXMgIT0gQ0FJUk9fU1RBVFVTX1NVQ0NFU1MpIHsKKyAgICAgICAgRVJSKCJmYWlsZWQg
dG8gY3JlYXRlIGNhaXJvOiAlcyIsIGNhaXJvX3N0YXR1c190b19zdHJpbmcoc3RhdHVzKSk7Cisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBjYWlyb190cmFuc2xhdGUoY2Fpcm8u
Z2V0KCksIC10aWxlLT54LCAtdGlsZS0+eSk7CiAKLSAgICByZXR1cm4gZXdrX3ZpZXdfcGFpbnRf
Y29udGVudHMocHJpdiwgdGlsZS0+Y2Fpcm8sICZyZWN0KTsKKyAgICByZXR1cm4gZXdrX3ZpZXdf
cGFpbnRfY29udGVudHMocHJpdiwgY2Fpcm8uZ2V0KCksICZyZWN0KTsKIH0KIAogc3RhdGljIHZv
aWQqIF9ld2tfdmlld190aWxlZF91cGRhdGVzX3Byb2Nlc3NfcHJlKHZvaWQqIGRhdGEsIEV2YXNf
T2JqZWN0KiBld2tWaWV3KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120855</attachid>
            <date>2012-01-01 20:07:47 -0800</date>
            <delta_ts>2012-01-04 01:26:29 -0800</delta_ts>
            <desc>Patch rebased.</desc>
            <filename>0102_cairo_ondemand.patch</filename>
            <type>text/plain</type>
            <size>6988</size>
            <attacher name="KwangHyuk">hyuki.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCAxNjQ4MjZhLi40ZGVjN2QyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTItMDEtMDEgIEt3YW5nSHl1ayBLaW0gIDxoeXVraS5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gUmVmYWN0b3IgdGhlIHdheSB1c2luZyBjYWlybyBp
biBld2tfdGlsZWRfYmFja2luZ19zdG9yZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc0OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRm9yIG5vdyB0aGVyZSBhcmUgY2Fpcm8gcmVsYXRlZCBjb2RlIHNj
YXR0ZXJlZCBhcm91bmQgdGhlIGV3a190aWxlZF9iYWNraW5nX3N0b3JlLgorICAgICAgICBGcm9t
IHRoZSBwb2ludCBvZiBjb2RlIGNvbXBsZXhpdHkgdmlldywgaXQgZG9lc24ndCBsb29rIGdvb2Qg
YW5kIEkgY291bGRuJ3Qgbm90aWNlIGFueSBiZW5lZml0IG9mIGl0LgorICAgICAgICBTbywgdGhp
cyBwYXRjaCB3aWxsIGxldCBjYWlybyByZWxhdGVkIGNvZGUgYmUgdXNlZCBvbmx5IGZvciBwYWlu
dGluZyBvcGVyYXRpb24uCisKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUu
aDoKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX21hdHJpeC5jcHA6CisgICAgICAgIChld2tfdGls
ZV9tYXRyaXhfdGlsZV9uZXcpOgorICAgICAgICAqIGV3ay9ld2tfdGlsZWRfbW9kZWwuY3BwOgor
ICAgICAgICAoZXdrX3RpbGVfbmV3KToKKyAgICAgICAgKGV3a190aWxlX2ZyZWUpOgorICAgICAg
ICAqIGV3ay9ld2tfdmlld190aWxlZC5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfdGlsZWRfcmVu
ZGVyX2NiKToKKwogMjAxMS0xMi0yNyAgSnVuZ0ppayBMZWUgIDxqdW5namlrLmxlZUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBbRUZMXSBSZW1vdmUgZHVwbGljYXRlIGNvZGUgYW5kIHJlbW92ZSBl
bnRyeSBhZnRlciBmcmVlaW5nIHRoZSBtYXRyaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5oCmluZGV4IDBlNTBiODcuLmU5MTE5NDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5oCkBAIC02
NywxMCArNjcsNiBAQCBzdHJ1Y3QgX0V3a19UaWxlIHsKICAgICB1bnNpZ25lZCBsb25nIGNvbCwg
cm93OyAvKio8IHRpbGUgdGlsZSBwb3NpdGlvbiAqLwogICAgIEV2YXNfQ29vcmQgeCwgeTsgICAg
ICAgIC8qKjwgdGlsZSBjb29yZGluYXRlIHBvc2l0aW9uICovCiAKLSAgICAvKiBUT0RPOiBkb2Vz
IGl0IHdvcnRoIHRvIGtlZXAgdGhvc2Ugb3IgY3JlYXRlIG9uIGRlbWFuZD8gKi8KLSAgICBjYWly
b19zdXJmYWNlX3QqIHN1cmZhY2U7Ci0gICAgY2Fpcm9fdCogY2Fpcm87Ci0KICAgICAvKiogTmV2
ZXIgZXZlciBjaGFuZ2UgdGhvc2UgYWZ0ZXIgdGlsZSBpcyBjcmVhdGVkIChyZXNwZWN0IGNvbnN0
ISkgKi8KICAgICBjb25zdCBFdmFzX0Nvb3JkIHdpZHRoLCBoZWlnaHQ7ICAgICAgICAvKio8IHRp
bGUgc2l6ZSAoc2VlIFRJTEVfU0laRV9BVF9aT09NKCkpICovCiAgICAgY29uc3QgRXZhc19Db2xv
cnNwYWNlIGNzcGFjZTsgLyoqPCBjb2xvcnNwYWNlICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3RpbGVkX21hdHJpeC5jcHAKaW5kZXggNDNlNzY3OS4uN2FkNmFjOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcApAQCAtNDYzLDkgKzQ2Myw2IEBAIEV3
a19UaWxlKiBld2tfdGlsZV9tYXRyaXhfdGlsZV9uZXcoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0
cml4LCBFdmFzKiBjYW52YXMsIHVuCiAgICAgdGlsZS0+cm93ID0gcm93OwogICAgIHRpbGUtPngg
PSBjb2x1bW4gKiB0aWxlV2lkdGg7CiAgICAgdGlsZS0+eSA9IHJvdyAqIHRpbGVIZWlnaHQ7Ci0K
LSAgICBjYWlyb190cmFuc2xhdGUodGlsZS0+Y2Fpcm8sIC10aWxlLT54LCAtdGlsZS0+eSk7Ci0K
ICAgICB0aWxlLT5zdGF0cy5mdWxsX3VwZGF0ZSA9IHRydWU7CiAgICAgdGlsZU1hdHJpeC0+dXBk
YXRlcyA9IGVpbmFfbGlzdF9hcHBlbmQodGlsZU1hdHJpeC0+dXBkYXRlcywgdGlsZSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfbW9kZWwuY3BwIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tb2RlbC5jcHAKaW5kZXggMjJiZjMyZS4uMGVm
MjhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tb2RlbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tb2RlbC5jcHAKQEAgLTIz
NywyMyArMjM3LDE2IEBAIEV3a19UaWxlKiBld2tfdGlsZV9uZXcoRXZhcyogZXZhcywgRXZhc19D
b29yZCB3aWR0aCwgRXZhc19Db29yZCBoZWlnaHQsIGZsb2F0IHpvCiAgICAgRXdrX1RpbGUqIHRp
bGU7CiAgICAgdW5zaWduZWQgaW50IGFyZWE7CiAgICAgc2l6ZV90IGJ5dGVzOwotICAgIGNhaXJv
X2Zvcm1hdF90IGZvcm1hdDsKLSAgICBjYWlyb19zdGF0dXNfdCBzdGF0dXM7Ci0gICAgaW50IHN0
cmlkZTsKICAgICBFY29yZV9FdmFzKiBlY29yZUV2YXM7CiAgICAgY29uc3QgY2hhciogZW5naW5l
OwogCiAgICAgYXJlYSA9IHdpZHRoICogaGVpZ2h0OwogCi0gICAgaWYgKGNvbG9yU3BhY2UgPT0g
RVZBU19DT0xPUlNQQUNFX0FSR0I4ODg4KSB7CisgICAgaWYgKGNvbG9yU3BhY2UgPT0gRVZBU19D
T0xPUlNQQUNFX0FSR0I4ODg4KQogICAgICAgICBieXRlcyA9IGFyZWEgKiA0OwotICAgICAgICBz
dHJpZGUgPSB3aWR0aCAqIDQ7Ci0gICAgICAgIGZvcm1hdCA9IENBSVJPX0ZPUk1BVF9BUkdCMzI7
Ci0gICAgfSBlbHNlIGlmIChjb2xvclNwYWNlID09IEVWQVNfQ09MT1JTUEFDRV9SR0I1NjVfQTVQ
KSB7CisgICAgZWxzZSBpZiAoY29sb3JTcGFjZSA9PSBFVkFTX0NPTE9SU1BBQ0VfUkdCNTY1X0E1
UCkKICAgICAgICAgYnl0ZXMgPSBhcmVhICogMjsKLSAgICAgICAgc3RyaWRlID0gd2lkdGggKiAy
OwotICAgICAgICBmb3JtYXQgPSBDQUlST19GT1JNQVRfUkdCMTZfNTY1OwotICAgIH0gZWxzZSB7
CisgICAgZWxzZSB7CiAgICAgICAgIEVSUigidW5rbm93biBjb2xvciBzcGFjZTogJWQiLCBjb2xv
clNwYWNlKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMjk2LDI1ICsyODksNiBAQCBF
d2tfVGlsZSogZXdrX3RpbGVfbmV3KEV2YXMqIGV2YXMsIEV2YXNfQ29vcmQgd2lkdGgsIEV2YXNf
Q29vcmQgaGVpZ2h0LCBmbG9hdCB6bwogICAgIGV2YXNfb2JqZWN0X2ltYWdlX3NpemVfc2V0KHRp
bGUtPmltYWdlLCB0aWxlLT53aWR0aCwgdGlsZS0+aGVpZ2h0KTsKICAgICBldmFzX29iamVjdF9p
bWFnZV9jb2xvcnNwYWNlX3NldCh0aWxlLT5pbWFnZSwgdGlsZS0+Y3NwYWNlKTsKICAgICB0aWxl
LT5waXhlbHMgPSBzdGF0aWNfY2FzdDx1aW50OF90Kj4oZXZhc19vYmplY3RfaW1hZ2VfZGF0YV9n
ZXQodGlsZS0+aW1hZ2UsIHRydWUpKTsKLSAgICB0aWxlLT5zdXJmYWNlID0gY2Fpcm9faW1hZ2Vf
c3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEodGlsZS0+cGl4ZWxzLCBmb3JtYXQsIHdpZHRoLCBoZWln
aHQsIHN0cmlkZSk7Ci0gICAgc3RhdHVzID0gY2Fpcm9fc3VyZmFjZV9zdGF0dXModGlsZS0+c3Vy
ZmFjZSk7Ci0gICAgaWYgKHN0YXR1cyAhPSBDQUlST19TVEFUVVNfU1VDQ0VTUykgewotICAgICAg
ICBFUlIoImZhaWxlZCB0byBjcmVhdGUgY2Fpcm8gc3VyZmFjZTogJXMiLAotICAgICAgICAgICAg
Y2Fpcm9fc3RhdHVzX3RvX3N0cmluZyhzdGF0dXMpKTsKLSAgICAgICAgZnJlZSh0aWxlKTsKLSAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgdGlsZS0+Y2Fpcm8gPSBjYWlyb19jcmVhdGUo
dGlsZS0+c3VyZmFjZSk7Ci0gICAgc3RhdHVzID0gY2Fpcm9fc3RhdHVzKHRpbGUtPmNhaXJvKTsK
LSAgICBpZiAoc3RhdHVzICE9IENBSVJPX1NUQVRVU19TVUNDRVNTKSB7Ci0gICAgICAgIEVSUigi
ZmFpbGVkIHRvIGNyZWF0ZSBjYWlybzogJXMiLCBjYWlyb19zdGF0dXNfdG9fc3RyaW5nKHN0YXR1
cykpOwotICAgICAgICBjYWlyb19zdXJmYWNlX2Rlc3Ryb3kodGlsZS0+c3VyZmFjZSk7Ci0gICAg
ICAgIGV2YXNfb2JqZWN0X2RlbCh0aWxlLT5pbWFnZSk7Ci0gICAgICAgIGZyZWUodGlsZSk7Ci0g
ICAgICAgIHJldHVybiAwOwotICAgIH0KLQogICAgIF9ld2tfdGlsZV9hY2NvdW50X2FsbG9jYXRl
ZCh0aWxlKTsKIAogICAgIHJldHVybiB0aWxlOwpAQCAtMzMwLDggKzMwNCw2IEBAIHZvaWQgZXdr
X3RpbGVfZnJlZShFd2tfVGlsZSogdGlsZSkKICAgICBpZiAodGlsZS0+dXBkYXRlcykKICAgICAg
ICAgZWluYV90aWxlcl9mcmVlKHRpbGUtPnVwZGF0ZXMpOwogCi0gICAgY2Fpcm9fc3VyZmFjZV9k
ZXN0cm95KHRpbGUtPnN1cmZhY2UpOwotICAgIGNhaXJvX2Rlc3Ryb3kodGlsZS0+Y2Fpcm8pOwog
ICAgIGV2YXNfb2JqZWN0X2RlbCh0aWxlLT5pbWFnZSk7CiAgICAgZnJlZSh0aWxlKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld190aWxlZC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfdGlsZWQuY3BwCmluZGV4IGUzNzY5NTQuLjI0MWZj
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld190aWxlZC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3RpbGVkLmNwcApAQCAtMjUsNiAr
MjUsNyBAQAogI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCiAKICNpbmNsdWRlIDxFdmFzLmg+Cisj
aW5jbHVkZSA8UmVmUHRyQ2Fpcm8uaD4KICNpbmNsdWRlIDxlaW5hX3NhZmV0eV9jaGVja3MuaD4K
ICNpbmNsdWRlIDxld2tfdGlsZWRfYmFja2luZ19zdG9yZS5oPgogCkBAIC0zMyw5ICszNCwzOCBA
QCBzdGF0aWMgRXdrX1ZpZXdfU21hcnRfQ2xhc3MgX3BhcmVudF9zYyA9IEVXS19WSUVXX1NNQVJU
X0NMQVNTX0lOSVRfTlVMTDsKIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3RpbGVkX3JlbmRl
cl9jYih2b2lkKiBkYXRhLCBFd2tfVGlsZSogdGlsZSwgY29uc3QgRWluYV9SZWN0YW5nbGUqIGFy
ZWEpCiB7CiAgICAgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBwcml2ID0gc3RhdGljX2Nhc3Q8RXdr
X1ZpZXdfUHJpdmF0ZV9EYXRhKj4oZGF0YSk7Ci0gICAgRWluYV9SZWN0YW5nbGUgcmVjdCA9IHth
cmVhLT54ICsgdGlsZS0+eCwgYXJlYS0+eSArIHRpbGUtPnksIGFyZWEtPncsIGFyZWEtPmh9Owor
ICAgIEVpbmFfUmVjdGFuZ2xlIHJlY3QgPSB7YXJlYS0+eCArIHRpbGUtPngsIGFyZWEtPnkgKyB0
aWxlLT55LCBhcmVhLT53LCBhcmVhLT5ofTsgICAgCisgICAgaW50IHN0cmlkZTsKKyAgICBjYWly
b19mb3JtYXRfdCBmb3JtYXQ7CisKKyAgICBpZiAodGlsZS0+Y3NwYWNlID09IEVWQVNfQ09MT1JT
UEFDRV9BUkdCODg4OCkgeworICAgICAgICBzdHJpZGUgPSB0aWxlLT53aWR0aCAqIDQ7CisgICAg
ICAgIGZvcm1hdCA9IENBSVJPX0ZPUk1BVF9BUkdCMzI7CisgICAgfSBlbHNlIGlmICh0aWxlLT5j
c3BhY2UgPT0gRVZBU19DT0xPUlNQQUNFX1JHQjU2NV9BNVApIHsKKyAgICAgICAgc3RyaWRlID0g
dGlsZS0+d2lkdGggKiAyOworICAgICAgICBmb3JtYXQgPSBDQUlST19GT1JNQVRfUkdCMTZfNTY1
OworICAgIH0gZWxzZSB7CisgICAgICAgIEVSUigidW5rbm93biBjb2xvciBzcGFjZTogJWQiLCB0
aWxlLT5jc3BhY2UpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgUmVmUHRy
PGNhaXJvX3N1cmZhY2VfdD4gc3VyZmFjZSA9IGFkb3B0UmVmKGNhaXJvX2ltYWdlX3N1cmZhY2Vf
Y3JlYXRlX2Zvcl9kYXRhKHRpbGUtPnBpeGVscywgZm9ybWF0LCB0aWxlLT53aWR0aCwgdGlsZS0+
aGVpZ2h0LCBzdHJpZGUpKTsKKyAgICBjYWlyb19zdGF0dXNfdCBzdGF0dXMgPSBjYWlyb19zdXJm
YWNlX3N0YXR1cyhzdXJmYWNlLmdldCgpKTsKKyAgICBpZiAoc3RhdHVzICE9IENBSVJPX1NUQVRV
U19TVUNDRVNTKSB7CisgICAgICAgIEVSUigiZmFpbGVkIHRvIGNyZWF0ZSBjYWlybyBzdXJmYWNl
OiAlcyIsIGNhaXJvX3N0YXR1c190b19zdHJpbmcoc3RhdHVzKSk7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICBSZWZQdHI8Y2Fpcm9fdD4gY2Fpcm8gPSBhZG9wdFJlZihjYWly
b19jcmVhdGUoc3VyZmFjZS5nZXQoKSkpOworICAgIHN0YXR1cyA9IGNhaXJvX3N0YXR1cyhjYWly
by5nZXQoKSk7CisgICAgaWYgKHN0YXR1cyAhPSBDQUlST19TVEFUVVNfU1VDQ0VTUykgeworICAg
ICAgICBFUlIoImZhaWxlZCB0byBjcmVhdGUgY2Fpcm86ICVzIiwgY2Fpcm9fc3RhdHVzX3RvX3N0
cmluZyhzdGF0dXMpKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGNhaXJv
X3RyYW5zbGF0ZShjYWlyby5nZXQoKSwgLXRpbGUtPngsIC10aWxlLT55KTsKIAotICAgIHJldHVy
biBld2tfdmlld19wYWludF9jb250ZW50cyhwcml2LCB0aWxlLT5jYWlybywgJnJlY3QpOworICAg
IHJldHVybiBld2tfdmlld19wYWludF9jb250ZW50cyhwcml2LCBjYWlyby5nZXQoKSwgJnJlY3Qp
OwogfQogCiBzdGF0aWMgdm9pZCogX2V3a192aWV3X3RpbGVkX3VwZGF0ZXNfcHJvY2Vzc19wcmUo
dm9pZCogZGF0YSwgRXZhc19PYmplY3QqIGV3a1ZpZXcpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>