<?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>151085</bug_id>
          
          <creation_ts>2015-11-10 00:59:18 -0800</creation_ts>
          <short_desc>Print result of memory sampler more readable</short_desc>
          <delta_ts>2015-11-11 21:48:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140714</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-11-10 00:59:18 -0800</bug_when>
    <thetext>Current memory sampler prints result of memory sample horizontally. It makes us hard to read the result at a glance. To improve readability of the memory sampler result, this patch prints it vertically.


= Print result now =

Process: WebProcess Pid: 18681                                                                                                                                                           
        Timestamp       Total Program Size      RSS     Shared  Text    Library Data/Stack      Dirty   JavaScript Heap In Use  JavaScript Heap Commited Memory JavaScript Stack Bytes  JavaScript JIT Bytes    Total Memory In Use     Total Committed Memory  System Total Bytes      Available Bytes Shared Bytes    Buffer Bytes    Total Swap Bytes        Available Swap Bytes
                1447145886      774583  36266   20133   1       0       666682  0       1163112 3840880 5264    585728  1754104 4431872 16731484160     5025890304      99672064        571256832       7999995904      7999995904
                1447145887      778861  40865   20322   1       0       670960  0       8074138 10167970        5264    1314816 9394218 11488050        16731484160     5011161088      99790848        571265024       7999995904      7999995904



= Print result after landing this patch =

Process: WebProcess Pid 16972

        Timestamp                          1447145164
        Total Program Size                 778988
        RSS                                40010
        Shared                             20312
        Text                               1
        Library                            0
        Data/Stack                         671087
        Dirty                              0
        JavaScript Heap In Use             4152244
        JavaScript Heap Commited Memory    7884228
        JavaScript Stack Bytes             4288
        JavaScript JIT Bytes               1269760
        Total Memory In Use                5426292
        Total Committed Memory             9158276
        System Total Bytes                 16731484160
        Available Bytes                    5091196928
        Shared Bytes                       98856960
        Buffer Bytes                       569925632
        Total Swap Bytes                   7999995904
        Available Swap Bytes               7999995904</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140716</commentid>
    <comment_count>1</comment_count>
      <attachid>265154</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-11-10 01:00:56 -0800</bug_when>
    <thetext>Created attachment 265154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140718</commentid>
    <comment_count>2</comment_count>
      <attachid>265156</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-11-10 01:05:00 -0800</bug_when>
    <thetext>Created attachment 265156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140801</commentid>
    <comment_count>3</comment_count>
      <attachid>265156</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-11-10 09:23:39 -0800</bug_when>
    <thetext>Comment on attachment 265156
Patch

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

&gt; Source/WebKit2/Shared/WebMemorySampler.cpp:171
&gt; +            statString.append(String::format(&quot;%-35s&quot;, memoryStats.keys[i].utf8().data()));

Sure would be nice to do this without String::format. We really want to get rid of it entirely because of the performance and security problems with it. I think we could write something that does the padding a different way:

    appendSpaces(statString, 35 - memoryStats.keys[i].length());
    statString.append(memoryStats.keys[i]);

Then we just have to write that helper function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141028</commentid>
    <comment_count>4</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-11-10 18:53:33 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 265156 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=265156&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/WebMemorySampler.cpp:171
&gt; &gt; +            statString.append(String::format(&quot;%-35s&quot;, memoryStats.keys[i].utf8().data()));
&gt; 
&gt; Sure would be nice to do this without String::format. We really want to get
&gt; rid of it entirely because of the performance and security problems with it.
&gt; I think we could write something that does the padding a different way:
&gt; 
&gt;     appendSpaces(statString, 35 - memoryStats.keys[i].length());
&gt;     statString.append(memoryStats.keys[i]);
&gt; 
&gt; Then we just have to write that helper function.


Below appendSpaces() works well. However I think we can write this function with better method. Any suggestion ? 

