<?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>47903</bug_id>
          
          <creation_ts>2010-10-19 06:50:31 -0700</creation_ts>
          <short_desc>[EFL] Sets default user agent</short_desc>
          <delta_ts>2010-12-22 00:51:15 -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>PC</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>
          <dependson>48113</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>antognolli+webkit</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joone</cc>
    
    <cc>kenneth</cc>
    
    <cc>leandro</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>robert</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>296156</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-19 06:50:31 -0700</bug_when>
    <thetext>If application doesn&apos;t set user agent, WebKit EFL doesn&apos;t set user agent by default. In my opinion, even though application doesn&apos;t set user agent, we need to set user agent by default. Because, some websites give different pages according to browser&apos;s user agent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296179</commentid>
    <comment_count>1</comment_count>
      <attachid>71169</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-19 07:30:06 -0700</bug_when>
    <thetext>Created attachment 71169
Patch

I make this patch referencing by gtk port.

This patch makes a default user agent below,

&quot;Mozilla/5.0 (Unknown; U; Linux i686; ) AppleWebKit/534.7+ (KHTML, like Gecko) Version/5.0 Safari/534.7+&quot;

However, Efl port doesn&apos;t implement defaultLanguage() of Language.h yet. So, there is no language value in above user agent.
We need to implement the defaultLanguage().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296182</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-19 07:31:56 -0700</bug_when>
    <thetext>Attachment 71169 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/efl/ewk/ewk_version.h:32:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/efl/ewk/ewk_version.h:33:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/efl/ewk/ewk_version.h:34:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/efl/ewk/ewk_version.h:35:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
WebKit/efl/ewk/ewk_settings.cpp:45:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit/efl/ewk/ewk_settings.cpp:78:  One line control clauses should not use braces.  [whitespace/braces] [4]
WebKit/efl/ewk/ewk_settings.cpp:79:  An else should appear on the same line as the preceding }  [whitespace/newline] [4]
WebKit/efl/ewk/ewk_settings.cpp:307:  Extra space between return and eina_stringshare_add  [whitespace/declaration] [3]
Total errors found: 8 in 5 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>296216</commentid>
    <comment_count>3</comment_count>
      <attachid>71169</attachid>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2010-10-19 08:44:38 -0700</bug_when>
    <thetext>Comment on attachment 71169
Patch

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

Patch looks fine otherwise. Fix the style issues and other comments and you get my informal r+ :)

&gt; WebKit/efl/ewk/ewk_settings.cpp:80
&gt; +        uaOSVersion = eina_stringshare_add(&quot;Unknown&quot;);

Please follow the coding style here:

if (condition) {
  statement1;
  statement2;
} else
  statement3;

&gt; WebKit/efl/ewk/ewk_version.h:37
&gt; +#endif

These version macros should be set in cmakeconfig.h, so there&apos;s only one place to set the EWebKit version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296563</commentid>
    <comment_count>4</comment_count>
      <attachid>71233</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-19 17:55:14 -0700</bug_when>
    <thetext>Created attachment 71233
Patch

Hello Leandro,
Thank you for your review.

I define version macros in cmakeconfig.h.cmake. So, I remove unnecessary ewk_version.h file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296566</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-19 17:56:49 -0700</bug_when>
    <thetext>Attachment 71233 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/efl/ewk/ewk_settings.cpp:37:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 6 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>296571</commentid>
    <comment_count>6</comment_count>
      <attachid>71235</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-19 18:03:26 -0700</bug_when>
    <thetext>Created attachment 71235
Patch

Fix style error. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296590</commentid>
    <comment_count>7</comment_count>
      <attachid>71235</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-10-19 18:34:00 -0700</bug_when>
    <thetext>Comment on attachment 71235
Patch

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

&gt; ChangeLog:8
&gt; +        If applcation(e.g EWebLauncher) doesn&apos;t set user agent, WebKit EFL doesn&apos;t 

If application (e.g EWebLauncher)

&gt; WebKit/efl/ChangeLog:8
&gt; +        If applcation(e.g EWebLauncher) doesn&apos;t set user agent, WebKit EFL doesn&apos;t 

same typo as above

&gt; WebKit/efl/ewk/ewk_settings.cpp:47
&gt; +#endif

why the #ifdef? See above... there are already some headers that are specific to OS(UNIX) and the current implementation does not work without them.

&gt; WebKit/efl/ewk/ewk_settings.cpp:80
&gt; +#endif

Antognolli, what do you think about those #ifdefs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297845</commentid>
    <comment_count>8</comment_count>
      <attachid>71528</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-21 23:11:59 -0700</bug_when>
    <thetext>Created attachment 71528
Patch

Lucas, thank you for your comment. :-)

I fix the description in Changelog. 

I think you right. ewk_settings.cpp already uses unix header files without #ifdef.
So, I remove the preprocessor macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297873</commentid>
    <comment_count>9</comment_count>
      <attachid>71528</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-22 02:08:22 -0700</bug_when>
    <thetext>Comment on attachment 71528
Patch

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

&gt; cmakeconfig.h.cmake:9
&gt; +#define WEBKIT_USER_AGENT_MAJOR_VERSION (534)
&gt; +#define WEBKIT_USER_AGENT_MINOR_VERSION (7) 

Hmm, why not get these from webcore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298536</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-24 00:30:23 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 71528 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71528&amp;action=review
&gt; 
&gt; &gt; cmakeconfig.h.cmake:9
&gt; &gt; +#define WEBKIT_USER_AGENT_MAJOR_VERSION (534)
&gt; &gt; +#define WEBKIT_USER_AGENT_MINOR_VERSION (7) 
&gt; 
&gt; Hmm, why not get these from webcore?

