<?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>89719</bug_id>
          
          <creation_ts>2012-06-21 17:29:18 -0700</creation_ts>
          <short_desc>[EFL][WK2] ProcessExecutablePath is required</short_desc>
          <delta_ts>2012-07-23 04:37:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>
          
          <blocked>91844</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="KwangYong Choi">ky0.choi</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>antognolli+webkit</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>655067</commentid>
    <comment_count>0</comment_count>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-06-21 17:29:18 -0700</bug_when>
    <thetext>ProcessExecutablePathEfl.cpp is required for EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655078</commentid>
    <comment_count>1</comment_count>
      <attachid>148924</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-06-21 17:49:26 -0700</bug_when>
    <thetext>Created attachment 148924
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655171</commentid>
    <comment_count>2</comment_count>
      <attachid>148924</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-21 19:48:12 -0700</bug_when>
    <thetext>Comment on attachment 148924
patch

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

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Added ProcessExecutablePathEfl.cpp for EFL.

Meaningless patch description. Please write more meaningful description.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:23
&gt; +#include &lt;libgen.h&gt;

This functions only can be used on linux platform. So, use #if OS(LINUX)

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:28
&gt; +const char* gWebKitWebProcessName = &quot;WebProcess&quot;;

I prefer to use &quot;static const char*&quot; for constant variable.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:37
&gt; +    ssize_t result = readlink(&quot;/proc/self/exe&quot;, readLinkBuffer, PATH_MAX);

ditto. By the way, personally, I think EFL port also need to implement utility functions like GTK port in future.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:40
&gt; +        executablePath = String(&quot;/usr/bin&quot;);

It is good to make constant variable for default path. See also, GTK port use LIBEXECDIR macro.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:46
&gt; +    String fullPath = executablePath + &quot;/&quot; + processName;

If possible, use makeString(), pathByAppendingComponent() or WebKit utilities functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655182</commentid>
    <comment_count>3</comment_count>
      <attachid>148924</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-21 19:58:35 -0700</bug_when>
    <thetext>Comment on attachment 148924
patch

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

&gt;&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:28
&gt;&gt; +const char* gWebKitWebProcessName = &quot;WebProcess&quot;;
&gt; 
&gt; I prefer to use &quot;static const char*&quot; for constant variable.

One more thing, gXXX is gtk style. Just use webkitWebProcessName.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>655341</commentid>
    <comment_count>4</comment_count>
      <attachid>148924</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-06-22 03:16:18 -0700</bug_when>
    <thetext>Comment on attachment 148924
patch

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

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:34
&gt; +    char readLinkBuffer[PATH_MAX];

PATH_MAX is not guaranteed to be defined. It is better to use lstat() (see st_size member) to get the size and then use malloc to dynamically allocate the memory.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:36
&gt; +    memset(readLinkBuffer, 0, PATH_MAX);

It would be less expensive to put a &apos;\0&apos; at the end after the readlink().

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:42
&gt; +        char* executablePathPtr = dirname(readLinkBuffer);

For clarity, I think it would be nice to use const char* here.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:43
&gt; +        executablePath = String(executablePathPtr);

You should probably use String::fromUTF8().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656131</commentid>
    <comment_count>5</comment_count>
      <attachid>148924</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-06-23 13:41:13 -0700</bug_when>
    <thetext>Comment on attachment 148924
patch

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

I don&apos;t really understand the need for this patch. The functions being implemented here are only used by the Qt and GTK+ WebKit2 ports, so assuming we&apos;re using them for the same purpose, the UIProcess/Launcher/efl/ProcessLauncherEfl.cpp side should be changed as well. And in this case, I don&apos;t understand why these low-level calls and Linux-only semantics are being used instead of ecore_exe_run(), both here and in ProcessLauncherEfl.cpp itself.

&gt;&gt;&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:28
&gt;&gt;&gt; +const char* gWebKitWebProcessName = &quot;WebProcess&quot;;
&gt;&gt; 
&gt;&gt; I prefer to use &quot;static const char*&quot; for constant variable.
&gt; 
&gt; One more thing, gXXX is gtk style. Just use webkitWebProcessName.