static const char space = &apos; &apos;;
static void appendSpaces(StringBuilder&amp; key, const int spaceCount)
{
    for (int i = 0; i &lt; spaceCount; ++i)
        key.append(space);
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141053</commentid>
    <comment_count>5</comment_count>
      <attachid>265265</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-11-10 20:53:04 -0800</bug_when>
    <thetext>Created attachment 265265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141055</commentid>
    <comment_count>6</comment_count>
      <attachid>265267</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-11-10 20:55:43 -0800</bug_when>
    <thetext>Created attachment 265267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141113</commentid>
    <comment_count>7</comment_count>
      <attachid>265267</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-11-11 08:30:39 -0800</bug_when>
    <thetext>Comment on attachment 265267
Patch

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

&gt; Source/WebKit2/Shared/WebMemorySampler.cpp:42
&gt; +static void appendSpaces(StringBuilder&amp; string, const int count)

No reason for the &quot;const&quot; in &quot;const int&quot;.

&gt; Source/WebKit2/Shared/WebMemorySampler.cpp:44
&gt; +    char space[] = &quot; &quot;;

No reason to use a string literal instead of a single character.

&gt; Source/WebKit2/Shared/WebMemorySampler.cpp:46
&gt; +        string.appendLiteral(space);

Could be:

    string.append(&apos; &apos;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141306</commentid>
    <comment_count>8</comment_count>
      <attachid>265340</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-11-11 17:17:16 -0800</bug_when>
    <thetext>Created attachment 265340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141358</commentid>
    <comment_count>9</comment_count>
      <attachid>265356</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-11-11 20:29:42 -0800</bug_when>
    <thetext>Created attachment 265356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141377</commentid>
    <comment_count>10</comment_count>
      <attachid>265356</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-11 21:48:19 -0800</bug_when>
    <thetext>Comment on attachment 265356
Patch

Clearing flags on attachment: 265356

Committed r192349: &lt;http://trac.webkit.org/changeset/192349&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141378</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-11 21:48:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265154</attachid>
            <date>2015-11-10 01:00:56 -0800</date>
            <delta_ts>2015-11-10 01:04:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151085-20151110180052.patch</filename>
            <type>text/plain</type>
            <size>2412</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWIxYTI5NmUxZjQ2ZDgz
ZjEwOWY0NjE4NmM0OWM5ZWMxYzhlZTkxNC4uZjM0MTIxNjJmN2I5NDBmYjJiZWVmZjNlNzlkMzNk
ZTVmYTUzZTFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTEwICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIHJlc3Vs
dCBvZiBtZW1vcnkgc2FtcGxlciBtb3JlIHJlYWRhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50IG1lbW9yeSBzYW1wbGVyIHByaW50cyBy
ZXN1bHQgb2YgbWVtb3J5IHNhbXBsZSBob3Jpem9udGFsbHkuIEl0IG1ha2VzIHVzIGhhcmQgdG8g
cmVhZAorICAgICAgICB0aGUgcmVzdWx0IGF0IGEgZ2xhbmNlLiBUbyBpbXByb3ZlIHJlYWRhYmls
aXR5IG9mIHRoZSBtZW1vcnkgc2FtcGxlciByZXN1bHQsIHRoaXMgcGF0Y2ggcHJpbnRzIGl0Cisg
ICAgICAgIHZlcnRpY2FsbHkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OmFwcGVuZEN1cnJlbnRNZW1v
cnlVc2FnZVRvRmlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lbW9yeVNhbXBsZXI6OndyaXRl
SGVhZGVycyk6CisKIDIwMTUtMTEtMDkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIENNYWtlIGJ1aWxkZml4IGFmdGVyIHIxOTIxMTMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKaW5kZXggMDZlYTRh
NDRkMWIyMjhlMjMzMGRiNzNjYTQ0NWUyODM2OGEyNjgxYi4uMGRiNWUzMWE3NWY1NWExODliZDFh
NmRlNTBmZTdhYWM1NWZlMmNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
Yk1lbW9yeVNhbXBsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlT
YW1wbGVyLmNwcApAQCAtMTQxLDE4ICsxNDEsNiBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6Ondy
aXRlSGVhZGVycygpCiAKICAgICBDU3RyaW5nIHV0ZjhTdHJpbmcgPSBwcm9jZXNzRGV0YWlscy51
dGY4KCk7CiAgICAgd3JpdGVUb0ZpbGUobV9zYW1wbGVMb2dGaWxlLCB1dGY4U3RyaW5nLmRhdGEo
KSwgdXRmOFN0cmluZy5sZW5ndGgoKSk7Ci0gICAgCi0gICAgU3RyaW5nQnVpbGRlciBoZWFkZXI7
IAotICAgIFdlYk1lbW9yeVN0YXRpc3RpY3Mgc3RhdHMgPSBzYW1wbGVXZWJLaXQoKTsKLSAgICBp
ZiAoIXN0YXRzLmtleXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgc3RhdHMua2V5cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaGVhZGVyLmFwcGVuZChz
ZXBhcmF0b3IpOwotICAgICAgICAgICAgaGVhZGVyLmFwcGVuZChzdGF0cy5rZXlzW2ldKTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICBoZWFkZXIuYXBwZW5kKCdcbicpOwotICAgIHV0ZjhTdHJpbmcg
PSBoZWFkZXIudG9TdHJpbmcoKS51dGY4KCk7Ci0gICAgd3JpdGVUb0ZpbGUobV9zYW1wbGVMb2dG
aWxlLCB1dGY4U3RyaW5nLmRhdGEoKSwgdXRmOFN0cmluZy5sZW5ndGgoKSk7CiB9CiAKIHZvaWQg
V2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZCgpCkBAIC0xNzgsNyArMTY2LDkgQEAg
dm9pZCBXZWJNZW1vcnlTYW1wbGVyOjphcHBlbmRDdXJyZW50TWVtb3J5VXNhZ2VUb0ZpbGUoUGxh
dGZvcm1GaWxlSGFuZGxlJikKICAgICBpZiAoIW1lbW9yeVN0YXRzLnZhbHVlcy5pc0VtcHR5KCkp
IHsKICAgICAgICAgc3RhdFN0cmluZy5hcHBlbmQoc2VwYXJhdG9yKTsKICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBtZW1vcnlTdGF0cy52YWx1ZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgICAgIHN0YXRTdHJpbmcuYXBwZW5kKCdcbicpOwogICAgICAgICAgICAgc3RhdFN0cmluZy5h
cHBlbmQoc2VwYXJhdG9yKTsKKyAgICAgICAgICAgIHN0YXRTdHJpbmcuYXBwZW5kKFN0cmluZzo6
Zm9ybWF0KCIlLTM1cyIsIG1lbW9yeVN0YXRzLmtleXNbaV0udXRmOCgpLmRhdGEoKSkpOwogICAg
ICAgICAgICAgc3RhdFN0cmluZy5hcHBlbmROdW1iZXIobWVtb3J5U3RhdHMudmFsdWVzW2ldKTsK
ICAgICAgICAgfQogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265156</attachid>
            <date>2015-11-10 01:05:00 -0800</date>
            <delta_ts>2015-11-10 20:52:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151085-20151110180456.patch</filename>
            <type>text/plain</type>
            <size>2413</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWIxYTI5NmUxZjQ2ZDgz
ZjEwOWY0NjE4NmM0OWM5ZWMxYzhlZTkxNC4uNTQ0ODMwYmI5NGFjNDEzNzVjOTMyNTEwODhmODNl
OWUyMzUxNTJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTEwICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBQcmludCByZXN1
bHQgb2YgbWVtb3J5IHNhbXBsZXIgbW9yZSByZWFkYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudCBtZW1vcnkgc2FtcGxlciBwcmludHMg
cmVzdWx0IG9mIG1lbW9yeSBzYW1wbGUgaG9yaXpvbnRhbGx5LiBJdCBtYWtlcyB1cyBoYXJkIHRv
IHJlYWQKKyAgICAgICAgdGhlIHJlc3VsdCBhdCBhIGdsYW5jZS4gVG8gaW1wcm92ZSByZWFkYWJp
bGl0eSBvZiB0aGUgbWVtb3J5IHNhbXBsZXIgcmVzdWx0LCB0aGlzIHBhdGNoIHByaW50cyBpdAor
ICAgICAgICB2ZXJ0aWNhbGx5LgorCisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjphcHBlbmRDdXJyZW50TWVt
b3J5VXNhZ2VUb0ZpbGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjp3cml0
ZUhlYWRlcnMpOgorCiAyMDE1LTExLTA5ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBDTWFrZSBidWlsZGZpeCBhZnRlciByMTkyMTEz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA2ZWE0
YTQ0ZDFiMjI4ZTIzMzBkYjczY2E0NDVlMjgzNjhhMjY4MWIuLjBkYjVlMzFhNzVmNTVhMTg5YmQx
YTZkZTUwZmU3YWFjNTVmZTJjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJNZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5
U2FtcGxlci5jcHAKQEAgLTE0MSwxOCArMTQxLDYgQEAgdm9pZCBXZWJNZW1vcnlTYW1wbGVyOjp3
cml0ZUhlYWRlcnMoKQogCiAgICAgQ1N0cmluZyB1dGY4U3RyaW5nID0gcHJvY2Vzc0RldGFpbHMu
dXRmOCgpOwogICAgIHdyaXRlVG9GaWxlKG1fc2FtcGxlTG9nRmlsZSwgdXRmOFN0cmluZy5kYXRh
KCksIHV0ZjhTdHJpbmcubGVuZ3RoKCkpOwotICAgIAotICAgIFN0cmluZ0J1aWxkZXIgaGVhZGVy
OyAKLSAgICBXZWJNZW1vcnlTdGF0aXN0aWNzIHN0YXRzID0gc2FtcGxlV2ViS2l0KCk7Ci0gICAg
aWYgKCFzdGF0cy5rZXlzLmlzRW1wdHkoKSkgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHN0YXRzLmtleXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGhlYWRlci5hcHBlbmQo
c2VwYXJhdG9yKTsKLSAgICAgICAgICAgIGhlYWRlci5hcHBlbmQoc3RhdHMua2V5c1tpXSk7Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgaGVhZGVyLmFwcGVuZCgnXG4nKTsKLSAgICB1dGY4U3RyaW5n
ID0gaGVhZGVyLnRvU3RyaW5nKCkudXRmOCgpOwotICAgIHdyaXRlVG9GaWxlKG1fc2FtcGxlTG9n
RmlsZSwgdXRmOFN0cmluZy5kYXRhKCksIHV0ZjhTdHJpbmcubGVuZ3RoKCkpOwogfQogCiB2b2lk
IFdlYk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQoKQpAQCAtMTc4LDcgKzE2Niw5IEBA
IHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6YXBwZW5kQ3VycmVudE1lbW9yeVVzYWdlVG9GaWxlKFBs
YXRmb3JtRmlsZUhhbmRsZSYpCiAgICAgaWYgKCFtZW1vcnlTdGF0cy52YWx1ZXMuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHN0YXRTdHJpbmcuYXBwZW5kKHNlcGFyYXRvcik7CiAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbWVtb3J5U3RhdHMudmFsdWVzLnNpemUoKTsgKytpKSB7CisgICAg
ICAgICAgICBzdGF0U3RyaW5nLmFwcGVuZCgnXG4nKTsKICAgICAgICAgICAgIHN0YXRTdHJpbmcu
YXBwZW5kKHNlcGFyYXRvcik7CisgICAgICAgICAgICBzdGF0U3RyaW5nLmFwcGVuZChTdHJpbmc6
OmZvcm1hdCgiJS0zNXMiLCBtZW1vcnlTdGF0cy5rZXlzW2ldLnV0ZjgoKS5kYXRhKCkpKTsKICAg
ICAgICAgICAgIHN0YXRTdHJpbmcuYXBwZW5kTnVtYmVyKG1lbW9yeVN0YXRzLnZhbHVlc1tpXSk7
CiAgICAgICAgIH0KICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265265</attachid>
            <date>2015-11-10 20:53:04 -0800</date>
            <delta_ts>2015-11-10 20:55:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151085-20151111135259.patch</filename>
            <type>text/plain</type>
            <size>2796</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmZlOWJiM2FiMTNjNzIz
Mzg3ODUxZTBlMzQyMGFlZTZmZmRmNGVlMi4uMzFiNzBhMTJmZjQwMDBkNDNlZWMyYWZkMjI2ZWNh
MGUxMjVkODI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTEwICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBQcmludCByZXN1
bHQgb2YgbWVtb3J5IHNhbXBsZXIgbW9yZSByZWFkYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgQ3VycmVudCBtZW1vcnkgc2FtcGxlciBwcmludHMgcmVz
dWx0IG9mIG1lbW9yeSBzYW1wbGUgaG9yaXpvbnRhbGx5LiBJdCBtYWtlcyB1cyBoYXJkIHRvIHJl
YWQKKyAgICAgICAgdGhlIHJlc3VsdCBhdCBhIGdsYW5jZS4gVG8gaW1wcm92ZSByZWFkYWJpbGl0
eSBvZiB0aGUgbWVtb3J5IHNhbXBsZXIgcmVzdWx0LCB0aGlzIHBhdGNoIHByaW50cyBpdAorICAg
ICAgICB2ZXJ0aWNhbGx5LgorCisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjphcHBlbmRDdXJyZW50TWVtb3J5
VXNhZ2VUb0ZpbGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjp3cml0ZUhl
YWRlcnMpOgorCiAyMDE1LTExLTEwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkb3B0IGZvcm1hbCBwcm90b2NvbHMgZm9yIENBIGRlbGVnYXRlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA2ZWE0YTQ0
ZDFiMjI4ZTIzMzBkYjczY2E0NDVlMjgzNjhhMjY4MWIuLjRiYzdlOWM0MTRiNjI3Y2NmNDdhNmNi
MjVjNTlmMzM5NmEwODkwNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJN
ZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5jcHAKQEAgLTM5LDYgKzM5LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMg
Y29uc3QgY2hhciBzZXBhcmF0b3IgPSAnXHQnOwogCitzdGF0aWMgdm9pZCBhcHBlbmRTcGFjZXMo
U3RyaW5nQnVpbGRlciYga2V5LCBjb25zdCBpbnQgY291bnQpCit7CisgICAgY2hhciBzcGFjZVtd
ID0gIiAiOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAga2V5
LmFwcGVuZExpdGVyYWwoc3BhY2UpOworfQorCiBXZWJNZW1vcnlTYW1wbGVyKiBXZWJNZW1vcnlT
YW1wbGVyOjpzaW5nbGV0b24oKQogewogICAgIHN0YXRpYyBXZWJNZW1vcnlTYW1wbGVyKiBzaGFy
ZWRNZW1vcnlTYW1wbGVyOwpAQCAtMTQxLDE4ICsxNDgsNiBAQCB2b2lkIFdlYk1lbW9yeVNhbXBs
ZXI6OndyaXRlSGVhZGVycygpCiAKICAgICBDU3RyaW5nIHV0ZjhTdHJpbmcgPSBwcm9jZXNzRGV0
YWlscy51dGY4KCk7CiAgICAgd3JpdGVUb0ZpbGUobV9zYW1wbGVMb2dGaWxlLCB1dGY4U3RyaW5n
LmRhdGEoKSwgdXRmOFN0cmluZy5sZW5ndGgoKSk7Ci0gICAgCi0gICAgU3RyaW5nQnVpbGRlciBo
ZWFkZXI7IAotICAgIFdlYk1lbW9yeVN0YXRpc3RpY3Mgc3RhdHMgPSBzYW1wbGVXZWJLaXQoKTsK
LSAgICBpZiAoIXN0YXRzLmtleXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgc3RhdHMua2V5cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaGVhZGVyLmFw
cGVuZChzZXBhcmF0b3IpOwotICAgICAgICAgICAgaGVhZGVyLmFwcGVuZChzdGF0cy5rZXlzW2ld
KTsKLSAgICAgICAgfQotICAgIH0KLSAgICBoZWFkZXIuYXBwZW5kKCdcbicpOwotICAgIHV0ZjhT
dHJpbmcgPSBoZWFkZXIudG9TdHJpbmcoKS51dGY4KCk7Ci0gICAgd3JpdGVUb0ZpbGUobV9zYW1w
bGVMb2dGaWxlLCB1dGY4U3RyaW5nLmRhdGEoKSwgdXRmOFN0cmluZy5sZW5ndGgoKSk7CiB9CiAK
IHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZCgpCkBAIC0xNzgsNyArMTcz
LDEwIEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6YXBwZW5kQ3VycmVudE1lbW9yeVVzYWdlVG9G
aWxlKFBsYXRmb3JtRmlsZUhhbmRsZSYpCiAgICAgaWYgKCFtZW1vcnlTdGF0cy52YWx1ZXMuaXNF
bXB0eSgpKSB7CiAgICAgICAgIHN0YXRTdHJpbmcuYXBwZW5kKHNlcGFyYXRvcik7CiAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWVtb3J5U3RhdHMudmFsdWVzLnNpemUoKTsgKytpKSB7
CisgICAgICAgICAgICBzdGF0U3RyaW5nLmFwcGVuZCgnXG4nKTsKICAgICAgICAgICAgIHN0YXRT
dHJpbmcuYXBwZW5kKHNlcGFyYXRvcik7CisgICAgICAgICAgICBzdGF0U3RyaW5nLmFwcGVuZCht
ZW1vcnlTdGF0cy5rZXlzW2ldKTsKKyAgICAgICAgICAgIGFwcGVuZFNwYWNlcyhzdGF0U3RyaW5n
LCAzNSAtIG1lbW9yeVN0YXRzLmtleXNbaV0ubGVuZ3RoKCkpOwogICAgICAgICAgICAgc3RhdFN0
cmluZy5hcHBlbmROdW1iZXIobWVtb3J5U3RhdHMudmFsdWVzW2ldKTsKICAgICAgICAgfQogICAg
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265267</attachid>
            <date>2015-11-10 20:55:43 -0800</date>
            <delta_ts>2015-11-11 17:17:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151085-20151111135538.patch</filename>
            <type>text/plain</type>
            <size>2802</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmZlOWJiM2FiMTNjNzIz
Mzg3ODUxZTBlMzQyMGFlZTZmZmRmNGVlMi4uMzFiNzBhMTJmZjQwMDBkNDNlZWMyYWZkMjI2ZWNh
MGUxMjVkODI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTEwICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBQcmludCByZXN1
bHQgb2YgbWVtb3J5IHNhbXBsZXIgbW9yZSByZWFkYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgQ3VycmVudCBtZW1vcnkgc2FtcGxlciBwcmludHMgcmVz
dWx0IG9mIG1lbW9yeSBzYW1wbGUgaG9yaXpvbnRhbGx5LiBJdCBtYWtlcyB1cyBoYXJkIHRvIHJl
YWQKKyAgICAgICAgdGhlIHJlc3VsdCBhdCBhIGdsYW5jZS4gVG8gaW1wcm92ZSByZWFkYWJpbGl0
eSBvZiB0aGUgbWVtb3J5IHNhbXBsZXIgcmVzdWx0LCB0aGlzIHBhdGNoIHByaW50cyBpdAorICAg
ICAgICB2ZXJ0aWNhbGx5LgorCisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjphcHBlbmRDdXJyZW50TWVtb3J5
VXNhZ2VUb0ZpbGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjp3cml0ZUhl
YWRlcnMpOgorCiAyMDE1LTExLTEwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkb3B0IGZvcm1hbCBwcm90b2NvbHMgZm9yIENBIGRlbGVnYXRlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCmluZGV4IDA2ZWE0YTQ0
ZDFiMjI4ZTIzMzBkYjczY2E0NDVlMjgzNjhhMjY4MWIuLjNmOTQxMzlhZGUyZjQ3ZWRjY2I5MTU5
ODEwNjU4Yzk5MjRlMDllYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJN
ZW1vcnlTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2Ft
cGxlci5jcHAKQEAgLTM5LDYgKzM5LDEzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMg
Y29uc3QgY2hhciBzZXBhcmF0b3IgPSAnXHQnOwogCitzdGF0aWMgdm9pZCBhcHBlbmRTcGFjZXMo
U3RyaW5nQnVpbGRlciYgc3RyaW5nLCBjb25zdCBpbnQgY291bnQpCit7CisgICAgY2hhciBzcGFj
ZVtdID0gIiAiOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAg
c3RyaW5nLmFwcGVuZExpdGVyYWwoc3BhY2UpOworfQorCiBXZWJNZW1vcnlTYW1wbGVyKiBXZWJN
ZW1vcnlTYW1wbGVyOjpzaW5nbGV0b24oKQogewogICAgIHN0YXRpYyBXZWJNZW1vcnlTYW1wbGVy
KiBzaGFyZWRNZW1vcnlTYW1wbGVyOwpAQCAtMTQxLDE4ICsxNDgsNiBAQCB2b2lkIFdlYk1lbW9y
eVNhbXBsZXI6OndyaXRlSGVhZGVycygpCiAKICAgICBDU3RyaW5nIHV0ZjhTdHJpbmcgPSBwcm9j
ZXNzRGV0YWlscy51dGY4KCk7CiAgICAgd3JpdGVUb0ZpbGUobV9zYW1wbGVMb2dGaWxlLCB1dGY4
U3RyaW5nLmRhdGEoKSwgdXRmOFN0cmluZy5sZW5ndGgoKSk7Ci0gICAgCi0gICAgU3RyaW5nQnVp
bGRlciBoZWFkZXI7IAotICAgIFdlYk1lbW9yeVN0YXRpc3RpY3Mgc3RhdHMgPSBzYW1wbGVXZWJL
aXQoKTsKLSAgICBpZiAoIXN0YXRzLmtleXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgc3RhdHMua2V5cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaGVh
ZGVyLmFwcGVuZChzZXBhcmF0b3IpOwotICAgICAgICAgICAgaGVhZGVyLmFwcGVuZChzdGF0cy5r
ZXlzW2ldKTsKLSAgICAgICAgfQotICAgIH0KLSAgICBoZWFkZXIuYXBwZW5kKCdcbicpOwotICAg
IHV0ZjhTdHJpbmcgPSBoZWFkZXIudG9TdHJpbmcoKS51dGY4KCk7Ci0gICAgd3JpdGVUb0ZpbGUo
bV9zYW1wbGVMb2dGaWxlLCB1dGY4U3RyaW5nLmRhdGEoKSwgdXRmOFN0cmluZy5sZW5ndGgoKSk7
CiB9CiAKIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZCgpCkBAIC0xNzgs
NyArMTczLDEwIEBAIHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6YXBwZW5kQ3VycmVudE1lbW9yeVVz
YWdlVG9GaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSYpCiAgICAgaWYgKCFtZW1vcnlTdGF0cy52YWx1
ZXMuaXNFbXB0eSgpKSB7CiAgICAgICAgIHN0YXRTdHJpbmcuYXBwZW5kKHNlcGFyYXRvcik7CiAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWVtb3J5U3RhdHMudmFsdWVzLnNpemUoKTsg
KytpKSB7CisgICAgICAgICAgICBzdGF0U3RyaW5nLmFwcGVuZCgnXG4nKTsKICAgICAgICAgICAg
IHN0YXRTdHJpbmcuYXBwZW5kKHNlcGFyYXRvcik7CisgICAgICAgICAgICBzdGF0U3RyaW5nLmFw
cGVuZChtZW1vcnlTdGF0cy5rZXlzW2ldKTsKKyAgICAgICAgICAgIGFwcGVuZFNwYWNlcyhzdGF0
U3RyaW5nLCAzNSAtIG1lbW9yeVN0YXRzLmtleXNbaV0ubGVuZ3RoKCkpOwogICAgICAgICAgICAg
c3RhdFN0cmluZy5hcHBlbmROdW1iZXIobWVtb3J5U3RhdHMudmFsdWVzW2ldKTsKICAgICAgICAg
fQogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265340</attachid>
            <date>2015-11-11 17:17:16 -0800</date>
            <delta_ts>2015-11-11 20:29:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151085-20151112101711.patch</filename>
            <type>text/plain</type>
            <size>2740</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTNhZDdhMDJlOTk0MzMz
NmMzODdmM2VhYjRlOWVlZjM3OTY3OWY2OC4uMzBhNjkwMThhZWZkYzU4ZDgzNjdjYzA0N2EwZGY1
ODFmNTI4OTAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBQcmludCByZXN1
bHQgb2YgbWVtb3J5IHNhbXBsZXIgbW9yZSByZWFkYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgQ3VycmVudCBtZW1vcnkgc2FtcGxlciBwcmludHMgcmVz
dWx0IG9mIG1lbW9yeSBzYW1wbGUgaG9yaXpvbnRhbGx5LiBJdCBtYWtlcyB1cyBoYXJkIHRvIHJl
YWQKKyAgICAgICAgdGhlIHJlc3VsdCBhdCBhIGdsYW5jZS4gVG8gaW1wcm92ZSByZWFkYWJpbGl0
eSBvZiB0aGUgbWVtb3J5IHNhbXBsZXIgcmVzdWx0LCB0aGlzIHBhdGNoIHByaW50cyBpdAorICAg
ICAgICB2ZXJ0aWNhbGx5LgorCisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjphcHBlbmRDdXJyZW50TWVtb3J5
VXNhZ2VUb0ZpbGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjp3cml0ZUhl
YWRlcnMpOgorCiAyMDE1LTExLTExICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgRml4IGJ1aWxkcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1v
cnlTYW1wbGVyLmNwcAppbmRleCAwNmVhNGE0NGQxYjIyOGUyMzMwZGI3M2NhNDQ1ZTI4MzY4YTI2
ODFiLi5hOWM5NjY3MzlkNDk0MzdhZGZlZGE3ZTEwMmZiNjBlYWZiYjRkZTg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC0zOSw2ICszOSwxMiBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIGNvbnN0IGNoYXIgc2VwYXJhdG9yID0gJ1x0JzsK
IAorc3RhdGljIHZvaWQgYXBwZW5kU3BhY2VzKFN0cmluZ0J1aWxkZXImIHN0cmluZywgaW50IGNv
dW50KQoreworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAgc3Ry
aW5nLmFwcGVuZExpdGVyYWwoJyAnKTsKK30KKwogV2ViTWVtb3J5U2FtcGxlciogV2ViTWVtb3J5
U2FtcGxlcjo6c2luZ2xldG9uKCkKIHsKICAgICBzdGF0aWMgV2ViTWVtb3J5U2FtcGxlciogc2hh
cmVkTWVtb3J5U2FtcGxlcjsKQEAgLTE0MSwxOCArMTQ3LDYgQEAgdm9pZCBXZWJNZW1vcnlTYW1w
bGVyOjp3cml0ZUhlYWRlcnMoKQogCiAgICAgQ1N0cmluZyB1dGY4U3RyaW5nID0gcHJvY2Vzc0Rl
dGFpbHMudXRmOCgpOwogICAgIHdyaXRlVG9GaWxlKG1fc2FtcGxlTG9nRmlsZSwgdXRmOFN0cmlu
Zy5kYXRhKCksIHV0ZjhTdHJpbmcubGVuZ3RoKCkpOwotICAgIAotICAgIFN0cmluZ0J1aWxkZXIg
aGVhZGVyOyAKLSAgICBXZWJNZW1vcnlTdGF0aXN0aWNzIHN0YXRzID0gc2FtcGxlV2ViS2l0KCk7
Ci0gICAgaWYgKCFzdGF0cy5rZXlzLmlzRW1wdHkoKSkgewotICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHN0YXRzLmtleXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGhlYWRlci5h
cHBlbmQoc2VwYXJhdG9yKTsKLSAgICAgICAgICAgIGhlYWRlci5hcHBlbmQoc3RhdHMua2V5c1tp
XSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaGVhZGVyLmFwcGVuZCgnXG4nKTsKLSAgICB1dGY4
U3RyaW5nID0gaGVhZGVyLnRvU3RyaW5nKCkudXRmOCgpOwotICAgIHdyaXRlVG9GaWxlKG1fc2Ft
cGxlTG9nRmlsZSwgdXRmOFN0cmluZy5kYXRhKCksIHV0ZjhTdHJpbmcubGVuZ3RoKCkpOwogfQog
CiB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OnNhbXBsZVRpbWVyRmlyZWQoKQpAQCAtMTc4LDcgKzE3
MiwxMCBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6OmFwcGVuZEN1cnJlbnRNZW1vcnlVc2FnZVRv
RmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUmKQogICAgIGlmICghbWVtb3J5U3RhdHMudmFsdWVzLmlz
RW1wdHkoKSkgewogICAgICAgICBzdGF0U3RyaW5nLmFwcGVuZChzZXBhcmF0b3IpOwogICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1lbW9yeVN0YXRzLnZhbHVlcy5zaXplKCk7ICsraSkg
eworICAgICAgICAgICAgc3RhdFN0cmluZy5hcHBlbmQoJ1xuJyk7CiAgICAgICAgICAgICBzdGF0
U3RyaW5nLmFwcGVuZChzZXBhcmF0b3IpOworICAgICAgICAgICAgc3RhdFN0cmluZy5hcHBlbmQo
bWVtb3J5U3RhdHMua2V5c1tpXSk7CisgICAgICAgICAgICBhcHBlbmRTcGFjZXMoc3RhdFN0cmlu
ZywgMzUgLSBtZW1vcnlTdGF0cy5rZXlzW2ldLmxlbmd0aCgpKTsKICAgICAgICAgICAgIHN0YXRT
dHJpbmcuYXBwZW5kTnVtYmVyKG1lbW9yeVN0YXRzLnZhbHVlc1tpXSk7CiAgICAgICAgIH0KICAg
ICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265356</attachid>
            <date>2015-11-11 20:29:42 -0800</date>
            <delta_ts>2015-11-11 21:48:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151085-20151112132937.patch</filename>
            <type>text/plain</type>
            <size>2733</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTNhZDdhMDJlOTk0MzMz
NmMzODdmM2VhYjRlOWVlZjM3OTY3OWY2OC4uMzBhNjkwMThhZWZkYzU4ZDgzNjdjYzA0N2EwZGY1
ODFmNTI4OTAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTExLTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBQcmludCByZXN1
bHQgb2YgbWVtb3J5IHNhbXBsZXIgbW9yZSByZWFkYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgQ3VycmVudCBtZW1vcnkgc2FtcGxlciBwcmludHMgcmVz
dWx0IG9mIG1lbW9yeSBzYW1wbGUgaG9yaXpvbnRhbGx5LiBJdCBtYWtlcyB1cyBoYXJkIHRvIHJl
YWQKKyAgICAgICAgdGhlIHJlc3VsdCBhdCBhIGdsYW5jZS4gVG8gaW1wcm92ZSByZWFkYWJpbGl0
eSBvZiB0aGUgbWVtb3J5IHNhbXBsZXIgcmVzdWx0LCB0aGlzIHBhdGNoIHByaW50cyBpdAorICAg
ICAgICB2ZXJ0aWNhbGx5LgorCisgICAgICAgICogU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjphcHBlbmRDdXJyZW50TWVtb3J5
VXNhZ2VUb0ZpbGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZW1vcnlTYW1wbGVyOjp3cml0ZUhl
YWRlcnMpOgorCiAyMDE1LTExLTExICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgRml4IGJ1aWxkcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJNZW1vcnlTYW1wbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1v
cnlTYW1wbGVyLmNwcAppbmRleCAwNmVhNGE0NGQxYjIyOGUyMzMwZGI3M2NhNDQ1ZTI4MzY4YTI2
ODFiLi4wNTNmYTZlYTI5NzNjZTdiMWRiM2NmZjM5Mjc1MWVhYmY0ZTE4ZDEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuY3BwCkBAIC0zOSw2ICszOSwxMiBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogc3RhdGljIGNvbnN0IGNoYXIgc2VwYXJhdG9yID0gJ1x0JzsK
IAorc3RhdGljIHZvaWQgYXBwZW5kU3BhY2VzKFN0cmluZ0J1aWxkZXImIHN0cmluZywgaW50IGNv
dW50KQoreworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAgc3Ry
aW5nLmFwcGVuZCgnICcpOworfQorCiBXZWJNZW1vcnlTYW1wbGVyKiBXZWJNZW1vcnlTYW1wbGVy
OjpzaW5nbGV0b24oKQogewogICAgIHN0YXRpYyBXZWJNZW1vcnlTYW1wbGVyKiBzaGFyZWRNZW1v
cnlTYW1wbGVyOwpAQCAtMTQxLDE4ICsxNDcsNiBAQCB2b2lkIFdlYk1lbW9yeVNhbXBsZXI6Ondy
aXRlSGVhZGVycygpCiAKICAgICBDU3RyaW5nIHV0ZjhTdHJpbmcgPSBwcm9jZXNzRGV0YWlscy51
dGY4KCk7CiAgICAgd3JpdGVUb0ZpbGUobV9zYW1wbGVMb2dGaWxlLCB1dGY4U3RyaW5nLmRhdGEo
KSwgdXRmOFN0cmluZy5sZW5ndGgoKSk7Ci0gICAgCi0gICAgU3RyaW5nQnVpbGRlciBoZWFkZXI7
IAotICAgIFdlYk1lbW9yeVN0YXRpc3RpY3Mgc3RhdHMgPSBzYW1wbGVXZWJLaXQoKTsKLSAgICBp
ZiAoIXN0YXRzLmtleXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgc3RhdHMua2V5cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgaGVhZGVyLmFwcGVuZChz
ZXBhcmF0b3IpOwotICAgICAgICAgICAgaGVhZGVyLmFwcGVuZChzdGF0cy5rZXlzW2ldKTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICBoZWFkZXIuYXBwZW5kKCdcbicpOwotICAgIHV0ZjhTdHJpbmcg
PSBoZWFkZXIudG9TdHJpbmcoKS51dGY4KCk7Ci0gICAgd3JpdGVUb0ZpbGUobV9zYW1wbGVMb2dG
aWxlLCB1dGY4U3RyaW5nLmRhdGEoKSwgdXRmOFN0cmluZy5sZW5ndGgoKSk7CiB9CiAKIHZvaWQg
V2ViTWVtb3J5U2FtcGxlcjo6c2FtcGxlVGltZXJGaXJlZCgpCkBAIC0xNzgsNyArMTcyLDEwIEBA
IHZvaWQgV2ViTWVtb3J5U2FtcGxlcjo6YXBwZW5kQ3VycmVudE1lbW9yeVVzYWdlVG9GaWxlKFBs
YXRmb3JtRmlsZUhhbmRsZSYpCiAgICAgaWYgKCFtZW1vcnlTdGF0cy52YWx1ZXMuaXNFbXB0eSgp
KSB7CiAgICAgICAgIHN0YXRTdHJpbmcuYXBwZW5kKHNlcGFyYXRvcik7CiAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbWVtb3J5U3RhdHMudmFsdWVzLnNpemUoKTsgKytpKSB7CisgICAg
ICAgICAgICBzdGF0U3RyaW5nLmFwcGVuZCgnXG4nKTsKICAgICAgICAgICAgIHN0YXRTdHJpbmcu
YXBwZW5kKHNlcGFyYXRvcik7CisgICAgICAgICAgICBzdGF0U3RyaW5nLmFwcGVuZChtZW1vcnlT
dGF0cy5rZXlzW2ldKTsKKyAgICAgICAgICAgIGFwcGVuZFNwYWNlcyhzdGF0U3RyaW5nLCAzNSAt
IG1lbW9yeVN0YXRzLmtleXNbaV0ubGVuZ3RoKCkpOwogICAgICAgICAgICAgc3RhdFN0cmluZy5h
cHBlbmROdW1iZXIobWVtb3J5U3RhdHMudmFsdWVzW2ldKTsKICAgICAgICAgfQogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>