Are there funtions to know user agent version in WebCore? I don&apos;t find the functions yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298558</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-24 05:14:44 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (From update of attachment 71528 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71528&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; cmakeconfig.h.cmake:9
&gt; &gt; &gt; +#define WEBKIT_USER_AGENT_MAJOR_VERSION (534)
&gt; &gt; &gt; +#define WEBKIT_USER_AGENT_MINOR_VERSION (7) 
&gt; &gt; 
&gt; &gt; Hmm, why not get these from webcore?
&gt; 
&gt; Are there funtions to know user agent version in WebCore? I don&apos;t find the functions yet.

I believe so, but you might have to &quot;generate&quot; them at build time. Take a look at what Qt does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300067</commentid>
    <comment_count>12</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-27 01:38:21 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (From update of attachment 71528 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71528&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; cmakeconfig.h.cmake:9
&gt; &gt; &gt; &gt; +#define WEBKIT_USER_AGENT_MAJOR_VERSION (534)
&gt; &gt; &gt; &gt; +#define WEBKIT_USER_AGENT_MINOR_VERSION (7) 
&gt; &gt; &gt; 
&gt; &gt; &gt; Hmm, why not get these from webcore?
&gt; &gt; 
&gt; &gt; Are there funtions to know user agent version in WebCore? I don&apos;t find the functions yet.
&gt; 
&gt; I believe so, but you might have to &quot;generate&quot; them at build time. Take a look at what Qt does.

Sorry for my late reply. 

I don&apos;t find that QT port handles the version macro for user agent in WebCore yet.

I found a function to make user agent in QT port.

QString QWebPage::userAgentForUrl(const QUrl&amp;) const 
{
...
3627         // webkit/qt version
3628         secondPartTemp += QString::fromLatin1(&quot;AppleWebKit/&quot;);
3629         secondPartTemp += qWebKitVersion();
3630         secondPartTemp += QString::fromLatin1(&quot; (KHTML, like Gecko) &quot;);
3631 
...
}

In WebKit/qt/Api,
QString qWebKitVersion()
{
    return QString(&quot;%1.%2&quot;).arg(WEBKIT_MAJOR_VERSION).arg(WEBKIT_MINOR_VERSION);
}

I couldn&apos;t find the definitions of &quot;WEBKIT_MAJOR_VERSION&quot; and &quot;WEBKIT_MINOR_VERSION&quot; macros except for configure.ac. Hmm, I am not sure if qt port uses configure.ac.

And,in WebKit/qt/qt_webkit_version.pri, Qt Port has some version macros as below,

  1 QT_WEBKIT_VERSION = 4.9.0
  2 QT_WEBKIT_MAJOR_VERSION = 4
  3 QT_WEBKIT_MINOR_VERSION = 9
  4 QT_WEBKIT_PATCH_VERSION = 0

I don&apos;t know if these macros are being used by user agent in qt port.

In my opinion, cmakeconfig.h file is not bad place to put the USER_AGENT macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300069</commentid>
    <comment_count>13</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-27 01:44:04 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; &gt; (From update of attachment 71528 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71528&amp;action=review
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; &gt; cmakeconfig.h.cmake:9
&gt; &gt; &gt; &gt; &gt; +#define WEBKIT_USER_AGENT_MAJOR_VERSION (534)
&gt; &gt; &gt; &gt; &gt; +#define WEBKIT_USER_AGENT_MINOR_VERSION (7) 
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Hmm, why not get these from webcore?
&gt; &gt; &gt; 
&gt; &gt; &gt; Are there funtions to know user agent version in WebCore? I don&apos;t find the functions yet.
&gt; &gt; 
&gt; &gt; I believe so, but you might have to &quot;generate&quot; them at build time. Take a look at what Qt does.
&gt; 
&gt; Sorry for my late reply. 
&gt; 
&gt; I don&apos;t find that QT port handles the version macro for user agent in WebCore yet.
&gt; 
&gt; I found a function to make user agent in QT port.
&gt; 
&gt; QString QWebPage::userAgentForUrl(const QUrl&amp;) const 
&gt; {
&gt; ...
&gt; 3627         // webkit/qt version
&gt; 3628         secondPartTemp += QString::fromLatin1(&quot;AppleWebKit/&quot;);
&gt; 3629         secondPartTemp += qWebKitVersion();
&gt; 3630         secondPartTemp += QString::fromLatin1(&quot; (KHTML, like Gecko) &quot;);
&gt; 3631 
&gt; ...
&gt; }
&gt; 
&gt; In WebKit/qt/Api,
&gt; QString qWebKitVersion()
&gt; {
&gt;     return QString(&quot;%1.%2&quot;).arg(WEBKIT_MAJOR_VERSION).arg(WEBKIT_MINOR_VERSION);
&gt; }
&gt; 
&gt; I couldn&apos;t find the definitions of &quot;WEBKIT_MAJOR_VERSION&quot; and &quot;WEBKIT_MINOR_VERSION&quot; macros except for configure.ac. Hmm, I am not sure if qt port uses configure.ac.
&gt; 
&gt; And,in WebKit/qt/qt_webkit_version.pri, Qt Port has some version macros as below,
&gt; 
&gt;   1 QT_WEBKIT_VERSION = 4.9.0
&gt;   2 QT_WEBKIT_MAJOR_VERSION = 4
&gt;   3 QT_WEBKIT_MINOR_VERSION = 9
&gt;   4 QT_WEBKIT_PATCH_VERSION = 

These are not the ones being used :-) They must be from somewhere else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301630</commentid>
    <comment_count>14</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-29 01:11:49 -0700</bug_when>
    <thetext>
&gt; 
&gt; These are not the ones being used :-) They must be from somewhere else.

Do you mean the macros(QT_WEBKIT_VERSION, QT_WEBKIT_MAJOR_VERSION, QT_WEBKIT_MINOR_VERSION and so on) aren&apos;t used ? 


To my understanding, QtWebKit uses WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION.


QString QWebPage::userAgentForUrl(const QUrl&amp;) const
{
...
    secondPartTemp += QString::fromLatin1(&quot;AppleWebKit/&quot;);
    secondPartTemp += qWebKitVersion();
    secondPartTemp += QString::fromLatin1(&quot; (KHTML, like Gecko) &quot;);
...
}

QString qWebKitVersion()
{
    return QString(&quot;%1.%2&quot;).arg(WEBKIT_MAJOR_VERSION).arg(WEBKIT_MINOR_VERSION);
}

I can&apos;t find the macros definitions in QtWebKit. But, the macros are defined in configure.ac. Do you know where the macros are defined in Qt Port area ?

I need this patch for HTML5 Video. Because, youtube give different pages according to user agent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301666</commentid>
    <comment_count>15</comment_count>
    <who name="Joone Hur">joone</who>
    <bug_when>2010-10-29 03:31:29 -0700</bug_when>
    <thetext>$~/git/WebKit/WebKit/gtk$ grep -rn WEBKIT_MINOR_VERSION *
docs/GNUmakefile.in:211:WEBKIT_MINOR_VERSION = @WEBKIT_MINOR_VERSION@
docs/webkitgtk-sections.txt:633:WEBKIT_MINOR_VERSION
webkit/webkitversion.h.in:29:#define WEBKIT_MINOR_VERSION (@WEBKIT_MINOR_VERSION@)
webkit/webkitversion.h.in:37:  (WEBKIT_MAJOR_VERSION == (major) &amp;&amp; WEBKIT_MINOR_VERSION &gt; (minor)) || \
webkit/webkitversion.h.in:38:  (WEBKIT_MAJOR_VERSION == (major) &amp;&amp; WEBKIT_MINOR_VERSION == (minor) &amp;&amp; \
webkit/webkitversion.cpp:48:    return WEBKIT_MINOR_VERSION;

You can get the WebKit version during building it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302522</commentid>
    <comment_count>16</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-31 18:51:59 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; $~/git/WebKit/WebKit/gtk$ grep -rn WEBKIT_MINOR_VERSION *
&gt; docs/GNUmakefile.in:211:WEBKIT_MINOR_VERSION = @WEBKIT_MINOR_VERSION@
&gt; docs/webkitgtk-sections.txt:633:WEBKIT_MINOR_VERSION
&gt; webkit/webkitversion.h.in:29:#define WEBKIT_MINOR_VERSION (@WEBKIT_MINOR_VERSION@)
&gt; webkit/webkitversion.h.in:37:  (WEBKIT_MAJOR_VERSION == (major) &amp;&amp; WEBKIT_MINOR_VERSION &gt; (minor)) || \
&gt; webkit/webkitversion.h.in:38:  (WEBKIT_MAJOR_VERSION == (major) &amp;&amp; WEBKIT_MINOR_VERSION == (minor) &amp;&amp; \
&gt; webkit/webkitversion.cpp:48:    return WEBKIT_MINOR_VERSION;
&gt; 
&gt; You can get the WebKit version during building it.

Yes, the version macros are defined in configure.ac file.

- configure.ac
   3 m4_define([webkit_major_version], [1])
   4 m4_define([webkit_minor_version], [3])
   5 m4_define([webkit_micro_version], [5])
   6 
   7 # This is the version we&apos;ll be using as part of our User-Agent string
   8 # e.g., AppleWebKit/$(webkit_user_agent_version) ...
   9 #
  10 # Sourced from WebCore/Configurations/Version.xcconfig
  11 m4_define([webkit_user_agent_major_version], [534])
  12 m4_define([webkit_user_agent_minor_version], [7])
...
  23 WEBKIT_MAJOR_VERSION=webkit_major_version
  24 WEBKIT_MINOR_VERSION=webkit_minor_version
  25 WEBKIT_MICRO_VERSION=webkit_micro_version
  26 WEBKIT_USER_AGENT_MAJOR_VERSION=webkit_user_agent_major_version
  27 WEBKIT_USER_AGENT_MINOR_VERSION=webkit_user_agent_minor_version

But, as you know, WebKit EFL cannot use the configure.ac file. So, I define the version macros in cmakeconfig.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302523</commentid>
    <comment_count>17</comment_count>
      <attachid>72481</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-10-31 18:56:51 -0700</bug_when>
    <thetext>Created attachment 72481
Patch

I define user agent version macros in cmake/OptionEfl.cmake as PROJECT_VERSION_XXX.

So, the WEBKIT_USER_AGENT_MAJOR_VERSION / WEBKIT_USER_AGENT_MINOR_VERSION macro&apos;s vaules are also set from cmake/OptionsEfl.cmake, and they are set during the build time.

  8 #define WEBKIT_USER_AGENT_MAJOR_VERSION @USER_AGENT_VERSION_MAJOR@
  9 #define WEBKIT_USER_AGENT_MINOR_VERSION @USER_AGENT_VERSION_MINOR@


Kenneth,

How do you think about this approach ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314282</commentid>
    <comment_count>18</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-11-29 00:42:59 -0800</bug_when>
    <thetext>Kenneth and Antonio,

I don&apos;t follow this bug recently because I was busy a little. Please review my latest patch again. I want to land this patch. 

I define macros for user agent in cmake/OptionsEfl.cmake.

SET(USER_AGENT_VERSION_MAJOR 534)
SET(USER_AGENT_VERSION_MINOR 7)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324300</commentid>
    <comment_count>19</comment_count>
      <attachid>76978</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-12-19 23:19:22 -0800</bug_when>
    <thetext>Created attachment 76978
Patch

Hello Tonikitoo and Antonio,

I have not focused on this patch so far because of too many my company works.

I make this patch again based on latest webkit. I&apos;d like to close this bug. 
Could you please review this patch ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324783</commentid>
    <comment_count>20</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-12-20 22:00:21 -0800</bug_when>
    <thetext>Rafael, Lucas, Leadro?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324878</commentid>
    <comment_count>21</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-12-20 23:49:42 -0800</bug_when>
    <thetext>This patch makes an user agent as below,

Mozilla/5.0 (Unknown; U; Linux i686; en-US.utf8) AppleWebKit/534.7+ (KHTML, like Gecko) Version/5.0 Safari/534.7+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324928</commentid>
    <comment_count>22</comment_count>
      <attachid>76978</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-12-21 03:06:16 -0800</bug_when>
    <thetext>Comment on attachment 76978
Patch

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

Sorry for the delay in answering this. Please, fix the issues mentioned below. 
Thanks

&gt; WebKit/efl/ewk/ewk_settings.cpp:77
&gt; +static const char* _ewk_settings_webkit_platform()
&gt; +{
&gt; +    const char* uaPlatform;
&gt; +#if PLATFORM(X11)
&gt; +    uaPlatform = eina_stringshare_add(&quot;X11&quot;);
&gt; +#else
&gt; +    uaPlatform = eina_stringshare_add(&quot;Unknown&quot;);
&gt; +#endif
&gt; +    return uaPlatform;
&gt; +}
&gt; +
&gt; +static const char* _ewk_settings_webkit_os_version()
&gt; +{
&gt; +    const char* uaOSVersion;
&gt; +    struct utsname name;
&gt; +
&gt; +    if (uname(&amp;name) != -1)
&gt; +        uaOSVersion = eina_stringshare_add(makeString(name.sysname, &apos; &apos;, name.machine).utf8().data());
&gt; +    else
&gt; +        uaOSVersion = eina_stringshare_add(&quot;Unknown&quot;);
&gt; +
&gt; +    return uaOSVersion;
&gt; +} 

You are leaking uaOSVersion and uaPlatform. These functions can be simplified by making them return WTF::String instead of char*.

&gt; WebKit/efl/ewk/ewk_settings.cpp:298
&gt; +/**
&gt; +* @internal
&gt; +* Gets default user agent string.
&gt; +*
&gt; +* @return user agent string.
&gt; +*/

Please, mention it&apos;s stringshared as in other functions that return char*: see ewk_view_setting_encoding_custom_get() for an example.

&gt; cmake/OptionsEfl.cmake:7
&gt; +SET(USER_AGENT_VERSION_MAJOR 534)
&gt; +SET(USER_AGENT_VERSION_MINOR 7) 

You might want to use the same as Mac, which is 534.16 (see WebCore/Configurations/Version.xcconfig). Maybe you could add a comment saying to keep this in sync with that file.

&gt; cmakeconfig.h.cmake:6
&gt; +#define WEBKITEFL_MAJOR_VERSION @PROJECT_VERSION_MAJOR@
&gt; +#define WEBKITEFL_MINOR_VERSION @PROJECT_VERSION_MINOR@
&gt; +#define WEBKITEFL_MICRO_VERSION @PROJECT_VERSION_PATCH@

What&apos;s this?? It&apos;s not used anywhere else and it seems wrong to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324957</commentid>
    <comment_count>23</comment_count>
      <attachid>77104</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-12-21 05:19:58 -0800</bug_when>
    <thetext>Created attachment 77104
Patch

Lucas, thank you for your review. I revise this patch according to your comment. Please review again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324965</commentid>
    <comment_count>24</comment_count>
      <attachid>77104</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-12-21 05:40:48 -0800</bug_when>
    <thetext>Comment on attachment 77104
Patch

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

See remaining issues. Otherwise LGTM.

&gt; WebKit/efl/ewk/ewk_settings.cpp:298
&gt; +/**
&gt; +* @internal
&gt; +* Gets default user agent string.
&gt; +*
&gt; +* @return user agent string.
&gt; +*/

Doc about being stringshare still missing. Please, see previous comment.

&gt; WebKit/efl/ewk/ewk_settings.cpp:307
&gt; +
&gt; +    eina_stringshare_replace(&amp;user_agent, static_ua.utf8().data());
&gt; +    return user_agent;

Why are you using eina_stringshare_replace() now? It was good with a &quot;return eina_stringshare_add(static_ua.utf8().data());&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325243</commentid>
    <comment_count>25</comment_count>
      <attachid>77161</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-12-21 15:46:57 -0800</bug_when>
    <thetext>Created attachment 77161
Patch

There were misunderstandings. I fix them again. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325341</commentid>
    <comment_count>26</comment_count>
      <attachid>77161</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-12-21 19:41:32 -0800</bug_when>
    <thetext>Comment on attachment 77161
Patch

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

Looks good.

&gt; WebKit/efl/ewk/ewk_settings.cpp:55
&gt; +WTF::String _ewk_settings_webkit_platform()

do you need the _get suffix here?

Like: _ewk_settings_webkit_platform_get()

&gt; WebKit/efl/ewk/ewk_settings.cpp:66
&gt; +WTF::String _ewk_settings_webkit_os_version()

Ditto?

&gt; WebKit/efl/ewk/ewk_settings.cpp:295
&gt; +* Gets default user agent string.

Gets THE default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325358</commentid>
    <comment_count>27</comment_count>
      <attachid>77161</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-12-21 20:25:32 -0800</bug_when>
    <thetext>Comment on attachment 77161
Patch

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

&gt;&gt; WebKit/efl/ewk/ewk_settings.cpp:55
&gt;&gt; +WTF::String _ewk_settings_webkit_platform()
&gt; 
&gt; do you need the _get suffix here?
&gt; 
&gt; Like: _ewk_settings_webkit_platform_get()

yeah, it&apos;s good to have a _get suffix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325360</commentid>
    <comment_count>28</comment_count>
      <attachid>77161</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2010-12-21 20:27:33 -0800</bug_when>
    <thetext>Comment on attachment 77161
Patch

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

&gt;&gt;&gt; WebKit/efl/ewk/ewk_settings.cpp:55
&gt;&gt;&gt; +WTF::String _ewk_settings_webkit_platform()
&gt;&gt; 
&gt;&gt; do you need the _get suffix here?
&gt;&gt; 
&gt;&gt; Like: _ewk_settings_webkit_platform_get()
&gt; 
&gt; yeah, it&apos;s good to have a _get suffix.

Make this function static.

&gt;&gt; WebKit/efl/ewk/ewk_settings.cpp:66
&gt;&gt; +WTF::String _ewk_settings_webkit_os_version()
&gt; 
&gt; Ditto?

Make this function static.

&gt; WebKit/efl/ewk/ewk_settings.cpp:297
&gt; +* @return A pointer to an eina_stringsahre containing the user agent string.

typo: s/eina_stringsahre/eina_stringshare/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325374</commentid>
    <comment_count>29</comment_count>
      <attachid>77185</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2010-12-21 21:24:55 -0800</bug_when>
    <thetext>Created attachment 77185
Patch

Thank you. I should have checked this patch. I think your reviews are right. I fix them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325418</commentid>
    <comment_count>30</comment_count>
      <attachid>77185</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-22 00:51:06 -0800</bug_when>
    <thetext>Comment on attachment 77185
Patch

Clearing flags on attachment: 77185

Committed r74467: &lt;http://trac.webkit.org/changeset/74467&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325419</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-22 00:51:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71169</attachid>
            <date>2010-10-19 07:30:06 -0700</date>
            <delta_ts>2010-10-19 17:55:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.txt</filename>
            <type>text/plain</type>
            <size>6483</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
aW5kZXggOWNiMjc0MC4uMmE1NjgyOSAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0xMC0xOSAg
R3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIFNldHMgZGVmYXVsdCB1c2Vy
IGFnZW50IAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDc5MDMKKworICAgICAgICBJZiBhcHBsY2F0aW9uKGUuZyBFV2ViTGF1bmNoZXIpIGRvZXNuJ3Qg
c2V0IHVzZXIgYWdlbnQsIFdlYktpdCBFRkwgZG9lc24ndCAKKyAgICAgICAgc2V0IHVzZXIgYWdl
bnQuIEhvd2V2ZXIsIHdlIG5lZWQgdG8gc2V0IHVzZXIgYWdlbnQgYnkgZGVmYXVsdC4gQmVjYXVz
ZSwgc29tZQorICAgICAgICB3ZWIgc2l0ZXMgc2VuZCBkaWZmZXJlbnQgcGFnZXMgYWNjb3JkaW5n
IHRvIHVzZXIgYWdlbnQuCisKKyAgICAgICAgKiBld2svZXdrX3ByaXZhdGUuaDoKKyAgICAgICAg
KiBld2svZXdrX3NldHRpbmdzLmNwcDoKKyAgICAgICAgKF9ld2tfc2V0dGluZ3Nfd2Via2l0X3Bs
YXRmb3JtKToKKyAgICAgICAgKF9ld2tfc2V0dGluZ3Nfd2Via2l0X29zX3ZlcnNpb24pOgorICAg
ICAgICAoZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQpOgorICAgICAgICAqIGV3
ay9ld2tfdmVyc2lvbi5oOiBBZGRlZC4KKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAg
ICAgICAoX2V3a192aWV3X3ByaXZfbmV3KToKKwogMjAxMC0xMC0xNSAgTmlrb2xhcyBaaW1tZXJt
YW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFNj
aHVsemUuCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvV2ViS2l0
L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCBlMjYyNGEzLi4yOTU5MDY2IDEwMDY0NAotLS0g
YS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19w
cml2YXRlLmgKQEAgLTE1MCw2ICsxNTAsOCBAQCB2b2lkIGV3a19mcmFtZV9mb3JjZV9sYXlvdXQo
RXZhc19PYmplY3QgKm8pOwogCiBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBld2tf
ZnJhbWVfcGx1Z2luX2NyZWF0ZShFdmFzX09iamVjdCogbywgY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYgcGx1Z2luU2l6ZSwgV2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0
IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiBwYXJh
bU5hbWVzLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mIHBhcmFtVmFsdWVzLCBjb25z
dCBXVEY6OlN0cmluZyYgbWltZVR5cGUsIGJvb2wgbG9hZE1hbnVhbGx5KTsKIAorY29uc3QgY2hh
ciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKTsKKwogRWluYV9Cb29sIGV3
a192aWV3X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKEV2YXNfT2JqZWN0KiBvLCBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCk7CiAKIHZvaWQgZXdrX3ZpZXdfY29udGVudHNf
c2l6ZV9jaGFuZ2VkKEV2YXNfT2JqZWN0ICpvLCBFdmFzX0Nvb3JkIHcsIEV2YXNfQ29vcmQgaCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwIGIvV2ViS2l0L2Vm
bC9ld2svZXdrX3NldHRpbmdzLmNwcAppbmRleCBmMjY1MWExLi40ODEzYmQ0IDEwMDY0NAotLS0g
YS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3
a19zZXR0aW5ncy5jcHAKQEAgLTI5LDggKzI5LDExIEBACiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNp
bmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIkxhbmd1YWdl
LmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKKyNpbmNsdWRlICJld2tfdmVyc2lvbi5oIgog
I2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdD
b25jYXRlbmF0ZS5oPgogCiAjaW5jbHVkZSA8ZWluYV9zYWZldHlfY2hlY2tzLmg+CiAjaW5jbHVk
ZSA8ZXJybm8uaD4KQEAgLTM5LDYgKzQyLDEyIEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAj
aW5jbHVkZSA8dW5pc3RkLmg+CiAKKyNpbmNsdWRlIDxFaW5hLmg+CisKKyNpZiBPUyhVTklYKQor
I2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjZW5kaWYKKwogI2lmIFVTRShTT1VQKQogI2luY2x1
ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CkBAIC00OCw2
ICs1NywzNCBAQCBzdGF0aWMgY29uc3QgY2hhciogX2V3a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9w
YXRoID0gMDsKIHN0YXRpYyBjb25zdCBjaGFyKiBfZXdrX2ljb25fZGF0YWJhc2VfcGF0aCA9IDA7
CiBzdGF0aWMgdWludDY0X3QgX2V3a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9xdW90YSA9IDEgKiAx
MDI0ICogMTAyNDsKIAorc3RhdGljIGNvbnN0IGNoYXIqIF9ld2tfc2V0dGluZ3Nfd2Via2l0X3Bs
YXRmb3JtKCkKK3sKKyAgICBjb25zdCBjaGFyKiB1YVBsYXRmb3JtOworI2lmIFBMQVRGT1JNKFgx
MSkKKyAgICB1YVBsYXRmb3JtID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoIlgxMSIpOworI2Vsc2UK
KyAgICB1YVBsYXRmb3JtID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoIlVua25vd24iKTsKKyNlbmRp
ZgorICAgIHJldHVybiB1YVBsYXRmb3JtOworfQorIAorc3RhdGljIGNvbnN0IGNoYXIqIF9ld2tf
c2V0dGluZ3Nfd2Via2l0X29zX3ZlcnNpb24oKQoreworICAgIGNvbnN0IGNoYXIqIHVhT1NWZXJz
aW9uOworI2lmIE9TKFVOSVgpCisgICAgc3RydWN0IHV0c25hbWUgbmFtZTsKKyAgICBpZiAodW5h
bWUoJm5hbWUpICE9IC0xKSB7CisgICAgICAgIHVhT1NWZXJzaW9uID0gZWluYV9zdHJpbmdzaGFy
ZV9hZGQobWFrZVN0cmluZyhuYW1lLnN5c25hbWUsICcgJywgbmFtZS5tYWNoaW5lKS51dGY4KCku
ZGF0YSgpKTsKKyAgICB9CisgICAgZWxzZQorICAgICAgICB1YU9TVmVyc2lvbiA9IGVpbmFfc3Ry
aW5nc2hhcmVfYWRkKCJVbmtub3duIik7CisjZWxzZQorICAgIHVhT1NWZXJzaW9uID0gZWluYV9z
dHJpbmdzaGFyZV9hZGQoIlVua25vd24iKTsKKyNlbmRpZgorICAgIHJldHVybiB1YU9TVmVyc2lv
bjsKK30KKworCiAvKioKICAqIFJldHVybnMgdGhlIGRlZmF1bHQgcXVvdGEgZm9yIFdlYiBEYXRh
YmFzZSBkYXRhYmFzZXMuIEJ5IGRlZmF1bHQKICAqIHRoaXMgdmFsdWUgaXMgMU1CLgpAQCAtMjYx
LDMgKzI5OCwxMSBAQCB2b2lkIGV3a19zZXR0aW5nc19wcm94eV91cmlfc2V0KGNvbnN0IGNoYXIq
IHByb3h5KQogICAgIEVJTkFfU0FGRVRZX09OX1RSVUVfUkVUVVJOKDEpOwogI2VuZGlmCiB9CisK
K2NvbnN0IGNoYXIqIGV3a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCkKK3sKKyAg
ICBXVEY6OlN0cmluZyB1YVZlcnNpb24gPSBtYWtlU3RyaW5nKFN0cmluZzo6bnVtYmVyKFdFQktJ
VF9VU0VSX0FHRU5UX01BSk9SX1ZFUlNJT04pLCAnLicsIFN0cmluZzo6bnVtYmVyKFdFQktJVF9V
U0VSX0FHRU5UX01JTk9SX1ZFUlNJT04pLCAnKycpOworICAgIFdURjo6U3RyaW5nIHN0YXRpY1VB
ID0gbWFrZVN0cmluZygiTW96aWxsYS81LjAgKCIsIF9ld2tfc2V0dGluZ3Nfd2Via2l0X3BsYXRm
b3JtKCksICI7IFU7ICIsIF9ld2tfc2V0dGluZ3Nfd2Via2l0X29zX3ZlcnNpb24oKSwgIjsgIiwg
V2ViQ29yZTo6ZGVmYXVsdExhbmd1YWdlKCksICIpIEFwcGxlV2ViS2l0LyIsIHVhVmVyc2lvbikg
KyBtYWtlU3RyaW5nKCIgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzUuMCBTYWZhcmkvIiwg
dWFWZXJzaW9uKTsKKworICAgIHJldHVybiAgZWluYV9zdHJpbmdzaGFyZV9hZGQoc3RhdGljVUEu
dXRmOCgpLmRhdGEoKSk7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfdmVyc2lv
bi5oIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ZlcnNpb24uaAppbmRleCBlNjlkZTI5Li5iN2UxOWEx
IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfdmVyc2lvbi5oCisrKyBiL1dlYktpdC9l
ZmwvZXdrL2V3a192ZXJzaW9uLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwOCBDaHJpc3RpYW4gRHl3YW4gPGNocmlzdGlhbkBpbWVuZGlvLmNvbT4KKyAqIENvcHly
aWdodCAoQykgMjAxMCBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgZXdrX3ZlcnNpb25faAor
I2RlZmluZSBld2tfdmVyc2lvbl9oCisKKyNkZWZpbmUgV0VCS0lURUZMX01BSk9SX1ZFUlNJT04g
KDApCisjZGVmaW5lIFdFQktJVEVGTF9NSU5PUl9WRVJTSU9OICgxKQorI2RlZmluZSBXRUJLSVRF
RkxfTUlDUk9fVkVSU0lPTiAoMCkKKworI2RlZmluZSBXRUJLSVRfVVNFUl9BR0VOVF9NQUpPUl9W
RVJTSU9OICg1MzQpCisjZGVmaW5lIFdFQktJVF9VU0VSX0FHRU5UX01JTk9SX1ZFUlNJT04gKDcp
CisKKyNkZWZpbmUgV0VCS0lURUZMX0NIRUNLX1ZFUlNJT04obWFqb3IsIG1pbm9yLCBtaWNybykg
XAorICAoV0VCS0lURUZMX01BSk9SX1ZFUlNJT04gPiAobWFqb3IpIHx8IFwKKyAgKFdFQktJVEVG
TF9NQUpPUl9WRVJTSU9OID09IChtYWpvcikgJiYgV0VCS0lURUZMX01JTk9SX1ZFUlNJT04gPiAo
bWlub3IpKSB8fCBcCisgIChXRUJLSVRFRkxfTUFKT1JfVkVSU0lPTiA9PSAobWFqb3IpICYmIFdF
QktJVEVGTF9NSU5PUl9WRVJTSU9OID09IChtaW5vcikgJiYgXAorICBXRUJLSVRFRkxfTUlDUk9f
VkVSU0lPTiA+PSAobWljcm8pKSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3
ay9ld2tfdmlldy5jcHAgYi9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggMTQxYzE4
ZC4uNTI0MzU4MCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBi
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtNjE4LDYgKzYxOCw4IEBAIHN0YXRpYyBF
d2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhFd2tfVmlld19TbWFydF9E
YXRhKiBzZCkKICAgICBwcml2LT5zZXR0aW5ncy5wYWdlX2NhY2hlID0gcHJpdi0+cGFnZV9zZXR0
aW5ncy0+dXNlc1BhZ2VDYWNoZSgpOwogICAgIHByaXYtPnNldHRpbmdzLmVuY29kaW5nX2RldGVj
dG9yID0gcHJpdi0+cGFnZV9zZXR0aW5ncy0+dXNlc0VuY29kaW5nRGV0ZWN0b3IoKTsKIAorICAg
IHByaXYtPnNldHRpbmdzLnVzZXJfYWdlbnQgPSBld2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2Fn
ZW50X2dldCgpOworCiAgICAgLy8gU2luY2UgdGhlcmUncyBubyBzY2FsZSBzZXBhcmF0ZWQgZnJv
bSB6b29taW5nIGluIHdlYmtpdC1lZmwsIHRoaXMgZnVuY3Rpb25hbGl0eSBvZgogICAgIC8vIHZp
ZXdwb3J0IG1ldGEgdGFnIGlzIGltcGxlbWVudGVkIHVzaW5nIHpvb20uIFdoZW4gc2NhbGUgem9v
bSBpcyBzdXBwb3J0ZWQgYnkgd2Via2l0LWVmbCwKICAgICAvLyB0aGlzIGZ1bmN0aW9uYWxpdHkg
d2lsbCBiZSBtb2RpZmllZCBieSB0aGUgc2NhbGUgem9vbSBwYXRjaC4K
</data>
<flag name="commit-queue"
          id="61160"
          type_id="3"
          status="-"
          setter="leandro"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71233</attachid>
            <date>2010-10-19 17:55:14 -0700</date>
            <delta_ts>2010-10-19 18:03:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.txt</filename>
            <type>text/plain</type>
            <size>6066</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjNzE4ZTRlLi41YzE1ZTBh
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMTAtMTkgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRz
IGRlZmF1bHQgdXNlciBhZ2VudCAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ3OTAzCisKKyAgICAgICAgSWYgYXBwbGNhdGlvbihlLmcgRVdlYkxhdW5j
aGVyKSBkb2Vzbid0IHNldCB1c2VyIGFnZW50LCBXZWJLaXQgRUZMIGRvZXNuJ3QgCisgICAgICAg
IHNldCB1c2VyIGFnZW50LiBIb3dldmVyLCB3ZSBuZWVkIHRvIHNldCB1c2VyIGFnZW50IGJ5IGRl
ZmF1bHQuIEJlY2F1c2UsIHNvbWUKKyAgICAgICAgd2ViIHNpdGVzIHNlbmQgZGlmZmVyZW50IHBh
Z2VzIGFjY29yZGluZyB0byB1c2VyIGFnZW50LgorCisgICAgICAgICogY21ha2Vjb25maWcuaC5j
bWFrZToKKwogMjAxMC0xMC0xOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFp
bC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjcwMDM0LgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA5
Y2IyNzQwLi43NzJjZGI2IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEwLTEwLTE5ICBHeXV5b3Vu
ZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0VGTF0gU2V0cyBkZWZhdWx0IHVzZXIgYWdlbnQg
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzkwMwor
CisgICAgICAgIElmIGFwcGxjYXRpb24oZS5nIEVXZWJMYXVuY2hlcikgZG9lc24ndCBzZXQgdXNl
ciBhZ2VudCwgV2ViS2l0IEVGTCBkb2Vzbid0IAorICAgICAgICBzZXQgdXNlciBhZ2VudC4gSG93
ZXZlciwgd2UgbmVlZCB0byBzZXQgdXNlciBhZ2VudCBieSBkZWZhdWx0LiBCZWNhdXNlLCBzb21l
CisgICAgICAgIHdlYiBzaXRlcyBzZW5kIGRpZmZlcmVudCBwYWdlcyBhY2NvcmRpbmcgdG8gdXNl
ciBhZ2VudC4KKworICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3ay9l
d2tfc2V0dGluZ3MuY3BwOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfcGxhdGZvcm0p
OgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbik6CisgICAgICAgIChl
d2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCk6CisgICAgICAgICogZXdrL2V3a192
aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19wcml2X25ldyk6CisKIDIwMTAtMTAtMTUgIE5p
a29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGlyayBTY2h1bHplLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZh
dGUuaCBiL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggZTI2MjRhMy4uMjk1OTA2
NiAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9XZWJLaXQv
ZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCkBAIC0xNTAsNiArMTUwLDggQEAgdm9pZCBld2tfZnJhbWVf
Zm9yY2VfbGF5b3V0KEV2YXNfT2JqZWN0ICpvKTsKIAogV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6
OldpZGdldD4gZXdrX2ZyYW1lX3BsdWdpbl9jcmVhdGUoRXZhc19PYmplY3QqIG8sIGNvbnN0IFdl
YkNvcmU6OkludFNpemUmIHBsdWdpblNpemUsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiBl
bGVtZW50LCBjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6
U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiBwYXJh
bVZhbHVlcywgY29uc3QgV1RGOjpTdHJpbmcmIG1pbWVUeXBlLCBib29sIGxvYWRNYW51YWxseSk7
CiAKK2NvbnN0IGNoYXIqIGV3a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCk7CisK
IEVpbmFfQm9vbCBld2tfdmlld19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbihFdmFzX09iamVj
dCogbywgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqIHJlcXVlc3QpOwogCiB2b2lkIGV3a192
aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCAqbywgRXZhc19Db29yZCB3LCBF
dmFzX0Nvb3JkIGgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNw
cCBiL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKaW5kZXggZjI2NTFhMS4uNmNiMTc1
NiAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAorKysgYi9XZWJL
aXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCkBAIC0yOSw5ICsyOSwxMiBAQAogI2luY2x1ZGUg
IkltYWdlLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNs
dWRlICJMYW5ndWFnZS5oIgogI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+
CiAKKyNpbmNsdWRlIDxFaW5hLmg+CiAjaW5jbHVkZSA8ZWluYV9zYWZldHlfY2hlY2tzLmg+CiAj
aW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTM5LDYgKzQyLDEwIEBA
CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKKyNpZiBPUyhV
TklYKQorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjZW5kaWYKKwogI2lmIFVTRShTT1VQKQog
I2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSA8bGlic291cC9zb3VwLmg+CkBA
IC00OCw2ICs1NSwzMyBAQCBzdGF0aWMgY29uc3QgY2hhciogX2V3a19kZWZhdWx0X3dlYl9kYXRh
YmFzZV9wYXRoID0gMDsKIHN0YXRpYyBjb25zdCBjaGFyKiBfZXdrX2ljb25fZGF0YWJhc2VfcGF0
aCA9IDA7CiBzdGF0aWMgdWludDY0X3QgX2V3a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9xdW90YSA9
IDEgKiAxMDI0ICogMTAyNDsKIAorc3RhdGljIGNvbnN0IGNoYXIqIF9ld2tfc2V0dGluZ3Nfd2Vi
a2l0X3BsYXRmb3JtKCkKK3sKKyAgICBjb25zdCBjaGFyKiB1YVBsYXRmb3JtOworI2lmIFBMQVRG
T1JNKFgxMSkKKyAgICB1YVBsYXRmb3JtID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoIlgxMSIpOwor
I2Vsc2UKKyAgICB1YVBsYXRmb3JtID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoIlVua25vd24iKTsK
KyNlbmRpZgorICAgIHJldHVybiB1YVBsYXRmb3JtOworfQorCitzdGF0aWMgY29uc3QgY2hhciog
X2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbigpCit7CisgICAgY29uc3QgY2hhciogdWFP
U1ZlcnNpb247CisjaWYgT1MoVU5JWCkKKyAgICBzdHJ1Y3QgdXRzbmFtZSBuYW1lOworICAgIGlm
ICh1bmFtZSgmbmFtZSkgIT0gLTEpCisgICAgICAgIHVhT1NWZXJzaW9uID0gZWluYV9zdHJpbmdz
aGFyZV9hZGQobWFrZVN0cmluZyhuYW1lLnN5c25hbWUsICcgJywgbmFtZS5tYWNoaW5lKS51dGY4
KCkuZGF0YSgpKTsKKyAgICBlbHNlCisgICAgICAgIHVhT1NWZXJzaW9uID0gZWluYV9zdHJpbmdz
aGFyZV9hZGQoIlVua25vd24iKTsKKyNlbHNlCisgICAgdWFPU1ZlcnNpb24gPSBlaW5hX3N0cmlu
Z3NoYXJlX2FkZCgiVW5rbm93biIpOworI2VuZGlmCisgICAgcmV0dXJuIHVhT1NWZXJzaW9uOwor
fQorCisKIC8qKgogICogUmV0dXJucyB0aGUgZGVmYXVsdCBxdW90YSBmb3IgV2ViIERhdGFiYXNl
IGRhdGFiYXNlcy4gQnkgZGVmYXVsdAogICogdGhpcyB2YWx1ZSBpcyAxTUIuCkBAIC0yNjEsMyAr
Mjk1LDExIEBAIHZvaWQgZXdrX3NldHRpbmdzX3Byb3h5X3VyaV9zZXQoY29uc3QgY2hhciogcHJv
eHkpCiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9SRVRVUk4oMSk7CiAjZW5kaWYKIH0KKworY29u
c3QgY2hhciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKQoreworICAgIFdU
Rjo6U3RyaW5nIHVhVmVyc2lvbiA9IG1ha2VTdHJpbmcoU3RyaW5nOjpudW1iZXIoV0VCS0lUX1VT
RVJfQUdFTlRfTUFKT1JfVkVSU0lPTiksICcuJywgU3RyaW5nOjpudW1iZXIoV0VCS0lUX1VTRVJf
QUdFTlRfTUlOT1JfVkVSU0lPTiksICcrJyk7CisgICAgV1RGOjpTdHJpbmcgc3RhdGljVUEgPSBt
YWtlU3RyaW5nKCJNb3ppbGxhLzUuMCAoIiwgX2V3a19zZXR0aW5nc193ZWJraXRfcGxhdGZvcm0o
KSwgIjsgVTsgIiwgX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbigpLCAiOyAiLCBXZWJD
b3JlOjpkZWZhdWx0TGFuZ3VhZ2UoKSwgIikgQXBwbGVXZWJLaXQvIiwgdWFWZXJzaW9uKSArIG1h
a2VTdHJpbmcoIiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4wIFNhZmFyaS8iLCB1YVZl
cnNpb24pOworCisgICAgcmV0dXJuIGVpbmFfc3RyaW5nc2hhcmVfYWRkKHN0YXRpY1VBLnV0Zjgo
KS5kYXRhKCkpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDE0MWMxOGQuLjUyNDM1ODAgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKQEAgLTYxOCw2ICs2MTgsOCBAQCBzdGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9E
YXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdrX1ZpZXdfU21hcnRfRGF0YSogc2QpCiAgICAgcHJp
di0+c2V0dGluZ3MucGFnZV9jYWNoZSA9IHByaXYtPnBhZ2Vfc2V0dGluZ3MtPnVzZXNQYWdlQ2Fj
aGUoKTsKICAgICBwcml2LT5zZXR0aW5ncy5lbmNvZGluZ19kZXRlY3RvciA9IHByaXYtPnBhZ2Vf
c2V0dGluZ3MtPnVzZXNFbmNvZGluZ0RldGVjdG9yKCk7CiAKKyAgICBwcml2LT5zZXR0aW5ncy51
c2VyX2FnZW50ID0gZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKTsKKwogICAg
IC8vIFNpbmNlIHRoZXJlJ3Mgbm8gc2NhbGUgc2VwYXJhdGVkIGZyb20gem9vbWluZyBpbiB3ZWJr
aXQtZWZsLCB0aGlzIGZ1bmN0aW9uYWxpdHkgb2YKICAgICAvLyB2aWV3cG9ydCBtZXRhIHRhZyBp
cyBpbXBsZW1lbnRlZCB1c2luZyB6b29tLiBXaGVuIHNjYWxlIHpvb20gaXMgc3VwcG9ydGVkIGJ5
IHdlYmtpdC1lZmwsCiAgICAgLy8gdGhpcyBmdW5jdGlvbmFsaXR5IHdpbGwgYmUgbW9kaWZpZWQg
YnkgdGhlIHNjYWxlIHpvb20gcGF0Y2guCmRpZmYgLS1naXQgYS9jbWFrZWNvbmZpZy5oLmNtYWtl
IGIvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCBiNjA1YmI5Li5jZDAwNDFjIDEwMDY0NAotLS0g
YS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTEsNiAr
MSwxMyBAQAogI2lmbmRlZiBDTUFLRUNPTkZJR19ICiAjZGVmaW5lIENNQUtFQ09ORklHX0gKIAor
I2RlZmluZSBXRUJLSVRFRkxfTUFKT1JfVkVSU0lPTiBAUFJPSkVDVF9WRVJTSU9OX01BSk9SQAor
I2RlZmluZSBXRUJLSVRFRkxfTUlOT1JfVkVSU0lPTiBAUFJPSkVDVF9WRVJTSU9OX01JTk9SQAor
I2RlZmluZSBXRUJLSVRFRkxfTUlDUk9fVkVSU0lPTiBAUFJPSkVDVF9WRVJTSU9OX1BBVENIQAor
CisjZGVmaW5lIFdFQktJVF9VU0VSX0FHRU5UX01BSk9SX1ZFUlNJT04gKDUzNCkKKyNkZWZpbmUg
V0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lPTiAoNykKKwogI2RlZmluZSBFTkFCTEVfQVNf
SU1BR0UgQEVOQUJMRV9BU19JTUFHRV9WQUxVRUAKICNkZWZpbmUgRU5BQkxFX0JMT0IgQEVOQUJM
RV9CTE9CX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgQEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lOR19WQUxVRUAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71235</attachid>
            <date>2010-10-19 18:03:26 -0700</date>
            <delta_ts>2010-10-21 23:11:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.txt</filename>
            <type>text/plain</type>
            <size>6075</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjNzE4ZTRlLi41YzE1ZTBh
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMTAtMTkgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRz
IGRlZmF1bHQgdXNlciBhZ2VudCAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ3OTAzCisKKyAgICAgICAgSWYgYXBwbGNhdGlvbihlLmcgRVdlYkxhdW5j
aGVyKSBkb2Vzbid0IHNldCB1c2VyIGFnZW50LCBXZWJLaXQgRUZMIGRvZXNuJ3QgCisgICAgICAg
IHNldCB1c2VyIGFnZW50LiBIb3dldmVyLCB3ZSBuZWVkIHRvIHNldCB1c2VyIGFnZW50IGJ5IGRl
ZmF1bHQuIEJlY2F1c2UsIHNvbWUKKyAgICAgICAgd2ViIHNpdGVzIHNlbmQgZGlmZmVyZW50IHBh
Z2VzIGFjY29yZGluZyB0byB1c2VyIGFnZW50LgorCisgICAgICAgICogY21ha2Vjb25maWcuaC5j
bWFrZToKKwogMjAxMC0xMC0xOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFp
bC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjcwMDM0LgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA5
Y2IyNzQwLi43NzJjZGI2IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEwLTEwLTE5ICBHeXV5b3Vu
ZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0VGTF0gU2V0cyBkZWZhdWx0IHVzZXIgYWdlbnQg
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzkwMwor
CisgICAgICAgIElmIGFwcGxjYXRpb24oZS5nIEVXZWJMYXVuY2hlcikgZG9lc24ndCBzZXQgdXNl
ciBhZ2VudCwgV2ViS2l0IEVGTCBkb2Vzbid0IAorICAgICAgICBzZXQgdXNlciBhZ2VudC4gSG93
ZXZlciwgd2UgbmVlZCB0byBzZXQgdXNlciBhZ2VudCBieSBkZWZhdWx0LiBCZWNhdXNlLCBzb21l
CisgICAgICAgIHdlYiBzaXRlcyBzZW5kIGRpZmZlcmVudCBwYWdlcyBhY2NvcmRpbmcgdG8gdXNl
ciBhZ2VudC4KKworICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3ay9l
d2tfc2V0dGluZ3MuY3BwOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfcGxhdGZvcm0p
OgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbik6CisgICAgICAgIChl
d2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCk6CisgICAgICAgICogZXdrL2V3a192
aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19wcml2X25ldyk6CisKIDIwMTAtMTAtMTUgIE5p
a29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGlyayBTY2h1bHplLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZh
dGUuaCBiL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggZTI2MjRhMy4uMjk1OTA2
NiAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9XZWJLaXQv
ZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCkBAIC0xNTAsNiArMTUwLDggQEAgdm9pZCBld2tfZnJhbWVf
Zm9yY2VfbGF5b3V0KEV2YXNfT2JqZWN0ICpvKTsKIAogV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6
OldpZGdldD4gZXdrX2ZyYW1lX3BsdWdpbl9jcmVhdGUoRXZhc19PYmplY3QqIG8sIGNvbnN0IFdl
YkNvcmU6OkludFNpemUmIHBsdWdpblNpemUsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiBl
bGVtZW50LCBjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6
U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiBwYXJh
bVZhbHVlcywgY29uc3QgV1RGOjpTdHJpbmcmIG1pbWVUeXBlLCBib29sIGxvYWRNYW51YWxseSk7
CiAKK2NvbnN0IGNoYXIqIGV3a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCk7CisK
IEVpbmFfQm9vbCBld2tfdmlld19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbihFdmFzX09iamVj
dCogbywgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqIHJlcXVlc3QpOwogCiB2b2lkIGV3a192
aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCAqbywgRXZhc19Db29yZCB3LCBF
dmFzX0Nvb3JkIGgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNw
cCBiL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKaW5kZXggZjI2NTFhMS4uZGRlZTQ5
MiAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAorKysgYi9XZWJL
aXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCkBAIC0yOSwxNSArMjksMjIgQEAKICNpbmNsdWRl
ICJJbWFnZS5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5j
bHVkZSAiTGFuZ3VhZ2UuaCIKICNpbmNsdWRlICJld2tfcHJpdmF0ZS5oIgotI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2luY2x1ZGUgPEVpbmEuaD4KICNpbmNsdWRlIDxlaW5hX3Nh
ZmV0eV9jaGVja3MuaD4KICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgog
I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8
dW5pc3RkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CisKKyNpZiBPUyhVTklYKQorI2luY2x1ZGUgPHN5cy91
dHNuYW1lLmg+CisjZW5kaWYKIAogI2lmIFVTRShTT1VQKQogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlLmgiCkBAIC00OCw2ICs1NSwzMyBAQCBzdGF0aWMgY29uc3QgY2hhciogX2V3a19kZWZhdWx0
X3dlYl9kYXRhYmFzZV9wYXRoID0gMDsKIHN0YXRpYyBjb25zdCBjaGFyKiBfZXdrX2ljb25fZGF0
YWJhc2VfcGF0aCA9IDA7CiBzdGF0aWMgdWludDY0X3QgX2V3a19kZWZhdWx0X3dlYl9kYXRhYmFz
ZV9xdW90YSA9IDEgKiAxMDI0ICogMTAyNDsKIAorc3RhdGljIGNvbnN0IGNoYXIqIF9ld2tfc2V0
dGluZ3Nfd2Via2l0X3BsYXRmb3JtKCkKK3sKKyAgICBjb25zdCBjaGFyKiB1YVBsYXRmb3JtOwor
I2lmIFBMQVRGT1JNKFgxMSkKKyAgICB1YVBsYXRmb3JtID0gZWluYV9zdHJpbmdzaGFyZV9hZGQo
IlgxMSIpOworI2Vsc2UKKyAgICB1YVBsYXRmb3JtID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoIlVu
a25vd24iKTsKKyNlbmRpZgorICAgIHJldHVybiB1YVBsYXRmb3JtOworfQorCitzdGF0aWMgY29u
c3QgY2hhciogX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbigpCit7CisgICAgY29uc3Qg
Y2hhciogdWFPU1ZlcnNpb247CisjaWYgT1MoVU5JWCkKKyAgICBzdHJ1Y3QgdXRzbmFtZSBuYW1l
OworICAgIGlmICh1bmFtZSgmbmFtZSkgIT0gLTEpCisgICAgICAgIHVhT1NWZXJzaW9uID0gZWlu
YV9zdHJpbmdzaGFyZV9hZGQobWFrZVN0cmluZyhuYW1lLnN5c25hbWUsICcgJywgbmFtZS5tYWNo
aW5lKS51dGY4KCkuZGF0YSgpKTsKKyAgICBlbHNlCisgICAgICAgIHVhT1NWZXJzaW9uID0gZWlu
YV9zdHJpbmdzaGFyZV9hZGQoIlVua25vd24iKTsKKyNlbHNlCisgICAgdWFPU1ZlcnNpb24gPSBl
aW5hX3N0cmluZ3NoYXJlX2FkZCgiVW5rbm93biIpOworI2VuZGlmCisgICAgcmV0dXJuIHVhT1NW
ZXJzaW9uOworfQorCisKIC8qKgogICogUmV0dXJucyB0aGUgZGVmYXVsdCBxdW90YSBmb3IgV2Vi
IERhdGFiYXNlIGRhdGFiYXNlcy4gQnkgZGVmYXVsdAogICogdGhpcyB2YWx1ZSBpcyAxTUIuCkBA
IC0yNjEsMyArMjk1LDExIEBAIHZvaWQgZXdrX3NldHRpbmdzX3Byb3h5X3VyaV9zZXQoY29uc3Qg
Y2hhciogcHJveHkpCiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9SRVRVUk4oMSk7CiAjZW5kaWYK
IH0KKworY29uc3QgY2hhciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKQor
eworICAgIFdURjo6U3RyaW5nIHVhVmVyc2lvbiA9IG1ha2VTdHJpbmcoU3RyaW5nOjpudW1iZXIo
V0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVSU0lPTiksICcuJywgU3RyaW5nOjpudW1iZXIoV0VC
S0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lPTiksICcrJyk7CisgICAgV1RGOjpTdHJpbmcgc3Rh
dGljVUEgPSBtYWtlU3RyaW5nKCJNb3ppbGxhLzUuMCAoIiwgX2V3a19zZXR0aW5nc193ZWJraXRf
cGxhdGZvcm0oKSwgIjsgVTsgIiwgX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbigpLCAi
OyAiLCBXZWJDb3JlOjpkZWZhdWx0TGFuZ3VhZ2UoKSwgIikgQXBwbGVXZWJLaXQvIiwgdWFWZXJz
aW9uKSArIG1ha2VTdHJpbmcoIiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4wIFNhZmFy
aS8iLCB1YVZlcnNpb24pOworCisgICAgcmV0dXJuIGVpbmFfc3RyaW5nc2hhcmVfYWRkKHN0YXRp
Y1VBLnV0ZjgoKS5kYXRhKCkpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuY3BwIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDE0MWMxOGQuLjUyNDM1
ODAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAgLTYxOCw2ICs2MTgsOCBAQCBzdGF0aWMgRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdrX1ZpZXdfU21hcnRfRGF0YSogc2Qp
CiAgICAgcHJpdi0+c2V0dGluZ3MucGFnZV9jYWNoZSA9IHByaXYtPnBhZ2Vfc2V0dGluZ3MtPnVz
ZXNQYWdlQ2FjaGUoKTsKICAgICBwcml2LT5zZXR0aW5ncy5lbmNvZGluZ19kZXRlY3RvciA9IHBy
aXYtPnBhZ2Vfc2V0dGluZ3MtPnVzZXNFbmNvZGluZ0RldGVjdG9yKCk7CiAKKyAgICBwcml2LT5z
ZXR0aW5ncy51c2VyX2FnZW50ID0gZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQo
KTsKKwogICAgIC8vIFNpbmNlIHRoZXJlJ3Mgbm8gc2NhbGUgc2VwYXJhdGVkIGZyb20gem9vbWlu
ZyBpbiB3ZWJraXQtZWZsLCB0aGlzIGZ1bmN0aW9uYWxpdHkgb2YKICAgICAvLyB2aWV3cG9ydCBt
ZXRhIHRhZyBpcyBpbXBsZW1lbnRlZCB1c2luZyB6b29tLiBXaGVuIHNjYWxlIHpvb20gaXMgc3Vw
cG9ydGVkIGJ5IHdlYmtpdC1lZmwsCiAgICAgLy8gdGhpcyBmdW5jdGlvbmFsaXR5IHdpbGwgYmUg
bW9kaWZpZWQgYnkgdGhlIHNjYWxlIHpvb20gcGF0Y2guCmRpZmYgLS1naXQgYS9jbWFrZWNvbmZp
Zy5oLmNtYWtlIGIvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCBiNjA1YmI5Li5jZDAwNDFjIDEw
MDY0NAotLS0gYS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL2NtYWtlY29uZmlnLmguY21ha2UK
QEAgLTEsNiArMSwxMyBAQAogI2lmbmRlZiBDTUFLRUNPTkZJR19ICiAjZGVmaW5lIENNQUtFQ09O
RklHX0gKIAorI2RlZmluZSBXRUJLSVRFRkxfTUFKT1JfVkVSU0lPTiBAUFJPSkVDVF9WRVJTSU9O
X01BSk9SQAorI2RlZmluZSBXRUJLSVRFRkxfTUlOT1JfVkVSU0lPTiBAUFJPSkVDVF9WRVJTSU9O
X01JTk9SQAorI2RlZmluZSBXRUJLSVRFRkxfTUlDUk9fVkVSU0lPTiBAUFJPSkVDVF9WRVJTSU9O
X1BBVENIQAorCisjZGVmaW5lIFdFQktJVF9VU0VSX0FHRU5UX01BSk9SX1ZFUlNJT04gKDUzNCkK
KyNkZWZpbmUgV0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lPTiAoNykKKwogI2RlZmluZSBF
TkFCTEVfQVNfSU1BR0UgQEVOQUJMRV9BU19JTUFHRV9WQUxVRUAKICNkZWZpbmUgRU5BQkxFX0JM
T0IgQEVOQUJMRV9CTE9CX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcg
QEVOQUJMRV9DSEFOTkVMX01FU1NBR0lOR19WQUxVRUAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71528</attachid>
            <date>2010-10-21 23:11:59 -0700</date>
            <delta_ts>2010-10-31 18:56:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.txt</filename>
            <type>text/plain</type>
            <size>5886</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0OTlmZjY1Li5hYTFlMDJl
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTAtMjEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRz
IGRlZmF1bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDc5MDMKKworICAgICAgICBBZGQgbWFjcm9zIGZvciBXZWJLaXQgRUZMIGFu
ZCBVc2VyIEFnZW50LgorCisgICAgICAgICogY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxMC0x
MC0xOSAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgYWRkaW5nIG1pc3NlZCBhZGRpdGlvbmFsQXJndW1lbnRzLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAxNzk1NjQ1
Li5kMDUyMWU4IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEwLTEwLTIxICBHeXV5b3VuZyBLaW0g
IDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0VGTF0gU2V0cyBkZWZhdWx0IHVzZXIgYWdlbnQgCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzkwMworCisgICAg
ICAgIElmIGFwcGxjYXRpb24oZS5nIEVXZWJMYXVuY2hlcikgZG9lc24ndCBzZXQgdXNlciBhZ2Vu
dCwgV2ViS2l0IEVGTCBkb2Vzbid0IAorICAgICAgICBzZXQgdXNlciBhZ2VudC4gSG93ZXZlciwg
d2UgbmVlZCB0byBzZXQgdXNlciBhZ2VudCBieSBkZWZhdWx0LiBCZWNhdXNlLCBzb21lCisgICAg
ICAgIHdlYiBzaXRlcyBzZW5kIGRpZmZlcmVudCBwYWdlcyBhY2NvcmRpbmcgdG8gdXNlciBhZ2Vu
dC4KKworICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3ay9ld2tfc2V0
dGluZ3MuY3BwOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfcGxhdGZvcm0pOgorICAg
ICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbik6CisgICAgICAgIChld2tfc2V0
dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCk6CisgICAgICAgICogZXdrL2V3a192aWV3LmNw
cDoKKyAgICAgICAgKF9ld2tfdmlld19wcml2X25ldyk6CisKIDIwMTAtMTAtMTkgIFJ5dWFuIENo
b2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
U2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaCBiL1dlYktp
dC9lZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggZTI2MjRhMy4uMjk1OTA2NiAxMDA2NDQKLS0t
IGEvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9XZWJLaXQvZWZsL2V3ay9ld2tf
cHJpdmF0ZS5oCkBAIC0xNTAsNiArMTUwLDggQEAgdm9pZCBld2tfZnJhbWVfZm9yY2VfbGF5b3V0
KEV2YXNfT2JqZWN0ICpvKTsKIAogV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OldpZGdldD4gZXdr
X2ZyYW1lX3BsdWdpbl9jcmVhdGUoRXZhc19PYmplY3QqIG8sIGNvbnN0IFdlYkNvcmU6OkludFNp
emUmIHBsdWdpblNpemUsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiBlbGVtZW50LCBjb25z
dCBXZWJDb3JlOjpLVVJMJiB1cmwsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6U3RyaW5nPiYgcGFy
YW1OYW1lcywgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiBwYXJhbVZhbHVlcywgY29u
c3QgV1RGOjpTdHJpbmcmIG1pbWVUeXBlLCBib29sIGxvYWRNYW51YWxseSk7CiAKK2NvbnN0IGNo
YXIqIGV3a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCk7CisKIEVpbmFfQm9vbCBl
d2tfdmlld19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbihFdmFzX09iamVjdCogbywgRXdrX0Zy
YW1lX1Jlc291cmNlX1JlcXVlc3QqIHJlcXVlc3QpOwogCiB2b2lkIGV3a192aWV3X2NvbnRlbnRz
X3NpemVfY2hhbmdlZChFdmFzX09iamVjdCAqbywgRXZhc19Db29yZCB3LCBFdmFzX0Nvb3JkIGgp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcCBiL1dlYktpdC9l
ZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKaW5kZXggZjI2NTFhMS4uNThmZTc1ZCAxMDA2NDQKLS0t
IGEvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvZWZsL2V3ay9l
d2tfc2V0dGluZ3MuY3BwCkBAIC0yOSwxNSArMjksMTkgQEAKICNpbmNsdWRlICJJbWFnZS5oIgog
I2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTGFuZ3Vh
Z2UuaCIKICNpbmNsdWRlICJld2tfcHJpdmF0ZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KIAorI2luY2x1ZGUgPEVpbmEuaD4KICNpbmNsdWRlIDxlaW5hX3NhZmV0eV9jaGVja3Mu
aD4KICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN5
cy9zdGF0Lmg+CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUu
aD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogI2lmIFVTRShTT1VQKQog
I2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCkBAIC00OCw2ICs1MiwzMCBAQCBzdGF0aWMgY29u
c3QgY2hhciogX2V3a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9wYXRoID0gMDsKIHN0YXRpYyBjb25z
dCBjaGFyKiBfZXdrX2ljb25fZGF0YWJhc2VfcGF0aCA9IDA7CiBzdGF0aWMgdWludDY0X3QgX2V3
a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9xdW90YSA9IDEgKiAxMDI0ICogMTAyNDsKIAorc3RhdGlj
IGNvbnN0IGNoYXIqIF9ld2tfc2V0dGluZ3Nfd2Via2l0X3BsYXRmb3JtKCkKK3sKKyAgICBjb25z
dCBjaGFyKiB1YVBsYXRmb3JtOworI2lmIFBMQVRGT1JNKFgxMSkKKyAgICB1YVBsYXRmb3JtID0g
ZWluYV9zdHJpbmdzaGFyZV9hZGQoIlgxMSIpOworI2Vsc2UKKyAgICB1YVBsYXRmb3JtID0gZWlu
YV9zdHJpbmdzaGFyZV9hZGQoIlVua25vd24iKTsKKyNlbmRpZgorICAgIHJldHVybiB1YVBsYXRm
b3JtOworfQorCitzdGF0aWMgY29uc3QgY2hhciogX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVy
c2lvbigpCit7CisgICAgY29uc3QgY2hhciogdWFPU1ZlcnNpb247CisgICAgc3RydWN0IHV0c25h
bWUgbmFtZTsKKworICAgIGlmICh1bmFtZSgmbmFtZSkgIT0gLTEpCisgICAgICAgIHVhT1NWZXJz
aW9uID0gZWluYV9zdHJpbmdzaGFyZV9hZGQobWFrZVN0cmluZyhuYW1lLnN5c25hbWUsICcgJywg
bmFtZS5tYWNoaW5lKS51dGY4KCkuZGF0YSgpKTsKKyAgICBlbHNlCisgICAgICAgIHVhT1NWZXJz
aW9uID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoIlVua25vd24iKTsKKworICAgIHJldHVybiB1YU9T
VmVyc2lvbjsKK30KKwogLyoqCiAgKiBSZXR1cm5zIHRoZSBkZWZhdWx0IHF1b3RhIGZvciBXZWIg
RGF0YWJhc2UgZGF0YWJhc2VzLiBCeSBkZWZhdWx0CiAgKiB0aGlzIHZhbHVlIGlzIDFNQi4KQEAg
LTI2MSwzICsyODksMTcgQEAgdm9pZCBld2tfc2V0dGluZ3NfcHJveHlfdXJpX3NldChjb25zdCBj
aGFyKiBwcm94eSkKICAgICBFSU5BX1NBRkVUWV9PTl9UUlVFX1JFVFVSTigxKTsKICNlbmRpZgog
fQorCisvKioKKyAqIEBpbnRlcm5hbAorICogR2V0cyBkZWZhdWx0IHVzZXIgYWdlbnQgc3RyaW5n
LgorICoKKyAqIEByZXR1cm4gdXNlciBhZ2VudCBzdHJpbmcuCisgKi8KK2NvbnN0IGNoYXIqIGV3
a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCkKK3sKKyAgICBXVEY6OlN0cmluZyB1
YVZlcnNpb24gPSBtYWtlU3RyaW5nKFN0cmluZzo6bnVtYmVyKFdFQktJVF9VU0VSX0FHRU5UX01B
Sk9SX1ZFUlNJT04pLCAnLicsIFN0cmluZzo6bnVtYmVyKFdFQktJVF9VU0VSX0FHRU5UX01JTk9S
X1ZFUlNJT04pLCAnKycpOworICAgIFdURjo6U3RyaW5nIHN0YXRpY1VBID0gbWFrZVN0cmluZygi
TW96aWxsYS81LjAgKCIsIF9ld2tfc2V0dGluZ3Nfd2Via2l0X3BsYXRmb3JtKCksICI7IFU7ICIs
IF9ld2tfc2V0dGluZ3Nfd2Via2l0X29zX3ZlcnNpb24oKSwgIjsgIiwgV2ViQ29yZTo6ZGVmYXVs
dExhbmd1YWdlKCksICIpIEFwcGxlV2ViS2l0LyIsIHVhVmVyc2lvbikgKyBtYWtlU3RyaW5nKCIg
KEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzUuMCBTYWZhcmkvIiwgdWFWZXJzaW9uKTsKKwor
ICAgIHJldHVybiBlaW5hX3N0cmluZ3NoYXJlX2FkZChzdGF0aWNVQS51dGY4KCkuZGF0YSgpKTsK
K30gCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9XZWJLaXQvZWZs
L2V3ay9ld2tfdmlldy5jcHAKaW5kZXggZjFjYTczMy4uMjBkYmFjOCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNw
cApAQCAtNjIwLDYgKzYyMCw4IEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tf
dmlld19wcml2X25ldyhFd2tfVmlld19TbWFydF9EYXRhKiBzZCkKICAgICBwcml2LT5zZXR0aW5n
cy5wYWdlX2NhY2hlID0gcHJpdi0+cGFnZV9zZXR0aW5ncy0+dXNlc1BhZ2VDYWNoZSgpOwogICAg
IHByaXYtPnNldHRpbmdzLmVuY29kaW5nX2RldGVjdG9yID0gcHJpdi0+cGFnZV9zZXR0aW5ncy0+
dXNlc0VuY29kaW5nRGV0ZWN0b3IoKTsKIAorICAgIHByaXYtPnNldHRpbmdzLnVzZXJfYWdlbnQg
PSBld2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCgpOworCiAgICAgLy8gU2luY2Ug
dGhlcmUncyBubyBzY2FsZSBzZXBhcmF0ZWQgZnJvbSB6b29taW5nIGluIHdlYmtpdC1lZmwsIHRo
aXMgZnVuY3Rpb25hbGl0eSBvZgogICAgIC8vIHZpZXdwb3J0IG1ldGEgdGFnIGlzIGltcGxlbWVu
dGVkIHVzaW5nIHpvb20uIFdoZW4gc2NhbGUgem9vbSBpcyBzdXBwb3J0ZWQgYnkgd2Via2l0LWVm
bCwKICAgICAvLyB0aGlzIGZ1bmN0aW9uYWxpdHkgd2lsbCBiZSBtb2RpZmllZCBieSB0aGUgc2Nh
bGUgem9vbSBwYXRjaC4KZGlmZiAtLWdpdCBhL2NtYWtlY29uZmlnLmguY21ha2UgYi9jbWFrZWNv
bmZpZy5oLmNtYWtlCmluZGV4IGI2MDViYjkuLmM0ZGFkMDggMTAwNjQ0Ci0tLSBhL2NtYWtlY29u
ZmlnLmguY21ha2UKKysrIGIvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMSw2ICsxLDEzIEBACiAj
aWZuZGVmIENNQUtFQ09ORklHX0gKICNkZWZpbmUgQ01BS0VDT05GSUdfSAogCisjZGVmaW5lIFdF
QktJVEVGTF9NQUpPUl9WRVJTSU9OIEBQUk9KRUNUX1ZFUlNJT05fTUFKT1JACisjZGVmaW5lIFdF
QktJVEVGTF9NSU5PUl9WRVJTSU9OIEBQUk9KRUNUX1ZFUlNJT05fTUlOT1JACisjZGVmaW5lIFdF
QktJVEVGTF9NSUNST19WRVJTSU9OIEBQUk9KRUNUX1ZFUlNJT05fUEFUQ0hACisKKyNkZWZpbmUg
V0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVSU0lPTiAoNTM0KQorI2RlZmluZSBXRUJLSVRfVVNF
Ul9BR0VOVF9NSU5PUl9WRVJTSU9OICg3KSAKKwogI2RlZmluZSBFTkFCTEVfQVNfSU1BR0UgQEVO
QUJMRV9BU19JTUFHRV9WQUxVRUAKICNkZWZpbmUgRU5BQkxFX0JMT0IgQEVOQUJMRV9CTE9CX1ZB
TFVFQAogI2RlZmluZSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgQEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lOR19WQUxVRUAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72481</attachid>
            <date>2010-10-31 18:56:51 -0700</date>
            <delta_ts>2010-12-19 23:19:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.txt</filename>
            <type>text/plain</type>
            <size>6423</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0OTlmZjY1Li4wZGY2Mjcy
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTAtMzEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRz
IGRlZmF1bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDc5MDMKKworICAgICAgICBBZGQgbWFjcm9zIGZvciBXZWJLaXQgRUZMIGFu
ZCBVc2VyIEFnZW50LgorCisgICAgICAgICogY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAg
ICAgKiBjbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDEwLTEwLTE5ICBSeXVhbiBDaG9pICA8cnl1
YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhZGRpbmcgbWlzc2Vk
IGFkZGl0aW9uYWxBcmd1bWVudHMuCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBi
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDE3OTU2NDUuLjdlMmE1Y2IgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjIgQEAKKzIwMTAtMTAtMzEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5n
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
RUZMXSBTZXRzIGRlZmF1bHQgdXNlciBhZ2VudCAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3OTAzCisKKyAgICAgICAgSWYgYXBwbGNhdGlvbihlLmcg
RVdlYkxhdW5jaGVyKSBkb2Vzbid0IHNldCB1c2VyIGFnZW50LCBXZWJLaXQgRUZMIGRvZXNuJ3Qg
CisgICAgICAgIHNldCB1c2VyIGFnZW50LiBIb3dldmVyLCB3ZSBuZWVkIHRvIHNldCB1c2VyIGFn
ZW50IGJ5IGRlZmF1bHQuIEJlY2F1c2UsIHNvbWUKKyAgICAgICAgd2ViIHNpdGVzIHNlbmQgZGlm
ZmVyZW50IHBhZ2VzIGFjY29yZGluZyB0byB1c2VyIGFnZW50LgorCisgICAgICAgICogZXdrL2V3
a19wcml2YXRlLmg6CisgICAgICAgICogZXdrL2V3a19zZXR0aW5ncy5jcHA6CisgICAgICAgIChf
ZXdrX3NldHRpbmdzX3dlYmtpdF9wbGF0Zm9ybSk6CisgICAgICAgIChfZXdrX3NldHRpbmdzX3dl
YmtpdF9vc192ZXJzaW9uKToKKyAgICAgICAgKGV3a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdl
bnRfZ2V0KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoX2V3a192aWV3
X3ByaXZfbmV3KToKKwogMjAxMC0xMC0xOSAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUu
aAppbmRleCBlMjYyNGEzLi4yOTU5MDY2IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tf
cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTE1MCw2ICsx
NTAsOCBAQCB2b2lkIGV3a19mcmFtZV9mb3JjZV9sYXlvdXQoRXZhc19PYmplY3QgKm8pOwogCiBX
VEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBld2tfZnJhbWVfcGx1Z2luX2NyZWF0ZShF
dmFzX09iamVjdCogbywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgcGx1Z2luU2l6ZSwgV2ViQ29y
ZTo6SFRNTFBsdWdJbkVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwg
Y29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiBwYXJhbU5hbWVzLCBjb25zdCBXVEY6OlZl
Y3RvcjxXVEY6OlN0cmluZz4mIHBhcmFtVmFsdWVzLCBjb25zdCBXVEY6OlN0cmluZyYgbWltZVR5
cGUsIGJvb2wgbG9hZE1hbnVhbGx5KTsKIAorY29uc3QgY2hhciogZXdrX3NldHRpbmdzX2RlZmF1
bHRfdXNlcl9hZ2VudF9nZXQoKTsKKwogRWluYV9Cb29sIGV3a192aWV3X25hdmlnYXRpb25fcG9s
aWN5X2RlY2lzaW9uKEV2YXNfT2JqZWN0KiBvLCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCog
cmVxdWVzdCk7CiAKIHZvaWQgZXdrX3ZpZXdfY29udGVudHNfc2l6ZV9jaGFuZ2VkKEV2YXNfT2Jq
ZWN0ICpvLCBFdmFzX0Nvb3JkIHcsIEV2YXNfQ29vcmQgaCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
ZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwIGIvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNw
cAppbmRleCBmMjY1MWExLi41OGZlNzVkIDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tf
c2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKQEAgLTI5
LDE1ICsyOSwxOSBAQAogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgog
I2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJMYW5ndWFnZS5oIgogI2luY2x1ZGUgImV3a19w
cml2YXRlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisjaW5jbHVkZSA8RWlu
YS5oPgogI2luY2x1ZGUgPGVpbmFfc2FmZXR5X2NoZWNrcy5oPgogI2luY2x1ZGUgPGVycm5vLmg+
CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNpbmNsdWRlIDxz
eXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogI2luY2x1ZGUgPHVuaXN0ZC5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdDb25jYXRlbmF0ZS5oPgogCiAjaWYgVVNFKFNPVVApCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5k
bGUuaCIKQEAgLTQ4LDYgKzUyLDMwIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBfZXdrX2RlZmF1bHRf
d2ViX2RhdGFiYXNlX3BhdGggPSAwOwogc3RhdGljIGNvbnN0IGNoYXIqIF9ld2tfaWNvbl9kYXRh
YmFzZV9wYXRoID0gMDsKIHN0YXRpYyB1aW50NjRfdCBfZXdrX2RlZmF1bHRfd2ViX2RhdGFiYXNl
X3F1b3RhID0gMSAqIDEwMjQgKiAxMDI0OwogCitzdGF0aWMgY29uc3QgY2hhciogX2V3a19zZXR0
aW5nc193ZWJraXRfcGxhdGZvcm0oKQoreworICAgIGNvbnN0IGNoYXIqIHVhUGxhdGZvcm07Cisj
aWYgUExBVEZPUk0oWDExKQorICAgIHVhUGxhdGZvcm0gPSBlaW5hX3N0cmluZ3NoYXJlX2FkZCgi
WDExIik7CisjZWxzZQorICAgIHVhUGxhdGZvcm0gPSBlaW5hX3N0cmluZ3NoYXJlX2FkZCgiVW5r
bm93biIpOworI2VuZGlmCisgICAgcmV0dXJuIHVhUGxhdGZvcm07Cit9CisKK3N0YXRpYyBjb25z
dCBjaGFyKiBfZXdrX3NldHRpbmdzX3dlYmtpdF9vc192ZXJzaW9uKCkKK3sKKyAgICBjb25zdCBj
aGFyKiB1YU9TVmVyc2lvbjsKKyAgICBzdHJ1Y3QgdXRzbmFtZSBuYW1lOworCisgICAgaWYgKHVu
YW1lKCZuYW1lKSAhPSAtMSkKKyAgICAgICAgdWFPU1ZlcnNpb24gPSBlaW5hX3N0cmluZ3NoYXJl
X2FkZChtYWtlU3RyaW5nKG5hbWUuc3lzbmFtZSwgJyAnLCBuYW1lLm1hY2hpbmUpLnV0ZjgoKS5k
YXRhKCkpOworICAgIGVsc2UKKyAgICAgICAgdWFPU1ZlcnNpb24gPSBlaW5hX3N0cmluZ3NoYXJl
X2FkZCgiVW5rbm93biIpOworCisgICAgcmV0dXJuIHVhT1NWZXJzaW9uOworfQorCiAvKioKICAq
IFJldHVybnMgdGhlIGRlZmF1bHQgcXVvdGEgZm9yIFdlYiBEYXRhYmFzZSBkYXRhYmFzZXMuIEJ5
IGRlZmF1bHQKICAqIHRoaXMgdmFsdWUgaXMgMU1CLgpAQCAtMjYxLDMgKzI4OSwxNyBAQCB2b2lk
IGV3a19zZXR0aW5nc19wcm94eV91cmlfc2V0KGNvbnN0IGNoYXIqIHByb3h5KQogICAgIEVJTkFf
U0FGRVRZX09OX1RSVUVfUkVUVVJOKDEpOwogI2VuZGlmCiB9CisKKy8qKgorICogQGludGVybmFs
CisgKiBHZXRzIGRlZmF1bHQgdXNlciBhZ2VudCBzdHJpbmcuCisgKgorICogQHJldHVybiB1c2Vy
IGFnZW50IHN0cmluZy4KKyAqLworY29uc3QgY2hhciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNl
cl9hZ2VudF9nZXQoKQoreworICAgIFdURjo6U3RyaW5nIHVhVmVyc2lvbiA9IG1ha2VTdHJpbmco
U3RyaW5nOjpudW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVSU0lPTiksICcuJywgU3Ry
aW5nOjpudW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lPTiksICcrJyk7CisgICAg
V1RGOjpTdHJpbmcgc3RhdGljVUEgPSBtYWtlU3RyaW5nKCJNb3ppbGxhLzUuMCAoIiwgX2V3a19z
ZXR0aW5nc193ZWJraXRfcGxhdGZvcm0oKSwgIjsgVTsgIiwgX2V3a19zZXR0aW5nc193ZWJraXRf
b3NfdmVyc2lvbigpLCAiOyAiLCBXZWJDb3JlOjpkZWZhdWx0TGFuZ3VhZ2UoKSwgIikgQXBwbGVX
ZWJLaXQvIiwgdWFWZXJzaW9uKSArIG1ha2VTdHJpbmcoIiAoS0hUTUwsIGxpa2UgR2Vja28pIFZl
cnNpb24vNS4wIFNhZmFyaS8iLCB1YVZlcnNpb24pOworCisgICAgcmV0dXJuIGVpbmFfc3RyaW5n
c2hhcmVfYWRkKHN0YXRpY1VBLnV0ZjgoKS5kYXRhKCkpOworfSAKZGlmZiAtLWdpdCBhL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRl
eCBmMWNhNzMzLi4yMGRiYWM4IDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5j
cHAKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC02MjAsNiArNjIwLDggQEAg
c3RhdGljIEV3a19WaWV3X1ByaXZhdGVfRGF0YSogX2V3a192aWV3X3ByaXZfbmV3KEV3a19WaWV3
X1NtYXJ0X0RhdGEqIHNkKQogICAgIHByaXYtPnNldHRpbmdzLnBhZ2VfY2FjaGUgPSBwcml2LT5w
YWdlX3NldHRpbmdzLT51c2VzUGFnZUNhY2hlKCk7CiAgICAgcHJpdi0+c2V0dGluZ3MuZW5jb2Rp
bmdfZGV0ZWN0b3IgPSBwcml2LT5wYWdlX3NldHRpbmdzLT51c2VzRW5jb2RpbmdEZXRlY3Rvcigp
OwogCisgICAgcHJpdi0+c2V0dGluZ3MudXNlcl9hZ2VudCA9IGV3a19zZXR0aW5nc19kZWZhdWx0
X3VzZXJfYWdlbnRfZ2V0KCk7CisKICAgICAvLyBTaW5jZSB0aGVyZSdzIG5vIHNjYWxlIHNlcGFy
YXRlZCBmcm9tIHpvb21pbmcgaW4gd2Via2l0LWVmbCwgdGhpcyBmdW5jdGlvbmFsaXR5IG9mCiAg
ICAgLy8gdmlld3BvcnQgbWV0YSB0YWcgaXMgaW1wbGVtZW50ZWQgdXNpbmcgem9vbS4gV2hlbiBz
Y2FsZSB6b29tIGlzIHN1cHBvcnRlZCBieSB3ZWJraXQtZWZsLAogICAgIC8vIHRoaXMgZnVuY3Rp
b25hbGl0eSB3aWxsIGJlIG1vZGlmaWVkIGJ5IHRoZSBzY2FsZSB6b29tIHBhdGNoLgpkaWZmIC0t
Z2l0IGEvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5k
ZXggNWFjMTkyYy4uNTNlOWQ2MSAxMDA2NDQKLS0tIGEvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQor
KysgYi9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0zLDYgKzMsOSBAQCBTRVQoUFJPSkVDVF9W
RVJTSU9OX01JTk9SIDEpCiBTRVQoUFJPSkVDVF9WRVJTSU9OX1BBVENIIDApCiBTRVQoUFJPSkVD
VF9WRVJTSU9OICR7UFJPSkVDVF9WRVJTSU9OX01BSk9SfS4ke1BST0pFQ1RfVkVSU0lPTl9NSU5P
Un0uJHtQUk9KRUNUX1ZFUlNJT05fUEFUQ0h9KQogCitTRVQoVVNFUl9BR0VOVF9WRVJTSU9OX01B
Sk9SIDUzNCkKK1NFVChVU0VSX0FHRU5UX1ZFUlNJT05fTUlOT1IgNykKKwogQUREX0RFRklOSVRJ
T05TKC1EV1RGX1BMQVRGT1JNX0VGTD0xKQogU0VUKFdURl9QTEFURk9STV9FRkwgMSkKIApkaWZm
IC0tZ2l0IGEvY21ha2Vjb25maWcuaC5jbWFrZSBiL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXgg
YjYwNWJiOS4uYWE4MDg1OCAxMDA2NDQKLS0tIGEvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9j
bWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xLDYgKzEsMTMgQEAKICNpZm5kZWYgQ01BS0VDT05GSUdf
SAogI2RlZmluZSBDTUFLRUNPTkZJR19ICiAKKyNkZWZpbmUgV0VCS0lURUZMX01BSk9SX1ZFUlNJ
T04gQFBST0pFQ1RfVkVSU0lPTl9NQUpPUkAKKyNkZWZpbmUgV0VCS0lURUZMX01JTk9SX1ZFUlNJ
T04gQFBST0pFQ1RfVkVSU0lPTl9NSU5PUkAKKyNkZWZpbmUgV0VCS0lURUZMX01JQ1JPX1ZFUlNJ
T04gQFBST0pFQ1RfVkVSU0lPTl9QQVRDSEAKKworI2RlZmluZSBXRUJLSVRfVVNFUl9BR0VOVF9N
QUpPUl9WRVJTSU9OIEBVU0VSX0FHRU5UX1ZFUlNJT05fTUFKT1JACisjZGVmaW5lIFdFQktJVF9V
U0VSX0FHRU5UX01JTk9SX1ZFUlNJT04gQFVTRVJfQUdFTlRfVkVSU0lPTl9NSU5PUkAKKwogI2Rl
ZmluZSBFTkFCTEVfQVNfSU1BR0UgQEVOQUJMRV9BU19JTUFHRV9WQUxVRUAKICNkZWZpbmUgRU5B
QkxFX0JMT0IgQEVOQUJMRV9CTE9CX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcgQEVOQUJMRV9DSEFOTkVMX01FU1NBR0lOR19WQUxVRUAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76978</attachid>
            <date>2010-12-19 23:19:22 -0800</date>
            <delta_ts>2010-12-21 05:19:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.patch</filename>
            <type>text/plain</type>
            <size>5986</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmMWVhOWU2Li40YTNmYzFk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTItMTkgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXSBTZXRzIGRlZmF1bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc5MDMKKworICAgICAgICBBZGQgbWFjcm9z
IGZvciBXZWJLaXQgRUZMIGFuZCBVc2VyIEFnZW50LgorCisgICAgICAgICogY21ha2UvT3B0aW9u
c0VmbC5jbWFrZToKKyAgICAgICAgKiBjbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDEwLTEyLTE3
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
U2ltb24gRnJhc2VyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBjNzNlODAxLi4xMzBlYmE1IDEwMDY0NAotLS0gYS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBA
CisyMDEwLTEyLTE5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0VGTF0gU2V0
cyBkZWZhdWx0IHVzZXIgYWdlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ3OTAzCisKKyAgICAgICAgSWYgYXBwbGNhdGlvbihlLmcgRVdlYkxhdW5j
aGVyKSBkb2Vzbid0IHNldCB1c2VyIGFnZW50LCBXZWJLaXQgRUZMIGRvZXNuJ3QKKyAgICAgICAg
c2V0IHVzZXIgYWdlbnQuIEhvd2V2ZXIsIHdlIG5lZWQgdG8gc2V0IHVzZXIgYWdlbnQgYnkgZGVm
YXVsdC4gQmVjYXVzZSwgc29tZQorICAgICAgICB3ZWIgc2l0ZXMgc2VuZCBkaWZmZXJlbnQgcGFn
ZXMgYWNjb3JkaW5nIHRvIHVzZXIgYWdlbnQuCisKKyAgICAgICAgKiBld2svZXdrX3ByaXZhdGUu
aDoKKyAgICAgICAgKiBld2svZXdrX3NldHRpbmdzLmNwcDoKKyAgICAgICAgKF9ld2tfc2V0dGlu
Z3Nfd2Via2l0X3BsYXRmb3JtKToKKyAgICAgICAgKF9ld2tfc2V0dGluZ3Nfd2Via2l0X29zX3Zl
cnNpb24pOgorICAgICAgICAoZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQpOgor
ICAgICAgICAqIGV3ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfcHJpdl9uZXcp
OgorCiAyMDEwLTEyLTE2ICBMZWFuZHJvIFBlcmVpcmEgIDxsZWFuZHJvQHByb2Z1c2lvbi5tb2Jp
PgogCiAgICAgICAgIFtFRkxdIFVucmV2aWV3ZWQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaCBiL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgK
aW5kZXggYzE1OTllMy4uN2M4MTk4MiAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9ld2svZXdrX3By
aXZhdGUuaAorKysgYi9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCkBAIC0xNTYsNiArMTU2
LDggQEAgdm9pZCBld2tfdmlld19jb250ZW50c19zaXplX2NoYW5nZWQoRXZhc19PYmplY3QgKm8s
IEV2YXNfQ29vcmQgdywgRXZhc19Db29yZCBoKTsKIAogV2ViQ29yZTo6RmxvYXRSZWN0IGV3a192
aWV3X3BhZ2VfcmVjdF9nZXQoRXZhc19PYmplY3QgKm8pOwogCitjb25zdCBjaGFyKiBld2tfc2V0
dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCgpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIAog
fQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcCBiL1dlYktpdC9l
ZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKaW5kZXggZjI2NTFhMS4uYzc2MDk5MyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvZWZsL2V3ay9l
d2tfc2V0dGluZ3MuY3BwCkBAIC0yOSwxNSArMjksMTkgQEAKICNpbmNsdWRlICJJbWFnZS5oIgog
I2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTGFuZ3Vh
Z2UuaCIKICNpbmNsdWRlICJld2tfcHJpdmF0ZS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KIAorI2luY2x1ZGUgPEVpbmEuaD4KICNpbmNsdWRlIDxlaW5hX3NhZmV0eV9jaGVja3Mu
aD4KICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN5
cy9zdGF0Lmg+CiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUu
aD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogI2lmIFVTRShTT1VQKQog
I2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCkBAIC00OCw2ICs1MiwzMCBAQCBzdGF0aWMgY29u
c3QgY2hhciogX2V3a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9wYXRoID0gMDsKIHN0YXRpYyBjb25z
dCBjaGFyKiBfZXdrX2ljb25fZGF0YWJhc2VfcGF0aCA9IDA7CiBzdGF0aWMgdWludDY0X3QgX2V3
a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9xdW90YSA9IDEgKiAxMDI0ICogMTAyNDsKIAorc3RhdGlj
IGNvbnN0IGNoYXIqIF9ld2tfc2V0dGluZ3Nfd2Via2l0X3BsYXRmb3JtKCkKK3sKKyAgICBjb25z
dCBjaGFyKiB1YVBsYXRmb3JtOworI2lmIFBMQVRGT1JNKFgxMSkKKyAgICB1YVBsYXRmb3JtID0g
ZWluYV9zdHJpbmdzaGFyZV9hZGQoIlgxMSIpOworI2Vsc2UKKyAgICB1YVBsYXRmb3JtID0gZWlu
YV9zdHJpbmdzaGFyZV9hZGQoIlVua25vd24iKTsKKyNlbmRpZgorICAgIHJldHVybiB1YVBsYXRm
b3JtOworfQorCitzdGF0aWMgY29uc3QgY2hhciogX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVy
c2lvbigpCit7CisgICAgY29uc3QgY2hhciogdWFPU1ZlcnNpb247CisgICAgc3RydWN0IHV0c25h
bWUgbmFtZTsKKworICAgIGlmICh1bmFtZSgmbmFtZSkgIT0gLTEpCisgICAgICAgIHVhT1NWZXJz
aW9uID0gZWluYV9zdHJpbmdzaGFyZV9hZGQobWFrZVN0cmluZyhuYW1lLnN5c25hbWUsICcgJywg
bmFtZS5tYWNoaW5lKS51dGY4KCkuZGF0YSgpKTsKKyAgICBlbHNlCisgICAgICAgIHVhT1NWZXJz
aW9uID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoIlVua25vd24iKTsKKworICAgIHJldHVybiB1YU9T
VmVyc2lvbjsKK30gCisKIC8qKgogICogUmV0dXJucyB0aGUgZGVmYXVsdCBxdW90YSBmb3IgV2Vi
IERhdGFiYXNlIGRhdGFiYXNlcy4gQnkgZGVmYXVsdAogICogdGhpcyB2YWx1ZSBpcyAxTUIuCkBA
IC0yNjEsMyArMjg5LDE3IEBAIHZvaWQgZXdrX3NldHRpbmdzX3Byb3h5X3VyaV9zZXQoY29uc3Qg
Y2hhciogcHJveHkpCiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9SRVRVUk4oMSk7CiAjZW5kaWYK
IH0KKworLyoqCisqIEBpbnRlcm5hbAorKiBHZXRzIGRlZmF1bHQgdXNlciBhZ2VudCBzdHJpbmcu
CisqCisqIEByZXR1cm4gdXNlciBhZ2VudCBzdHJpbmcuCisqLworY29uc3QgY2hhciogZXdrX3Nl
dHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKQoreworICAgIFdURjo6U3RyaW5nIHVhVmVy
c2lvbiA9IG1ha2VTdHJpbmcoU3RyaW5nOjpudW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUFKT1Jf
VkVSU0lPTiksICcuJywgU3RyaW5nOjpudW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVS
U0lPTiksICcrJyk7CisgICAgV1RGOjpTdHJpbmcgc3RhdGljVUEgPSBtYWtlU3RyaW5nKCJNb3pp
bGxhLzUuMCAoIiwgX2V3a19zZXR0aW5nc193ZWJraXRfcGxhdGZvcm0oKSwgIjsgVTsgIiwgX2V3
a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbigpLCAiOyAiLCBXZWJDb3JlOjpkZWZhdWx0TGFu
Z3VhZ2UoKSwgIikgQXBwbGVXZWJLaXQvIiwgdWFWZXJzaW9uKSArIG1ha2VTdHJpbmcoIiAoS0hU
TUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4wIFNhZmFyaS8iLCB1YVZlcnNpb24pOworCisgICAg
cmV0dXJuIGVpbmFfc3RyaW5nc2hhcmVfYWRkKHN0YXRpY1VBLnV0ZjgoKS5kYXRhKCkpOworfSAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1dlYktpdC9lZmwvZXdr
L2V3a192aWV3LmNwcAppbmRleCAxMmFiMDBlLi45ZWVlOWNiIDEwMDY0NAotLS0gYS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBA
IC02MjIsNiArNjIyLDggQEAgc3RhdGljIEV3a19WaWV3X1ByaXZhdGVfRGF0YSogX2V3a192aWV3
X3ByaXZfbmV3KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNkKQogICAgIHByaXYtPnNldHRpbmdzLnBh
Z2VfY2FjaGUgPSBwcml2LT5wYWdlX3NldHRpbmdzLT51c2VzUGFnZUNhY2hlKCk7CiAgICAgcHJp
di0+c2V0dGluZ3MuZW5jb2RpbmdfZGV0ZWN0b3IgPSBwcml2LT5wYWdlX3NldHRpbmdzLT51c2Vz
RW5jb2RpbmdEZXRlY3RvcigpOwogCisgICAgcHJpdi0+c2V0dGluZ3MudXNlcl9hZ2VudCA9IGV3
a19zZXR0aW5nc19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCk7CisKICAgICAvLyBTaW5jZSB0aGVy
ZSdzIG5vIHNjYWxlIHNlcGFyYXRlZCBmcm9tIHpvb21pbmcgaW4gd2Via2l0LWVmbCwgdGhpcyBm
dW5jdGlvbmFsaXR5IG9mCiAgICAgLy8gdmlld3BvcnQgbWV0YSB0YWcgaXMgaW1wbGVtZW50ZWQg
dXNpbmcgem9vbS4gV2hlbiBzY2FsZSB6b29tIGlzIHN1cHBvcnRlZCBieSB3ZWJraXQtZWZsLAog
ICAgIC8vIHRoaXMgZnVuY3Rpb25hbGl0eSB3aWxsIGJlIG1vZGlmaWVkIGJ5IHRoZSBzY2FsZSB6
b29tIHBhdGNoLgpkaWZmIC0tZ2l0IGEvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UKaW5kZXggOGMwMjJlYy4uNDQ1ODlkMyAxMDA2NDQKLS0tIGEvY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZQorKysgYi9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0zLDYgKzMs
OSBAQCBTRVQoUFJPSkVDVF9WRVJTSU9OX01JTk9SIDEpCiBTRVQoUFJPSkVDVF9WRVJTSU9OX1BB
VENIIDApCiBTRVQoUFJPSkVDVF9WRVJTSU9OICR7UFJPSkVDVF9WRVJTSU9OX01BSk9SfS4ke1BS
T0pFQ1RfVkVSU0lPTl9NSU5PUn0uJHtQUk9KRUNUX1ZFUlNJT05fUEFUQ0h9KQogCitTRVQoVVNF
Ul9BR0VOVF9WRVJTSU9OX01BSk9SIDUzNCkKK1NFVChVU0VSX0FHRU5UX1ZFUlNJT05fTUlOT1Ig
NykgCisKIEFERF9ERUZJTklUSU9OUygtRFdURl9QTEFURk9STV9FRkw9MSkKIFNFVChXVEZfUExB
VEZPUk1fRUZMIDEpCiAKZGlmZiAtLWdpdCBhL2NtYWtlY29uZmlnLmguY21ha2UgYi9jbWFrZWNv
bmZpZy5oLmNtYWtlCmluZGV4IGIxNmI5ODUuLmExZjRjZGEgMTAwNjQ0Ci0tLSBhL2NtYWtlY29u
ZmlnLmguY21ha2UKKysrIGIvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMSw2ICsxLDEzIEBACiAj
aWZuZGVmIENNQUtFQ09ORklHX0gKICNkZWZpbmUgQ01BS0VDT05GSUdfSAogCisjZGVmaW5lIFdF
QktJVEVGTF9NQUpPUl9WRVJTSU9OIEBQUk9KRUNUX1ZFUlNJT05fTUFKT1JACisjZGVmaW5lIFdF
QktJVEVGTF9NSU5PUl9WRVJTSU9OIEBQUk9KRUNUX1ZFUlNJT05fTUlOT1JACisjZGVmaW5lIFdF
QktJVEVGTF9NSUNST19WRVJTSU9OIEBQUk9KRUNUX1ZFUlNJT05fUEFUQ0hACisKKyNkZWZpbmUg
V0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVSU0lPTiBAVVNFUl9BR0VOVF9WRVJTSU9OX01BSk9S
QAorI2RlZmluZSBXRUJLSVRfVVNFUl9BR0VOVF9NSU5PUl9WRVJTSU9OIEBVU0VSX0FHRU5UX1ZF
UlNJT05fTUlOT1JACisKICNkZWZpbmUgRU5BQkxFX0FTX0lNQUdFIEBFTkFCTEVfQVNfSU1BR0Vf
VkFMVUVACiAjZGVmaW5lIEVOQUJMRV9CTE9CIEBFTkFCTEVfQkxPQl9WQUxVRUAKICNkZWZpbmUg
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HIEBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkdfVkFMVUVA
Cg==
</data>
<flag name="commit-queue"
          id="68019"
          type_id="3"
          status="-"
          setter="lucas.de.marchi"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77104</attachid>
            <date>2010-12-21 05:19:58 -0800</date>
            <delta_ts>2010-12-21 15:46:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.patch</filename>
            <type>text/plain</type>
            <size>6160</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhODJmMjBhLi5lM2FjNjdi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRz
IGRlZmF1bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDc5MDMKKworICAgICAgICBBZGQgbWFjcm9zIGZvciBXZWJLaXQgRUZMIGFu
ZCBVc2VyIEFnZW50LgorCisgICAgICAgICogY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAg
ICAgKiBjbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDEwLTEyLTIwICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSB3ZWIgc2l0ZXMgdG8gV2Vic2l0ZXMgZGly
ZWN0b3J5CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCmluZGV4IGM3M2U4MDEuLjQzZmZjNjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAt
MTItMjEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRzIGRlZmF1
bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDc5MDMKKworICAgICAgICBJZiBhcHBsY2F0aW9uKGUuZyBFV2ViTGF1bmNoZXIpIGRv
ZXNuJ3Qgc2V0IHVzZXIgYWdlbnQsIFdlYktpdCBFRkwgZG9lc24ndAorICAgICAgICBzZXQgdXNl
ciBhZ2VudC4gSG93ZXZlciwgd2UgbmVlZCB0byBzZXQgdXNlciBhZ2VudCBieSBkZWZhdWx0LiBC
ZWNhdXNlLCBzb21lCisgICAgICAgIHdlYiBzaXRlcyBzZW5kIGRpZmZlcmVudCBwYWdlcyBhY2Nv
cmRpbmcgdG8gdXNlciBhZ2VudC4KKworICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAg
ICAgICAqIGV3ay9ld2tfc2V0dGluZ3MuY3BwOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJr
aXRfcGxhdGZvcm0pOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbik6
CisgICAgICAgIChld2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCk6CisgICAgICAg
ICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19wcml2X25ldyk6CisKIDIw
MTAtMTItMTYgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAg
ICAgICAgW0VGTF0gVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZs
L2V3ay9ld2tfcHJpdmF0ZS5oIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCBj
MTU5OWUzLi43YzgxOTgyIDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5o
CisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTE1Niw2ICsxNTYsOCBAQCB2
b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCAqbywgRXZhc19D
b29yZCB3LCBFdmFzX0Nvb3JkIGgpOwogCiBXZWJDb3JlOjpGbG9hdFJlY3QgZXdrX3ZpZXdfcGFn
ZV9yZWN0X2dldChFdmFzX09iamVjdCAqbyk7CiAKK2NvbnN0IGNoYXIqIGV3a19zZXR0aW5nc19k
ZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogCiB9CmRpZmYg
LS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwIGIvV2ViS2l0L2VmbC9ld2sv
ZXdrX3NldHRpbmdzLmNwcAppbmRleCBmMjY1MWExLi44Mjc5YjhlIDEwMDY0NAotLS0gYS9XZWJL
aXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0
aW5ncy5jcHAKQEAgLTI5LDE1ICsyOSwxOSBAQAogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVk
ZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJMYW5ndWFnZS5oIgog
I2luY2x1ZGUgImV3a19wcml2YXRlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
CisjaW5jbHVkZSA8RWluYS5oPgogI2luY2x1ZGUgPGVpbmFfc2FmZXR5X2NoZWNrcy5oPgogI2lu
Y2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQu
aD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogI2lu
Y2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZS5oPgogCiAjaWYgVVNFKFNPVVApCiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGUuaCIKQEAgLTQ4LDYgKzUyLDMwIEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBfZXdrX2RlZmF1bHRfd2ViX2RhdGFiYXNlX3BhdGggPSAwOwogc3RhdGljIGNvbnN0IGNoYXIq
IF9ld2tfaWNvbl9kYXRhYmFzZV9wYXRoID0gMDsKIHN0YXRpYyB1aW50NjRfdCBfZXdrX2RlZmF1
bHRfd2ViX2RhdGFiYXNlX3F1b3RhID0gMSAqIDEwMjQgKiAxMDI0OwogCitXVEY6OlN0cmluZyBf
ZXdrX3NldHRpbmdzX3dlYmtpdF9wbGF0Zm9ybSgpCit7CisgICAgV1RGOjpTdHJpbmcgdWFfcGxh
dGZvcm07CisjaWYgUExBVEZPUk0oWDExKQorICAgIHVhX3BsYXRmb3JtID0gIlgxMSI7CisjZWxz
ZQorICAgIHVhX3BsYXRmb3JtID0gIlVua25vd24iOworI2VuZGlmCisgICAgcmV0dXJuIHVhX3Bs
YXRmb3JtOworfQorCitXVEY6OlN0cmluZyBfZXdrX3NldHRpbmdzX3dlYmtpdF9vc192ZXJzaW9u
KCkKK3sKKyAgICBXVEY6OlN0cmluZyB1YV9vc192ZXJzaW9uOworICAgIHN0cnVjdCB1dHNuYW1l
IG5hbWU7CisKKyAgICBpZiAodW5hbWUoJm5hbWUpICE9IC0xKQorICAgICAgICB1YV9vc192ZXJz
aW9uID0gV1RGOjpTdHJpbmcobmFtZS5zeXNuYW1lKSArICIgIiArIFdURjo6U3RyaW5nKG5hbWUu
bWFjaGluZSk7CisgICAgZWxzZQorICAgICAgICB1YV9vc192ZXJzaW9uID0gIlVua25vd24iOwor
CisgICAgcmV0dXJuIHVhX29zX3ZlcnNpb247Cit9CisKIC8qKgogICogUmV0dXJucyB0aGUgZGVm
YXVsdCBxdW90YSBmb3IgV2ViIERhdGFiYXNlIGRhdGFiYXNlcy4gQnkgZGVmYXVsdAogICogdGhp
cyB2YWx1ZSBpcyAxTUIuCkBAIC0yNjEsMyArMjg5LDIwIEBAIHZvaWQgZXdrX3NldHRpbmdzX3By
b3h5X3VyaV9zZXQoY29uc3QgY2hhciogcHJveHkpCiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9S
RVRVUk4oMSk7CiAjZW5kaWYKIH0KKworLyoqCisqIEBpbnRlcm5hbAorKiBHZXRzIGRlZmF1bHQg
dXNlciBhZ2VudCBzdHJpbmcuCisqCisqIEByZXR1cm4gdXNlciBhZ2VudCBzdHJpbmcuCisqLwor
Y29uc3QgY2hhciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKQoreworICAg
IGNvbnN0IGNoYXIqIHVzZXJfYWdlbnQgPSAwOworCisgICAgV1RGOjpTdHJpbmcgdWFfdmVyc2lv
biA9IG1ha2VTdHJpbmcoU3RyaW5nOjpudW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVS
U0lPTiksICcuJywgU3RyaW5nOjpudW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lP
TiksICcrJyk7CisgICAgV1RGOjpTdHJpbmcgc3RhdGljX3VhID0gbWFrZVN0cmluZygiTW96aWxs
YS81LjAgKCIsIF9ld2tfc2V0dGluZ3Nfd2Via2l0X3BsYXRmb3JtKCksICI7IFU7ICIsIF9ld2tf
c2V0dGluZ3Nfd2Via2l0X29zX3ZlcnNpb24oKSwgIjsgIiwgV2ViQ29yZTo6ZGVmYXVsdExhbmd1
YWdlKCksICIpIEFwcGxlV2ViS2l0LyIsIHVhX3ZlcnNpb24pICsgbWFrZVN0cmluZygiIChLSFRN
TCwgbGlrZSBHZWNrbykgVmVyc2lvbi81LjAgU2FmYXJpLyIsIHVhX3ZlcnNpb24pOworCisgICAg
ZWluYV9zdHJpbmdzaGFyZV9yZXBsYWNlKCZ1c2VyX2FnZW50LCBzdGF0aWNfdWEudXRmOCgpLmRh
dGEoKSk7CisgICAgcmV0dXJuIHVzZXJfYWdlbnQ7Cit9IApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuY3BwIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDEy
YWIwMGUuLjllZWU5Y2IgMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAor
KysgYi9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAgLTYyMiw2ICs2MjIsOCBAQCBzdGF0
aWMgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdrX1ZpZXdfU21h
cnRfRGF0YSogc2QpCiAgICAgcHJpdi0+c2V0dGluZ3MucGFnZV9jYWNoZSA9IHByaXYtPnBhZ2Vf
c2V0dGluZ3MtPnVzZXNQYWdlQ2FjaGUoKTsKICAgICBwcml2LT5zZXR0aW5ncy5lbmNvZGluZ19k
ZXRlY3RvciA9IHByaXYtPnBhZ2Vfc2V0dGluZ3MtPnVzZXNFbmNvZGluZ0RldGVjdG9yKCk7CiAK
KyAgICBwcml2LT5zZXR0aW5ncy51c2VyX2FnZW50ID0gZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNl
cl9hZ2VudF9nZXQoKTsKKwogICAgIC8vIFNpbmNlIHRoZXJlJ3Mgbm8gc2NhbGUgc2VwYXJhdGVk
IGZyb20gem9vbWluZyBpbiB3ZWJraXQtZWZsLCB0aGlzIGZ1bmN0aW9uYWxpdHkgb2YKICAgICAv
LyB2aWV3cG9ydCBtZXRhIHRhZyBpcyBpbXBsZW1lbnRlZCB1c2luZyB6b29tLiBXaGVuIHNjYWxl
IHpvb20gaXMgc3VwcG9ydGVkIGJ5IHdlYmtpdC1lZmwsCiAgICAgLy8gdGhpcyBmdW5jdGlvbmFs
aXR5IHdpbGwgYmUgbW9kaWZpZWQgYnkgdGhlIHNjYWxlIHpvb20gcGF0Y2guCmRpZmYgLS1naXQg
YS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA4
YzAyMmVjLi44NzJiNjUyIDEwMDY0NAotLS0gYS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBi
L2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTMsNiArMywxNCBAQCBTRVQoUFJPSkVDVF9WRVJT
SU9OX01JTk9SIDEpCiBTRVQoUFJPSkVDVF9WRVJTSU9OX1BBVENIIDApCiBTRVQoUFJPSkVDVF9W
RVJTSU9OICR7UFJPSkVDVF9WRVJTSU9OX01BSk9SfS4ke1BST0pFQ1RfVkVSU0lPTl9NSU5PUn0u
JHtQUk9KRUNUX1ZFUlNJT05fUEFUQ0h9KQogCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFdl
IG1lbnRpb24gU2FmYXJpIHZlcnNpb24gYmVjYXVzZSBtYW55IHNpdGVzIGNoZWNrIGZvciBpdC4K
KyMgU3luYyB3aXRoIFdlYkNvcmUvQ29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZyB3aGVu
ZXZlciBTYWZhcmkgaXMgdmVyc2lvbiAKKyMgdXAuCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitT
RVQoVVNFUl9BR0VOVF9WRVJTSU9OX01BSk9SIDUzNCkKK1NFVChVU0VSX0FHRU5UX1ZFUlNJT05f
TUlOT1IgMTYpCisKIEFERF9ERUZJTklUSU9OUygtRFdURl9QTEFURk9STV9FRkw9MSkKIFNFVChX
VEZfUExBVEZPUk1fRUZMIDEpCiAKZGlmZiAtLWdpdCBhL2NtYWtlY29uZmlnLmguY21ha2UgYi9j
bWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IGIxNmI5ODUuLjVhM2Q2OWMgMTAwNjQ0Ci0tLSBhL2Nt
YWtlY29uZmlnLmguY21ha2UKKysrIGIvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMSw2ICsxLDkg
QEAKICNpZm5kZWYgQ01BS0VDT05GSUdfSAogI2RlZmluZSBDTUFLRUNPTkZJR19ICiAKKyNkZWZp
bmUgV0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVSU0lPTiBAVVNFUl9BR0VOVF9WRVJTSU9OX01B
Sk9SQAorI2RlZmluZSBXRUJLSVRfVVNFUl9BR0VOVF9NSU5PUl9WRVJTSU9OIEBVU0VSX0FHRU5U
X1ZFUlNJT05fTUlOT1JACisKICNkZWZpbmUgRU5BQkxFX0FTX0lNQUdFIEBFTkFCTEVfQVNfSU1B
R0VfVkFMVUVACiAjZGVmaW5lIEVOQUJMRV9CTE9CIEBFTkFCTEVfQkxPQl9WQUxVRUAKICNkZWZp
bmUgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HIEBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkdfVkFM
VUVACg==
</data>
<flag name="commit-queue"
          id="68149"
          type_id="3"
          status="-"
          setter="lucas.de.marchi"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77161</attachid>
            <date>2010-12-21 15:46:57 -0800</date>
            <delta_ts>2010-12-21 21:24:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.patch</filename>
            <type>text/plain</type>
            <size>6139</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhODJmMjBhLi5lM2FjNjdi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRz
IGRlZmF1bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDc5MDMKKworICAgICAgICBBZGQgbWFjcm9zIGZvciBXZWJLaXQgRUZMIGFu
ZCBVc2VyIEFnZW50LgorCisgICAgICAgICogY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAg
ICAgKiBjbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDEwLTEyLTIwICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSB3ZWIgc2l0ZXMgdG8gV2Vic2l0ZXMgZGly
ZWN0b3J5CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCmluZGV4IGM3M2U4MDEuLjQzZmZjNjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAt
MTItMjEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRzIGRlZmF1
bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDc5MDMKKworICAgICAgICBJZiBhcHBsY2F0aW9uKGUuZyBFV2ViTGF1bmNoZXIpIGRv
ZXNuJ3Qgc2V0IHVzZXIgYWdlbnQsIFdlYktpdCBFRkwgZG9lc24ndAorICAgICAgICBzZXQgdXNl
ciBhZ2VudC4gSG93ZXZlciwgd2UgbmVlZCB0byBzZXQgdXNlciBhZ2VudCBieSBkZWZhdWx0LiBC
ZWNhdXNlLCBzb21lCisgICAgICAgIHdlYiBzaXRlcyBzZW5kIGRpZmZlcmVudCBwYWdlcyBhY2Nv
cmRpbmcgdG8gdXNlciBhZ2VudC4KKworICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAg
ICAgICAqIGV3ay9ld2tfc2V0dGluZ3MuY3BwOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJr
aXRfcGxhdGZvcm0pOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbik6
CisgICAgICAgIChld2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCk6CisgICAgICAg
ICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19wcml2X25ldyk6CisKIDIw
MTAtMTItMTYgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAg
ICAgICAgW0VGTF0gVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZs
L2V3ay9ld2tfcHJpdmF0ZS5oIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCBj
MTU5OWUzLi43YzgxOTgyIDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5o
CisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTE1Niw2ICsxNTYsOCBAQCB2
b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCAqbywgRXZhc19D
b29yZCB3LCBFdmFzX0Nvb3JkIGgpOwogCiBXZWJDb3JlOjpGbG9hdFJlY3QgZXdrX3ZpZXdfcGFn
ZV9yZWN0X2dldChFdmFzX09iamVjdCAqbyk7CiAKK2NvbnN0IGNoYXIqIGV3a19zZXR0aW5nc19k
ZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogCiB9CmRpZmYg
LS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwIGIvV2ViS2l0L2VmbC9ld2sv
ZXdrX3NldHRpbmdzLmNwcAppbmRleCBmMjY1MWExLi5lMWNmNTBlIDEwMDY0NAotLS0gYS9XZWJL
aXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0
aW5ncy5jcHAKQEAgLTI5LDE1ICsyOSwxOSBAQAogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVk
ZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJMYW5ndWFnZS5oIgog
I2luY2x1ZGUgImV3a19wcml2YXRlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
CisjaW5jbHVkZSA8RWluYS5oPgogI2luY2x1ZGUgPGVpbmFfc2FmZXR5X2NoZWNrcy5oPgogI2lu
Y2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQu
aD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogI2lu
Y2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZS5oPgogCiAjaWYgVVNFKFNPVVApCiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGUuaCIKQEAgLTQ4LDYgKzUyLDMwIEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBfZXdrX2RlZmF1bHRfd2ViX2RhdGFiYXNlX3BhdGggPSAwOwogc3RhdGljIGNvbnN0IGNoYXIq
IF9ld2tfaWNvbl9kYXRhYmFzZV9wYXRoID0gMDsKIHN0YXRpYyB1aW50NjRfdCBfZXdrX2RlZmF1
bHRfd2ViX2RhdGFiYXNlX3F1b3RhID0gMSAqIDEwMjQgKiAxMDI0OwogCitXVEY6OlN0cmluZyBf
ZXdrX3NldHRpbmdzX3dlYmtpdF9wbGF0Zm9ybSgpCit7CisgICAgV1RGOjpTdHJpbmcgdWFfcGxh
dGZvcm07CisjaWYgUExBVEZPUk0oWDExKQorICAgIHVhX3BsYXRmb3JtID0gIlgxMSI7CisjZWxz
ZQorICAgIHVhX3BsYXRmb3JtID0gIlVua25vd24iOworI2VuZGlmCisgICAgcmV0dXJuIHVhX3Bs
YXRmb3JtOworfQorCitXVEY6OlN0cmluZyBfZXdrX3NldHRpbmdzX3dlYmtpdF9vc192ZXJzaW9u
KCkKK3sKKyAgICBXVEY6OlN0cmluZyB1YV9vc192ZXJzaW9uOworICAgIHN0cnVjdCB1dHNuYW1l
IG5hbWU7CisKKyAgICBpZiAodW5hbWUoJm5hbWUpICE9IC0xKQorICAgICAgICB1YV9vc192ZXJz
aW9uID0gV1RGOjpTdHJpbmcobmFtZS5zeXNuYW1lKSArICIgIiArIFdURjo6U3RyaW5nKG5hbWUu
bWFjaGluZSk7CisgICAgZWxzZQorICAgICAgICB1YV9vc192ZXJzaW9uID0gIlVua25vd24iOwor
CisgICAgcmV0dXJuIHVhX29zX3ZlcnNpb247Cit9CisKIC8qKgogICogUmV0dXJucyB0aGUgZGVm
YXVsdCBxdW90YSBmb3IgV2ViIERhdGFiYXNlIGRhdGFiYXNlcy4gQnkgZGVmYXVsdAogICogdGhp
cyB2YWx1ZSBpcyAxTUIuCkBAIC0yNjEsMyArMjg5LDE3IEBAIHZvaWQgZXdrX3NldHRpbmdzX3By
b3h5X3VyaV9zZXQoY29uc3QgY2hhciogcHJveHkpCiAgICAgRUlOQV9TQUZFVFlfT05fVFJVRV9S
RVRVUk4oMSk7CiAjZW5kaWYKIH0KKworLyoqCisqIEBpbnRlcm5hbAorKiBHZXRzIGRlZmF1bHQg
dXNlciBhZ2VudCBzdHJpbmcuCisqCisqIEByZXR1cm4gQSBwb2ludGVyIHRvIGFuIGVpbmFfc3Ry
aW5nc2FocmUgY29udGFpbmluZyB0aGUgdXNlciBhZ2VudCBzdHJpbmcuCisqLworY29uc3QgY2hh
ciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKQoreworICAgIFdURjo6U3Ry
aW5nIHVhX3ZlcnNpb24gPSBtYWtlU3RyaW5nKFN0cmluZzo6bnVtYmVyKFdFQktJVF9VU0VSX0FH
RU5UX01BSk9SX1ZFUlNJT04pLCAnLicsIFN0cmluZzo6bnVtYmVyKFdFQktJVF9VU0VSX0FHRU5U
X01JTk9SX1ZFUlNJT04pLCAnKycpOworICAgIFdURjo6U3RyaW5nIHN0YXRpY191YSA9IG1ha2VT
dHJpbmcoIk1vemlsbGEvNS4wICgiLCBfZXdrX3NldHRpbmdzX3dlYmtpdF9wbGF0Zm9ybSgpLCAi
OyBVOyAiLCBfZXdrX3NldHRpbmdzX3dlYmtpdF9vc192ZXJzaW9uKCksICI7ICIsIFdlYkNvcmU6
OmRlZmF1bHRMYW5ndWFnZSgpLCAiKSBBcHBsZVdlYktpdC8iLCB1YV92ZXJzaW9uKSArIG1ha2VT
dHJpbmcoIiAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4wIFNhZmFyaS8iLCB1YV92ZXJz
aW9uKTsKKworICAgIHJldHVybiBlaW5hX3N0cmluZ3NoYXJlX2FkZChzdGF0aWNfdWEudXRmOCgp
LmRhdGEoKSk7Cit9IApkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDEyYWIwMGUuLjllZWU5Y2IgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKQEAgLTYyMiw2ICs2MjIsOCBAQCBzdGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9E
YXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdrX1ZpZXdfU21hcnRfRGF0YSogc2QpCiAgICAgcHJp
di0+c2V0dGluZ3MucGFnZV9jYWNoZSA9IHByaXYtPnBhZ2Vfc2V0dGluZ3MtPnVzZXNQYWdlQ2Fj
aGUoKTsKICAgICBwcml2LT5zZXR0aW5ncy5lbmNvZGluZ19kZXRlY3RvciA9IHByaXYtPnBhZ2Vf
c2V0dGluZ3MtPnVzZXNFbmNvZGluZ0RldGVjdG9yKCk7CiAKKyAgICBwcml2LT5zZXR0aW5ncy51
c2VyX2FnZW50ID0gZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKTsKKwogICAg
IC8vIFNpbmNlIHRoZXJlJ3Mgbm8gc2NhbGUgc2VwYXJhdGVkIGZyb20gem9vbWluZyBpbiB3ZWJr
aXQtZWZsLCB0aGlzIGZ1bmN0aW9uYWxpdHkgb2YKICAgICAvLyB2aWV3cG9ydCBtZXRhIHRhZyBp
cyBpbXBsZW1lbnRlZCB1c2luZyB6b29tLiBXaGVuIHNjYWxlIHpvb20gaXMgc3VwcG9ydGVkIGJ5
IHdlYmtpdC1lZmwsCiAgICAgLy8gdGhpcyBmdW5jdGlvbmFsaXR5IHdpbGwgYmUgbW9kaWZpZWQg
YnkgdGhlIHNjYWxlIHpvb20gcGF0Y2guCmRpZmYgLS1naXQgYS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlIGIvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA4YzAyMmVjLi44NzJiNjUyIDEwMDY0
NAotLS0gYS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL2NtYWtlL09wdGlvbnNFZmwuY21h
a2UKQEAgLTMsNiArMywxNCBAQCBTRVQoUFJPSkVDVF9WRVJTSU9OX01JTk9SIDEpCiBTRVQoUFJP
SkVDVF9WRVJTSU9OX1BBVENIIDApCiBTRVQoUFJPSkVDVF9WRVJTSU9OICR7UFJPSkVDVF9WRVJT
SU9OX01BSk9SfS4ke1BST0pFQ1RfVkVSU0lPTl9NSU5PUn0uJHtQUk9KRUNUX1ZFUlNJT05fUEFU
Q0h9KQogCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFdlIG1lbnRpb24gU2FmYXJpIHZlcnNp
b24gYmVjYXVzZSBtYW55IHNpdGVzIGNoZWNrIGZvciBpdC4KKyMgU3luYyB3aXRoIFdlYkNvcmUv
Q29uZmlndXJhdGlvbnMvVmVyc2lvbi54Y2NvbmZpZyB3aGVuZXZlciBTYWZhcmkgaXMgdmVyc2lv
biAKKyMgdXAuCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitTRVQoVVNFUl9BR0VOVF9WRVJTSU9O
X01BSk9SIDUzNCkKK1NFVChVU0VSX0FHRU5UX1ZFUlNJT05fTUlOT1IgMTYpCisKIEFERF9ERUZJ
TklUSU9OUygtRFdURl9QTEFURk9STV9FRkw9MSkKIFNFVChXVEZfUExBVEZPUk1fRUZMIDEpCiAK
ZGlmZiAtLWdpdCBhL2NtYWtlY29uZmlnLmguY21ha2UgYi9jbWFrZWNvbmZpZy5oLmNtYWtlCmlu
ZGV4IGIxNmI5ODUuLjVhM2Q2OWMgMTAwNjQ0Ci0tLSBhL2NtYWtlY29uZmlnLmguY21ha2UKKysr
IGIvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMSw2ICsxLDkgQEAKICNpZm5kZWYgQ01BS0VDT05G
SUdfSAogI2RlZmluZSBDTUFLRUNPTkZJR19ICiAKKyNkZWZpbmUgV0VCS0lUX1VTRVJfQUdFTlRf
TUFKT1JfVkVSU0lPTiBAVVNFUl9BR0VOVF9WRVJTSU9OX01BSk9SQAorI2RlZmluZSBXRUJLSVRf
VVNFUl9BR0VOVF9NSU5PUl9WRVJTSU9OIEBVU0VSX0FHRU5UX1ZFUlNJT05fTUlOT1JACisKICNk
ZWZpbmUgRU5BQkxFX0FTX0lNQUdFIEBFTkFCTEVfQVNfSU1BR0VfVkFMVUVACiAjZGVmaW5lIEVO
QUJMRV9CTE9CIEBFTkFCTEVfQkxPQl9WQUxVRUAKICNkZWZpbmUgRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HIEBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkdfVkFMVUVACg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77185</attachid>
            <date>2010-12-21 21:24:55 -0800</date>
            <delta_ts>2010-12-22 00:51:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch-useragent.patch</filename>
            <type>text/plain</type>
            <size>6173</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhODJmMjBhLi5lM2FjNjdi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRz
IGRlZmF1bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDc5MDMKKworICAgICAgICBBZGQgbWFjcm9zIGZvciBXZWJLaXQgRUZMIGFu
ZCBVc2VyIEFnZW50LgorCisgICAgICAgICogY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKyAgICAg
ICAgKiBjbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDEwLTEyLTIwICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSB3ZWIgc2l0ZXMgdG8gV2Vic2l0ZXMgZGly
ZWN0b3J5CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCmluZGV4IGM3M2U4MDEuLjQzZmZjNjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAt
MTItMjEgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRUZMXSBTZXRzIGRlZmF1
bHQgdXNlciBhZ2VudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDc5MDMKKworICAgICAgICBJZiBhcHBsY2F0aW9uKGUuZyBFV2ViTGF1bmNoZXIpIGRv
ZXNuJ3Qgc2V0IHVzZXIgYWdlbnQsIFdlYktpdCBFRkwgZG9lc24ndAorICAgICAgICBzZXQgdXNl
ciBhZ2VudC4gSG93ZXZlciwgd2UgbmVlZCB0byBzZXQgdXNlciBhZ2VudCBieSBkZWZhdWx0LiBC
ZWNhdXNlLCBzb21lCisgICAgICAgIHdlYiBzaXRlcyBzZW5kIGRpZmZlcmVudCBwYWdlcyBhY2Nv
cmRpbmcgdG8gdXNlciBhZ2VudC4KKworICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAg
ICAgICAqIGV3ay9ld2tfc2V0dGluZ3MuY3BwOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJr
aXRfcGxhdGZvcm0pOgorICAgICAgICAoX2V3a19zZXR0aW5nc193ZWJraXRfb3NfdmVyc2lvbik6
CisgICAgICAgIChld2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCk6CisgICAgICAg
ICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19wcml2X25ldyk6CisKIDIw
MTAtMTItMTYgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAg
ICAgICAgW0VGTF0gVW5yZXZpZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJLaXQvZWZs
L2V3ay9ld2tfcHJpdmF0ZS5oIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCBj
MTU5OWUzLi43YzgxOTgyIDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5o
CisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTE1Niw2ICsxNTYsOCBAQCB2
b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCAqbywgRXZhc19D
b29yZCB3LCBFdmFzX0Nvb3JkIGgpOwogCiBXZWJDb3JlOjpGbG9hdFJlY3QgZXdrX3ZpZXdfcGFn
ZV9yZWN0X2dldChFdmFzX09iamVjdCAqbyk7CiAKK2NvbnN0IGNoYXIqIGV3a19zZXR0aW5nc19k
ZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogCiB9CmRpZmYg
LS1naXQgYS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwIGIvV2ViS2l0L2VmbC9ld2sv
ZXdrX3NldHRpbmdzLmNwcAppbmRleCBmMjY1MWExLi4yMDA1MWVhIDEwMDY0NAotLS0gYS9XZWJL
aXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0
aW5ncy5jcHAKQEAgLTI5LDE1ICsyOSwxOSBAQAogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVk
ZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJMYW5ndWFnZS5oIgog
I2luY2x1ZGUgImV3a19wcml2YXRlLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
CisjaW5jbHVkZSA8RWluYS5oPgogI2luY2x1ZGUgPGVpbmFfc2FmZXR5X2NoZWNrcy5oPgogI2lu
Y2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQu
aD4KICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogI2lu
Y2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZS5oPgogCiAjaWYgVVNFKFNPVVApCiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGUuaCIKQEAgLTQ4LDYgKzUyLDMwIEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBfZXdrX2RlZmF1bHRfd2ViX2RhdGFiYXNlX3BhdGggPSAwOwogc3RhdGljIGNvbnN0IGNoYXIq
IF9ld2tfaWNvbl9kYXRhYmFzZV9wYXRoID0gMDsKIHN0YXRpYyB1aW50NjRfdCBfZXdrX2RlZmF1
bHRfd2ViX2RhdGFiYXNlX3F1b3RhID0gMSAqIDEwMjQgKiAxMDI0OwogCitzdGF0aWMgV1RGOjpT
dHJpbmcgX2V3a19zZXR0aW5nc193ZWJraXRfcGxhdGZvcm1fZ2V0KCkKK3sKKyAgICBXVEY6OlN0
cmluZyB1YV9wbGF0Zm9ybTsKKyNpZiBQTEFURk9STShYMTEpCisgICAgdWFfcGxhdGZvcm0gPSAi
WDExIjsKKyNlbHNlCisgICAgdWFfcGxhdGZvcm0gPSAiVW5rbm93biI7CisjZW5kaWYKKyAgICBy
ZXR1cm4gdWFfcGxhdGZvcm07Cit9CisKK3N0YXRpYyBXVEY6OlN0cmluZyBfZXdrX3NldHRpbmdz
X3dlYmtpdF9vc192ZXJzaW9uX2dldCgpCit7CisgICAgV1RGOjpTdHJpbmcgdWFfb3NfdmVyc2lv
bjsKKyAgICBzdHJ1Y3QgdXRzbmFtZSBuYW1lOworCisgICAgaWYgKHVuYW1lKCZuYW1lKSAhPSAt
MSkKKyAgICAgICAgdWFfb3NfdmVyc2lvbiA9IFdURjo6U3RyaW5nKG5hbWUuc3lzbmFtZSkgKyAi
ICIgKyBXVEY6OlN0cmluZyhuYW1lLm1hY2hpbmUpOworICAgIGVsc2UKKyAgICAgICAgdWFfb3Nf
dmVyc2lvbiA9ICJVbmtub3duIjsKKworICAgIHJldHVybiB1YV9vc192ZXJzaW9uOworfQorCiAv
KioKICAqIFJldHVybnMgdGhlIGRlZmF1bHQgcXVvdGEgZm9yIFdlYiBEYXRhYmFzZSBkYXRhYmFz
ZXMuIEJ5IGRlZmF1bHQKICAqIHRoaXMgdmFsdWUgaXMgMU1CLgpAQCAtMjYxLDMgKzI4OSwxNyBA
QCB2b2lkIGV3a19zZXR0aW5nc19wcm94eV91cmlfc2V0KGNvbnN0IGNoYXIqIHByb3h5KQogICAg
IEVJTkFfU0FGRVRZX09OX1RSVUVfUkVUVVJOKDEpOwogI2VuZGlmCiB9CisKKy8qKgorKiBAaW50
ZXJuYWwKKyogR2V0cyB0aGUgZGVmYXVsdCB1c2VyIGFnZW50IHN0cmluZy4KKyoKKyogQHJldHVy
biBBIHBvaW50ZXIgdG8gYW4gZWluYV9zdHJpbmdzaGFyZSBjb250YWluaW5nIHRoZSB1c2VyIGFn
ZW50IHN0cmluZy4KKyovCitjb25zdCBjaGFyKiBld2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2Fn
ZW50X2dldCgpCit7CisgICAgV1RGOjpTdHJpbmcgdWFfdmVyc2lvbiA9IG1ha2VTdHJpbmcoU3Ry
aW5nOjpudW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVSU0lPTiksICcuJywgU3RyaW5n
OjpudW1iZXIoV0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lPTiksICcrJyk7CisgICAgV1RG
OjpTdHJpbmcgc3RhdGljX3VhID0gbWFrZVN0cmluZygiTW96aWxsYS81LjAgKCIsIF9ld2tfc2V0
dGluZ3Nfd2Via2l0X3BsYXRmb3JtX2dldCgpLCAiOyBVOyAiLCBfZXdrX3NldHRpbmdzX3dlYmtp
dF9vc192ZXJzaW9uX2dldCgpLCAiOyAiLCBXZWJDb3JlOjpkZWZhdWx0TGFuZ3VhZ2UoKSwgIikg
QXBwbGVXZWJLaXQvIiwgdWFfdmVyc2lvbikgKyBtYWtlU3RyaW5nKCIgKEtIVE1MLCBsaWtlIEdl
Y2tvKSBWZXJzaW9uLzUuMCBTYWZhcmkvIiwgdWFfdmVyc2lvbik7CisKKyAgICByZXR1cm4gZWlu
YV9zdHJpbmdzaGFyZV9hZGQoc3RhdGljX3VhLnV0ZjgoKS5kYXRhKCkpOworfSAKZGlmZiAtLWdp
dCBhL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
LmNwcAppbmRleCAxMmFiMDBlLi45ZWVlOWNiIDEwMDY0NAotLS0gYS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKKysrIGIvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC02MjIsNiAr
NjIyLDggQEAgc3RhdGljIEV3a19WaWV3X1ByaXZhdGVfRGF0YSogX2V3a192aWV3X3ByaXZfbmV3
KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNkKQogICAgIHByaXYtPnNldHRpbmdzLnBhZ2VfY2FjaGUg
PSBwcml2LT5wYWdlX3NldHRpbmdzLT51c2VzUGFnZUNhY2hlKCk7CiAgICAgcHJpdi0+c2V0dGlu
Z3MuZW5jb2RpbmdfZGV0ZWN0b3IgPSBwcml2LT5wYWdlX3NldHRpbmdzLT51c2VzRW5jb2RpbmdE
ZXRlY3RvcigpOwogCisgICAgcHJpdi0+c2V0dGluZ3MudXNlcl9hZ2VudCA9IGV3a19zZXR0aW5n
c19kZWZhdWx0X3VzZXJfYWdlbnRfZ2V0KCk7CisKICAgICAvLyBTaW5jZSB0aGVyZSdzIG5vIHNj
YWxlIHNlcGFyYXRlZCBmcm9tIHpvb21pbmcgaW4gd2Via2l0LWVmbCwgdGhpcyBmdW5jdGlvbmFs
aXR5IG9mCiAgICAgLy8gdmlld3BvcnQgbWV0YSB0YWcgaXMgaW1wbGVtZW50ZWQgdXNpbmcgem9v
bS4gV2hlbiBzY2FsZSB6b29tIGlzIHN1cHBvcnRlZCBieSB3ZWJraXQtZWZsLAogICAgIC8vIHRo
aXMgZnVuY3Rpb25hbGl0eSB3aWxsIGJlIG1vZGlmaWVkIGJ5IHRoZSBzY2FsZSB6b29tIHBhdGNo
LgpkaWZmIC0tZ2l0IGEvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2UKaW5kZXggOGMwMjJlYy4uODcyYjY1MiAxMDA2NDQKLS0tIGEvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZQorKysgYi9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0zLDYgKzMsMTQgQEAgU0VU
KFBST0pFQ1RfVkVSU0lPTl9NSU5PUiAxKQogU0VUKFBST0pFQ1RfVkVSU0lPTl9QQVRDSCAwKQog
U0VUKFBST0pFQ1RfVkVSU0lPTiAke1BST0pFQ1RfVkVSU0lPTl9NQUpPUn0uJHtQUk9KRUNUX1ZF
UlNJT05fTUlOT1J9LiR7UFJPSkVDVF9WRVJTSU9OX1BBVENIfSkKIAorIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorIyBXZSBtZW50aW9uIFNhZmFyaSB2ZXJzaW9uIGJlY2F1c2UgbWFueSBzaXRlcyBj
aGVjayBmb3IgaXQuCisjIFN5bmMgd2l0aCBXZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1ZlcnNpb24u
eGNjb25maWcgd2hlbmV2ZXIgU2FmYXJpIGlzIHZlcnNpb24gCisjIHVwLgorIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorU0VUKFVTRVJfQUdFTlRfVkVSU0lPTl9NQUpPUiA1MzQpCitTRVQoVVNFUl9B
R0VOVF9WRVJTSU9OX01JTk9SIDE2KQorCiBBRERfREVGSU5JVElPTlMoLURXVEZfUExBVEZPUk1f
RUZMPTEpCiBTRVQoV1RGX1BMQVRGT1JNX0VGTCAxKQogCmRpZmYgLS1naXQgYS9jbWFrZWNvbmZp
Zy5oLmNtYWtlIGIvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCBiMTZiOTg1Li41YTNkNjljIDEw
MDY0NAotLS0gYS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL2NtYWtlY29uZmlnLmguY21ha2UK
QEAgLTEsNiArMSw5IEBACiAjaWZuZGVmIENNQUtFQ09ORklHX0gKICNkZWZpbmUgQ01BS0VDT05G
SUdfSAogCisjZGVmaW5lIFdFQktJVF9VU0VSX0FHRU5UX01BSk9SX1ZFUlNJT04gQFVTRVJfQUdF
TlRfVkVSU0lPTl9NQUpPUkAKKyNkZWZpbmUgV0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lP
TiBAVVNFUl9BR0VOVF9WRVJTSU9OX01JTk9SQAorCiAjZGVmaW5lIEVOQUJMRV9BU19JTUFHRSBA
RU5BQkxFX0FTX0lNQUdFX1ZBTFVFQAogI2RlZmluZSBFTkFCTEVfQkxPQiBARU5BQkxFX0JMT0Jf
VkFMVUVACiAjZGVmaW5lIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyBARU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HX1ZBTFVFQAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>