`static const char foo[]&apos; is even better, since it is placed in the .rodata section. Ideally, this should be defined at configure-time in CMake and put into cmakeconfig.h.in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656420</commentid>
    <comment_count>6</comment_count>
      <attachid>149253</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-06-25 00:02:24 -0700</bug_when>
    <thetext>Created attachment 149253
patch

I modified the functions to get the path from cmake script.
And I also changed ProcessLauncher::launchProcess() method to use these functions.

The reason why I add this patch is to use scan plugin scheme that uses executablePathOfPluginProcess().
Scan plugin feature is already implemented on GTK/QT. It is also required on EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673492</commentid>
    <comment_count>7</comment_count>
      <attachid>149253</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-19 07:33:24 -0700</bug_when>
    <thetext>Comment on attachment 149253
patch

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

I want to fix this bug for applications to be able to execute WebProcess after installed, but the patch is wrong.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:33
&gt; +static String findWebKitProcess(const char* processName)
&gt; +{
&gt; +    return WebCore::pathByAppendingComponent(String(LIBEXECDIR), processName);
&gt; +}

In this function, we should check not only LIBEXECDIR but also  current executable path to run MiniBrowser and other applications.

If not, MiniBrowser can not execute WebProcess which is in WebKitBuild/Release/bin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675394</commentid>
    <comment_count>8</comment_count>
      <attachid>153717</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-07-22 19:00:10 -0700</bug_when>
    <thetext>Created attachment 153717
Patch

I modified to search current path first. The process path is set to the current path if the process is exist on the current path. Otherwise, it is set to default installed path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675395</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-22 19:02:34 -0700</bug_when>
    <thetext>Attachment 153717 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:25:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 4 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>675400</commentid>
    <comment_count>10</comment_count>
      <attachid>153718</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-07-22 19:18:44 -0700</bug_when>
    <thetext>Created attachment 153718
Patch

Fixed include order and removed remaining test code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675409</commentid>
    <comment_count>11</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-07-22 20:19:24 -0700</bug_when>
    <thetext>Retitling per our conventions of adding &apos;[WK2]&apos; to WebKit2-related patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675425</commentid>
    <comment_count>12</comment_count>
      <attachid>153718</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-07-22 20:59:17 -0700</bug_when>
    <thetext>Comment on attachment 153718
Patch

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

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:33
&gt; +static const char webKitWebProcessName[] = &quot;WebProcess&quot;;
&gt; +static const char webKitPluginProcessName[] = &quot;PluginProcess&quot;;

The binary names are set in CMake, so hardcoding them here generates duplication and they may become out of sync in the future. These values should be passed directly from the build system.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:35
&gt; +static String findWebKitProcess(const char* processName)

It probably makes sense to cache the return value so we do not need to perform the lookup every time this function is called.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:48
&gt; +    ssize_t result = readlink(&quot;/proc/self/exe&quot;, readLinkBuffer, PATH_MAX);
&gt; +    if (result &gt; 0) {
&gt; +        char* executablePathPtr = dirname(readLinkBuffer);
&gt; +        String executablePath = WebCore::pathByAppendingComponent(String(executablePathPtr), processName);
&gt; +
&gt; +        // check whether process exist on the current path
&gt; +        struct stat fileStat;
&gt; +        if (!stat(executablePath.utf8().data(), &amp;fileStat))
&gt; +            return executablePath;
&gt; +    }

With portability in mind, this implementation still does not look good, as it is very Linux-specific. GTK&apos;s own implementation in WTF at least performs a distinction between Linux and other Unices and has different code paths for them. Ideally, you should put this implementation within a #if OS(LINUX) check, have an #elif for OS(UNIX) and add a more generic implementation there which first checks if /proc/curproc/file exists and use that if it does (similar to what GTK does), and use argv[0]&apos;s path otherwise. An #else might just include a notImplemented() call for Windows and the rest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675503</commentid>
    <comment_count>13</comment_count>
      <attachid>153746</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-07-23 00:54:38 -0700</bug_when>
    <thetext>Created attachment 153746
Patch

1. Added cmake script for getting process names.

2. Added static string for each process executable path.

3. Added #if statement for UNIX/LINUX.

I tried to get argv from ecore_app_args_get(). But it did not work. So, I tried to add ecore_app_args_set() to MiniBrowser. It did not work, either. I think it&apos;s hard to get argv value from here. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675509</commentid>
    <comment_count>14</comment_count>
      <attachid>153749</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-07-23 01:00:49 -0700</bug_when>
    <thetext>Created attachment 153749
Patch

Modified ChangeLog: Added [WK2]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675522</commentid>
    <comment_count>15</comment_count>
      <attachid>153749</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-23 01:15:44 -0700</bug_when>
    <thetext>Comment on attachment 153749
Patch

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

&gt; Source/WebKit2/UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:66
&gt;              String cmd = makeString(m_launchOptions.processCmdPrefix, &apos; &apos;, fullPath, &apos; &apos;, socket);

This patch breaks build in debug mode. I think you should replace &quot;fullPath&quot; by &quot;executablePath&quot; on this line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675524</commentid>
    <comment_count>16</comment_count>
      <attachid>153749</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-07-23 01:18:32 -0700</bug_when>
    <thetext>Comment on attachment 153749
Patch

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

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:7
&gt; +/*
&gt; +    Copyright (C) 2012 Samsung Electronics
&gt; +
&gt; +    This library is free software; you can redistribute it and/or
&gt; +    modify it under the terms of the GNU Library General Public
&gt; +    License as published by the Free Software Foundation; either
&gt; +    version 2 of the License, or (at your option) any later version.

Any reason to not use the default BSD license? It makes copying code around in WebKit and doing refactorings easier without having to worry about the license.

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:32
&gt; +static String findWebKitProcess(const char* processName)

WebKitProcess is kind of confusing. I would just call it findProcessPath()

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:46
&gt; +        // check whether process exist on the current path

Start with capital, end with punctuation mark. Someone needs to make the style check check for this

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:56
&gt; +String executablePathOfWebProcess()

findWebProcessPath() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675544</commentid>
    <comment_count>17</comment_count>
      <attachid>153754</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-07-23 01:51:52 -0700</bug_when>
    <thetext>Created attachment 153754
Patch

1. Fixed debug build break.

2. Applied BSD license.

3. Use findProcessPath() for finding web process and plugin process.

4. Modified comment string.

5. The name of executablePathOfWebProcess and executablePathOfPluginProcess is defined in ProcessExecutablePath.h So, I&apos;m not changed these function names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675549</commentid>
    <comment_count>18</comment_count>
      <attachid>153754</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-23 01:57:07 -0700</bug_when>
    <thetext>Comment on attachment 153754
Patch

Attachment 153754 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13326028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675553</commentid>
    <comment_count>19</comment_count>
      <attachid>153754</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-23 02:11:39 -0700</bug_when>
    <thetext>Comment on attachment 153754
Patch

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

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:67
&gt; +    static String webKitWebProcessName;
&gt; +
&gt; +    if (webKitWebProcessName.isNull())
&gt; +        webKitWebProcessName = findProcessPath(WEBPROCESSNAME);

Can we use `DEFINE_STATIC_LOCAL(String, webkitWebProcessName, findProcessPath(WEBPROCESSNAME));` for this ?

&gt; Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:77
&gt; +    static String webKitPluginProcessName;
&gt; +
&gt; +    if (webKitPluginProcessName.isNull())
&gt; +        webKitPluginProcessName = findProcessPath(PLUGINPROCESSNAME);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675573</commentid>
    <comment_count>20</comment_count>
      <attachid>153762</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-07-23 02:50:35 -0700</bug_when>
    <thetext>Created attachment 153762
Patch

1. Fixed build break. I&apos;m sorry about this.

2. Applied DEFINE_STATIC_LOCAL macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675576</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 02:53:30 -0700</bug_when>
    <thetext>Attachment 153762 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1
Source/WebKit2/Shared/efl/ProcessExecutablePathEfl.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 4 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>675578</commentid>
    <comment_count>22</comment_count>
      <attachid>153764</attachid>
    <who name="KwangYong Choi">ky0.choi</who>
    <bug_when>2012-07-23 02:58:02 -0700</bug_when>
    <thetext>Created attachment 153764
Patch

Fixed webkit coding style.. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675615</commentid>
    <comment_count>23</comment_count>
      <attachid>153764</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 04:37:44 -0700</bug_when>
    <thetext>Comment on attachment 153764
Patch

Clearing flags on attachment: 153764

Committed r123331: &lt;http://trac.webkit.org/changeset/123331&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675616</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 04:37:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148924</attachid>
            <date>2012-06-21 17:49:26 -0700</date>
            <delta_ts>2012-06-25 00:02:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch-[20120622]-[ky0.choi@samsung.com]-[[EFL] ProcessExecutablePath is required].patch</filename>
            <type>text/plain</type>
            <size>3389</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyNTU2YTI5Li40ODYzNTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDYtMjEgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gUHJvY2Vzc0V4ZWN1dGFibGVQYXRoIGlzIHJlcXVpcmVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTcxOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIFByb2Nlc3NFeGVj
dXRhYmxlUGF0aEVmbC5jcHAgZm9yIEVGTC4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtl
OgorICAgICAgICAqIFNoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpmaW5kV2ViS2l0UHJvY2Vz
cyk6CisgICAgICAgIChXZWJLaXQ6OmV4ZWN1dGFibGVQYXRoT2ZXZWJQcm9jZXNzKToKKyAgICAg
ICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MpOgorCiAyMDEyLTA2LTIx
ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAg
ICAgW1dLMl0gQWRkIEMgQVBJIHRvIGluc3BlY3QgYSBXZWIgSW50ZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCmluZGV4IDVmNmUwOWUuLjFlNTE2MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlCkBAIC0yMiw2ICsyMiw3IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNo
YXJlZC9lZmwvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL05h
dGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCiAgICAgU2hhcmVkL2VmbC9OYXRpdmVXZWJNb3VzZUV2
ZW50RWZsLmNwcAorICAgIFNoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcAog
ICAgIFNoYXJlZC9lZmwvV2ViRXZlbnRGYWN0b3J5LmNwcAogICAgIFNoYXJlZC9lZmwvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzRWZsLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUK
aW5kZXggMDAwMDAwMC4uYTM5MTYxYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcApAQCAtMCwwICsxLDYwIEBA
CisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisKKyAgICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAg
ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm9jZXNzRXhlY3V0YWJsZVBhdGguaCIKKwor
I2luY2x1ZGUgPGxpYmdlbi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworY29uc3QgY2hhciogZ1dlYktpdFdlYlByb2Nlc3NOYW1lID0gIldlYlByb2Nlc3Mi
OworY29uc3QgY2hhciogZ1dlYktpdFBsdWdpblByb2Nlc3NOYW1lID0gIlBsdWdpblByb2Nlc3Mi
OworCitzdGF0aWMgU3RyaW5nIGZpbmRXZWJLaXRQcm9jZXNzKGNvbnN0IGNoYXIqIHByb2Nlc3NO
YW1lKQoreworICAgIFN0cmluZyBleGVjdXRhYmxlUGF0aDsKKyAgICBjaGFyIHJlYWRMaW5rQnVm
ZmVyW1BBVEhfTUFYXTsKKworICAgIG1lbXNldChyZWFkTGlua0J1ZmZlciwgMCwgUEFUSF9NQVgp
OworICAgIHNzaXplX3QgcmVzdWx0ID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwgcmVhZExp
bmtCdWZmZXIsIFBBVEhfTUFYKTsKKworICAgIGlmIChyZXN1bHQgPT0gLTEpCisgICAgICAgIGV4
ZWN1dGFibGVQYXRoID0gU3RyaW5nKCIvdXNyL2JpbiIpOworICAgIGVsc2UgeworICAgICAgICBj
aGFyKiBleGVjdXRhYmxlUGF0aFB0ciA9IGRpcm5hbWUocmVhZExpbmtCdWZmZXIpOworICAgICAg
ICBleGVjdXRhYmxlUGF0aCA9IFN0cmluZyhleGVjdXRhYmxlUGF0aFB0cik7CisgICAgfQorCisg
ICAgU3RyaW5nIGZ1bGxQYXRoID0gZXhlY3V0YWJsZVBhdGggKyAiLyIgKyBwcm9jZXNzTmFtZTsK
KyAgICByZXR1cm4gZnVsbFBhdGg7Cit9CisKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mV2ViUHJv
Y2VzcygpCit7CisgICAgcmV0dXJuIGZpbmRXZWJLaXRQcm9jZXNzKGdXZWJLaXRXZWJQcm9jZXNz
TmFtZSk7Cit9CisKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2VzcygpCit7Cisg
ICAgcmV0dXJuIGZpbmRXZWJLaXRQcm9jZXNzKGdXZWJLaXRQbHVnaW5Qcm9jZXNzTmFtZSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="commit-queue"
          id="156811"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149253</attachid>
            <date>2012-06-25 00:02:24 -0700</date>
            <delta_ts>2012-07-22 19:00:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>diff.patch</filename>
            <type>text/plain</type>
            <size>6081</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAyNTU2YTI5Li5kYzQ5MTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMDYtMjEgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gUHJvY2Vzc0V4ZWN1dGFibGVQYXRoIGlzIHJlcXVpcmVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTcxOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGV4ZWN1dGFibGVQ
YXRoT2ZXZWJQcm9jZXNzIGFuZCBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vzcy4KKyAgICAg
ICAgSXQncyB1c2VkIGZvciBnZXR0aW5nIHRoZSBsb2NhdGlvbiBvZiBXZWJQcm9jZXNzIGFuZCBQ
bHVnaW5Qcm9jZXNzLgorCisgICAgICAgIENoYW5nZWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQ
cm9jZXNzIHRvIHVzZSB0aGVzZSBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5j
bWFrZTogQWRkZWQgZGVmaW5pdGlvbjsgTElCRVhFQ0RJUgorICAgICAgICAqIFNoYXJlZC9lZmwv
UHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAoV2ViS2l0OjpmaW5kV2ViS2l0UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OmV4
ZWN1dGFibGVQYXRoT2ZXZWJQcm9jZXNzKTogR2V0IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIFdlYlBy
b2Nlc3MKKyAgICAgICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MpOiBH
ZXQgdGhlIGFic29sdXRlIHBhdGggb2YgUGx1Z2luUHJvY2VzcworICAgICAgICAqIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcDoKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1bmNo
UHJvY2Vzcyk6IE1vZGlmaWVkIHRvIHVzZSBhYm92ZSByb3V0aW5lcworCiAyMDEyLTA2LTIxICBD
aHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAg
W1dLMl0gQWRkIEMgQVBJIHRvIGluc3BlY3QgYSBXZWIgSW50ZW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlCmluZGV4IDVmNmUwOWUuLmZhZWMxNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
CkBAIC0yMiw2ICsyMiw3IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJl
ZC9lZmwvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL05hdGl2
ZVdlYldoZWVsRXZlbnRFZmwuY3BwCiAgICAgU2hhcmVkL2VmbC9OYXRpdmVXZWJNb3VzZUV2ZW50
RWZsLmNwcAorICAgIFNoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcAogICAg
IFNoYXJlZC9lZmwvV2ViRXZlbnRGYWN0b3J5LmNwcAogICAgIFNoYXJlZC9lZmwvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzRWZsLmNwcAogCkBAIC0xNTgsMyArMTU5LDUgQEAgU0VUIChFV2ViS2l0Ml9I
RUFERVJTCiAKIElOU1RBTEwoRklMRVMgJHtDTUFLRV9CSU5BUllfRElSfS9XZWJLaXQyL2VmbC9l
d2Via2l0Mi5wYyBERVNUSU5BVElPTiBsaWIvcGtnY29uZmlnKQogSU5TVEFMTChGSUxFUyAke0VX
ZWJLaXQyX0hFQURFUlN9IERFU1RJTkFUSU9OIGluY2x1ZGUvJHtXZWJLaXQyX0xJQlJBUllfTkFN
RX0tJHtQUk9KRUNUX1ZFUlNJT05fTUFKT1J9KQorCitBRERfREVGSU5JVElPTlMoIi1ETElCRVhF
Q0RJUj1cIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7RVhFQ19JTlNUQUxMX0RJUn1cIiIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0
aEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0
aEVmbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2NkZDE0NgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFi
bGVQYXRoRWZsLmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAx
MiBTYW1zdW5nIEVsZWN0cm9uaWNzCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJQcm9jZXNzRXhlY3V0YWJsZVBhdGguaCIKKworI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBjb25zdCBjaGFyIHdlYktpdFdlYlByb2Nlc3NO
YW1lW10gPSAiV2ViUHJvY2VzcyI7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJLaXRQbHVnaW5Qcm9j
ZXNzTmFtZVtdID0gIlBsdWdpblByb2Nlc3MiOworCitzdGF0aWMgU3RyaW5nIGZpbmRXZWJLaXRQ
cm9jZXNzKGNvbnN0IGNoYXIqIHByb2Nlc3NOYW1lKQoreworICAgIHJldHVybiBXZWJDb3JlOjpw
YXRoQnlBcHBlbmRpbmdDb21wb25lbnQoU3RyaW5nKExJQkVYRUNESVIpLCBwcm9jZXNzTmFtZSk7
Cit9CisKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mV2ViUHJvY2VzcygpCit7CisgICAgcmV0dXJu
IGZpbmRXZWJLaXRQcm9jZXNzKHdlYktpdFdlYlByb2Nlc3NOYW1lKTsKK30KKworU3RyaW5nIGV4
ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzKCkKK3sKKyAgICByZXR1cm4gZmluZFdlYktpdFBy
b2Nlc3Mod2ViS2l0UGx1Z2luUHJvY2Vzc05hbWUpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJv
Y2Vzc0xhdW5jaGVyRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9l
ZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcApvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1
CmluZGV4IDE0MTExYTIuLjE4Zjg2OWQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcApAQCAtMjEsMTEgKzIx
LDEwIEBACiAjaW5jbHVkZSAiUHJvY2Vzc0xhdW5jaGVyLmgiCiAKICNpbmNsdWRlICJDb25uZWN0
aW9uLmgiCisjaW5jbHVkZSAiUHJvY2Vzc0V4ZWN1dGFibGVQYXRoLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgotI2luY2x1ZGUgPGxpYmdlbi5oPgotI2luY2x1
ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDUsMzIgKzQ0LDIwIEBAIHZvaWQgUHJvY2Vzc0xh
dW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAgICBpZiAoIXBpZCkgeyAvLyBjaGlsZCBwcm9jZXNz
CiAgICAgICAgIGNsb3NlKHNvY2tldHNbMV0pOwogICAgICAgICBTdHJpbmcgc29ja2V0ID0gU3Ry
aW5nOjpmb3JtYXQoIiVkIiwgc29ja2V0c1swXSk7Ci0gICAgICAgIFN0cmluZyBwcm9jZXNzTmFt
ZTsKKyAgICAgICAgU3RyaW5nIGV4ZWN1dGFibGVQYXRoOwogICAgICAgICBzd2l0Y2ggKG1fbGF1
bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSkgewogICAgICAgICBjYXNlIFdlYlByb2Nlc3M6Ci0gICAg
ICAgICAgICBwcm9jZXNzTmFtZSA9ICJXZWJQcm9jZXNzIjsKKyAgICAgICAgICAgIGV4ZWN1dGFi
bGVQYXRoID0gZXhlY3V0YWJsZVBhdGhPZldlYlByb2Nlc3MoKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIFBsdWdpblByb2Nlc3M6Ci0gICAgICAgICAgICBwcm9jZXNzTmFtZSA9
ICJQbHVnaW5Qcm9jZXNzIjsKKyAgICAgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJs
ZVBhdGhPZlBsdWdpblByb2Nlc3MoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KIAotICAgICAgICBTdHJpbmcgZXhlY3V0YWJsZVBhdGg7Ci0gICAgICAg
IGNoYXIgcmVhZExpbmtCdWZmZXJbUEFUSF9NQVhdOwotICAgICAgICBtZW1zZXQocmVhZExpbmtC
dWZmZXIsIDAsIFBBVEhfTUFYKTsKLSAgICAgICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGluaygi
L3Byb2Mvc2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOwotCi0gICAgICAgIGlm
IChyZXN1bHQgPT0gLTEpCi0gICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IFN0cmluZygiL3Vz
ci9iaW4iKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBjaGFyKiBleGVjdXRhYmxlUGF0
aFB0ciA9IGRpcm5hbWUocmVhZExpbmtCdWZmZXIpOwotICAgICAgICAgICAgZXhlY3V0YWJsZVBh
dGggPSBTdHJpbmcoZXhlY3V0YWJsZVBhdGhQdHIpOwotICAgICAgICB9Ci0gICAgICAgIFN0cmlu
ZyBmdWxsUGF0aCA9IGV4ZWN1dGFibGVQYXRoICsgIi8iICsgcHJvY2Vzc05hbWU7Ci0gICAgICAg
IGV4ZWNsKGZ1bGxQYXRoLnV0ZjgoKS5kYXRhKCksIHByb2Nlc3NOYW1lLnV0ZjgoKS5kYXRhKCks
IHNvY2tldC51dGY4KCkuZGF0YSgpLCBzdGF0aWNfY2FzdDxjaGFyKj4oMCkpOworICAgICAgICBl
eGVjbChleGVjdXRhYmxlUGF0aC51dGY4KCkuZGF0YSgpLCBleGVjdXRhYmxlUGF0aC51dGY4KCku
ZGF0YSgpLCBzb2NrZXQudXRmOCgpLmRhdGEoKSwgc3RhdGljX2Nhc3Q8Y2hhcio+KDApKTsKICAg
ICB9IGVsc2UgaWYgKHBpZCA+IDApIHsgLy8gcGFyZW50IHByb2Nlc3M7CiAgICAgICAgIGNsb3Nl
KHNvY2tldHNbMF0pOwogICAgICAgICBtX3Byb2Nlc3NJZGVudGlmaWVyID0gcGlkOwpAQCAtODAs
NyArNjcsNiBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCiB9CiAKIHZv
aWQgUHJvY2Vzc0xhdW5jaGVyOjp0ZXJtaW5hdGVQcm9jZXNzKCkK
</data>
<flag name="commit-queue"
          id="157215"
          type_id="3"
          status="-"
          setter="ryuan.choi"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153717</attachid>
            <date>2012-07-22 19:00:10 -0700</date>
            <delta_ts>2012-07-22 19:18:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6742</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0OTdhMzk0Li5kN2M1YzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDctMjIgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gUHJvY2Vzc0V4ZWN1dGFibGVQYXRoIGlzIHJlcXVpcmVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTcxOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGV4ZWN1dGFibGVQ
YXRoT2ZXZWJQcm9jZXNzIGFuZCBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vzcy4KKyAgICAg
ICAgSXQncyB1c2VkIGZvciBnZXR0aW5nIHRoZSBsb2NhdGlvbiBvZiBXZWJQcm9jZXNzIGFuZCBQ
bHVnaW5Qcm9jZXNzLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6IEFkZGVkIExJQkVY
RUNESVIgZGVmaW5pdGlvbgorICAgICAgICAqIFNoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoRWZsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0Ojpm
aW5kV2ViS2l0UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OmV4ZWN1dGFibGVQYXRoT2ZXZWJQ
cm9jZXNzKTogR2V0IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIFdlYlByb2Nlc3MKKyAgICAgICAgKFdl
YktpdDo6ZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MpOiBHZXQgdGhlIGFic29sdXRlIHBh
dGggb2YgUGx1Z2luUHJvY2VzcworICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJv
Y2Vzc0xhdW5jaGVyRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjps
YXVuY2hQcm9jZXNzKTogTW9kaWZpZWQgdG8gdXNlIGFib3ZlIHJvdXRpbmVzCisKIDIwMTItMDct
MTkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgW1JlZmFj
dG9yaW5nXSBSZXBsYWNlIE5vZGUncyBEb2N1bWVudCBwb2ludGVyIHdpdGggYSBUcmVlU2NvcGUg
cG9pbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA5N2Y3MDk1Li40MzVjODk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMjQsNiArMjQsNyBAQCBMSVNUKEFQUEVORCBX
ZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYktleWJvYXJkRXZlbnRFZmwu
Y3BwCiAgICAgU2hhcmVkL2VmbC9OYXRpdmVXZWJXaGVlbEV2ZW50RWZsLmNwcAogICAgIFNoYXJl
ZC9lZmwvTmF0aXZlV2ViTW91c2VFdmVudEVmbC5jcHAKKyAgICBTaGFyZWQvZWZsL1Byb2Nlc3NF
eGVjdXRhYmxlUGF0aEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL1dlYkV2ZW50RmFjdG9yeS5jcHAK
ICAgICBTaGFyZWQvZWZsL1dlYkNvcmVBcmd1bWVudENvZGVyc0VmbC5jcHAKIApAQCAtMjEzLDYg
KzIxNCw3IEBAIFNFVChURVNUX1JFU09VUkNFU19ESVIgJHtXRUJLSVQyX0VGTF9URVNUX0RJUn0v
cmVzb3VyY2VzKQogQUREX0RFRklOSVRJT05TKC1EVEVTVF9SRVNPVVJDRVNfRElSPVwiJHtURVNU
X1JFU09VUkNFU19ESVJ9XCIKICAgICAtRFRFU1RfVEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllf
RElSfVwiCiAgICAgLURHVEVTVF9MSU5LRURfQVNfU0hBUkVEX0xJQlJBUlk9MQorICAgIC1ETElC
RVhFQ0RJUj1cIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7RVhFQ19JTlNUQUxMX0RJUn1cIgog
KQogCiBBRERfTElCUkFSWShld2syVW5pdFRlc3RVdGlscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMGY2NzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5jcHAKQEAgLTAs
MCArMSw2NSBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmlj
cworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoLmgiCisKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSA8bGliZ2VuLmg+Cisj
aW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1
bmlzdGQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitzdGF0aWMgY29uc3QgY2hhciB3ZWJLaXRXZWJQcm9jZXNzTmFtZVtdID0gIldlYlBy
b2Nlc3MiOworc3RhdGljIGNvbnN0IGNoYXIgd2ViS2l0UGx1Z2luUHJvY2Vzc05hbWVbXSA9ICJQ
bHVnaW5Qcm9jZXNzIjsKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisKK3N0YXRpYyBTdHJpbmcgZmlu
ZFdlYktpdFByb2Nlc3MoY29uc3QgY2hhciogcHJvY2Vzc05hbWUpCit7CisgICAgY2hhciByZWFk
TGlua0J1ZmZlcltQQVRIX01BWF0gPSB7MH07CisKKyAgICBzc2l6ZV90IHJlc3VsdCA9IHJlYWRs
aW5rKCIvcHJvYy9zZWxmL2V4ZSIsIHJlYWRMaW5rQnVmZmVyLCBQQVRIX01BWCk7CisgICAgaWYg
KHJlc3VsdCA+IDApIHsKKyAgICAgICAgY2hhciogZXhlY3V0YWJsZVBhdGhQdHIgPSBkaXJuYW1l
KHJlYWRMaW5rQnVmZmVyKTsKKyAgICAgICAgU3RyaW5nIGV4ZWN1dGFibGVQYXRoID0gV2ViQ29y
ZTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KFN0cmluZyhleGVjdXRhYmxlUGF0aFB0ciksIHBy
b2Nlc3NOYW1lKTsKKworICAgICAgICAvLyBjaGVjayB3aGV0aGVyIHByb2Nlc3MgZXhpc3Qgb24g
dGhlIGN1cnJlbnQgcGF0aAorICAgICAgICBzdHJ1Y3Qgc3RhdCBmaWxlU3RhdDsKKyAgICAgICAg
aWYgKCFzdGF0KGV4ZWN1dGFibGVQYXRoLnV0ZjgoKS5kYXRhKCksICZmaWxlU3RhdCkpCisgICAg
ICAgICAgICByZXR1cm4gZXhlY3V0YWJsZVBhdGg7CisgICAgfQorCisgICAgcmV0dXJuIFdlYkNv
cmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChTdHJpbmcoTElCRVhFQ0RJUiksIHByb2Nlc3NO
YW1lKTsKK30KKworU3RyaW5nIGV4ZWN1dGFibGVQYXRoT2ZXZWJQcm9jZXNzKCkKK3sKKyAgICBy
ZXR1cm4gZmluZFdlYktpdFByb2Nlc3Mod2ViS2l0V2ViUHJvY2Vzc05hbWUpOworfQorCitTdHJp
bmcgZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKQoreworICAgIHJldHVybiBmaW5kV2Vi
S2l0UHJvY2Vzcyh3ZWJLaXRQbHVnaW5Qcm9jZXNzTmFtZSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2Vm
bC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5j
aGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwCmluZGV4IDg2ZGRkYmYuLmY1ZWEzZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xh
dW5jaGVyRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZs
L1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAKQEAgLTIxLDExICsyMSwxMCBAQAogI2luY2x1ZGUgIlBy
b2Nlc3NMYXVuY2hlci5oIgogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlBy
b2Nlc3NFeGVjdXRhYmxlUGF0aC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1
bkxvb3AuaD4KLSNpbmNsdWRlIDxsaWJnZW4uaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKQEAgLTQ1LDM1ICs0NCwyMyBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vz
cygpCiAgICAgaWYgKCFwaWQpIHsgLy8gY2hpbGQgcHJvY2VzcwogICAgICAgICBjbG9zZShzb2Nr
ZXRzWzFdKTsKICAgICAgICAgU3RyaW5nIHNvY2tldCA9IFN0cmluZzo6Zm9ybWF0KCIlZCIsIHNv
Y2tldHNbMF0pOwotICAgICAgICBTdHJpbmcgcHJvY2Vzc05hbWU7CisgICAgICAgIFN0cmluZyBl
eGVjdXRhYmxlUGF0aDsKICAgICAgICAgc3dpdGNoIChtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc1R5
cGUpIHsKICAgICAgICAgY2FzZSBXZWJQcm9jZXNzOgotICAgICAgICAgICAgcHJvY2Vzc05hbWUg
PSAiV2ViUHJvY2VzcyI7CisgICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IGV4ZWN1dGFibGVQ
YXRoT2ZXZWJQcm9jZXNzKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBQbHVn
aW5Qcm9jZXNzOgotICAgICAgICAgICAgcHJvY2Vzc05hbWUgPSAiUGx1Z2luUHJvY2VzcyI7Cisg
ICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNz
KCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAg
ICAgICAgU3RyaW5nIGV4ZWN1dGFibGVQYXRoOwotICAgICAgICBjaGFyIHJlYWRMaW5rQnVmZmVy
W1BBVEhfTUFYXTsKLSAgICAgICAgbWVtc2V0KHJlYWRMaW5rQnVmZmVyLCAwLCBQQVRIX01BWCk7
Ci0gICAgICAgIHNzaXplX3QgcmVzdWx0ID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwgcmVh
ZExpbmtCdWZmZXIsIFBBVEhfTUFYKTsKLQotICAgICAgICBpZiAocmVzdWx0ID09IC0xKQotICAg
ICAgICAgICAgZXhlY3V0YWJsZVBhdGggPSBTdHJpbmcoIi91c3IvYmluIik7Ci0gICAgICAgIGVs
c2UgewotICAgICAgICAgICAgY2hhciogZXhlY3V0YWJsZVBhdGhQdHIgPSBkaXJuYW1lKHJlYWRM
aW5rQnVmZmVyKTsKLSAgICAgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gU3RyaW5nKGV4ZWN1dGFi
bGVQYXRoUHRyKTsKLSAgICAgICAgfQotICAgICAgICBTdHJpbmcgZnVsbFBhdGggPSBleGVjdXRh
YmxlUGF0aCArICIvIiArIHByb2Nlc3NOYW1lOwogI2lmbmRlZiBOREVCVUcKICAgICAgICAgaWYg
KG1fbGF1bmNoT3B0aW9ucy5wcm9jZXNzQ21kUHJlZml4LmlzRW1wdHkoKSkKICNlbmRpZgotICAg
ICAgICAgICAgZXhlY2woZnVsbFBhdGgudXRmOCgpLmRhdGEoKSwgcHJvY2Vzc05hbWUudXRmOCgp
LmRhdGEoKSwgc29ja2V0LnV0ZjgoKS5kYXRhKCksIHN0YXRpY19jYXN0PGNoYXIqPigwKSk7Cisg
ICAgICAgICAgICBleGVjbChleGVjdXRhYmxlUGF0aC51dGY4KCkuZGF0YSgpLCBleGVjdXRhYmxl
UGF0aC51dGY4KCkuZGF0YSgpLCBzb2NrZXQudXRmOCgpLmRhdGEoKSwgc3RhdGljX2Nhc3Q8Y2hh
cio+KDApKTsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgU3Ry
aW5nIGNtZCA9IG1ha2VTdHJpbmcobV9sYXVuY2hPcHRpb25zLnByb2Nlc3NDbWRQcmVmaXgsICcg
JywgZnVsbFBhdGgsICcgJywgc29ja2V0KTsKQEAgLTkyLDcgKzc5LDYgQEAgdm9pZCBQcm9jZXNz
TGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MoKQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KLQogfQogCiB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6dGVy
bWluYXRlUHJvY2VzcygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153718</attachid>
            <date>2012-07-22 19:18:44 -0700</date>
            <delta_ts>2012-07-23 00:54:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6720</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0OTdhMzk0Li5kN2M1YzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDctMjIgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gUHJvY2Vzc0V4ZWN1dGFibGVQYXRoIGlzIHJlcXVpcmVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTcxOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGV4ZWN1dGFibGVQ
YXRoT2ZXZWJQcm9jZXNzIGFuZCBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vzcy4KKyAgICAg
ICAgSXQncyB1c2VkIGZvciBnZXR0aW5nIHRoZSBsb2NhdGlvbiBvZiBXZWJQcm9jZXNzIGFuZCBQ
bHVnaW5Qcm9jZXNzLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6IEFkZGVkIExJQkVY
RUNESVIgZGVmaW5pdGlvbgorICAgICAgICAqIFNoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoRWZsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0Ojpm
aW5kV2ViS2l0UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OmV4ZWN1dGFibGVQYXRoT2ZXZWJQ
cm9jZXNzKTogR2V0IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIFdlYlByb2Nlc3MKKyAgICAgICAgKFdl
YktpdDo6ZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MpOiBHZXQgdGhlIGFic29sdXRlIHBh
dGggb2YgUGx1Z2luUHJvY2VzcworICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJv
Y2Vzc0xhdW5jaGVyRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjps
YXVuY2hQcm9jZXNzKTogTW9kaWZpZWQgdG8gdXNlIGFib3ZlIHJvdXRpbmVzCisKIDIwMTItMDct
MTkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgW1JlZmFj
dG9yaW5nXSBSZXBsYWNlIE5vZGUncyBEb2N1bWVudCBwb2ludGVyIHdpdGggYSBUcmVlU2NvcGUg
cG9pbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA5N2Y3MDk1Li40MzVjODk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMjQsNiArMjQsNyBAQCBMSVNUKEFQUEVORCBX
ZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYktleWJvYXJkRXZlbnRFZmwu
Y3BwCiAgICAgU2hhcmVkL2VmbC9OYXRpdmVXZWJXaGVlbEV2ZW50RWZsLmNwcAogICAgIFNoYXJl
ZC9lZmwvTmF0aXZlV2ViTW91c2VFdmVudEVmbC5jcHAKKyAgICBTaGFyZWQvZWZsL1Byb2Nlc3NF
eGVjdXRhYmxlUGF0aEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL1dlYkV2ZW50RmFjdG9yeS5jcHAK
ICAgICBTaGFyZWQvZWZsL1dlYkNvcmVBcmd1bWVudENvZGVyc0VmbC5jcHAKIApAQCAtMjEzLDYg
KzIxNCw3IEBAIFNFVChURVNUX1JFU09VUkNFU19ESVIgJHtXRUJLSVQyX0VGTF9URVNUX0RJUn0v
cmVzb3VyY2VzKQogQUREX0RFRklOSVRJT05TKC1EVEVTVF9SRVNPVVJDRVNfRElSPVwiJHtURVNU
X1JFU09VUkNFU19ESVJ9XCIKICAgICAtRFRFU1RfVEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllf
RElSfVwiCiAgICAgLURHVEVTVF9MSU5LRURfQVNfU0hBUkVEX0xJQlJBUlk9MQorICAgIC1ETElC
RVhFQ0RJUj1cIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7RVhFQ19JTlNUQUxMX0RJUn1cIgog
KQogCiBBRERfTElCUkFSWShld2syVW5pdFRlc3RVdGlscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NjNmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5jcHAKQEAgLTAs
MCArMSw2MyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmlj
cworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoLmgiCisKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSA8bGliZ2VuLmg+Cisj
aW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1
bmlzdGQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitzdGF0aWMgY29uc3QgY2hhciB3ZWJLaXRXZWJQcm9jZXNzTmFtZVtdID0gIldlYlBy
b2Nlc3MiOworc3RhdGljIGNvbnN0IGNoYXIgd2ViS2l0UGx1Z2luUHJvY2Vzc05hbWVbXSA9ICJQ
bHVnaW5Qcm9jZXNzIjsKKworc3RhdGljIFN0cmluZyBmaW5kV2ViS2l0UHJvY2Vzcyhjb25zdCBj
aGFyKiBwcm9jZXNzTmFtZSkKK3sKKyAgICBjaGFyIHJlYWRMaW5rQnVmZmVyW1BBVEhfTUFYXSA9
IHswfTsKKworICAgIHNzaXplX3QgcmVzdWx0ID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwg
cmVhZExpbmtCdWZmZXIsIFBBVEhfTUFYKTsKKyAgICBpZiAocmVzdWx0ID4gMCkgeworICAgICAg
ICBjaGFyKiBleGVjdXRhYmxlUGF0aFB0ciA9IGRpcm5hbWUocmVhZExpbmtCdWZmZXIpOworICAg
ICAgICBTdHJpbmcgZXhlY3V0YWJsZVBhdGggPSBXZWJDb3JlOjpwYXRoQnlBcHBlbmRpbmdDb21w
b25lbnQoU3RyaW5nKGV4ZWN1dGFibGVQYXRoUHRyKSwgcHJvY2Vzc05hbWUpOworCisgICAgICAg
IC8vIGNoZWNrIHdoZXRoZXIgcHJvY2VzcyBleGlzdCBvbiB0aGUgY3VycmVudCBwYXRoCisgICAg
ICAgIHN0cnVjdCBzdGF0IGZpbGVTdGF0OworICAgICAgICBpZiAoIXN0YXQoZXhlY3V0YWJsZVBh
dGgudXRmOCgpLmRhdGEoKSwgJmZpbGVTdGF0KSkKKyAgICAgICAgICAgIHJldHVybiBleGVjdXRh
YmxlUGF0aDsKKyAgICB9CisKKyAgICByZXR1cm4gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29t
cG9uZW50KFN0cmluZyhMSUJFWEVDRElSKSwgcHJvY2Vzc05hbWUpOworfQorCitTdHJpbmcgZXhl
Y3V0YWJsZVBhdGhPZldlYlByb2Nlc3MoKQoreworICAgIHJldHVybiBmaW5kV2ViS2l0UHJvY2Vz
cyh3ZWJLaXRXZWJQcm9jZXNzTmFtZSk7Cit9CisKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mUGx1
Z2luUHJvY2VzcygpCit7CisgICAgcmV0dXJuIGZpbmRXZWJLaXRQcm9jZXNzKHdlYktpdFBsdWdp
blByb2Nlc3NOYW1lKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hl
ckVmbC5jcHAKaW5kZXggODZkZGRiZi4uZjVlYTNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNw
cApAQCAtMjEsMTEgKzIxLDEwIEBACiAjaW5jbHVkZSAiUHJvY2Vzc0xhdW5jaGVyLmgiCiAKICNp
bmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUHJvY2Vzc0V4ZWN1dGFibGVQYXRoLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZUhhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgotI2luY2x1ZGUgPGxp
Ymdlbi5oPgotI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDUsMzUgKzQ0LDIzIEBA
IHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAgICBpZiAoIXBpZCkgeyAv
LyBjaGlsZCBwcm9jZXNzCiAgICAgICAgIGNsb3NlKHNvY2tldHNbMV0pOwogICAgICAgICBTdHJp
bmcgc29ja2V0ID0gU3RyaW5nOjpmb3JtYXQoIiVkIiwgc29ja2V0c1swXSk7Ci0gICAgICAgIFN0
cmluZyBwcm9jZXNzTmFtZTsKKyAgICAgICAgU3RyaW5nIGV4ZWN1dGFibGVQYXRoOwogICAgICAg
ICBzd2l0Y2ggKG1fbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSkgewogICAgICAgICBjYXNlIFdl
YlByb2Nlc3M6Ci0gICAgICAgICAgICBwcm9jZXNzTmFtZSA9ICJXZWJQcm9jZXNzIjsKKyAgICAg
ICAgICAgIGV4ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJsZVBhdGhPZldlYlByb2Nlc3MoKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFBsdWdpblByb2Nlc3M6Ci0gICAgICAgICAg
ICBwcm9jZXNzTmFtZSA9ICJQbHVnaW5Qcm9jZXNzIjsKKyAgICAgICAgICAgIGV4ZWN1dGFibGVQ
YXRoID0gZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBTdHJpbmcgZXhlY3V0YWJs
ZVBhdGg7Ci0gICAgICAgIGNoYXIgcmVhZExpbmtCdWZmZXJbUEFUSF9NQVhdOwotICAgICAgICBt
ZW1zZXQocmVhZExpbmtCdWZmZXIsIDAsIFBBVEhfTUFYKTsKLSAgICAgICAgc3NpemVfdCByZXN1
bHQgPSByZWFkbGluaygiL3Byb2Mvc2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgp
OwotCi0gICAgICAgIGlmIChyZXN1bHQgPT0gLTEpCi0gICAgICAgICAgICBleGVjdXRhYmxlUGF0
aCA9IFN0cmluZygiL3Vzci9iaW4iKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBjaGFy
KiBleGVjdXRhYmxlUGF0aFB0ciA9IGRpcm5hbWUocmVhZExpbmtCdWZmZXIpOwotICAgICAgICAg
ICAgZXhlY3V0YWJsZVBhdGggPSBTdHJpbmcoZXhlY3V0YWJsZVBhdGhQdHIpOwotICAgICAgICB9
Ci0gICAgICAgIFN0cmluZyBmdWxsUGF0aCA9IGV4ZWN1dGFibGVQYXRoICsgIi8iICsgcHJvY2Vz
c05hbWU7CiAjaWZuZGVmIE5ERUJVRwogICAgICAgICBpZiAobV9sYXVuY2hPcHRpb25zLnByb2Nl
c3NDbWRQcmVmaXguaXNFbXB0eSgpKQogI2VuZGlmCi0gICAgICAgICAgICBleGVjbChmdWxsUGF0
aC51dGY4KCkuZGF0YSgpLCBwcm9jZXNzTmFtZS51dGY4KCkuZGF0YSgpLCBzb2NrZXQudXRmOCgp
LmRhdGEoKSwgc3RhdGljX2Nhc3Q8Y2hhcio+KDApKTsKKyAgICAgICAgICAgIGV4ZWNsKGV4ZWN1
dGFibGVQYXRoLnV0ZjgoKS5kYXRhKCksIGV4ZWN1dGFibGVQYXRoLnV0ZjgoKS5kYXRhKCksIHNv
Y2tldC51dGY4KCkuZGF0YSgpLCBzdGF0aWNfY2FzdDxjaGFyKj4oMCkpOwogI2lmbmRlZiBOREVC
VUcKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBTdHJpbmcgY21kID0gbWFrZVN0cmluZyht
X2xhdW5jaE9wdGlvbnMucHJvY2Vzc0NtZFByZWZpeCwgJyAnLCBmdWxsUGF0aCwgJyAnLCBzb2Nr
ZXQpOwpAQCAtOTIsNyArNzksNiBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vz
cygpCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotCiB9CiAKIHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjp0ZXJtaW5hdGVQcm9jZXNzKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153746</attachid>
            <date>2012-07-23 00:54:38 -0700</date>
            <delta_ts>2012-07-23 01:00:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7124</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0OTdhMzk0Li5kN2M1YzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDctMjIgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF0gUHJvY2Vzc0V4ZWN1dGFibGVQYXRoIGlzIHJlcXVpcmVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTcxOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGV4ZWN1dGFibGVQ
YXRoT2ZXZWJQcm9jZXNzIGFuZCBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vzcy4KKyAgICAg
ICAgSXQncyB1c2VkIGZvciBnZXR0aW5nIHRoZSBsb2NhdGlvbiBvZiBXZWJQcm9jZXNzIGFuZCBQ
bHVnaW5Qcm9jZXNzLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6IEFkZGVkIExJQkVY
RUNESVIgZGVmaW5pdGlvbgorICAgICAgICAqIFNoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoRWZsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0Ojpm
aW5kV2ViS2l0UHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OmV4ZWN1dGFibGVQYXRoT2ZXZWJQ
cm9jZXNzKTogR2V0IHRoZSBhYnNvbHV0ZSBwYXRoIG9mIFdlYlByb2Nlc3MKKyAgICAgICAgKFdl
YktpdDo6ZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MpOiBHZXQgdGhlIGFic29sdXRlIHBh
dGggb2YgUGx1Z2luUHJvY2VzcworICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJv
Y2Vzc0xhdW5jaGVyRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjps
YXVuY2hQcm9jZXNzKTogTW9kaWZpZWQgdG8gdXNlIGFib3ZlIHJvdXRpbmVzCisKIDIwMTItMDct
MTkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgW1JlZmFj
dG9yaW5nXSBSZXBsYWNlIE5vZGUncyBEb2N1bWVudCBwb2ludGVyIHdpdGggYSBUcmVlU2NvcGUg
cG9pbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA5N2Y3MDk1Li4yMWQ4M2UyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMjQsNiArMjQsNyBAQCBMSVNUKEFQUEVORCBX
ZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYktleWJvYXJkRXZlbnRFZmwu
Y3BwCiAgICAgU2hhcmVkL2VmbC9OYXRpdmVXZWJXaGVlbEV2ZW50RWZsLmNwcAogICAgIFNoYXJl
ZC9lZmwvTmF0aXZlV2ViTW91c2VFdmVudEVmbC5jcHAKKyAgICBTaGFyZWQvZWZsL1Byb2Nlc3NF
eGVjdXRhYmxlUGF0aEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL1dlYkV2ZW50RmFjdG9yeS5jcHAK
ICAgICBTaGFyZWQvZWZsL1dlYkNvcmVBcmd1bWVudENvZGVyc0VmbC5jcHAKIApAQCAtMjEzLDYg
KzIxNCw5IEBAIFNFVChURVNUX1JFU09VUkNFU19ESVIgJHtXRUJLSVQyX0VGTF9URVNUX0RJUn0v
cmVzb3VyY2VzKQogQUREX0RFRklOSVRJT05TKC1EVEVTVF9SRVNPVVJDRVNfRElSPVwiJHtURVNU
X1JFU09VUkNFU19ESVJ9XCIKICAgICAtRFRFU1RfVEhFTUVfRElSPVwiJHtUSEVNRV9CSU5BUllf
RElSfVwiCiAgICAgLURHVEVTVF9MSU5LRURfQVNfU0hBUkVEX0xJQlJBUlk9MQorICAgIC1ETElC
RVhFQ0RJUj1cIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7RVhFQ19JTlNUQUxMX0RJUn1cIgor
ICAgIC1EV0VCUFJPQ0VTU05BTUU9XCIke1dlYlByb2Nlc3NfRVhFQ1VUQUJMRV9OQU1FfVwiCisg
ICAgLURQTFVHSU5QUk9DRVNTTkFNRT1cIiR7UGx1Z2luUHJvY2Vzc19FWEVDVVRBQkxFX05BTUV9
XCIKICkKIAogQUREX0xJQlJBUlkoZXdrMlVuaXRUZXN0VXRpbHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Nzg0NzYzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCkBA
IC0wLDAgKzEsNzYgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ry
b25pY3MKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlByb2Nlc3NFeGVjdXRh
YmxlUGF0aC5oIgorCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgPGxpYmdlbi5o
PgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVk
ZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworc3RhdGljIFN0cmluZyBmaW5kV2ViS2l0UHJvY2Vzcyhjb25zdCBjaGFyKiBw
cm9jZXNzTmFtZSkKK3sKKyNpZiBPUyhVTklYKQorICAgIGNoYXIgcmVhZExpbmtCdWZmZXJbUEFU
SF9NQVhdID0gezB9OworCisjaWYgT1MoTElOVVgpCisgICAgc3NpemVfdCByZXN1bHQgPSByZWFk
bGluaygiL3Byb2Mvc2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworI2Vsc2UK
KyAgICBzc2l6ZV90IHJlc3VsdCA9IHJlYWRsaW5rKCIvcHJvYy9jdXJwcm9jL2ZpbGUiLCByZWFk
TGlua0J1ZmZlciwgUEFUSF9NQVgpOworI2VuZGlmCisgICAgaWYgKHJlc3VsdCA+IDApIHsKKyAg
ICAgICAgY2hhciogZXhlY3V0YWJsZVBhdGhQdHIgPSBkaXJuYW1lKHJlYWRMaW5rQnVmZmVyKTsK
KyAgICAgICAgU3RyaW5nIGV4ZWN1dGFibGVQYXRoID0gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5n
Q29tcG9uZW50KFN0cmluZyhleGVjdXRhYmxlUGF0aFB0ciksIHByb2Nlc3NOYW1lKTsKKworICAg
ICAgICAvLyBjaGVjayB3aGV0aGVyIHByb2Nlc3MgZXhpc3Qgb24gdGhlIGN1cnJlbnQgcGF0aAor
ICAgICAgICBzdHJ1Y3Qgc3RhdCBmaWxlU3RhdDsKKyAgICAgICAgaWYgKCFzdGF0KGV4ZWN1dGFi
bGVQYXRoLnV0ZjgoKS5kYXRhKCksICZmaWxlU3RhdCkpCisgICAgICAgICAgICByZXR1cm4gZXhl
Y3V0YWJsZVBhdGg7CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gV2ViQ29yZTo6cGF0aEJ5
QXBwZW5kaW5nQ29tcG9uZW50KFN0cmluZyhMSUJFWEVDRElSKSwgcHJvY2Vzc05hbWUpOworfQor
CitTdHJpbmcgZXhlY3V0YWJsZVBhdGhPZldlYlByb2Nlc3MoKQoreworICAgIHN0YXRpYyBTdHJp
bmcgd2ViS2l0V2ViUHJvY2Vzc05hbWU7CisKKyAgICBpZiAod2ViS2l0V2ViUHJvY2Vzc05hbWUu
aXNOdWxsKCkpCisgICAgICAgIHdlYktpdFdlYlByb2Nlc3NOYW1lID0gZmluZFdlYktpdFByb2Nl
c3MoV0VCUFJPQ0VTU05BTUUpOworCisgICAgcmV0dXJuIHdlYktpdFdlYlByb2Nlc3NOYW1lOwor
fQorCitTdHJpbmcgZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKQoreworICAgIHN0YXRp
YyBTdHJpbmcgd2ViS2l0UGx1Z2luUHJvY2Vzc05hbWU7CisKKyAgICBpZiAod2ViS2l0UGx1Z2lu
UHJvY2Vzc05hbWUuaXNOdWxsKCkpCisgICAgICAgIHdlYktpdFBsdWdpblByb2Nlc3NOYW1lID0g
ZmluZFdlYktpdFByb2Nlc3MoUExVR0lOUFJPQ0VTU05BTUUpOworCisgICAgcmV0dXJuIHdlYktp
dFBsdWdpblByb2Nlc3NOYW1lOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVy
RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xh
dW5jaGVyRWZsLmNwcAppbmRleCA4NmRkZGJmLi5mNWVhM2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJF
ZmwuY3BwCkBAIC0yMSwxMSArMjEsMTAgQEAKICNpbmNsdWRlICJQcm9jZXNzTGF1bmNoZXIuaCIK
IAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJQcm9jZXNzRXhlY3V0YWJsZVBh
dGguaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlSGFuZGxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW5Mb29wLmg+Ci0jaW5jbHVk
ZSA8bGliZ2VuLmg+Ci0jaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00NSwzNSArNDQs
MjMgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MoKQogICAgIGlmICghcGlk
KSB7IC8vIGNoaWxkIHByb2Nlc3MKICAgICAgICAgY2xvc2Uoc29ja2V0c1sxXSk7CiAgICAgICAg
IFN0cmluZyBzb2NrZXQgPSBTdHJpbmc6OmZvcm1hdCgiJWQiLCBzb2NrZXRzWzBdKTsKLSAgICAg
ICAgU3RyaW5nIHByb2Nlc3NOYW1lOworICAgICAgICBTdHJpbmcgZXhlY3V0YWJsZVBhdGg7CiAg
ICAgICAgIHN3aXRjaCAobV9sYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlKSB7CiAgICAgICAgIGNh
c2UgV2ViUHJvY2VzczoKLSAgICAgICAgICAgIHByb2Nlc3NOYW1lID0gIldlYlByb2Nlc3MiOwor
ICAgICAgICAgICAgZXhlY3V0YWJsZVBhdGggPSBleGVjdXRhYmxlUGF0aE9mV2ViUHJvY2Vzcygp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUGx1Z2luUHJvY2VzczoKLSAgICAg
ICAgICAgIHByb2Nlc3NOYW1lID0gIlBsdWdpblByb2Nlc3MiOworICAgICAgICAgICAgZXhlY3V0
YWJsZVBhdGggPSBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2VzcygpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIFN0cmluZyBleGVj
dXRhYmxlUGF0aDsKLSAgICAgICAgY2hhciByZWFkTGlua0J1ZmZlcltQQVRIX01BWF07Ci0gICAg
ICAgIG1lbXNldChyZWFkTGlua0J1ZmZlciwgMCwgUEFUSF9NQVgpOwotICAgICAgICBzc2l6ZV90
IHJlc3VsdCA9IHJlYWRsaW5rKCIvcHJvYy9zZWxmL2V4ZSIsIHJlYWRMaW5rQnVmZmVyLCBQQVRI
X01BWCk7Ci0KLSAgICAgICAgaWYgKHJlc3VsdCA9PSAtMSkKLSAgICAgICAgICAgIGV4ZWN1dGFi
bGVQYXRoID0gU3RyaW5nKCIvdXNyL2JpbiIpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAg
IGNoYXIqIGV4ZWN1dGFibGVQYXRoUHRyID0gZGlybmFtZShyZWFkTGlua0J1ZmZlcik7Ci0gICAg
ICAgICAgICBleGVjdXRhYmxlUGF0aCA9IFN0cmluZyhleGVjdXRhYmxlUGF0aFB0cik7Ci0gICAg
ICAgIH0KLSAgICAgICAgU3RyaW5nIGZ1bGxQYXRoID0gZXhlY3V0YWJsZVBhdGggKyAiLyIgKyBw
cm9jZXNzTmFtZTsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGlmIChtX2xhdW5jaE9wdGlvbnMu
cHJvY2Vzc0NtZFByZWZpeC5pc0VtcHR5KCkpCiAjZW5kaWYKLSAgICAgICAgICAgIGV4ZWNsKGZ1
bGxQYXRoLnV0ZjgoKS5kYXRhKCksIHByb2Nlc3NOYW1lLnV0ZjgoKS5kYXRhKCksIHNvY2tldC51
dGY4KCkuZGF0YSgpLCBzdGF0aWNfY2FzdDxjaGFyKj4oMCkpOworICAgICAgICAgICAgZXhlY2wo
ZXhlY3V0YWJsZVBhdGgudXRmOCgpLmRhdGEoKSwgZXhlY3V0YWJsZVBhdGgudXRmOCgpLmRhdGEo
KSwgc29ja2V0LnV0ZjgoKS5kYXRhKCksIHN0YXRpY19jYXN0PGNoYXIqPigwKSk7CiAjaWZuZGVm
IE5ERUJVRwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIFN0cmluZyBjbWQgPSBtYWtlU3Ry
aW5nKG1fbGF1bmNoT3B0aW9ucy5wcm9jZXNzQ21kUHJlZml4LCAnICcsIGZ1bGxQYXRoLCAnICcs
IHNvY2tldCk7CkBAIC05Miw3ICs3OSw2IEBAIHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQ
cm9jZXNzKCkKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9Ci0KIH0KIAogdm9pZCBQcm9jZXNzTGF1bmNoZXI6OnRlcm1pbmF0ZVByb2Nlc3MoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153749</attachid>
            <date>2012-07-23 01:00:49 -0700</date>
            <delta_ts>2012-07-23 01:51:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7129</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0OTdhMzk0Li5kN2M1YzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDctMjIgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF1bV0syXSBQcm9jZXNzRXhlY3V0YWJsZVBhdGggaXMgcmVxdWlyZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NzE5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZXhlY3V0
YWJsZVBhdGhPZldlYlByb2Nlc3MgYW5kIGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzLgor
ICAgICAgICBJdCdzIHVzZWQgZm9yIGdldHRpbmcgdGhlIGxvY2F0aW9uIG9mIFdlYlByb2Nlc3Mg
YW5kIFBsdWdpblByb2Nlc3MuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZTogQWRkZWQg
TElCRVhFQ0RJUiBkZWZpbml0aW9uCisgICAgICAgICogU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhFZmwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OmZpbmRXZWJLaXRQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhP
ZldlYlByb2Nlc3MpOiBHZXQgdGhlIGFic29sdXRlIHBhdGggb2YgV2ViUHJvY2VzcworICAgICAg
ICAoV2ViS2l0OjpleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vzcyk6IEdldCB0aGUgYWJzb2x1
dGUgcGF0aCBvZiBQbHVnaW5Qcm9jZXNzCisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL2Vm
bC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNo
ZXI6OmxhdW5jaFByb2Nlc3MpOiBNb2RpZmllZCB0byB1c2UgYWJvdmUgcm91dGluZXMKKwogMjAx
Mi0wNy0xOSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBb
UmVmYWN0b3JpbmddIFJlcGxhY2UgTm9kZSdzIERvY3VtZW50IHBvaW50ZXIgd2l0aCBhIFRyZWVT
Y29wZSBwb2ludGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFr
ZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDk3ZjcwOTUuLjIxZDgz
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yNCw2ICsyNCw3IEBAIExJU1QoQVBQ
RU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCiAgICAg
U2hhcmVkL2VmbC9OYXRpdmVXZWJNb3VzZUV2ZW50RWZsLmNwcAorICAgIFNoYXJlZC9lZmwvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcAogICAgIFNoYXJlZC9lZmwvV2ViRXZlbnRGYWN0b3J5
LmNwcAogICAgIFNoYXJlZC9lZmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzRWZsLmNwcAogCkBAIC0y
MTMsNiArMjE0LDkgQEAgU0VUKFRFU1RfUkVTT1VSQ0VTX0RJUiAke1dFQktJVDJfRUZMX1RFU1Rf
RElSfS9yZXNvdXJjZXMpCiBBRERfREVGSU5JVElPTlMoLURURVNUX1JFU09VUkNFU19ESVI9XCIk
e1RFU1RfUkVTT1VSQ0VTX0RJUn1cIgogICAgIC1EVEVTVF9USEVNRV9ESVI9XCIke1RIRU1FX0JJ
TkFSWV9ESVJ9XCIKICAgICAtREdURVNUX0xJTktFRF9BU19TSEFSRURfTElCUkFSWT0xCisgICAg
LURMSUJFWEVDRElSPVwiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtFWEVDX0lOU1RBTExfRElS
fVwiCisgICAgLURXRUJQUk9DRVNTTkFNRT1cIiR7V2ViUHJvY2Vzc19FWEVDVVRBQkxFX05BTUV9
XCIKKyAgICAtRFBMVUdJTlBST0NFU1NOQU1FPVwiJHtQbHVnaW5Qcm9jZXNzX0VYRUNVVEFCTEVf
TkFNRX1cIgogKQogCiBBRERfTElCUkFSWShld2syVW5pdFRlc3RVdGlscwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ODQ3NjMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5j
cHAKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBF
bGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisg
ICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvY2Vzc0V4
ZWN1dGFibGVQYXRoLmgiCisKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSA8bGli
Z2VuLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNp
bmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitzdGF0aWMgU3RyaW5nIGZpbmRXZWJLaXRQcm9jZXNzKGNvbnN0IGNo
YXIqIHByb2Nlc3NOYW1lKQoreworI2lmIE9TKFVOSVgpCisgICAgY2hhciByZWFkTGlua0J1ZmZl
cltQQVRIX01BWF0gPSB7MH07CisKKyNpZiBPUyhMSU5VWCkKKyAgICBzc2l6ZV90IHJlc3VsdCA9
IHJlYWRsaW5rKCIvcHJvYy9zZWxmL2V4ZSIsIHJlYWRMaW5rQnVmZmVyLCBQQVRIX01BWCk7Cisj
ZWxzZQorICAgIHNzaXplX3QgcmVzdWx0ID0gcmVhZGxpbmsoIi9wcm9jL2N1cnByb2MvZmlsZSIs
IHJlYWRMaW5rQnVmZmVyLCBQQVRIX01BWCk7CisjZW5kaWYKKyAgICBpZiAocmVzdWx0ID4gMCkg
eworICAgICAgICBjaGFyKiBleGVjdXRhYmxlUGF0aFB0ciA9IGRpcm5hbWUocmVhZExpbmtCdWZm
ZXIpOworICAgICAgICBTdHJpbmcgZXhlY3V0YWJsZVBhdGggPSBXZWJDb3JlOjpwYXRoQnlBcHBl
bmRpbmdDb21wb25lbnQoU3RyaW5nKGV4ZWN1dGFibGVQYXRoUHRyKSwgcHJvY2Vzc05hbWUpOwor
CisgICAgICAgIC8vIGNoZWNrIHdoZXRoZXIgcHJvY2VzcyBleGlzdCBvbiB0aGUgY3VycmVudCBw
YXRoCisgICAgICAgIHN0cnVjdCBzdGF0IGZpbGVTdGF0OworICAgICAgICBpZiAoIXN0YXQoZXhl
Y3V0YWJsZVBhdGgudXRmOCgpLmRhdGEoKSwgJmZpbGVTdGF0KSkKKyAgICAgICAgICAgIHJldHVy
biBleGVjdXRhYmxlUGF0aDsKKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiBXZWJDb3JlOjpw
YXRoQnlBcHBlbmRpbmdDb21wb25lbnQoU3RyaW5nKExJQkVYRUNESVIpLCBwcm9jZXNzTmFtZSk7
Cit9CisKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mV2ViUHJvY2VzcygpCit7CisgICAgc3RhdGlj
IFN0cmluZyB3ZWJLaXRXZWJQcm9jZXNzTmFtZTsKKworICAgIGlmICh3ZWJLaXRXZWJQcm9jZXNz
TmFtZS5pc051bGwoKSkKKyAgICAgICAgd2ViS2l0V2ViUHJvY2Vzc05hbWUgPSBmaW5kV2ViS2l0
UHJvY2VzcyhXRUJQUk9DRVNTTkFNRSk7CisKKyAgICByZXR1cm4gd2ViS2l0V2ViUHJvY2Vzc05h
bWU7Cit9CisKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2VzcygpCit7CisgICAg
c3RhdGljIFN0cmluZyB3ZWJLaXRQbHVnaW5Qcm9jZXNzTmFtZTsKKworICAgIGlmICh3ZWJLaXRQ
bHVnaW5Qcm9jZXNzTmFtZS5pc051bGwoKSkKKyAgICAgICAgd2ViS2l0UGx1Z2luUHJvY2Vzc05h
bWUgPSBmaW5kV2ViS2l0UHJvY2VzcyhQTFVHSU5QUk9DRVNTTkFNRSk7CisKKyAgICByZXR1cm4g
d2ViS2l0UGx1Z2luUHJvY2Vzc05hbWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1
bmNoZXJFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9j
ZXNzTGF1bmNoZXJFZmwuY3BwCmluZGV4IDg2ZGRkYmYuLmY1ZWEzZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVu
Y2hlckVmbC5jcHAKQEAgLTIxLDExICsyMSwxMCBAQAogI2luY2x1ZGUgIlByb2Nlc3NMYXVuY2hl
ci5oIgogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlByb2Nlc3NFeGVjdXRh
YmxlUGF0aC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KLSNp
bmNsdWRlIDxsaWJnZW4uaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQ1LDM1
ICs0NCwyMyBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAgaWYg
KCFwaWQpIHsgLy8gY2hpbGQgcHJvY2VzcwogICAgICAgICBjbG9zZShzb2NrZXRzWzFdKTsKICAg
ICAgICAgU3RyaW5nIHNvY2tldCA9IFN0cmluZzo6Zm9ybWF0KCIlZCIsIHNvY2tldHNbMF0pOwot
ICAgICAgICBTdHJpbmcgcHJvY2Vzc05hbWU7CisgICAgICAgIFN0cmluZyBleGVjdXRhYmxlUGF0
aDsKICAgICAgICAgc3dpdGNoIChtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUpIHsKICAgICAg
ICAgY2FzZSBXZWJQcm9jZXNzOgotICAgICAgICAgICAgcHJvY2Vzc05hbWUgPSAiV2ViUHJvY2Vz
cyI7CisgICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IGV4ZWN1dGFibGVQYXRoT2ZXZWJQcm9j
ZXNzKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBQbHVnaW5Qcm9jZXNzOgot
ICAgICAgICAgICAgcHJvY2Vzc05hbWUgPSAiUGx1Z2luUHJvY2VzcyI7CisgICAgICAgICAgICBl
eGVjdXRhYmxlUGF0aCA9IGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzKCk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgU3RyaW5n
IGV4ZWN1dGFibGVQYXRoOwotICAgICAgICBjaGFyIHJlYWRMaW5rQnVmZmVyW1BBVEhfTUFYXTsK
LSAgICAgICAgbWVtc2V0KHJlYWRMaW5rQnVmZmVyLCAwLCBQQVRIX01BWCk7Ci0gICAgICAgIHNz
aXplX3QgcmVzdWx0ID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwgcmVhZExpbmtCdWZmZXIs
IFBBVEhfTUFYKTsKLQotICAgICAgICBpZiAocmVzdWx0ID09IC0xKQotICAgICAgICAgICAgZXhl
Y3V0YWJsZVBhdGggPSBTdHJpbmcoIi91c3IvYmluIik7Ci0gICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgY2hhciogZXhlY3V0YWJsZVBhdGhQdHIgPSBkaXJuYW1lKHJlYWRMaW5rQnVmZmVyKTsK
LSAgICAgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gU3RyaW5nKGV4ZWN1dGFibGVQYXRoUHRyKTsK
LSAgICAgICAgfQotICAgICAgICBTdHJpbmcgZnVsbFBhdGggPSBleGVjdXRhYmxlUGF0aCArICIv
IiArIHByb2Nlc3NOYW1lOwogI2lmbmRlZiBOREVCVUcKICAgICAgICAgaWYgKG1fbGF1bmNoT3B0
aW9ucy5wcm9jZXNzQ21kUHJlZml4LmlzRW1wdHkoKSkKICNlbmRpZgotICAgICAgICAgICAgZXhl
Y2woZnVsbFBhdGgudXRmOCgpLmRhdGEoKSwgcHJvY2Vzc05hbWUudXRmOCgpLmRhdGEoKSwgc29j
a2V0LnV0ZjgoKS5kYXRhKCksIHN0YXRpY19jYXN0PGNoYXIqPigwKSk7CisgICAgICAgICAgICBl
eGVjbChleGVjdXRhYmxlUGF0aC51dGY4KCkuZGF0YSgpLCBleGVjdXRhYmxlUGF0aC51dGY4KCku
ZGF0YSgpLCBzb2NrZXQudXRmOCgpLmRhdGEoKSwgc3RhdGljX2Nhc3Q8Y2hhcio+KDApKTsKICNp
Zm5kZWYgTkRFQlVHCiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgU3RyaW5nIGNtZCA9IG1h
a2VTdHJpbmcobV9sYXVuY2hPcHRpb25zLnByb2Nlc3NDbWRQcmVmaXgsICcgJywgZnVsbFBhdGgs
ICcgJywgc29ja2V0KTsKQEAgLTkyLDcgKzc5LDYgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6Omxh
dW5jaFByb2Nlc3MoKQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KLQogfQogCiB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6dGVybWluYXRlUHJvY2Vz
cygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153754</attachid>
            <date>2012-07-23 01:51:52 -0700</date>
            <delta_ts>2012-07-23 02:50:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7867</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0OTdhMzk0Li4wYTA4ZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDctMjIgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF1bV0syXSBQcm9jZXNzRXhlY3V0YWJsZVBhdGggaXMgcmVxdWlyZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NzE5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZXhlY3V0
YWJsZVBhdGhPZldlYlByb2Nlc3MgYW5kIGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzLgor
ICAgICAgICBJdCdzIHVzZWQgZm9yIGdldHRpbmcgdGhlIGxvY2F0aW9uIG9mIFdlYlByb2Nlc3Mg
YW5kIFBsdWdpblByb2Nlc3MuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZTogQWRkZWQg
TElCRVhFQ0RJUiBkZWZpbml0aW9uCisgICAgICAgICogU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhFZmwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OmZpbmRXZWJLaXRQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhP
ZldlYlByb2Nlc3MpOiBHZXQgdGhlIGFic29sdXRlIHBhdGggb2YgV2ViUHJvY2VzcworICAgICAg
ICAoV2ViS2l0OjpleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vzcyk6IEdldCB0aGUgYWJzb2x1
dGUgcGF0aCBvZiBQbHVnaW5Qcm9jZXNzCisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL2Vm
bC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNo
ZXI6OmxhdW5jaFByb2Nlc3MpOiBNb2RpZmllZCB0byB1c2UgYWJvdmUgcm91dGluZXMKKwogMjAx
Mi0wNy0xOSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBb
UmVmYWN0b3JpbmddIFJlcGxhY2UgTm9kZSdzIERvY3VtZW50IHBvaW50ZXIgd2l0aCBhIFRyZWVT
Y29wZSBwb2ludGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFr
ZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDk3ZjcwOTUuLjIxZDgz
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yNCw2ICsyNCw3IEBAIExJU1QoQVBQ
RU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCiAgICAg
U2hhcmVkL2VmbC9OYXRpdmVXZWJNb3VzZUV2ZW50RWZsLmNwcAorICAgIFNoYXJlZC9lZmwvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcAogICAgIFNoYXJlZC9lZmwvV2ViRXZlbnRGYWN0b3J5
LmNwcAogICAgIFNoYXJlZC9lZmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzRWZsLmNwcAogCkBAIC0y
MTMsNiArMjE0LDkgQEAgU0VUKFRFU1RfUkVTT1VSQ0VTX0RJUiAke1dFQktJVDJfRUZMX1RFU1Rf
RElSfS9yZXNvdXJjZXMpCiBBRERfREVGSU5JVElPTlMoLURURVNUX1JFU09VUkNFU19ESVI9XCIk
e1RFU1RfUkVTT1VSQ0VTX0RJUn1cIgogICAgIC1EVEVTVF9USEVNRV9ESVI9XCIke1RIRU1FX0JJ
TkFSWV9ESVJ9XCIKICAgICAtREdURVNUX0xJTktFRF9BU19TSEFSRURfTElCUkFSWT0xCisgICAg
LURMSUJFWEVDRElSPVwiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtFWEVDX0lOU1RBTExfRElS
fVwiCisgICAgLURXRUJQUk9DRVNTTkFNRT1cIiR7V2ViUHJvY2Vzc19FWEVDVVRBQkxFX05BTUV9
XCIKKyAgICAtRFBMVUdJTlBST0NFU1NOQU1FPVwiJHtQbHVnaW5Qcm9jZXNzX0VYRUNVVEFCTEVf
TkFNRX1cIgogKQogCiBBRERfTElCUkFSWShld2syVW5pdFRlc3RVdGlscwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1N2Q3NzkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5j
cHAKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVs
ZWN0cm9uaWNzCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm9j
ZXNzRXhlY3V0YWJsZVBhdGguaCIKKworI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRl
IDxsaWJnZW4uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5o
PgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBTdHJpbmcgZmluZFdlYktpdFByb2Nlc3MoY29u
c3QgY2hhciogcHJvY2Vzc05hbWUpCit7CisjaWYgT1MoVU5JWCkKKyAgICBjaGFyIHJlYWRMaW5r
QnVmZmVyW1BBVEhfTUFYXSA9IHswfTsKKworI2lmIE9TKExJTlVYKQorICAgIHNzaXplX3QgcmVz
dWx0ID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwgcmVhZExpbmtCdWZmZXIsIFBBVEhfTUFY
KTsKKyNlbHNlCisgICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGluaygiL3Byb2MvY3VycHJvYy9m
aWxlIiwgcmVhZExpbmtCdWZmZXIsIFBBVEhfTUFYKTsKKyNlbmRpZgorICAgIGlmIChyZXN1bHQg
PiAwKSB7CisgICAgICAgIGNoYXIqIGV4ZWN1dGFibGVQYXRoUHRyID0gZGlybmFtZShyZWFkTGlu
a0J1ZmZlcik7CisgICAgICAgIFN0cmluZyBleGVjdXRhYmxlUGF0aCA9IFdlYkNvcmU6OnBhdGhC
eUFwcGVuZGluZ0NvbXBvbmVudChTdHJpbmcoZXhlY3V0YWJsZVBhdGhQdHIpLCBwcm9jZXNzTmFt
ZSk7CisKKyAgICAgICAgLy8gQ2hlY2tzIHdoZXRoZXIgcHJvY2VzcyBleGlzdCBvbiB0aGUgY3Vy
cmVudCBwYXRoLgorICAgICAgICBzdHJ1Y3Qgc3RhdCBmaWxlU3RhdDsKKyAgICAgICAgaWYgKCFz
dGF0KGV4ZWN1dGFibGVQYXRoLnV0ZjgoKS5kYXRhKCksICZmaWxlU3RhdCkpCisgICAgICAgICAg
ICByZXR1cm4gZXhlY3V0YWJsZVBhdGg7CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gV2Vi
Q29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KFN0cmluZyhMSUJFWEVDRElSKSwgcHJvY2Vz
c05hbWUpOworfQorCitTdHJpbmcgZXhlY3V0YWJsZVBhdGhPZldlYlByb2Nlc3MoKQoreworICAg
IHN0YXRpYyBTdHJpbmcgd2ViS2l0V2ViUHJvY2Vzc05hbWU7CisKKyAgICBpZiAod2ViS2l0V2Vi
UHJvY2Vzc05hbWUuaXNOdWxsKCkpCisgICAgICAgIHdlYktpdFdlYlByb2Nlc3NOYW1lID0gZmlu
ZFByb2Nlc3NQYXRoKFdFQlBST0NFU1NOQU1FKTsKKworICAgIHJldHVybiB3ZWJLaXRXZWJQcm9j
ZXNzTmFtZTsKK30KKworU3RyaW5nIGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzKCkKK3sK
KyAgICBzdGF0aWMgU3RyaW5nIHdlYktpdFBsdWdpblByb2Nlc3NOYW1lOworCisgICAgaWYgKHdl
YktpdFBsdWdpblByb2Nlc3NOYW1lLmlzTnVsbCgpKQorICAgICAgICB3ZWJLaXRQbHVnaW5Qcm9j
ZXNzTmFtZSA9IGZpbmRQcm9jZXNzUGF0aChQTFVHSU5QUk9DRVNTTkFNRSk7CisKKyAgICByZXR1
cm4gd2ViS2l0UGx1Z2luUHJvY2Vzc05hbWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNz
TGF1bmNoZXJFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2VmbC9Q
cm9jZXNzTGF1bmNoZXJFZmwuY3BwCmluZGV4IDg2ZGRkYmYuLjIzZDIxMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NM
YXVuY2hlckVmbC5jcHAKQEAgLTIxLDExICsyMSwxMCBAQAogI2luY2x1ZGUgIlByb2Nlc3NMYXVu
Y2hlci5oIgogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIlByb2Nlc3NFeGVj
dXRhYmxlUGF0aC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4K
LSNpbmNsdWRlIDxsaWJnZW4uaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQ1
LDM4ICs0NCwyNiBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAg
aWYgKCFwaWQpIHsgLy8gY2hpbGQgcHJvY2VzcwogICAgICAgICBjbG9zZShzb2NrZXRzWzFdKTsK
ICAgICAgICAgU3RyaW5nIHNvY2tldCA9IFN0cmluZzo6Zm9ybWF0KCIlZCIsIHNvY2tldHNbMF0p
OwotICAgICAgICBTdHJpbmcgcHJvY2Vzc05hbWU7CisgICAgICAgIFN0cmluZyBleGVjdXRhYmxl
UGF0aDsKICAgICAgICAgc3dpdGNoIChtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUpIHsKICAg
ICAgICAgY2FzZSBXZWJQcm9jZXNzOgotICAgICAgICAgICAgcHJvY2Vzc05hbWUgPSAiV2ViUHJv
Y2VzcyI7CisgICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IGV4ZWN1dGFibGVQYXRoT2ZXZWJQ
cm9jZXNzKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBQbHVnaW5Qcm9jZXNz
OgotICAgICAgICAgICAgcHJvY2Vzc05hbWUgPSAiUGx1Z2luUHJvY2VzcyI7CisgICAgICAgICAg
ICBleGVjdXRhYmxlUGF0aCA9IGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzKCk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgU3Ry
aW5nIGV4ZWN1dGFibGVQYXRoOwotICAgICAgICBjaGFyIHJlYWRMaW5rQnVmZmVyW1BBVEhfTUFY
XTsKLSAgICAgICAgbWVtc2V0KHJlYWRMaW5rQnVmZmVyLCAwLCBQQVRIX01BWCk7Ci0gICAgICAg
IHNzaXplX3QgcmVzdWx0ID0gcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIiwgcmVhZExpbmtCdWZm
ZXIsIFBBVEhfTUFYKTsKLQotICAgICAgICBpZiAocmVzdWx0ID09IC0xKQotICAgICAgICAgICAg
ZXhlY3V0YWJsZVBhdGggPSBTdHJpbmcoIi91c3IvYmluIik7Ci0gICAgICAgIGVsc2UgewotICAg
ICAgICAgICAgY2hhciogZXhlY3V0YWJsZVBhdGhQdHIgPSBkaXJuYW1lKHJlYWRMaW5rQnVmZmVy
KTsKLSAgICAgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gU3RyaW5nKGV4ZWN1dGFibGVQYXRoUHRy
KTsKLSAgICAgICAgfQotICAgICAgICBTdHJpbmcgZnVsbFBhdGggPSBleGVjdXRhYmxlUGF0aCAr
ICIvIiArIHByb2Nlc3NOYW1lOwogI2lmbmRlZiBOREVCVUcKICAgICAgICAgaWYgKG1fbGF1bmNo
T3B0aW9ucy5wcm9jZXNzQ21kUHJlZml4LmlzRW1wdHkoKSkKICNlbmRpZgotICAgICAgICAgICAg
ZXhlY2woZnVsbFBhdGgudXRmOCgpLmRhdGEoKSwgcHJvY2Vzc05hbWUudXRmOCgpLmRhdGEoKSwg
c29ja2V0LnV0ZjgoKS5kYXRhKCksIHN0YXRpY19jYXN0PGNoYXIqPigwKSk7CisgICAgICAgICAg
ICBleGVjbChleGVjdXRhYmxlUGF0aC51dGY4KCkuZGF0YSgpLCBleGVjdXRhYmxlUGF0aC51dGY4
KCkuZGF0YSgpLCBzb2NrZXQudXRmOCgpLmRhdGEoKSwgc3RhdGljX2Nhc3Q8Y2hhcio+KDApKTsK
ICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgU3RyaW5nIGNtZCA9
IG1ha2VTdHJpbmcobV9sYXVuY2hPcHRpb25zLnByb2Nlc3NDbWRQcmVmaXgsICcgJywgZnVsbFBh
dGgsICcgJywgc29ja2V0KTsKKyAgICAgICAgICAgIFN0cmluZyBjbWQgPSBtYWtlU3RyaW5nKG1f
bGF1bmNoT3B0aW9ucy5wcm9jZXNzQ21kUHJlZml4LCAnICcsIGV4ZWN1dGFibGVQYXRoLCAnICcs
IHNvY2tldCk7CiAgICAgICAgICAgICBpZiAoc3lzdGVtKGNtZC51dGY4KCkuZGF0YSgpKSA9PSAt
MSkgewogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAg
ICAgIHJldHVybjsKQEAgLTkyLDcgKzc5LDYgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5j
aFByb2Nlc3MoKQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KLQogfQogCiB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6dGVybWluYXRlUHJvY2Vzcygp
Cg==
</data>
<flag name="commit-queue"
          id="162793"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153762</attachid>
            <date>2012-07-23 02:50:35 -0700</date>
            <delta_ts>2012-07-23 02:58:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7788</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0OTdhMzk0Li4wYTA4ZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDctMjIgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF1bV0syXSBQcm9jZXNzRXhlY3V0YWJsZVBhdGggaXMgcmVxdWlyZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NzE5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZXhlY3V0
YWJsZVBhdGhPZldlYlByb2Nlc3MgYW5kIGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzLgor
ICAgICAgICBJdCdzIHVzZWQgZm9yIGdldHRpbmcgdGhlIGxvY2F0aW9uIG9mIFdlYlByb2Nlc3Mg
YW5kIFBsdWdpblByb2Nlc3MuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZTogQWRkZWQg
TElCRVhFQ0RJUiBkZWZpbml0aW9uCisgICAgICAgICogU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhFZmwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OmZpbmRXZWJLaXRQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhP
ZldlYlByb2Nlc3MpOiBHZXQgdGhlIGFic29sdXRlIHBhdGggb2YgV2ViUHJvY2VzcworICAgICAg
ICAoV2ViS2l0OjpleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vzcyk6IEdldCB0aGUgYWJzb2x1
dGUgcGF0aCBvZiBQbHVnaW5Qcm9jZXNzCisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL2Vm
bC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNo
ZXI6OmxhdW5jaFByb2Nlc3MpOiBNb2RpZmllZCB0byB1c2UgYWJvdmUgcm91dGluZXMKKwogMjAx
Mi0wNy0xOSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBb
UmVmYWN0b3JpbmddIFJlcGxhY2UgTm9kZSdzIERvY3VtZW50IHBvaW50ZXIgd2l0aCBhIFRyZWVT
Y29wZSBwb2ludGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFr
ZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDk3ZjcwOTUuLjIxZDgz
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yNCw2ICsyNCw3IEBAIExJU1QoQVBQ
RU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCiAgICAg
U2hhcmVkL2VmbC9OYXRpdmVXZWJNb3VzZUV2ZW50RWZsLmNwcAorICAgIFNoYXJlZC9lZmwvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcAogICAgIFNoYXJlZC9lZmwvV2ViRXZlbnRGYWN0b3J5
LmNwcAogICAgIFNoYXJlZC9lZmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzRWZsLmNwcAogCkBAIC0y
MTMsNiArMjE0LDkgQEAgU0VUKFRFU1RfUkVTT1VSQ0VTX0RJUiAke1dFQktJVDJfRUZMX1RFU1Rf
RElSfS9yZXNvdXJjZXMpCiBBRERfREVGSU5JVElPTlMoLURURVNUX1JFU09VUkNFU19ESVI9XCIk
e1RFU1RfUkVTT1VSQ0VTX0RJUn1cIgogICAgIC1EVEVTVF9USEVNRV9ESVI9XCIke1RIRU1FX0JJ
TkFSWV9ESVJ9XCIKICAgICAtREdURVNUX0xJTktFRF9BU19TSEFSRURfTElCUkFSWT0xCisgICAg
LURMSUJFWEVDRElSPVwiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtFWEVDX0lOU1RBTExfRElS
fVwiCisgICAgLURXRUJQUk9DRVNTTkFNRT1cIiR7V2ViUHJvY2Vzc19FWEVDVVRBQkxFX05BTUV9
XCIKKyAgICAtRFBMVUdJTlBST0NFU1NOQU1FPVwiJHtQbHVnaW5Qcm9jZXNzX0VYRUNVVEFCTEVf
TkFNRX1cIgogKQogCiBBRERfTElCUkFSWShld2syVW5pdFRlc3RVdGlscwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZGUzNTUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5j
cHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVs
ZWN0cm9uaWNzCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm9j
ZXNzRXhlY3V0YWJsZVBhdGguaCIKKworI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRl
IDxsaWJnZW4uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5o
PgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0
aWMgU3RyaW5nIGZpbmRQcm9jZXNzUGF0aChjb25zdCBjaGFyKiBwcm9jZXNzTmFtZSkKK3sKKyNp
ZiBPUyhVTklYKQorICAgIGNoYXIgcmVhZExpbmtCdWZmZXJbUEFUSF9NQVhdID0gezB9OworCisj
aWYgT1MoTElOVVgpCisgICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGluaygiL3Byb2Mvc2VsZi9l
eGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworI2Vsc2UKKyAgICBzc2l6ZV90IHJlc3Vs
dCA9IHJlYWRsaW5rKCIvcHJvYy9jdXJwcm9jL2ZpbGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9N
QVgpOworI2VuZGlmCisgICAgaWYgKHJlc3VsdCA+IDApIHsKKyAgICAgICAgY2hhciogZXhlY3V0
YWJsZVBhdGhQdHIgPSBkaXJuYW1lKHJlYWRMaW5rQnVmZmVyKTsKKyAgICAgICAgU3RyaW5nIGV4
ZWN1dGFibGVQYXRoID0gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KFN0cmluZyhl
eGVjdXRhYmxlUGF0aFB0ciksIHByb2Nlc3NOYW1lKTsKKworICAgICAgICAvLyBDaGVja3Mgd2hl
dGhlciBwcm9jZXNzIGV4aXN0IG9uIHRoZSBjdXJyZW50IHBhdGguCisgICAgICAgIHN0cnVjdCBz
dGF0IGZpbGVTdGF0OworICAgICAgICBpZiAoIXN0YXQoZXhlY3V0YWJsZVBhdGgudXRmOCgpLmRh
dGEoKSwgJmZpbGVTdGF0KSkKKyAgICAgICAgICAgIHJldHVybiBleGVjdXRhYmxlUGF0aDsKKyAg
ICB9CisjZW5kaWYKKworICAgIHJldHVybiBXZWJDb3JlOjpwYXRoQnlBcHBlbmRpbmdDb21wb25l
bnQoU3RyaW5nKExJQkVYRUNESVIpLCBwcm9jZXNzTmFtZSk7Cit9CisKK1N0cmluZyBleGVjdXRh
YmxlUGF0aE9mV2ViUHJvY2VzcygpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBT
dHJpbmcsIHdlYktpdFdlYlByb2Nlc3NOYW1lLCAoZmluZFByb2Nlc3NQYXRoKFdFQlBST0NFU1NO
QU1FKSkpOworCisgICAgcmV0dXJuIHdlYktpdFdlYlByb2Nlc3NOYW1lOworfQorCitTdHJpbmcg
ZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKQoreworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCB3ZWJLaXRQbHVnaW5Qcm9jZXNzTmFtZSwgKGZpbmRQcm9jZXNzUGF0
aChQTFVHSU5QUk9DRVNTTkFNRSkpKTsKKworICAgIHJldHVybiB3ZWJLaXRQbHVnaW5Qcm9jZXNz
TmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAK
aW5kZXggODZkZGRiZi4uMjNkMjEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcApAQCAtMjEs
MTEgKzIxLDEwIEBACiAjaW5jbHVkZSAiUHJvY2Vzc0xhdW5jaGVyLmgiCiAKICNpbmNsdWRlICJD
b25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUHJvY2Vzc0V4ZWN1dGFibGVQYXRoLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRs
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgotI2luY2x1ZGUgPGxpYmdlbi5oPgot
I2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDUsMzggKzQ0LDI2IEBAIHZvaWQgUHJv
Y2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAgICBpZiAoIXBpZCkgeyAvLyBjaGlsZCBw
cm9jZXNzCiAgICAgICAgIGNsb3NlKHNvY2tldHNbMV0pOwogICAgICAgICBTdHJpbmcgc29ja2V0
ID0gU3RyaW5nOjpmb3JtYXQoIiVkIiwgc29ja2V0c1swXSk7Ci0gICAgICAgIFN0cmluZyBwcm9j
ZXNzTmFtZTsKKyAgICAgICAgU3RyaW5nIGV4ZWN1dGFibGVQYXRoOwogICAgICAgICBzd2l0Y2gg
KG1fbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSkgewogICAgICAgICBjYXNlIFdlYlByb2Nlc3M6
Ci0gICAgICAgICAgICBwcm9jZXNzTmFtZSA9ICJXZWJQcm9jZXNzIjsKKyAgICAgICAgICAgIGV4
ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJsZVBhdGhPZldlYlByb2Nlc3MoKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIFBsdWdpblByb2Nlc3M6Ci0gICAgICAgICAgICBwcm9jZXNz
TmFtZSA9ICJQbHVnaW5Qcm9jZXNzIjsKKyAgICAgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gZXhl
Y3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBkZWZhdWx0OgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBTdHJpbmcgZXhlY3V0YWJsZVBhdGg7Ci0g
ICAgICAgIGNoYXIgcmVhZExpbmtCdWZmZXJbUEFUSF9NQVhdOwotICAgICAgICBtZW1zZXQocmVh
ZExpbmtCdWZmZXIsIDAsIFBBVEhfTUFYKTsKLSAgICAgICAgc3NpemVfdCByZXN1bHQgPSByZWFk
bGluaygiL3Byb2Mvc2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOwotCi0gICAg
ICAgIGlmIChyZXN1bHQgPT0gLTEpCi0gICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IFN0cmlu
ZygiL3Vzci9iaW4iKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBjaGFyKiBleGVjdXRh
YmxlUGF0aFB0ciA9IGRpcm5hbWUocmVhZExpbmtCdWZmZXIpOwotICAgICAgICAgICAgZXhlY3V0
YWJsZVBhdGggPSBTdHJpbmcoZXhlY3V0YWJsZVBhdGhQdHIpOwotICAgICAgICB9Ci0gICAgICAg
IFN0cmluZyBmdWxsUGF0aCA9IGV4ZWN1dGFibGVQYXRoICsgIi8iICsgcHJvY2Vzc05hbWU7CiAj
aWZuZGVmIE5ERUJVRwogICAgICAgICBpZiAobV9sYXVuY2hPcHRpb25zLnByb2Nlc3NDbWRQcmVm
aXguaXNFbXB0eSgpKQogI2VuZGlmCi0gICAgICAgICAgICBleGVjbChmdWxsUGF0aC51dGY4KCku
ZGF0YSgpLCBwcm9jZXNzTmFtZS51dGY4KCkuZGF0YSgpLCBzb2NrZXQudXRmOCgpLmRhdGEoKSwg
c3RhdGljX2Nhc3Q8Y2hhcio+KDApKTsKKyAgICAgICAgICAgIGV4ZWNsKGV4ZWN1dGFibGVQYXRo
LnV0ZjgoKS5kYXRhKCksIGV4ZWN1dGFibGVQYXRoLnV0ZjgoKS5kYXRhKCksIHNvY2tldC51dGY4
KCkuZGF0YSgpLCBzdGF0aWNfY2FzdDxjaGFyKj4oMCkpOwogI2lmbmRlZiBOREVCVUcKICAgICAg
ICAgZWxzZSB7Ci0gICAgICAgICAgICBTdHJpbmcgY21kID0gbWFrZVN0cmluZyhtX2xhdW5jaE9w
dGlvbnMucHJvY2Vzc0NtZFByZWZpeCwgJyAnLCBmdWxsUGF0aCwgJyAnLCBzb2NrZXQpOworICAg
ICAgICAgICAgU3RyaW5nIGNtZCA9IG1ha2VTdHJpbmcobV9sYXVuY2hPcHRpb25zLnByb2Nlc3ND
bWRQcmVmaXgsICcgJywgZXhlY3V0YWJsZVBhdGgsICcgJywgc29ja2V0KTsKICAgICAgICAgICAg
IGlmIChzeXN0ZW0oY21kLnV0ZjgoKS5kYXRhKCkpID09IC0xKSB7CiAgICAgICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtOTIsNyAr
NzksNiBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCiB9CiAKIHZvaWQg
UHJvY2Vzc0xhdW5jaGVyOjp0ZXJtaW5hdGVQcm9jZXNzKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153764</attachid>
            <date>2012-07-23 02:58:02 -0700</date>
            <delta_ts>2012-07-23 04:37:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7788</size>
            <attacher name="KwangYong Choi">ky0.choi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0OTdhMzk0Li4wYTA4ZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDctMjIgIEt3YW5nWW9uZyBDaG9pICA8a3kwLmNob2lAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF1bV0syXSBQcm9jZXNzRXhlY3V0YWJsZVBhdGggaXMgcmVxdWlyZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5NzE5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZXhlY3V0
YWJsZVBhdGhPZldlYlByb2Nlc3MgYW5kIGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzLgor
ICAgICAgICBJdCdzIHVzZWQgZm9yIGdldHRpbmcgdGhlIGxvY2F0aW9uIG9mIFdlYlByb2Nlc3Mg
YW5kIFBsdWdpblByb2Nlc3MuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZTogQWRkZWQg
TElCRVhFQ0RJUiBkZWZpbml0aW9uCisgICAgICAgICogU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhFZmwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OmZpbmRXZWJLaXRQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhP
ZldlYlByb2Nlc3MpOiBHZXQgdGhlIGFic29sdXRlIHBhdGggb2YgV2ViUHJvY2VzcworICAgICAg
ICAoV2ViS2l0OjpleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vzcyk6IEdldCB0aGUgYWJzb2x1
dGUgcGF0aCBvZiBQbHVnaW5Qcm9jZXNzCisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL2Vm
bC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNo
ZXI6OmxhdW5jaFByb2Nlc3MpOiBNb2RpZmllZCB0byB1c2UgYWJvdmUgcm91dGluZXMKKwogMjAx
Mi0wNy0xOSAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBb
UmVmYWN0b3JpbmddIFJlcGxhY2UgTm9kZSdzIERvY3VtZW50IHBvaW50ZXIgd2l0aCBhIFRyZWVT
Y29wZSBwb2ludGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFr
ZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDk3ZjcwOTUuLjIxZDgz
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0yNCw2ICsyNCw3IEBAIExJU1QoQVBQ
RU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dEVmbC5jcHAKICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCiAgICAg
U2hhcmVkL2VmbC9OYXRpdmVXZWJNb3VzZUV2ZW50RWZsLmNwcAorICAgIFNoYXJlZC9lZmwvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcAogICAgIFNoYXJlZC9lZmwvV2ViRXZlbnRGYWN0b3J5
LmNwcAogICAgIFNoYXJlZC9lZmwvV2ViQ29yZUFyZ3VtZW50Q29kZXJzRWZsLmNwcAogCkBAIC0y
MTMsNiArMjE0LDkgQEAgU0VUKFRFU1RfUkVTT1VSQ0VTX0RJUiAke1dFQktJVDJfRUZMX1RFU1Rf
RElSfS9yZXNvdXJjZXMpCiBBRERfREVGSU5JVElPTlMoLURURVNUX1JFU09VUkNFU19ESVI9XCIk
e1RFU1RfUkVTT1VSQ0VTX0RJUn1cIgogICAgIC1EVEVTVF9USEVNRV9ESVI9XCIke1RIRU1FX0JJ
TkFSWV9ESVJ9XCIKICAgICAtREdURVNUX0xJTktFRF9BU19TSEFSRURfTElCUkFSWT0xCisgICAg
LURMSUJFWEVDRElSPVwiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtFWEVDX0lOU1RBTExfRElS
fVwiCisgICAgLURXRUJQUk9DRVNTTkFNRT1cIiR7V2ViUHJvY2Vzc19FWEVDVVRBQkxFX05BTUV9
XCIKKyAgICAtRFBMVUdJTlBST0NFU1NOQU1FPVwiJHtQbHVnaW5Qcm9jZXNzX0VYRUNVVEFCTEVf
TkFNRX1cIgogKQogCiBBRERfTElCUkFSWShld2syVW5pdFRlc3RVdGlscwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxOGFiMmEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5j
cHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVs
ZWN0cm9uaWNzCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm9j
ZXNzRXhlY3V0YWJsZVBhdGguaCIKKworI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRl
IDxsaWJnZW4uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5o
PgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0
aWMgU3RyaW5nIGZpbmRQcm9jZXNzUGF0aChjb25zdCBjaGFyKiBwcm9jZXNzTmFtZSkKK3sKKyNp
ZiBPUyhVTklYKQorICAgIGNoYXIgcmVhZExpbmtCdWZmZXJbUEFUSF9NQVhdID0gezB9OworCisj
aWYgT1MoTElOVVgpCisgICAgc3NpemVfdCByZXN1bHQgPSByZWFkbGluaygiL3Byb2Mvc2VsZi9l
eGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOworI2Vsc2UKKyAgICBzc2l6ZV90IHJlc3Vs
dCA9IHJlYWRsaW5rKCIvcHJvYy9jdXJwcm9jL2ZpbGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9N
QVgpOworI2VuZGlmCisgICAgaWYgKHJlc3VsdCA+IDApIHsKKyAgICAgICAgY2hhciogZXhlY3V0
YWJsZVBhdGhQdHIgPSBkaXJuYW1lKHJlYWRMaW5rQnVmZmVyKTsKKyAgICAgICAgU3RyaW5nIGV4
ZWN1dGFibGVQYXRoID0gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KFN0cmluZyhl
eGVjdXRhYmxlUGF0aFB0ciksIHByb2Nlc3NOYW1lKTsKKworICAgICAgICAvLyBDaGVja3Mgd2hl
dGhlciBwcm9jZXNzIGV4aXN0IG9uIHRoZSBjdXJyZW50IHBhdGguCisgICAgICAgIHN0cnVjdCBz
dGF0IGZpbGVTdGF0OworICAgICAgICBpZiAoIXN0YXQoZXhlY3V0YWJsZVBhdGgudXRmOCgpLmRh
dGEoKSwgJmZpbGVTdGF0KSkKKyAgICAgICAgICAgIHJldHVybiBleGVjdXRhYmxlUGF0aDsKKyAg
ICB9CisjZW5kaWYKKworICAgIHJldHVybiBXZWJDb3JlOjpwYXRoQnlBcHBlbmRpbmdDb21wb25l
bnQoU3RyaW5nKExJQkVYRUNESVIpLCBwcm9jZXNzTmFtZSk7Cit9CisKK1N0cmluZyBleGVjdXRh
YmxlUGF0aE9mV2ViUHJvY2VzcygpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBT
dHJpbmcsIHdlYktpdFdlYlByb2Nlc3NOYW1lLCAoZmluZFByb2Nlc3NQYXRoKFdFQlBST0NFU1NO
QU1FKSkpOworCisgICAgcmV0dXJuIHdlYktpdFdlYlByb2Nlc3NOYW1lOworfQorCitTdHJpbmcg
ZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKQoreworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoY29uc3QgU3RyaW5nLCB3ZWJLaXRQbHVnaW5Qcm9jZXNzTmFtZSwgKGZpbmRQcm9jZXNzUGF0
aChQTFVHSU5QUk9DRVNTTkFNRSkpKTsKKworICAgIHJldHVybiB3ZWJLaXRQbHVnaW5Qcm9jZXNz
TmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAK
aW5kZXggODZkZGRiZi4uMjNkMjEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcApAQCAtMjEs
MTEgKzIxLDEwIEBACiAjaW5jbHVkZSAiUHJvY2Vzc0xhdW5jaGVyLmgiCiAKICNpbmNsdWRlICJD
b25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUHJvY2Vzc0V4ZWN1dGFibGVQYXRoLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRs
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUnVuTG9vcC5oPgotI2luY2x1ZGUgPGxpYmdlbi5oPgot
I2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDUsMzggKzQ0LDI2IEBAIHZvaWQgUHJv
Y2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAgICBpZiAoIXBpZCkgeyAvLyBjaGlsZCBw
cm9jZXNzCiAgICAgICAgIGNsb3NlKHNvY2tldHNbMV0pOwogICAgICAgICBTdHJpbmcgc29ja2V0
ID0gU3RyaW5nOjpmb3JtYXQoIiVkIiwgc29ja2V0c1swXSk7Ci0gICAgICAgIFN0cmluZyBwcm9j
ZXNzTmFtZTsKKyAgICAgICAgU3RyaW5nIGV4ZWN1dGFibGVQYXRoOwogICAgICAgICBzd2l0Y2gg
KG1fbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSkgewogICAgICAgICBjYXNlIFdlYlByb2Nlc3M6
Ci0gICAgICAgICAgICBwcm9jZXNzTmFtZSA9ICJXZWJQcm9jZXNzIjsKKyAgICAgICAgICAgIGV4
ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJsZVBhdGhPZldlYlByb2Nlc3MoKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIFBsdWdpblByb2Nlc3M6Ci0gICAgICAgICAgICBwcm9jZXNz
TmFtZSA9ICJQbHVnaW5Qcm9jZXNzIjsKKyAgICAgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gZXhl
Y3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBkZWZhdWx0OgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBTdHJpbmcgZXhlY3V0YWJsZVBhdGg7Ci0g
ICAgICAgIGNoYXIgcmVhZExpbmtCdWZmZXJbUEFUSF9NQVhdOwotICAgICAgICBtZW1zZXQocmVh
ZExpbmtCdWZmZXIsIDAsIFBBVEhfTUFYKTsKLSAgICAgICAgc3NpemVfdCByZXN1bHQgPSByZWFk
bGluaygiL3Byb2Mvc2VsZi9leGUiLCByZWFkTGlua0J1ZmZlciwgUEFUSF9NQVgpOwotCi0gICAg
ICAgIGlmIChyZXN1bHQgPT0gLTEpCi0gICAgICAgICAgICBleGVjdXRhYmxlUGF0aCA9IFN0cmlu
ZygiL3Vzci9iaW4iKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBjaGFyKiBleGVjdXRh
YmxlUGF0aFB0ciA9IGRpcm5hbWUocmVhZExpbmtCdWZmZXIpOwotICAgICAgICAgICAgZXhlY3V0
YWJsZVBhdGggPSBTdHJpbmcoZXhlY3V0YWJsZVBhdGhQdHIpOwotICAgICAgICB9Ci0gICAgICAg
IFN0cmluZyBmdWxsUGF0aCA9IGV4ZWN1dGFibGVQYXRoICsgIi8iICsgcHJvY2Vzc05hbWU7CiAj
aWZuZGVmIE5ERUJVRwogICAgICAgICBpZiAobV9sYXVuY2hPcHRpb25zLnByb2Nlc3NDbWRQcmVm
aXguaXNFbXB0eSgpKQogI2VuZGlmCi0gICAgICAgICAgICBleGVjbChmdWxsUGF0aC51dGY4KCku
ZGF0YSgpLCBwcm9jZXNzTmFtZS51dGY4KCkuZGF0YSgpLCBzb2NrZXQudXRmOCgpLmRhdGEoKSwg
c3RhdGljX2Nhc3Q8Y2hhcio+KDApKTsKKyAgICAgICAgICAgIGV4ZWNsKGV4ZWN1dGFibGVQYXRo
LnV0ZjgoKS5kYXRhKCksIGV4ZWN1dGFibGVQYXRoLnV0ZjgoKS5kYXRhKCksIHNvY2tldC51dGY4
KCkuZGF0YSgpLCBzdGF0aWNfY2FzdDxjaGFyKj4oMCkpOwogI2lmbmRlZiBOREVCVUcKICAgICAg
ICAgZWxzZSB7Ci0gICAgICAgICAgICBTdHJpbmcgY21kID0gbWFrZVN0cmluZyhtX2xhdW5jaE9w
dGlvbnMucHJvY2Vzc0NtZFByZWZpeCwgJyAnLCBmdWxsUGF0aCwgJyAnLCBzb2NrZXQpOworICAg
ICAgICAgICAgU3RyaW5nIGNtZCA9IG1ha2VTdHJpbmcobV9sYXVuY2hPcHRpb25zLnByb2Nlc3ND
bWRQcmVmaXgsICcgJywgZXhlY3V0YWJsZVBhdGgsICcgJywgc29ja2V0KTsKICAgICAgICAgICAg
IGlmIChzeXN0ZW0oY21kLnV0ZjgoKS5kYXRhKCkpID09IC0xKSB7CiAgICAgICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtOTIsNyAr
NzksNiBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCiB9CiAKIHZvaWQg
UHJvY2Vzc0xhdW5jaGVyOjp0ZXJtaW5hdGVQcm9jZXNzKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>